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