• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

/Users/jmonk/Physics/ForIA/ForIA/AnalysisTools/ClusterSelection.hh

Go to the documentation of this file.
00001 #ifndef FORIA_CLUSTERSELECTION_HH
00002 #define FORIA_CLUSTERSELECTION_HH
00003 
00004 #include "ForIA/Cluster.hh"
00005 #include "ForIA/Event.hh"
00006 
00007 #include "ForIA/AnalysisTools/FourVectorSelection.hh"
00008 #include "ForIA/AnalysisTools/EnergyRescaler.hh"
00009 #include <ostream>
00010 
00011 namespace ForIA{
00012 
00013   class MessageBox;
00014   
00015   class ClusterSelection : public FourVectorSelection{
00016 
00017   public:
00018 
00019     ClusterSelection();
00020 
00021     const ClusterVector &acceptedClusters() const;
00022 
00023     const ClusterVector &rejectedClusters() const;
00024 
00025     enum DefinedSelection{LOOSE, MEDIUM, TIGHT};
00026 
00027     bool setSelection(DefinedSelection selection);
00028     
00029     // Set scale 
00030     bool setScale(Cluster::Energy scale);
00031     // Set minimum ET
00032     bool setETMin(double et);
00033     // Set minimum E
00034     bool setEMin(double e);
00035     // Set minimum eta
00036     bool setEtaMin(double eta);
00037     // Set maximum eta
00038     bool setEtaMax(double eta);
00039     // ToDo: set minimum HAD component, minimum EM ?
00040     bool setEmFrac(double emFrac);
00041 
00042     bool setEmFracSpike(double emFracSpike);
00043 
00044     void setSmearE(bool smear);
00045 
00046 
00047     void setUseEMScale(bool useEMScale);
00048     void setScaleMCClusterEType(std::string scaleType);
00049     double scaleFactor (float eta) const;
00050   private:
00051    
00052     friend std::ostream &operator << (std::ostream &out, const ClusterSelection &selection);
00053     friend MessageBox &operator << (MessageBox &box, const ClusterSelection &selection);
00054 
00055     void fillVectors() const;
00056     
00057     mutable ClusterVector m_acceptedClusters;
00058     mutable ClusterVector m_rejectedClusters;
00059 
00060 
00061     Cluster::Energy m_scale;
00062     double          m_etMin;
00063     double          m_eMin;
00064     double          m_etaMin;
00065     double          m_etaMax;
00066     double          m_emFrac;
00067     double          m_emFracSpike;    
00068 
00069     bool m_haveSetscale;
00070     bool m_haveSetetMin;
00071     bool m_haveSeteMin;
00072     bool m_haveSetetaMin;
00073     bool m_haveSetetaMax;
00074     bool m_haveSetEmFrac;
00075     bool m_haveSetEmFracSpike;
00076     bool m_smearE;
00077     std::string m_scaleMCEType;
00078     bool m_useEMScale;
00079 
00080     mutable EnergyRescaler m_eScale;
00081 
00082   };
00083 
00084 }
00085 
00086 #endif

Generated on Mon Jul 30 2012 16:56:35 for ForIA by  doxygen 1.7.2