CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1GtUtils.h
Go to the documentation of this file.
1 #ifndef GlobalTriggerAnalyzer_L1GtUtils_h
2 #define GlobalTriggerAnalyzer_L1GtUtils_h
3 
20 // system include files
21 #include <string>
22 
23 // user include files
24 
26 
30 
33 
35 
36 // forward declarations
39 class L1GtTriggerMask;
40 class L1GtTriggerMenu;
41 
44 
45 // class declaration
46 
47 class L1GtUtils {
48 
49 public:
50 
52  explicit L1GtUtils();
53 
55  virtual ~L1GtUtils();
56 
57 public:
58 
62  };
63 
65 
66  // enum to string for TriggerCategory
67  const std::string triggerCategory (const TriggerCategory&) const;
68 
71 
77 
79  void getInputTag(const edm::Event& iEvent, edm::InputTag& l1GtRecordInputTag,
80  edm::InputTag& l1GtReadoutRecordInputTag) const;
81 
84  edm::InputTag& l1GtTriggerMenuLiteInputTag) const;
85 
94 
95  const bool l1AlgoTechTrigBitNumber(const std::string& nameAlgoTechTrig,
96  TriggerCategory& trigCategory, int& bitNumber) const;
97 
99  const bool l1AlgTechTrigBitNumber(const std::string& nameAlgoTechTrig,
100  int& triggerAlgoTechTrig, int& bitNumber) const;
101 
114 
115  const int l1Results(const edm::Event& iEvent,
116  const edm::InputTag& l1GtRecordInputTag,
117  const edm::InputTag& l1GtReadoutRecordInputTag,
118  const std::string& nameAlgoTechTrig, bool& decisionBeforeMask,
119  bool& decisionAfterMask, int& prescaleFactor, int& triggerMask) const;
120 
132 
133  const int l1Results(const edm::Event& iEvent,
134  const std::string& nameAlgoTechTrig, bool& decisionBeforeMask,
135  bool& decisionAfterMask, int& prescaleFactor, int& triggerMask) const;
136 
151 
153  const bool decisionBeforeMask(const edm::Event& iEvent,
154  const edm::InputTag& l1GtRecordInputTag,
155  const edm::InputTag& l1GtReadoutRecordInputTag,
156  const std::string& nameAlgoTechTrig, int& errorCode) const;
157 
158  const bool decisionBeforeMask(const edm::Event& iEvent,
159  const std::string& nameAlgoTechTrig, int& errorCode) const;
160 
161 
163  const bool decisionAfterMask(const edm::Event& iEvent,
164  const edm::InputTag& l1GtRecordInputTag,
165  const edm::InputTag& l1GtReadoutRecordInputTag,
166  const std::string& nameAlgoTechTrig, int& errorCode) const;
167 
168  const bool decisionAfterMask(const edm::Event& iEvent,
169  const std::string& nameAlgoTechTrig, int& errorCode) const;
170 
171 
174  const bool decision(const edm::Event& iEvent,
175  const edm::InputTag& l1GtRecordInputTag,
176  const edm::InputTag& l1GtReadoutRecordInputTag,
177  const std::string& nameAlgoTechTrig, int& errorCode) const;
178 
179  const bool decision(const edm::Event& iEvent,
180  const std::string& nameAlgoTechTrig, int& errorCode) const;
181 
183  const int prescaleFactor(const edm::Event& iEvent,
184  const edm::InputTag& l1GtRecordInputTag,
185  const edm::InputTag& l1GtReadoutRecordInputTag,
186  const std::string& nameAlgoTechTrig, int& errorCode) const;
187 
188  const int prescaleFactor(const edm::Event& iEvent,
189  const std::string& nameAlgoTechTrig, int& errorCode) const;
190 
192  const int triggerMask(const edm::Event& iEvent,
193  const edm::InputTag& l1GtRecordInputTag,
194  const edm::InputTag& l1GtReadoutRecordInputTag,
195  const std::string& nameAlgoTechTrig, int& errorCode) const;
196 
197  const int triggerMask(const edm::Event& iEvent,
198  const std::string& nameAlgoTechTrig, int& errorCode) const;
199 
202  const int triggerMask(const std::string& nameAlgoTechTrig, int& errorCode) const;
203 
208 
209  const int prescaleFactorSetIndex(const edm::Event& iEvent,
210  const edm::InputTag& l1GtRecordInputTag,
211  const edm::InputTag& l1GtReadoutRecordInputTag,
212  const TriggerCategory& trigCategory, int& errorCode) const;
213 
214  const int prescaleFactorSetIndex(const edm::Event& iEvent,
215  const TriggerCategory& trigCategory, int& errorCode) const;
216 
218  const int prescaleFactorSetIndex(const edm::Event& iEvent,
219  const edm::InputTag& l1GtRecordInputTag,
220  const edm::InputTag& l1GtReadoutRecordInputTag,
221  const std::string& triggerAlgoTechTrig, int& errorCode) const;
222 
223  const int prescaleFactorSetIndex(const edm::Event& iEvent,
224  const std::string& triggerAlgoTechTrig, int& errorCode) const;
225 
229 
230  const std::vector<int>& prescaleFactorSet(const edm::Event& iEvent,
231  const edm::InputTag& l1GtRecordInputTag,
232  const edm::InputTag& l1GtReadoutRecordInputTag,
233  const TriggerCategory& trigCategory, int& errorCode);
234 
235  const std::vector<int>& prescaleFactorSet(const edm::Event& iEvent,
236  const TriggerCategory& trigCategory, int& errorCode);
237 
239  const std::vector<int>& prescaleFactorSet(const edm::Event& iEvent,
240  const edm::InputTag& l1GtRecordInputTag,
241  const edm::InputTag& l1GtReadoutRecordInputTag,
242  const std::string& triggerAlgoTechTrig, int& errorCode);
243 
244  const std::vector<int>& prescaleFactorSet(const edm::Event& iEvent,
245  const std::string& triggerAlgoTechTrig, int& errorCode);
246 
247 
250  const std::vector<unsigned int>& triggerMaskSet(
251  const TriggerCategory& trigCategory, int& errorCode);
252 
253 
255  const std::vector<unsigned int>& triggerMaskSet(
256  const std::string& triggerAlgoTechTrig, int& errorCode);
257 
259  const std::string& l1TriggerMenu() const;
260 
262  const std::string& l1TriggerMenuImplementation() const;
263 
265  const L1GtTriggerMenu* ptrL1TriggerMenuEventSetup(int& errorCode);
266 
268  const L1GtTriggerMenuLite* ptrL1GtTriggerMenuLite(int& errorCode);
269 
272  const bool availableL1Configuration(int& errorCode, int& l1ConfCode) const;
273 
274 
275 private:
276 
277  static const std::string EmptyString;
278  static const int L1GtNotValidError;
279 
283  const bool trigResult(const DecisionWord& decWord, const int bitNumber,
284  const std::string& nameAlgoTechTrig,
285  const TriggerCategory& trigCategory, int& errorCode) const;
286 
287 private:
288 
290 
293  unsigned long long m_l1GtStableParCacheID;
294 
297 
300 
303  unsigned long long m_l1GtPfAlgoCacheID;
304 
306  unsigned long long m_l1GtPfTechCacheID;
307 
308  const std::vector<std::vector<int> >* m_prescaleFactorsAlgoTrig;
309  const std::vector<std::vector<int> >* m_prescaleFactorsTechTrig;
310 
313  unsigned long long m_l1GtTmAlgoCacheID;
314 
316  unsigned long long m_l1GtTmTechCacheID;
317 
319  unsigned long long m_l1GtTmVetoAlgoCacheID;
320 
322  unsigned long long m_l1GtTmVetoTechCacheID;
323 
324  const std::vector<unsigned int>* m_triggerMaskAlgoTrig;
325  const std::vector<unsigned int>* m_triggerMaskTechTrig;
326 
327  const std::vector<unsigned int>* m_triggerMaskVetoAlgoTrig;
328  const std::vector<unsigned int>* m_triggerMaskVetoTechTrig;
329 
330  // trigger menu
332  unsigned long long m_l1GtMenuCacheID;
333 
337 
339 
341 
342 
345 
349 
350  const std::vector<unsigned int>* m_triggerMaskAlgoTrigLite;
351  const std::vector<unsigned int>* m_triggerMaskTechTrigLite;
352 
353  const std::vector<std::vector<int> >* m_prescaleFactorsAlgoTrigLite;
354  const std::vector<std::vector<int> >* m_prescaleFactorsTechTrigLite;
355 
357 
358  //
360 
361  //
363 
364 private:
365 
367  unsigned int m_physicsDaqPartition;
368 
369  std::vector<unsigned int> m_triggerMaskSet;
370  std::vector<int> m_prescaleFactorSet;
371 
375 
376 };
377 
378 #endif /*GlobalTriggerAnalyzer_L1GtUtils_h*/
bool m_retrieveL1GtTriggerMenuLite
Definition: L1GtUtils.h:374
const bool decisionAfterMask(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, int &errorCode) const
return decision after trigger mask for a given algorithm or technical trigger
Definition: L1GtUtils.cc:1147
const int l1Results(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, bool &decisionBeforeMask, bool &decisionAfterMask, int &prescaleFactor, int &triggerMask) const
Definition: L1GtUtils.cc:614
std::vector< unsigned int > m_triggerMaskSet
Definition: L1GtUtils.h:369
unsigned long long m_l1GtMenuCacheID
Definition: L1GtUtils.h:332
const std::vector< unsigned int > * m_triggerMaskAlgoTrig
Definition: L1GtUtils.h:324
const L1GtTriggerMenuLite * ptrL1GtTriggerMenuLite(int &errorCode)
return a pointer to the L1GtTriggerMenuLite product
Definition: L1GtUtils.cc:2198
const std::vector< unsigned int > * m_triggerMaskTechTrig
Definition: L1GtUtils.h:325
const L1GtTriggerMask * m_l1GtTmVetoTech
Definition: L1GtUtils.h:321
void getInputTag(const edm::Event &iEvent, edm::InputTag &l1GtRecordInputTag, edm::InputTag &l1GtReadoutRecordInputTag) const
get the input tags for L1GlobalTriggerRecord and L1GlobalTriggerReadoutRecord
Definition: L1GtUtils.cc:339
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms
const bool l1AlgoTechTrigBitNumber(const std::string &nameAlgoTechTrig, TriggerCategory &trigCategory, int &bitNumber) const
Definition: L1GtUtils.cc:470
TriggerCategory
Definition: L1GtUtils.h:59
const bool availableL1Configuration(int &errorCode, int &l1ConfCode) const
Definition: L1GtUtils.cc:2235
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrigLite
Definition: L1GtUtils.h:353
virtual ~L1GtUtils()
destructor
Definition: L1GtUtils.cc:80
const L1GtTriggerMask * m_l1GtTmAlgo
trigger masks &amp; veto masks
Definition: L1GtUtils.h:312
const AlgorithmMap * m_algorithmMap
Definition: L1GtUtils.h:334
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrig
Definition: L1GtUtils.h:309
const L1GtStableParameters * m_l1GtStablePar
event setup cached stuff
Definition: L1GtUtils.h:292
unsigned long long m_l1GtPfAlgoCacheID
Definition: L1GtUtils.h:303
const std::vector< unsigned int > & triggerMaskSet(const TriggerCategory &trigCategory, int &errorCode)
Definition: L1GtUtils.cc:1972
void getL1GtTriggerMenuLiteInputTag(const edm::Event &iEvent, edm::InputTag &l1GtTriggerMenuLiteInputTag) const
get the input tags for L1GtTriggerMenuLite
Definition: L1GtUtils.cc:410
const std::string & l1TriggerMenu() const
return the L1 trigger menu name
Definition: L1GtUtils.cc:2120
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
Definition: L1GtUtils.h:308
const bool decisionBeforeMask(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, int &errorCode) const
return decision before trigger mask for a given algorithm or technical trigger
Definition: L1GtUtils.cc:1110
const L1GtTriggerMenuLite::L1TriggerMap * m_algorithmAliasMapLite
Definition: L1GtUtils.h:347
std::map< unsigned int, std::string > L1TriggerMap
map containing the physics algorithms or the technical triggers
const L1GtTriggerMenuLite::L1TriggerMap * m_algorithmMapLite
Definition: L1GtUtils.h:346
unsigned long long m_l1GtTmVetoTechCacheID
Definition: L1GtUtils.h:322
const edm::RunID * m_runIDCache
Definition: L1GtUtils.h:356
int iEvent
Definition: GenABIO.cc:243
const bool decision(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, int &errorCode) const
Definition: L1GtUtils.cc:1184
const std::string & l1TriggerMenuImplementation() const
return the L1 trigger menu implementation
Definition: L1GtUtils.cc:2145
const AlgorithmMap * m_algorithmAliasMap
Definition: L1GtUtils.h:335
const bool l1AlgTechTrigBitNumber(const std::string &nameAlgoTechTrig, int &triggerAlgoTechTrig, int &bitNumber) const
deprecated version - use l1AlgoTechTrigBitNumber
Definition: L1GtUtils.cc:598
unsigned long long m_l1GtTmTechCacheID
Definition: L1GtUtils.h:316
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrigLite
Definition: L1GtUtils.h:354
const L1GtTriggerMask * m_l1GtTmVetoAlgo
Definition: L1GtUtils.h:318
std::vector< bool > DecisionWord
typedefs
static const std::string EmptyString
Definition: L1GtUtils.h:277
const edm::RunID * m_provRunIDCache
Definition: L1GtUtils.h:359
const std::string triggerCategory(const TriggerCategory &) const
public methods
Definition: L1GtUtils.cc:86
const L1GtPrescaleFactors * m_l1GtPfAlgo
prescale factors
Definition: L1GtUtils.h:302
unsigned long long m_l1GtTmAlgoCacheID
Definition: L1GtUtils.h:313
const std::vector< int > & prescaleFactorSet(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const TriggerCategory &trigCategory, int &errorCode)
Definition: L1GtUtils.cc:1800
unsigned int m_numberTechnicalTriggers
number of technical triggers
Definition: L1GtUtils.h:299
bool m_retrieveL1EventSetup
flags to check which method was used to retrieve L1 trigger configuration
Definition: L1GtUtils.h:373
void retrieveL1EventSetup(const edm::EventSetup &)
retrieve all the relevant L1 trigger event setup records and cache them to improve the speed ...
Definition: L1GtUtils.cc:107
unsigned int m_physicsDaqPartition
index of physics DAQ partition
Definition: L1GtUtils.h:367
unsigned int m_numberAlgorithmTriggers
number of algorithm triggers
Definition: L1GtUtils.h:296
const L1GtTriggerMask * m_l1GtTmTech
Definition: L1GtUtils.h:315
const L1GtTriggerMenuLite * m_l1GtMenuLite
L1GtTriggerMenuLite cached stuff.
Definition: L1GtUtils.h:344
void retrieveL1GtTriggerMenuLite(const edm::Event &, edm::InputTag &)
Definition: L1GtUtils.cc:283
const L1GtPrescaleFactors * m_l1GtPfTech
Definition: L1GtUtils.h:305
const AlgorithmMap * m_technicalTriggerMap
Definition: L1GtUtils.h:336
const std::vector< unsigned int > * m_triggerMaskVetoAlgoTrig
Definition: L1GtUtils.h:327
const std::vector< unsigned int > * m_triggerMaskTechTrigLite
Definition: L1GtUtils.h:351
bool m_l1GtMenuLiteValid
Definition: L1GtUtils.h:362
const std::vector< unsigned int > * m_triggerMaskAlgoTrigLite
Definition: L1GtUtils.h:350
const int prescaleFactorSetIndex(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const TriggerCategory &trigCategory, int &errorCode) const
Definition: L1GtUtils.cc:1496
const int triggerMask(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, int &errorCode) const
return trigger mask for a given algorithm or technical trigger
Definition: L1GtUtils.cc:1256
const bool trigResult(const DecisionWord &decWord, const int bitNumber, const std::string &nameAlgoTechTrig, const TriggerCategory &trigCategory, int &errorCode) const
Definition: L1GtUtils.cc:2339
const L1GtTriggerMenu * m_l1GtMenu
Definition: L1GtUtils.h:331
unsigned long long m_l1GtPfTechCacheID
Definition: L1GtUtils.h:306
static const int L1GtNotValidError
Definition: L1GtUtils.h:278
bool m_l1EventSetupValid
Definition: L1GtUtils.h:338
unsigned long long m_l1GtTmVetoAlgoCacheID
Definition: L1GtUtils.h:319
std::vector< int > m_prescaleFactorSet
Definition: L1GtUtils.h:370
const L1GtTriggerMenu * ptrL1TriggerMenuEventSetup(int &errorCode)
return a pointer to the L1 trigger menu from event setup
Definition: L1GtUtils.cc:2170
const int prescaleFactor(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, int &errorCode) const
return prescale factor for a given algorithm or technical trigger
Definition: L1GtUtils.cc:1221
unsigned long long m_l1GtStableParCacheID
Definition: L1GtUtils.h:293
L1GtUtils()
constructor
Definition: L1GtUtils.cc:50
const L1GtTriggerMenuLite::L1TriggerMap * m_technicalTriggerMapLite
Definition: L1GtUtils.h:348
const std::vector< unsigned int > * m_triggerMaskVetoTechTrig
Definition: L1GtUtils.h:328