00001 #ifndef GlobalTrigger_L1GtMuonCondition_h 00002 #define GlobalTrigger_L1GtMuonCondition_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 L1GtMuonTemplate; 00031 00032 class L1MuGMTCand; 00033 00034 class L1GlobalTriggerGTL; 00035 00036 // class declaration 00037 class L1GtMuonCondition : public L1GtConditionEvaluation 00038 { 00039 00040 public: 00041 00044 L1GtMuonCondition(); 00045 00047 L1GtMuonCondition(const L1GtCondition*, const L1GlobalTriggerGTL*, 00048 const int nrL1Mu, 00049 const int ifMuEtaNumberBits); 00050 00051 // copy constructor 00052 L1GtMuonCondition(const L1GtMuonCondition&); 00053 00054 // destructor 00055 virtual ~L1GtMuonCondition(); 00056 00057 // assign operator 00058 L1GtMuonCondition& operator=(const L1GtMuonCondition&); 00059 00060 public: 00061 00063 const bool evaluateCondition() const; 00064 00066 void print(std::ostream& myCout) const; 00067 00068 public: 00069 00071 inline const L1GtMuonTemplate* gtMuonTemplate() const { 00072 return m_gtMuonTemplate; 00073 } 00074 00075 void setGtMuonTemplate(const L1GtMuonTemplate*); 00076 00078 inline const L1GlobalTriggerGTL* gtGTL() const { 00079 return m_gtGTL; 00080 } 00081 00082 void setGtGTL(const L1GlobalTriggerGTL*); 00083 00084 00086 inline const int gtIfMuEtaNumberBits() const { 00087 return m_ifMuEtaNumberBits; 00088 } 00089 00090 void setGtIfMuEtaNumberBits(const int&); 00091 00092 00094 inline const int gtCorrParDeltaPhiNrBins() const { 00095 return m_corrParDeltaPhiNrBins; 00096 } 00097 00098 void setGtCorrParDeltaPhiNrBins(const int&); 00099 00100 00101 private: 00102 00104 void copy(const L1GtMuonCondition& cp); 00105 00107 const L1MuGMTCand* getCandidate(const int indexCand) const; 00108 00110 const bool checkObjectParameter(const int iCondition, 00111 const L1MuGMTCand& cand) const; 00112 00113 private: 00114 00116 const L1GtMuonTemplate* m_gtMuonTemplate; 00117 00119 const L1GlobalTriggerGTL* m_gtGTL; 00120 00122 int m_ifMuEtaNumberBits; 00123 00124 // maximum number of bins for the delta phi scales 00125 unsigned int m_corrParDeltaPhiNrBins; 00126 00127 00128 00129 }; 00130 00131 #endif