CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GtBoard.h
Go to the documentation of this file.
1 #ifndef GtBoard_h
2 #define GtBoard_h
3 
15 // system include files
16 #include <bitset>
17 #include <vector>
18 
19 // user include files
26 
27 // Trigger Objects
33 
34 // Objects to produce for the output record.
37 
40 
42 
43 // forward declarations
44 class TriggerMenu;
45 class L1CaloGeometry;
46 class L1MuTriggerScales;
48 
49 // class declaration
50 
51 namespace l1t {
52 
53 class GtBoard
54 {
55 
56 public:
57 
58  // constructors
59  GtBoard();
60 
61  // destructor
62  virtual ~GtBoard();
63 
64 public:
65 
68  edm::Event&,
69  const edm::InputTag&,
70  const bool receiveEG, const int nrL1EG,
71  const bool receiveTau, const int nrL1Tau,
72  const bool receiveJet, const int nrL1Jet,
73  const bool receiveEtSums);
74 
76  edm::Event&,
77  const edm::InputTag&,
78  const bool receiveMu, const int nrL1Mu);
79 
80 
82  void init(const int numberPhysTriggers, const int nrL1Mu, const int nrL1EG, const int nrL1Tau, const int nrL1Jet,
83  int bxFirst, int bxLast);
84 
86  void runGTL(edm::Event& iEvent, const edm::EventSetup& evSetup,
87  const bool produceL1GtObjectMapRecord,
88  const int iBxInEvent, std::auto_ptr<L1GlobalTriggerObjectMapRecord>& gtObjectMapRecord,
89  const unsigned int numberPhysTriggers,
90  const int nrL1Mu,
91  const int nrL1EG,
92  const int nrL1Tau,
93  const int nrL1Jet,
94  const int nrL1JetCounts);
95 
97  void runFDL(edm::Event& iEvent,
98  const int iBxInEvent,
99  const bool algorithmTriggersUnprescaled,
100  const bool algorithmTriggersUnmasked );
101 
102 
104  void fillAlgRecord(int iBxInEvent,
105  std::auto_ptr<GlobalAlgBlkBxCollection>& uGtAlgRecord,
106  cms_uint64_t orbNr,
107  int bxNr);
108 
109  void fillExtRecord(int iBxInEvent,
110  std::auto_ptr<GlobalExtBlkBxCollection>& uGtExtRecord,
111  cms_uint64_t orbNr,
112  int bxNr);
113 
114 
115 
117  void reset();
118  void resetMu();
119  void resetCalo();
120 
122  void printGmtData(const int iBxInEvent) const;
123 
125  inline const std::bitset<L1GlobalTriggerReadoutSetup::NumberPhysTriggers>& getDecisionWord() const
126  {
127  return m_gtlDecisionWord;
128  }
129 
131  inline const std::bitset<L1GlobalTriggerReadoutSetup::NumberPhysTriggers>& getAlgorithmOR() const
132  {
133  return m_gtlAlgorithmOR;
134  }
135 
138  {
139  return m_candL1Mu;
140  }
141 
144  {
145  return m_candL1EG;
146  }
147 
150  {
151  return m_candL1Jet;
152  }
153 
154 
157  {
158  return m_candL1Tau;
159  }
160 
163  {
164  return m_candL1EtSum;
165  }
166 
167 
168 
169 /* Drop individual EtSums for Now
171  inline const l1t::EtSum* getCandL1ETM() const
172  {
173  return m_candETM;
174  }
175 
177  inline const l1t::EtSum* getCandL1ETT() const
178  {
179  return m_candETT;
180  }
181 
183  inline const l1t::EtSum* getCandL1HTT() const
184  {
185  return m_candHTT;
186  }
187 
189  inline const l1t::EtSum* getCandL1HTM() const
190  {
191  return m_candHTM;
192  }
193 */
194 
195  void setBxFirst(int bx);
196  void setBxLast(int bx);
197 
198 public:
199 
200  inline void setVerbosity(const int verbosity) {
202  }
203 
204 private:
205 
206  // cached stuff
207 
208  // trigger menu
210  unsigned long long m_l1GtMenuCacheID;
211 
212  // L1 scales (phi, eta) for Mu, Calo and EnergySum objects
214  unsigned long long m_l1CaloGeometryCacheID;
215 
217  unsigned long long m_l1MuTriggerScalesCacheID;
218 
219  // conversions for eta and phi
221 
222 private:
223 
229 
230 // BXVector<const l1t::EtSum*>* m_candETM;
231 // BXVector<const l1t::EtSum*>* m_candETT;
232 // BXVector<const l1t::EtSum*>* m_candHTM;
233 // BXVector<const l1t::EtSum*>* m_candHTT;
234 
237 
238  std::bitset<L1GlobalTriggerReadoutSetup::NumberPhysTriggers> m_gtlAlgorithmOR;
239  std::bitset<L1GlobalTriggerReadoutSetup::NumberPhysTriggers> m_gtlDecisionWord;
240 
243 
244  // cache of maps
245  std::vector<AlgorithmEvaluation::ConditionEvaluationMap> m_conditionResultMaps;
246 
247 
248 private:
249 
253 
254  // Flags for the OR of all algorithms at various stages. (Single bx)
258 
259  // Counter for number of events seen by this board
260  unsigned int m_boardEventCount;
261 
262  // Information about board
265 
266 
267 };
268 
269 }
270 #endif
GlobalExtBlk m_uGtExtBlk
Definition: GtBoard.h:242
const L1CaloGeometry * m_l1CaloGeometry
Definition: GtBoard.h:213
void setVerbosity(const int verbosity)
Definition: GtBoard.h:200
void resetMu()
Definition: GtBoard.cc:1067
std::bitset< L1GlobalTriggerReadoutSetup::NumberPhysTriggers > m_gtlAlgorithmOR
Definition: GtBoard.h:238
void printGmtData(const int iBxInEvent) const
print received Muon dataWord
Definition: GtBoard.cc:1090
std::vector< AlgorithmEvaluation::ConditionEvaluationMap > m_conditionResultMaps
Definition: GtBoard.h:245
int m_verbosity
verbosity level
Definition: GtBoard.h:251
GlobalAlgBlk m_uGtAlgBlk
Definition: GtBoard.h:241
BXVector< const l1t::Muon * > * m_candL1Mu
Definition: GtBoard.h:224
void runFDL(edm::Event &iEvent, const int iBxInEvent, const bool algorithmTriggersUnprescaled, const bool algorithmTriggersUnmasked)
run the uGT FDL (Apply Prescales and Veto)
Definition: GtBoard.cc:898
virtual ~GtBoard()
Definition: GtBoard.cc:121
const std::bitset< L1GlobalTriggerReadoutSetup::NumberPhysTriggers > & getDecisionWord() const
return decision
Definition: GtBoard.h:125
bool m_uGtFinalBoard
Definition: GtBoard.h:264
int m_bxFirst_
Definition: GtBoard.h:235
const L1MuTriggerScales * m_l1MuTriggerScales
Definition: GtBoard.h:216
bool m_algFinalOr
Definition: GtBoard.h:257
unsigned int m_boardEventCount
Definition: GtBoard.h:260
void setBxLast(int bx)
Definition: GtBoard.cc:141
const TriggerMenu * m_l1GtMenu
Definition: GtBoard.h:209
std::bitset< L1GlobalTriggerReadoutSetup::NumberPhysTriggers > m_gtlDecisionWord
Definition: GtBoard.h:239
unsigned long long m_l1MuTriggerScalesCacheID
Definition: GtBoard.h:217
int iEvent
Definition: GenABIO.cc:230
bool m_isDebugEnabled
Definition: GtBoard.h:252
void receiveCaloObjectData(edm::Event &, const edm::InputTag &, const bool receiveEG, const int nrL1EG, const bool receiveTau, const int nrL1Tau, const bool receiveJet, const int nrL1Jet, const bool receiveEtSums)
receive data from Global Muon Trigger
Definition: GtBoard.cc:180
void receiveMuonObjectData(edm::Event &, const edm::InputTag &, const bool receiveMu, const int nrL1Mu)
Definition: GtBoard.cc:339
bool m_algInitialOr
Definition: GtBoard.h:255
void runGTL(edm::Event &iEvent, const edm::EventSetup &evSetup, const bool produceL1GtObjectMapRecord, const int iBxInEvent, std::auto_ptr< L1GlobalTriggerObjectMapRecord > &gtObjectMapRecord, const unsigned int numberPhysTriggers, const int nrL1Mu, const int nrL1EG, const int nrL1Tau, const int nrL1Jet, const int nrL1JetCounts)
run the uGT GTL (Conditions and Algorithms)
Definition: GtBoard.cc:389
BXVector< const l1t::EtSum * > * m_candL1EtSum
Definition: GtBoard.h:228
void setBxFirst(int bx)
Definition: GtBoard.cc:135
const BXVector< const l1t::L1Candidate * > * getCandL1Jet() const
pointer to Jet data list
Definition: GtBoard.h:149
const std::bitset< L1GlobalTriggerReadoutSetup::NumberPhysTriggers > & getAlgorithmOR() const
return algorithm OR decision
Definition: GtBoard.h:131
void reset()
clear uGT
Definition: GtBoard.cc:1051
unsigned long long m_l1GtMenuCacheID
Definition: GtBoard.h:210
BXVector< const l1t::L1Candidate * > * m_candL1EG
Definition: GtBoard.h:225
L1GtEtaPhiConversions * m_gtEtaPhiConversions
Definition: GtBoard.h:220
int m_bxLast_
Definition: GtBoard.h:236
const BXVector< const l1t::L1Candidate * > * getCandL1EG() const
pointer to EG data list
Definition: GtBoard.h:143
BXVector< const l1t::L1Candidate * > * m_candL1Tau
Definition: GtBoard.h:226
void resetCalo()
Definition: GtBoard.cc:1075
bool m_algPrescaledOr
Definition: GtBoard.h:256
void init(const int numberPhysTriggers, const int nrL1Mu, const int nrL1EG, const int nrL1Tau, const int nrL1Jet, int bxFirst, int bxLast)
initialize the class (mainly reserve)
Definition: GtBoard.cc:147
const BXVector< const l1t::Muon * > * getCandL1Mu() const
return global muon trigger candidate
Definition: GtBoard.h:137
int m_uGtBoardNumber
Definition: GtBoard.h:263
void fillExtRecord(int iBxInEvent, std::auto_ptr< GlobalExtBlkBxCollection > &uGtExtRecord, cms_uint64_t orbNr, int bxNr)
Definition: GtBoard.cc:1027
void fillAlgRecord(int iBxInEvent, std::auto_ptr< GlobalAlgBlkBxCollection > &uGtAlgRecord, cms_uint64_t orbNr, int bxNr)
Fill the Daq Records.
Definition: GtBoard.cc:993
const BXVector< const l1t::EtSum * > * getCandL1EtSum() const
pointer to Tau data list
Definition: GtBoard.h:162
unsigned long long cms_uint64_t
Definition: typedefs.h:17
const BXVector< const l1t::L1Candidate * > * getCandL1Tau() const
pointer to Tau data list
Definition: GtBoard.h:156
BXVector< const l1t::L1Candidate * > * m_candL1Jet
Definition: GtBoard.h:227
unsigned long long m_l1CaloGeometryCacheID
Definition: GtBoard.h:214