CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/L1Trigger/GlobalTrigger/interface/L1GtCaloCondition.h

Go to the documentation of this file.
00001 #ifndef GlobalTrigger_L1GtCaloCondition_h
00002 #define GlobalTrigger_L1GtCaloCondition_h
00003 
00020 // system include files
00021 #include <iosfwd>
00022 #include <string>
00023 
00024 // user include files
00025 //   base classes
00026 #include "L1Trigger/GlobalTrigger/interface/L1GtConditionEvaluation.h"
00027 
00028 // forward declarations
00029 class L1GtCondition;
00030 class L1GtCaloTemplate;
00031 
00032 class L1GctCand;
00033 
00034 class L1GlobalTriggerPSB;
00035 
00036 // class declaration
00037 class L1GtCaloCondition : public L1GtConditionEvaluation
00038 {
00039 
00040 public:
00041 
00044     L1GtCaloCondition();
00045 
00047     L1GtCaloCondition(const L1GtCondition*, const L1GlobalTriggerPSB*,
00048             const int nrL1NoIsoEG,
00049             const int nrL1IsoEG,
00050             const int nrL1CenJet,
00051             const int nrL1ForJet,
00052             const int nrL1TauJet,
00053             const int ifCaloEtaNumberBits);
00054 
00055     // copy constructor
00056     L1GtCaloCondition(const L1GtCaloCondition&);
00057 
00058     // destructor
00059     virtual ~L1GtCaloCondition();
00060 
00061     // assign operator
00062     L1GtCaloCondition& operator=(const L1GtCaloCondition&);
00063 
00064 public:
00065 
00067     const bool evaluateCondition() const;
00068 
00070      void print(std::ostream& myCout) const;
00071 
00072 public:
00073 
00075     inline const L1GtCaloTemplate* gtCaloTemplate() const {
00076         return m_gtCaloTemplate;
00077     }
00078 
00079     void setGtCaloTemplate(const L1GtCaloTemplate*);
00080 
00082     inline const L1GlobalTriggerPSB* gtPSB() const {
00083         return m_gtPSB;
00084     }
00085 
00086     void setGtPSB(const L1GlobalTriggerPSB*);
00087 
00088 
00090     inline const int gtIfCaloEtaNumberBits() const {
00091         return m_ifCaloEtaNumberBits;
00092     }
00093 
00094     void setGtIfCaloEtaNumberBits(const int&);
00095 
00097     inline const int gtCorrParDeltaPhiNrBins() const {
00098         return m_corrParDeltaPhiNrBins;
00099     }
00100 
00101     void setGtCorrParDeltaPhiNrBins(const int&);
00102 
00103 private:
00104 
00106     void copy(const L1GtCaloCondition& cp);
00107 
00109     const L1GctCand* getCandidate(const int indexCand) const;
00110 
00112     const bool
00113     checkObjectParameter(const int iCondition, const L1GctCand& cand) const;
00114 
00115 private:
00116 
00118     const L1GtCaloTemplate* m_gtCaloTemplate;
00119 
00121     const L1GlobalTriggerPSB* m_gtPSB;
00122 
00124     int m_ifCaloEtaNumberBits;
00125 
00126     // maximum number of bins for the delta phi scales
00127     unsigned int m_corrParDeltaPhiNrBins;
00128 
00129 };
00130 
00131 #endif