CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1GlobalTriggerGTL.h
Go to the documentation of this file.
1 #ifndef GlobalTrigger_L1GlobalTriggerGTL_h
2 #define GlobalTrigger_L1GlobalTriggerGTL_h
3 
19 // system include files
20 #include <bitset>
21 #include <vector>
22 
23 // user include files
28 
29 
31 
34 
37 
38 // forward declarations
39 class L1GlobalTriggerPSB;
40 class L1GtTriggerMenu;
41 class L1CaloGeometry;
42 class L1MuTriggerScales;
44 
45 // class declaration
47 {
48 
49 public:
50 
51  // constructors
53 
54  // destructor
55  virtual ~L1GlobalTriggerGTL();
56 
57 public:
58 
61  edm::Event&,
62  const edm::InputTag&, const int iBxInEvent,
63  const bool receiveMu, const int nrL1Mu);
64 
65 
67  void init(const int nrL1Mu, const int numberPhysTriggers);
68 
70  void run(edm::Event& iEvent, const edm::EventSetup& evSetup,
71  const L1GlobalTriggerPSB* ptrGtPSB, const bool produceL1GtObjectMapRecord,
72  const int iBxInEvent, std::auto_ptr<L1GlobalTriggerObjectMapRecord>& gtObjectMapRecord,
73  const unsigned int numberPhysTriggers,
74  const int nrL1Mu,
75  const int nrL1NoIsoEG,
76  const int nrL1IsoEG,
77  const int nrL1CenJet,
78  const int nrL1ForJet,
79  const int nrL1TauJet,
80  const int nrL1JetCounts,
81  const int ifMuEtaNumberBits,
82  const int ifCaloEtaNumberBits);
83 
85  void reset();
86 
88  void printGmtData(const int iBxInEvent) const;
89 
91  inline const std::bitset<L1GlobalTriggerReadoutSetup::NumberPhysTriggers>& getDecisionWord() const
92  {
93  return m_gtlDecisionWord;
94  }
95 
97  inline const std::bitset<L1GlobalTriggerReadoutSetup::NumberPhysTriggers>& getAlgorithmOR() const
98  {
99  return m_gtlAlgorithmOR;
100  }
101 
103  inline const std::vector<const L1MuGMTCand*>* getCandL1Mu() const
104  {
105  return m_candL1Mu;
106  }
107 
108 public:
109 
110  inline void setVerbosity(const int verbosity) {
112  }
113 
114 private:
115 
116  // cached stuff
117 
118  // trigger menu
120  unsigned long long m_l1GtMenuCacheID;
121 
122  // L1 scales (phi, eta) for Mu, Calo and EnergySum objects
124  unsigned long long m_l1CaloGeometryCacheID;
125 
127  unsigned long long m_l1MuTriggerScalesCacheID;
128 
129  // conversions for eta and phi
131 
132 private:
133 
134  std::vector<const L1MuGMTCand*>* m_candL1Mu;
135 
136  std::bitset<L1GlobalTriggerReadoutSetup::NumberPhysTriggers> m_gtlAlgorithmOR;
137  std::bitset<L1GlobalTriggerReadoutSetup::NumberPhysTriggers> m_gtlDecisionWord;
138 
139  // cache of maps
140  std::vector<L1GtAlgorithmEvaluation::ConditionEvaluationMap> m_conditionResultMaps;
141 
142 
143 private:
144 
148 
149 
150 };
151 
152 #endif
std::bitset< L1GlobalTriggerReadoutSetup::NumberPhysTriggers > m_gtlAlgorithmOR
std::vector< L1GtAlgorithmEvaluation::ConditionEvaluationMap > m_conditionResultMaps
void init(const int nrL1Mu, const int numberPhysTriggers)
initialize the class (mainly reserve)
void run(edm::Event &iEvent, const edm::EventSetup &evSetup, const L1GlobalTriggerPSB *ptrGtPSB, const bool produceL1GtObjectMapRecord, const int iBxInEvent, std::auto_ptr< L1GlobalTriggerObjectMapRecord > &gtObjectMapRecord, const unsigned int numberPhysTriggers, const int nrL1Mu, const int nrL1NoIsoEG, const int nrL1IsoEG, const int nrL1CenJet, const int nrL1ForJet, const int nrL1TauJet, const int nrL1JetCounts, const int ifMuEtaNumberBits, const int ifCaloEtaNumberBits)
run the GTL
void printGmtData(const int iBxInEvent) const
print received Muon dataWord
L1GlobalTriggerGTL(const edm::InputTag &mutag, edm::ConsumesCollector &&iC)
std::vector< const L1MuGMTCand * > * m_candL1Mu
int iEvent
Definition: GenABIO.cc:230
int m_verbosity
verbosity level
const L1GtTriggerMenu * m_l1GtMenu
std::bitset< L1GlobalTriggerReadoutSetup::NumberPhysTriggers > m_gtlDecisionWord
unsigned long long m_l1GtMenuCacheID
const L1MuTriggerScales * m_l1MuTriggerScales
L1GtEtaPhiConversions * m_gtEtaPhiConversions
const std::bitset< L1GlobalTriggerReadoutSetup::NumberPhysTriggers > & getAlgorithmOR() const
return algorithm OR decision
void receiveGmtObjectData(edm::Event &, const edm::InputTag &, const int iBxInEvent, const bool receiveMu, const int nrL1Mu)
receive data from Global Muon Trigger
const std::bitset< L1GlobalTriggerReadoutSetup::NumberPhysTriggers > & getDecisionWord() const
return decision
const std::vector< const L1MuGMTCand * > * getCandL1Mu() const
return global muon trigger candidate
const L1CaloGeometry * m_l1CaloGeometry
void setVerbosity(const int verbosity)
unsigned long long m_l1MuTriggerScalesCacheID
void reset()
clear GTL
unsigned long long m_l1CaloGeometryCacheID