CMS 3D CMS Logo

L1GtUtils.h
Go to the documentation of this file.
1 #ifndef GlobalTriggerAnalyzer_L1GtUtils_h
2 #define GlobalTriggerAnalyzer_L1GtUtils_h
3 
18 // system include files
19 #include <memory>
20 #include <string>
21 #include <utility>
22 
23 // user include files
26 
30 
36 
39 
41 
46 
50 
52 
54 
55 // forward declarations
58 class L1GtTriggerMask;
59 class L1GtTriggerMenu;
60 
63 
64 // class declaration
65 
66 class L1GtUtils {
67 public:
68  // Use this enum to tell the EventSetup whether it should prefetch
69  // data when processing beginRun or an Event or both. (This
70  // depends on when retrieveL1EventSetup is called which can
71  // be a direct call or also indirectly through a call to one
72  // or both versions of getL1GtRunCache. Also note that getL1GtRunCache
73  // has an argument that disables EventSetup calls and if the Run
74  // version of the function is called then the Event version of the
75  // function does not get EventSetup data)
77 
78  // Using this constructor will require InputTags to be specified in the configuration
83 
88 
89  // Using this constructor will cause it to look for valid InputTags in
90  // the following ways in the specified order until they are found.
91  // 1. The configuration
92  // 2. Search all products from the preferred input tags for the required type
93  // 3. Search all products from any other process for the required type
94  template <typename T>
98  T& module,
100 
101  template <typename T>
105  T& module,
107 
108  // Using this constructor will cause it to look for valid InputTags in
109  // the following ways in the specified order until they are found.
110  // 1. The constructor arguments
111  // 2. The configuration
112  // 3. Search all products from the preferred input tags for the required type
113  // 4. Search all products from any other process for the required type
114  template <typename T>
118  T& module,
123 
124  template <typename T>
128  T& module,
133 
135  virtual ~L1GtUtils();
136 
138 
139 public:
141 
158  public:
160 
163 
166 
167  public:
169  inline bool isValid() { return m_validLogicalExpression; }
170 
173  const int logicalExpressionRunUpdate(const edm::Run&, const edm::EventSetup&, const std::string&);
174  //
176  const int logicalExpressionRunUpdate(const edm::Run&, const edm::EventSetup&);
177 
179 
180  inline const std::vector<L1GtLogicParser::OperandToken>& expL1Triggers() { return m_expL1Triggers; }
181  const std::vector<std::pair<std::string, bool> >& decisionsBeforeMask();
182  const std::vector<std::pair<std::string, bool> >& decisionsAfterMask();
183  const std::vector<std::pair<std::string, int> >& prescaleFactors();
184  const std::vector<std::pair<std::string, int> >& triggerMasks();
185 
186  const std::vector<std::pair<std::string, int> >& errorCodes(const edm::Event&);
187 
188  private:
191  bool initialize();
192 
194  void reset(const std::vector<std::pair<std::string, bool> >&) const;
195  void reset(const std::vector<std::pair<std::string, int> >&) const;
196 
197  void l1Results(const edm::Event& iEvent);
198 
199  private:
201 
204 
206 
207  private:
208  // private members
209 
212 
215 
218 
221 
222  std::vector<L1GtLogicParser::OperandToken> m_expL1Triggers;
224 
226  std::vector<L1GtUtils::TriggerCategory> m_expTriggerCategory;
227 
230 
233  std::vector<bool> m_expTriggerInMenu;
234 
236  std::vector<std::pair<std::string, bool> > m_decisionsBeforeMask;
237  std::vector<std::pair<std::string, bool> > m_decisionsAfterMask;
238  std::vector<std::pair<std::string, int> > m_prescaleFactors;
239  std::vector<std::pair<std::string, int> > m_triggerMasks;
240  std::vector<std::pair<std::string, int> > m_errorCodes;
241  };
242 
243 public:
245 
246  // enum to string for TriggerCategory
247  const std::string triggerCategory(const TriggerCategory&) const;
248 
250  void retrieveL1EventSetup(const edm::EventSetup&, bool isRun = true);
251 
253 
256 
258 
260  void getL1GtRunCache(const edm::Run&, const edm::EventSetup&, const bool, const bool);
261 
263  void getL1GtRunCache(const edm::Event&, const edm::EventSetup&, const bool, const bool);
264 
273 
274  const bool l1AlgoTechTrigBitNumber(const std::string& nameAlgoTechTrig,
275  TriggerCategory& trigCategory,
276  int& bitNumber) const;
277 
283 
284  const bool l1TriggerNameFromBit(const int& bitNumber,
285  const TriggerCategory& trigCategory,
286  std::string& aliasL1Trigger,
287  std::string& nameL1Trigger) const;
288 
299 
300  const int l1Results(const edm::Event& iEvent,
301  const std::string& nameAlgoTechTrig,
302  bool& decisionBeforeMask,
303  bool& decisionAfterMask,
304  int& prescaleFactor,
305  int& triggerMask) const;
306 
316 
318  const bool decisionBeforeMask(const edm::Event& iEvent, const std::string& nameAlgoTechTrig, int& errorCode) const;
319 
321  const bool decisionAfterMask(const edm::Event& iEvent, const std::string& nameAlgoTechTrig, int& errorCode) const;
322 
325  const bool decision(const edm::Event& iEvent, const std::string& nameAlgoTechTrig, int& errorCode) const;
326 
328  const int prescaleFactor(const edm::Event& iEvent, const std::string& nameAlgoTechTrig, int& errorCode) const;
329 
331  const int triggerMask(const edm::Event& iEvent, const std::string& nameAlgoTechTrig, int& errorCode) const;
332 
335  const int triggerMask(const std::string& nameAlgoTechTrig, int& errorCode) const;
336 
341 
342  const int prescaleFactorSetIndex(const edm::Event& iEvent, const TriggerCategory& trigCategory, int& errorCode) const;
343 
347 
348  const std::vector<int>& prescaleFactorSet(const edm::Event& iEvent,
349  const TriggerCategory& trigCategory,
350  int& errorCode);
351 
354  const std::vector<unsigned int>& triggerMaskSet(const TriggerCategory& trigCategory, int& errorCode);
355 
357  const std::string& l1TriggerMenu() const;
358 
361 
363  const L1GtTriggerMenu* ptrL1TriggerMenuEventSetup(int& errorCode);
364 
366  const L1GtTriggerMenuLite* ptrL1GtTriggerMenuLite(int& errorCode);
367 
370  const bool availableL1Configuration(int& errorCode, int& l1ConfCode) const;
371 
372 private:
373  static const std::string EmptyString;
374  static const int L1GtNotValidError;
375 
379  const bool trigResult(const DecisionWord& decWord,
380  const int bitNumber,
381  const std::string& nameAlgoTechTrig,
382  const TriggerCategory& trigCategory,
383  int& errorCode) const;
384 
385 private:
387 
389 
392  unsigned long long m_l1GtStableParCacheID;
393 
396 
399 
402  unsigned long long m_l1GtPfAlgoCacheID;
403 
405  unsigned long long m_l1GtPfTechCacheID;
406 
407  const std::vector<std::vector<int> >* m_prescaleFactorsAlgoTrig;
408  const std::vector<std::vector<int> >* m_prescaleFactorsTechTrig;
409 
412  unsigned long long m_l1GtTmAlgoCacheID;
413 
415  unsigned long long m_l1GtTmTechCacheID;
416 
418  unsigned long long m_l1GtTmVetoAlgoCacheID;
419 
421  unsigned long long m_l1GtTmVetoTechCacheID;
422 
423  const std::vector<unsigned int>* m_triggerMaskAlgoTrig;
424  const std::vector<unsigned int>* m_triggerMaskTechTrig;
425 
426  const std::vector<unsigned int>* m_triggerMaskVetoAlgoTrig;
427  const std::vector<unsigned int>* m_triggerMaskVetoTechTrig;
428 
429  // trigger menu
431  unsigned long long m_l1GtMenuCacheID;
432 
436 
438 
440 
443 
447 
448  const std::vector<unsigned int>* m_triggerMaskAlgoTrigLite;
449  const std::vector<unsigned int>* m_triggerMaskTechTrigLite;
450 
451  const std::vector<std::vector<int> >* m_prescaleFactorsAlgoTrigLite;
452  const std::vector<std::vector<int> >* m_prescaleFactorsTechTrigLite;
453 
455 
458 
461 
462 private:
464  unsigned int m_physicsDaqPartition;
465 
466  std::vector<unsigned int> m_triggerMaskSet;
467  std::vector<int> m_prescaleFactorSet;
468 
472 
473  std::unique_ptr<L1GtUtilsHelper> m_l1GtUtilsHelper;
474 
475  // beginRun EventSetup tokens
484 
485  // event transition EventSetup tokens (same as run tokens except a different name)
494 };
495 
496 template <typename T>
500  T& module,
501  UseEventSetupIn useEventSetupIn)
502  : L1GtUtils(pset, iC, useL1GtTriggerMenuLite, module, useEventSetupIn) {}
503 
504 template <typename T>
508  T& module,
509  UseEventSetupIn useEventSetupIn)
510  : L1GtUtils(iC, useEventSetupIn) {
511  m_l1GtUtilsHelper = std::make_unique<L1GtUtilsHelper>(pset, iC, useL1GtTriggerMenuLite, module);
512 }
513 
514 template <typename T>
518  T& module,
522  UseEventSetupIn useEventSetupIn)
523  : L1GtUtils(pset,
524  iC,
526  module,
530  useEventSetupIn) {}
531 
532 template <typename T>
536  T& module,
540  UseEventSetupIn useEventSetupIn)
541  : L1GtUtils(iC, useEventSetupIn) {
542  m_l1GtUtilsHelper = std::make_unique<L1GtUtilsHelper>(pset,
543  iC,
545  module,
549 }
550 
551 #endif /*GlobalTriggerAnalyzer_L1GtUtils_h*/
const int prescaleFactorSetIndex(const edm::Event &iEvent, const TriggerCategory &trigCategory, int &errorCode) const
Definition: L1GtUtils.cc:1269
bool m_retrieveL1GtTriggerMenuLite
Definition: L1GtUtils.h:471
edm::RunID m_runIDCache
run cache ID
Definition: L1GtUtils.h:460
bool m_validLogicalExpression
true if the logical expression uses accepted L1GtLogicParser operators
Definition: L1GtUtils.h:217
void l1Results(const edm::Event &iEvent)
Definition: L1GtUtils.cc:2084
void retrieveL1EventSetup(const edm::EventSetup &, bool isRun=true)
retrieve all the relevant L1 trigger event setup records and cache them to improve the speed ...
Definition: L1GtUtils.cc:128
LogicalExpressionL1Results(const std::string &, L1GtUtils &)
constructor(s)
Definition: L1GtUtils.cc:1785
std::vector< std::pair< std::string, bool > > m_decisionsBeforeMask
Definition: L1GtUtils.h:236
std::vector< unsigned int > m_triggerMaskSet
Definition: L1GtUtils.h:466
unsigned long long m_l1GtMenuCacheID
Definition: L1GtUtils.h:431
const std::vector< unsigned int > * m_triggerMaskAlgoTrig
Definition: L1GtUtils.h:423
const int logicalExpressionRunUpdate(const edm::Run &, const edm::EventSetup &, const std::string &)
Definition: L1GtUtils.cc:1895
std::vector< L1GtLogicParser::OperandToken > m_expL1Triggers
Definition: L1GtUtils.h:222
const L1GtTriggerMenuLite * ptrL1GtTriggerMenuLite(int &errorCode)
return a pointer to the L1GtTriggerMenuLite product
Definition: L1GtUtils.cc:1645
int m_l1ConfCode
code for L1 trigger configuration
Definition: L1GtUtils.h:211
const std::vector< unsigned int > * m_triggerMaskTechTrig
Definition: L1GtUtils.h:424
const L1GtTriggerMask * m_l1GtTmVetoTech
Definition: L1GtUtils.h:420
const int prescaleFactor(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return prescale factor for a given algorithm or technical trigger
Definition: L1GtUtils.cc:1078
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:371
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrigLite
Definition: L1GtUtils.h:451
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > m_L1GtTriggerMenuRunToken
Definition: L1GtUtils.h:483
virtual ~L1GtUtils()
destructor
Definition: L1GtUtils.cc:108
const L1GtTriggerMask * m_l1GtTmAlgo
trigger masks & veto masks
Definition: L1GtUtils.h:411
const AlgorithmMap * m_algorithmMap
Definition: L1GtUtils.h:433
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskAlgoTrigRcd > m_L1GtTriggerMaskAlgoTrigRunToken
Definition: L1GtUtils.h:479
const std::vector< std::pair< std::string, int > > & prescaleFactors()
Definition: L1GtUtils.cc:2023
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrig
Definition: L1GtUtils.h:408
const L1GtStableParameters * m_l1GtStablePar
event setup cached stuff
Definition: L1GtUtils.h:391
unsigned long long m_l1GtPfAlgoCacheID
Definition: L1GtUtils.h:402
const std::vector< unsigned int > & triggerMaskSet(const TriggerCategory &trigCategory, int &errorCode)
Definition: L1GtUtils.cc:1497
UseEventSetupIn
Definition: L1GtUtils.h:76
const std::vector< std::pair< std::string, int > > & triggerMasks()
Definition: L1GtUtils.cc:2035
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
Definition: L1GtUtils.h:407
const L1GtTriggerMenuLite::L1TriggerMap * m_algorithmAliasMapLite
Definition: L1GtUtils.h:445
const std::string & l1TriggerMenuImplementation() const
return the L1 trigger menu implementation
Definition: L1GtUtils.cc:1598
std::map< unsigned int, std::string > L1TriggerMap
map containing the physics algorithms or the technical triggers
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > m_L1GtTriggerMenuEventToken
Definition: L1GtUtils.h:493
const L1GtTriggerMenuLite::L1TriggerMap * m_algorithmMapLite
Definition: L1GtUtils.h:444
unsigned long long m_l1GtTmVetoTechCacheID
Definition: L1GtUtils.h:421
const int l1Results(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, bool &decisionBeforeMask, bool &decisionAfterMask, int &prescaleFactor, int &triggerMask) const
Definition: L1GtUtils.cc:666
const std::vector< std::pair< std::string, bool > > & decisionsAfterMask()
Definition: L1GtUtils.cc:2011
std::vector< std::pair< std::string, int > > m_errorCodes
Definition: L1GtUtils.h:240
const bool trigResult(const DecisionWord &decWord, const int bitNumber, const std::string &nameAlgoTechTrig, const TriggerCategory &trigCategory, int &errorCode) const
Definition: L1GtUtils.cc:1764
std::vector< std::pair< std::string, int > > m_triggerMasks
Definition: L1GtUtils.h:239
std::vector< std::pair< std::string, int > > m_prescaleFactors
Definition: L1GtUtils.h:238
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsTechTrigRcd > m_L1GtPrescaleFactorsTechTrigRunToken
Definition: L1GtUtils.h:478
const std::vector< std::pair< std::string, bool > > & decisionsBeforeMask()
Definition: L1GtUtils.cc:1999
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsAlgoTrigRcd > m_L1GtPrescaleFactorsAlgoTrigRunToken
Definition: L1GtUtils.h:477
const bool l1TriggerNameFromBit(const int &bitNumber, const TriggerCategory &trigCategory, std::string &aliasL1Trigger, std::string &nameL1Trigger) const
Definition: L1GtUtils.cc:483
int iEvent
Definition: GenABIO.cc:224
const AlgorithmMap * m_algorithmAliasMap
Definition: L1GtUtils.h:434
unsigned long long m_l1GtTmTechCacheID
Definition: L1GtUtils.h:415
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrigLite
Definition: L1GtUtils.h:452
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskTechTrigRcd > m_L1GtTriggerMaskTechTrigRunToken
Definition: L1GtUtils.h:480
const bool availableL1Configuration(int &errorCode, int &l1ConfCode) const
Definition: L1GtUtils.cc:1679
const L1GtTriggerMask * m_l1GtTmVetoAlgo
Definition: L1GtUtils.h:417
std::vector< bool > DecisionWord
typedefs
static const std::string EmptyString
Definition: L1GtUtils.h:373
edm::ESGetToken< L1GtStableParameters, L1GtStableParametersRcd > m_L1GtStableParametersEventToken
Definition: L1GtUtils.h:486
std::string m_logicalExpression
private members as input parameters
Definition: L1GtUtils.h:203
const L1GtPrescaleFactors * m_l1GtPfAlgo
prescale factors
Definition: L1GtUtils.h:401
unsigned long long m_l1GtTmAlgoCacheID
Definition: L1GtUtils.h:412
const std::string & l1TriggerMenu() const
return the L1 trigger menu name
Definition: L1GtUtils.cc:1577
static void fillDescription(edm::ParameterSetDescription &desc)
void reset(const std::vector< std::pair< std::string, bool > > &) const
reset for each L1 trigger the value from pair.second
Definition: L1GtUtils.cc:2070
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskAlgoTrigRcd > m_L1GtTriggerMaskAlgoTrigEventToken
Definition: L1GtUtils.h:489
unsigned int m_numberTechnicalTriggers
number of technical triggers
Definition: L1GtUtils.h:398
std::vector< bool > m_expTriggerInMenu
Definition: L1GtUtils.h:233
const std::vector< L1GtLogicParser::OperandToken > & expL1Triggers()
list of triggers in the logical expression, trigger decisions, prescale factors and masks...
Definition: L1GtUtils.h:180
bool m_retrieveL1EventSetup
flags to check which method was used to retrieve L1 trigger configuration
Definition: L1GtUtils.h:470
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsTechTrigRcd > m_L1GtPrescaleFactorsTechTrigEventToken
Definition: L1GtUtils.h:488
unsigned int m_physicsDaqPartition
index of physics DAQ partition
Definition: L1GtUtils.h:464
unsigned int m_numberAlgorithmTriggers
number of algorithm triggers
Definition: L1GtUtils.h:395
bool m_l1ResultsAlreadyCalled
set to true if the method l1Results was called once
Definition: L1GtUtils.h:220
const std::vector< int > & prescaleFactorSet(const edm::Event &iEvent, const TriggerCategory &trigCategory, int &errorCode)
Definition: L1GtUtils.cc:1441
bool m_expBitsTechTrigger
flag true, if the logical expression is built from technical trigger bits
Definition: L1GtUtils.h:229
std::vector< L1GtUtils::TriggerCategory > m_expTriggerCategory
trigger category for each L1 trigger in the logical expression
Definition: L1GtUtils.h:226
const L1GtTriggerMask * m_l1GtTmTech
Definition: L1GtUtils.h:414
const L1GtTriggerMenuLite * m_l1GtMenuLite
L1GtTriggerMenuLite cached stuff.
Definition: L1GtUtils.h:442
const L1GtPrescaleFactors * m_l1GtPfTech
Definition: L1GtUtils.h:404
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoTechTrigRcd > m_L1GtTriggerMaskVetoTechTrigEventToken
Definition: L1GtUtils.h:492
const AlgorithmMap * m_technicalTriggerMap
Definition: L1GtUtils.h:435
static void fillDescription(edm::ParameterSetDescription &desc)
Definition: L1GtUtils.h:137
const std::string triggerCategory(const TriggerCategory &) const
public methods
Definition: L1GtUtils.cc:112
const std::vector< unsigned int > * m_triggerMaskVetoAlgoTrig
Definition: L1GtUtils.h:426
std::unique_ptr< L1GtUtilsHelper > m_l1GtUtilsHelper
Definition: L1GtUtils.h:473
const std::vector< unsigned int > * m_triggerMaskTechTrigLite
Definition: L1GtUtils.h:449
static const bool useL1GtTriggerMenuLite(true)
const int triggerMask(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return trigger mask for a given algorithm or technical trigger
Definition: L1GtUtils.cc:1092
bool m_l1GtMenuLiteValid
Definition: L1GtUtils.h:454
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskTechTrigRcd > m_L1GtTriggerMaskTechTrigEventToken
Definition: L1GtUtils.h:490
L1GtUtils(edm::ParameterSet const &pset, edm::ConsumesCollector &&iC, bool useL1GtTriggerMenuLite, UseEventSetupIn use=UseEventSetupIn::Run)
Definition: L1GtUtils.cc:93
const std::vector< unsigned int > * m_triggerMaskAlgoTrigLite
Definition: L1GtUtils.h:448
bool m_beginRunCache
flag for call of getL1GtRunCache in beginRun
Definition: L1GtUtils.h:457
const bool decision(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
Definition: L1GtUtils.cc:1066
void getL1GtRunCache(const edm::Run &, const edm::EventSetup &, const bool, const bool)
get all the run-constant quantities for L1 trigger and cache them
Definition: L1GtUtils.cc:314
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoAlgoTrigRcd > m_L1GtTriggerMaskVetoAlgoTrigEventToken
Definition: L1GtUtils.h:491
bool m_validL1Configuration
true if valid L1 configuration - if not, reset all quantities and return
Definition: L1GtUtils.h:214
const L1GtTriggerMenu * m_l1GtMenu
Definition: L1GtUtils.h:430
unsigned long long m_l1GtPfTechCacheID
Definition: L1GtUtils.h:405
const bool decisionAfterMask(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return decision after trigger mask for a given algorithm or technical trigger
Definition: L1GtUtils.cc:1052
static const int L1GtNotValidError
Definition: L1GtUtils.h:374
std::vector< std::pair< std::string, bool > > m_decisionsAfterMask
Definition: L1GtUtils.h:237
bool m_l1EventSetupValid
Definition: L1GtUtils.h:437
unsigned long long m_l1GtTmVetoAlgoCacheID
Definition: L1GtUtils.h:418
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoAlgoTrigRcd > m_L1GtTriggerMaskVetoAlgoTrigRunToken
Definition: L1GtUtils.h:481
std::vector< int > m_prescaleFactorSet
Definition: L1GtUtils.h:467
const L1GtTriggerMenu * ptrL1TriggerMenuEventSetup(int &errorCode)
return a pointer to the L1 trigger menu from event setup
Definition: L1GtUtils.cc:1619
edm::ESGetToken< L1GtStableParameters, L1GtStableParametersRcd > m_L1GtStableParametersRunToken
Definition: L1GtUtils.h:476
long double T
unsigned long long m_l1GtStableParCacheID
Definition: L1GtUtils.h:392
const bool decisionBeforeMask(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return decision before trigger mask for a given algorithm or technical trigger
Definition: L1GtUtils.cc:1038
const L1GtTriggerMenuLite::L1TriggerMap * m_technicalTriggerMapLite
Definition: L1GtUtils.h:446
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoTechTrigRcd > m_L1GtTriggerMaskVetoTechTrigRunToken
Definition: L1GtUtils.h:482
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsAlgoTrigRcd > m_L1GtPrescaleFactorsAlgoTrigEventToken
Definition: L1GtUtils.h:487
bool isValid()
return true if the logical expression is syntactically correct
Definition: L1GtUtils.h:169
Definition: Run.h:45
const std::vector< unsigned int > * m_triggerMaskVetoTechTrig
Definition: L1GtUtils.h:427
void retrieveL1GtTriggerMenuLite(const edm::Run &)
retrieve L1GtTriggerMenuLite (per run product) and cache it to improve the speed
Definition: L1GtUtils.cc:281
const std::vector< std::pair< std::string, int > > & errorCodes(const edm::Event &)
Definition: L1GtUtils.cc:2047