CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
GenericTriggerEventFlag Class Reference

Provides a code based selection for trigger and DCS information in order to have no failing filters in the CMSSW path. More...

#include "CommonTools/TriggerUtils/interface/GenericTriggerEventFlag.h"

Public Member Functions

bool accept (const edm::Event &event, const edm::EventSetup &setup)
 To be called from analyze/filter() methods. More...
 
bool allHLTPathsAreValid () const
 
std::vector< std::string > expressionsFromDB (const std::string &key, const edm::EventSetup &setup)
 Reads and returns logical expressions from DB. More...
 
 GenericTriggerEventFlag (const edm::ParameterSet &config, edm::ConsumesCollector &&iC, l1t::UseEventSetupIn use=l1t::UseEventSetupIn::RunAndEvent)
 
template<typename T >
 GenericTriggerEventFlag (const edm::ParameterSet &config, edm::ConsumesCollector &&iC, T &module, l1t::UseEventSetupIn use=l1t::UseEventSetupIn::RunAndEvent)
 
 GenericTriggerEventFlag (const edm::ParameterSet &config, edm::ConsumesCollector &iC, l1t::UseEventSetupIn use=l1t::UseEventSetupIn::RunAndEvent)
 
template<typename T >
 GenericTriggerEventFlag (const edm::ParameterSet &config, edm::ConsumesCollector &iC, T &module, l1t::UseEventSetupIn use=l1t::UseEventSetupIn::RunAndEvent)
 
std::string gtDBKey ()
 
std::string hltDBKey ()
 
void initRun (const edm::Run &run, const edm::EventSetup &setup)
 To be called from beginRun() methods. More...
 
std::string l1DBKey ()
 
bool off ()
 
bool on ()
 

Private Member Functions

bool acceptDcs (const edm::Event &event)
 
bool acceptDcsPartition (const edm::Handle< DcsStatusCollection > &dcsStatus, int dcsPartition) const
 
bool acceptGt (const edm::Event &event)
 Does this event fulfill the configured GT status logical expression combination? More...
 
bool acceptGtLogicalExpression (const edm::Event &event, std::string gtLogicalExpression)
 Does this event fulfill this particular GT status bits' logical expression? More...
 
bool acceptHlt (const edm::Event &event)
 Was this event accepted by the configured HLT logical expression combination? More...
 
bool acceptHltLogicalExpression (const edm::Handle< edm::TriggerResults > &hltTriggerResults, std::string hltLogicalExpression) const
 Was this event accepted by this particular HLT paths' logical expression? More...
 
bool acceptL1 (const edm::Event &event, const edm::EventSetup &setup)
 Was this event accepted by the configured L1 logical expression combination? More...
 
bool acceptL1LogicalExpression (const edm::Event &event, const edm::EventSetup &setup, std::string l1LogicalExpression)
 Was this event accepted by this particular L1 algorithms' logical expression? More...
 
std::string expandLogicalExpression (const std::vector< std::string > &target, const std::string &expr, bool useAnd=false) const
 Expand wild-carded logical expressions, giving version postfixes priority. More...
 
 GenericTriggerEventFlag (const edm::ParameterSet &config, edm::ConsumesCollector &iC, bool stage1Valid)
 To be called from the ED module's c'tor. More...
 
bool negate (std::string &word) const
 Checks for negated words. More...
 

Private Attributes

edm::ESGetToken< AlCaRecoTriggerBits, AlCaRecoTriggerBitsRcdalCaRecoTriggerBitsToken_
 
bool andOr_
 
bool andOrDcs_
 
bool andOrGt_
 
bool andOrHlt_
 
bool andOrL1_
 
const std::string configError_
 
std::string dbLabel_
 
edm::InputTag dcsInputTag_
 
edm::EDGetTokenT< DcsStatusCollectiondcsInputToken_
 
std::vector< int > dcsPartitions_
 
const std::string emptyKeyError_
 
bool errorReplyDcs_
 
bool errorReplyGt_
 
bool errorReplyHlt_
 
bool errorReplyL1_
 
std::string gtDBKey_
 
edm::InputTag gtEvmInputTag_
 
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecordgtEvmInputToken_
 
edm::InputTag gtInputTag_
 
edm::EDGetTokenT< L1GlobalTriggerReadoutRecordgtInputToken_
 
std::vector< std::string > gtLogicalExpressions_
 
HLTConfigProvider hltConfig_
 
bool hltConfigInit_
 
std::string hltDBKey_
 
edm::InputTag hltInputTag_
 
edm::EDGetTokenT< edm::TriggerResultshltInputToken_
 
std::vector< std::string > hltLogicalExpressions_
 
std::vector< std::string > hltLogicalExpressionsCache_
 
bool l1BeforeMask_
 
std::string l1DBKey_
 
std::unique_ptr< L1GtUtilsl1Gt_
 
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcdl1GtTriggerMenuToken_
 
std::vector< std::string > l1LogicalExpressions_
 
std::vector< std::string > l1LogicalExpressionsCache_
 
std::unique_ptr< l1t::L1TGlobalUtill1uGt_
 
bool on_
 
bool onDcs_
 
bool onGt_
 
bool onHlt_
 
bool onL1_
 
bool stage2_
 
unsigned verbose_
 
std::unique_ptr< edm::ESWatcher< AlCaRecoTriggerBitsRcd > > watchDB_
 

Detailed Description

Provides a code based selection for trigger and DCS information in order to have no failing filters in the CMSSW path.

[...]

Author
Volker Adler
Version
Id
GenericTriggerEventFlag.h,v 1.5 2012/01/19 20:17:34 vadler Exp

Definition at line 42 of file GenericTriggerEventFlag.h.

Constructor & Destructor Documentation

◆ GenericTriggerEventFlag() [1/5]

GenericTriggerEventFlag::GenericTriggerEventFlag ( const edm::ParameterSet config,
edm::ConsumesCollector &&  iC,
l1t::UseEventSetupIn  use = l1t::UseEventSetupIn::RunAndEvent 
)
inline

Definition at line 113 of file GenericTriggerEventFlag.h.

116  : GenericTriggerEventFlag(config, iC, use) {}

◆ GenericTriggerEventFlag() [2/5]

GenericTriggerEventFlag::GenericTriggerEventFlag ( const edm::ParameterSet config,
edm::ConsumesCollector iC,
l1t::UseEventSetupIn  use = l1t::UseEventSetupIn::RunAndEvent 
)

Definition at line 18 of file GenericTriggerEventFlag.cc.

21  : GenericTriggerEventFlag(config, iC, false) {
22  if (config.exists("andOrL1")) {
23  if (stage2_) {
24  l1uGt_.reset(new l1t::L1TGlobalUtil(config, iC, use));
25  }
26  }
27 }

References l1uGt_, and stage2_.

◆ GenericTriggerEventFlag() [3/5]

template<typename T >
GenericTriggerEventFlag::GenericTriggerEventFlag ( const edm::ParameterSet config,
edm::ConsumesCollector &&  iC,
T module,
l1t::UseEventSetupIn  use = l1t::UseEventSetupIn::RunAndEvent 
)

Definition at line 183 of file GenericTriggerEventFlag.h.

187  : GenericTriggerEventFlag(config, iC, module, use) {}

◆ GenericTriggerEventFlag() [4/5]

template<typename T >
GenericTriggerEventFlag::GenericTriggerEventFlag ( const edm::ParameterSet config,
edm::ConsumesCollector iC,
T module,
l1t::UseEventSetupIn  use = l1t::UseEventSetupIn::RunAndEvent 
)

Definition at line 190 of file GenericTriggerEventFlag.h.

194  : GenericTriggerEventFlag(config, iC, true) {
195  if (on_ && config.exists("andOrL1")) {
196  if (stage2_) {
197  l1uGt_ = std::make_unique<l1t::L1TGlobalUtil>(config, iC, use);
198  } else {
202  } else if (use == l1t::UseEventSetupIn::Event) {
203  useL1GtUtilsIn = L1GtUtils::UseEventSetupIn::Event;
204  }
205  l1Gt_ = std::make_unique<L1GtUtils>(config, iC, false, module, useL1GtUtilsIn);
206  }
207  }
208  //these pointers are already null so no need to reset them to a nullptr
209  //if andOrL1 doesnt exist
210 }

References l1t::Event, L1GtUtils::Event, l1Gt_, l1uGt_, on_, L1GtUtils::Run, l1t::RunAndEvent, L1GtUtils::RunAndEvent, and stage2_.

◆ GenericTriggerEventFlag() [5/5]

GenericTriggerEventFlag::GenericTriggerEventFlag ( const edm::ParameterSet config,
edm::ConsumesCollector iC,
bool  stage1Valid 
)
private

To be called from the ED module's c'tor.

Definition at line 30 of file GenericTriggerEventFlag.cc.

33  : watchDB_(),
34  hltConfigInit_(false),
35  andOr_(false),
36  dbLabel_(""),
37  verbose_(0),
38  andOrDcs_(false),
39  errorReplyDcs_(false),
40  andOrGt_(false),
41  gtInputTag_(""),
42  gtEvmInputTag_(""),
43  gtDBKey_(""),
44  errorReplyGt_(false),
45  andOrL1_(false),
46  stage2_(false),
47  l1BeforeMask_(true),
48  l1DBKey_(""),
49  errorReplyL1_(false),
50  andOrHlt_(false),
51  hltDBKey_(""),
52  errorReplyHlt_(false),
53  on_(true),
54  onDcs_(true),
55  onGt_(true),
56  onL1_(true),
57  onHlt_(true),
58  configError_("CONFIG_ERROR"),
59  emptyKeyError_("EMPTY_KEY_ERROR") {
60  // General switch(es)
61  if (config.exists("andOr")) {
62  andOr_ = config.getParameter<bool>("andOr");
63  if (config.exists("verbosityLevel"))
64  verbose_ = config.getParameter<unsigned>("verbosityLevel");
65  } else {
66  on_ = false;
67  onDcs_ = false;
68  onGt_ = false;
69  onL1_ = false;
70  onHlt_ = false;
71  }
72 
73  if (on_) {
74  if (config.exists("andOrDcs")) {
75  andOrDcs_ = config.getParameter<bool>("andOrDcs");
76  dcsInputTag_ = config.getParameter<edm::InputTag>("dcsInputTag");
78  dcsPartitions_ = config.getParameter<std::vector<int> >("dcsPartitions");
79  errorReplyDcs_ = config.getParameter<bool>("errorReplyDcs");
80  } else {
81  onDcs_ = false;
82  }
83  if (config.exists("andOrGt")) {
84  andOrGt_ = config.getParameter<bool>("andOrGt");
85  gtInputTag_ = config.getParameter<edm::InputTag>("gtInputTag");
87  gtLogicalExpressions_ = config.getParameter<std::vector<std::string> >("gtStatusBits");
88  errorReplyGt_ = config.getParameter<bool>("errorReplyGt");
89  if (config.exists("gtEvmInputTag")) {
90  gtEvmInputTag_ = config.getParameter<edm::InputTag>("gtEvmInputTag");
92  }
93  if (config.exists("gtDBKey"))
94  gtDBKey_ = config.getParameter<std::string>("gtDBKey");
95  } else {
96  onGt_ = false;
97  }
98  if (config.exists("andOrL1")) {
99  andOrL1_ = config.getParameter<bool>("andOrL1");
100  if (config.exists("stage2"))
101  stage2_ = config.getParameter<bool>("stage2");
102  else
103  stage2_ = false;
104  l1LogicalExpressionsCache_ = config.getParameter<std::vector<std::string> >("l1Algorithms");
105  errorReplyL1_ = config.getParameter<bool>("errorReplyL1");
106  if (config.exists("l1DBKey"))
107  l1DBKey_ = config.getParameter<std::string>("l1DBKey");
108  if (config.exists("l1BeforeMask"))
109  l1BeforeMask_ = config.getParameter<bool>("l1BeforeMask");
110  } else {
111  onL1_ = false;
112  }
113  if (config.exists("andOrHlt")) {
114  andOrHlt_ = config.getParameter<bool>("andOrHlt");
115  hltInputTag_ = config.getParameter<edm::InputTag>("hltInputTag");
117  hltLogicalExpressionsCache_ = config.getParameter<std::vector<std::string> >("hltPaths");
118  errorReplyHlt_ = config.getParameter<bool>("errorReplyHlt");
119  if (config.exists("hltDBKey"))
120  hltDBKey_ = config.getParameter<std::string>("hltDBKey");
121  } else {
122  onHlt_ = false;
123  }
124  if (!onDcs_ && !onGt_ && !onL1_ && !onHlt_)
125  on_ = false;
126  else {
127  if (config.exists("dbLabel"))
128  dbLabel_ = config.getParameter<std::string>("dbLabel");
129  watchDB_ = std::make_unique<edm::ESWatcher<AlCaRecoTriggerBitsRcd> >();
130  }
131  }
132 
133  if (onL1_ && !stage2_) {
135  }
136  if ((onGt_ && !gtDBKey_.empty()) || (onL1_ && !l1DBKey_.empty()) || (onHlt_ && !hltDBKey_.empty())) {
139  }
140 
141  //check to see we arent trying to setup legacy / stage-1 from a constructor call
142  //that does not support it
143  if (config.exists("andOrL1") && stage2_ == false) { //stage-1 setup
144  if (stage1Valid == false)
145  throw cms::Exception("ConfigError") << " Error when constructing GenericTriggerEventFlag, legacy/stage-1 is "
146  "requested but the constructor called is stage2 only";
147  }
148 }

References alCaRecoTriggerBitsToken_, andOr_, andOrDcs_, andOrGt_, andOrHlt_, andOrL1_, edm::BeginRun, dbLabel_, dcsInputTag_, dcsInputToken_, dcsPartitions_, errorReplyDcs_, errorReplyGt_, errorReplyHlt_, errorReplyL1_, edm::ConsumesCollector::esConsumes(), Exception, gtDBKey_, gtEvmInputTag_, gtEvmInputToken_, gtInputTag_, gtInputToken_, gtLogicalExpressions_, hltDBKey_, hltInputTag_, hltInputToken_, hltLogicalExpressionsCache_, l1BeforeMask_, l1DBKey_, l1GtTriggerMenuToken_, l1LogicalExpressionsCache_, edm::ConsumesCollector::mayConsume(), on_, onDcs_, onGt_, onHlt_, onL1_, stage2_, AlCaHLTBitMon_QueryRunRegistry::string, verbose_, and watchDB_.

Member Function Documentation

◆ accept()

bool GenericTriggerEventFlag::accept ( const edm::Event event,
const edm::EventSetup setup 
)

To be called from analyze/filter() methods.

Definition at line 264 of file GenericTriggerEventFlag.cc.

264  {
265  if (!on_)
266  return true;
267 
268  // Determine decision
269  if (andOr_)
272 }

References acceptDcs(), acceptGt(), acceptHlt(), acceptL1(), andOr_, on_, and singleTopDQM_cfi::setup.

Referenced by dEdxAnalyzer::analyze(), dEdxHitAnalyzer::analyze(), SiStripMonitorCluster::analyze(), LogMessageMonitor::analyze(), V0Monitor::analyze(), SiStripMonitorTrack::analyze(), TrackingMonitor::analyze(), and esMonitoring.FDJsonServer::handle_accept().

◆ acceptDcs()

bool GenericTriggerEventFlag::acceptDcs ( const edm::Event event)
private

Definition at line 274 of file GenericTriggerEventFlag.cc.

274  {
275  // An empty DCS partitions list acts as switch.
276  if (!onDcs_ || dcsPartitions_.empty())
277  return (!andOr_); // logically neutral, depending on base logical connective
278 
279  // Accessing the DcsStatusCollection
281  event.getByToken(dcsInputToken_, dcsStatus);
282  if (!dcsStatus.isValid()) {
283  if (verbose_ > 1)
284  edm::LogWarning("GenericTriggerEventFlag")
285  << "DcsStatusCollection product with InputTag \"" << dcsInputTag_.encode()
286  << "\" not in event ==> decision: " << errorReplyDcs_;
287  return errorReplyDcs_;
288  }
289  if ((*dcsStatus).empty()) {
290  if (verbose_ > 1)
291  edm::LogWarning("GenericTriggerEventFlag")
292  << "DcsStatusCollection product with InputTag \"" << dcsInputTag_.encode()
293  << "\" empty ==> decision: " << errorReplyDcs_;
294  return errorReplyDcs_;
295  }
296 
297  // Determine decision of DCS partition combination and return
298  if (andOrDcs_) { // OR combination
299  for (std::vector<int>::const_iterator partitionNumber = dcsPartitions_.begin();
300  partitionNumber != dcsPartitions_.end();
301  ++partitionNumber) {
302  if (acceptDcsPartition(dcsStatus, *partitionNumber))
303  return true;
304  }
305  return false;
306  }
307  for (std::vector<int>::const_iterator partitionNumber = dcsPartitions_.begin();
308  partitionNumber != dcsPartitions_.end();
309  ++partitionNumber) {
310  if (!acceptDcsPartition(dcsStatus, *partitionNumber))
311  return false;
312  }
313  return true;
314 }

References acceptDcsPartition(), andOr_, andOrDcs_, dcsInputTag_, dcsInputToken_, dcsPartitions_, edm::InputTag::encode(), errorReplyDcs_, edm::HandleBase::isValid(), onDcs_, and verbose_.

Referenced by accept().

◆ acceptDcsPartition()

bool GenericTriggerEventFlag::acceptDcsPartition ( const edm::Handle< DcsStatusCollection > &  dcsStatus,
int  dcsPartition 
) const
private

Definition at line 316 of file GenericTriggerEventFlag.cc.

317  {
318  // Error checks
319  switch (dcsPartition) {
320  case DcsStatus::EBp:
321  case DcsStatus::EBm:
322  case DcsStatus::EEp:
323  case DcsStatus::EEm:
324  case DcsStatus::HBHEa:
325  case DcsStatus::HBHEb:
326  case DcsStatus::HBHEc:
327  case DcsStatus::HF:
328  case DcsStatus::HO:
329  case DcsStatus::RPC:
330  case DcsStatus::DT0:
331  case DcsStatus::DTp:
332  case DcsStatus::DTm:
333  case DcsStatus::CSCp:
334  case DcsStatus::CSCm:
335  case DcsStatus::CASTOR:
336  case DcsStatus::TIBTID:
337  case DcsStatus::TOB:
338  case DcsStatus::TECp:
339  case DcsStatus::TECm:
340  case DcsStatus::BPIX:
341  case DcsStatus::FPIX:
342  case DcsStatus::ESp:
343  case DcsStatus::ESm:
344  break;
345  default:
346  if (verbose_ > 1)
347  edm::LogWarning("GenericTriggerEventFlag")
348  << "DCS partition number \"" << dcsPartition << "\" does not exist ==> decision: " << errorReplyDcs_;
349  return errorReplyDcs_;
350  }
351 
352  // Determine decision
353  return dcsStatus->at(0).ready(dcsPartition);
354 }

References DcsStatus::BPIX, DcsStatus::CASTOR, DcsStatus::CSCm, DcsStatus::CSCp, DcsStatus::DT0, DcsStatus::DTm, DcsStatus::DTp, DcsStatus::EBm, DcsStatus::EBp, DcsStatus::EEm, DcsStatus::EEp, errorReplyDcs_, DcsStatus::ESm, DcsStatus::ESp, DcsStatus::FPIX, DcsStatus::HBHEa, DcsStatus::HBHEb, DcsStatus::HBHEc, DcsStatus::HF, DcsStatus::HO, DcsStatus::RPC, DcsStatus::TECm, DcsStatus::TECp, DcsStatus::TIBTID, DcsStatus::TOB, and verbose_.

Referenced by acceptDcs().

◆ acceptGt()

bool GenericTriggerEventFlag::acceptGt ( const edm::Event event)
private

Does this event fulfill the configured GT status logical expression combination?

Definition at line 357 of file GenericTriggerEventFlag.cc.

357  {
358  // An empty GT status bits logical expressions list acts as switch.
359  if (!onGt_ || gtLogicalExpressions_.empty())
360  return (!andOr_); // logically neutral, depending on base logical connective
361 
362  // Determine decision of GT status bits logical expression combination and return
363  if (andOrGt_) { // OR combination
364  for (std::vector<std::string>::const_iterator gtLogicalExpression = gtLogicalExpressions_.begin();
365  gtLogicalExpression != gtLogicalExpressions_.end();
366  ++gtLogicalExpression) {
367  if (acceptGtLogicalExpression(event, *gtLogicalExpression))
368  return true;
369  }
370  return false;
371  }
372  for (std::vector<std::string>::const_iterator gtLogicalExpression = gtLogicalExpressions_.begin();
373  gtLogicalExpression != gtLogicalExpressions_.end();
374  ++gtLogicalExpression) {
375  if (!acceptGtLogicalExpression(event, *gtLogicalExpression))
376  return false;
377  }
378  return true;
379 }

References acceptGtLogicalExpression(), andOr_, andOrGt_, gtLogicalExpressions_, and onGt_.

Referenced by accept().

◆ acceptGtLogicalExpression()

bool GenericTriggerEventFlag::acceptGtLogicalExpression ( const edm::Event event,
std::string  gtLogicalExpression 
)
private

Does this event fulfill this particular GT status bits' logical expression?

Definition at line 382 of file GenericTriggerEventFlag.cc.

382  {
383  // Check empty std::strings
384  if (gtLogicalExpression.empty()) {
385  if (verbose_ > 1)
386  edm::LogWarning("GenericTriggerEventFlag") << "Empty logical expression ==> decision: " << errorReplyGt_;
387  return errorReplyGt_;
388  }
389 
390  // Negated paths
391  bool negExpr(negate(gtLogicalExpression));
392  if (negExpr && gtLogicalExpression.empty()) {
393  if (verbose_ > 1)
394  edm::LogWarning("GenericTriggerEventFlag")
395  << "Empty (negated) logical expression ==> decision: " << errorReplyGt_;
396  return errorReplyGt_;
397  }
398 
399  // Parse logical expression and determine GT status bit decision
400  L1GtLogicParser gtAlgoLogicParser(gtLogicalExpression);
401  // Loop over status bits
402  for (size_t iStatusBit = 0; iStatusBit < gtAlgoLogicParser.operandTokenVector().size(); ++iStatusBit) {
403  const std::string gtStatusBit(gtAlgoLogicParser.operandTokenVector().at(iStatusBit).tokenName);
404  // Manipulate status bit decision as stored in the parser
405  bool decision(errorReplyDcs_);
406  // Hard-coded status bits!!!
407  if (gtStatusBit == "PhysDecl" || gtStatusBit == "PhysicsDeclared") {
409  event.getByToken(gtInputToken_, gtReadoutRecord);
410  if (!gtReadoutRecord.isValid()) {
411  if (verbose_ > 1)
412  edm::LogWarning("GenericTriggerEventFlag")
413  << "L1GlobalTriggerReadoutRecord product with InputTag \"" << gtInputTag_.encode()
414  << "\" not in event ==> decision: " << errorReplyGt_;
415  gtAlgoLogicParser.operandTokenVector().at(iStatusBit).tokenResult = errorReplyDcs_;
416  continue;
417  }
418  decision = (gtReadoutRecord->gtFdlWord().physicsDeclared() == 1);
419  } else if (gtStatusBit == "Stable" || gtStatusBit == "StableBeam" || gtStatusBit == "Adjust" ||
420  gtStatusBit == "Sqeeze" || gtStatusBit == "Flat" || gtStatusBit == "FlatTop" || gtStatusBit == "7TeV" ||
421  gtStatusBit == "8TeV" || gtStatusBit == "13TeV" || gtStatusBit == "2360GeV" || gtStatusBit == "900GeV") {
423  event.getByToken(gtEvmInputToken_, gtEvmReadoutRecord);
424  if (!gtEvmReadoutRecord.isValid()) {
425  if (verbose_ > 1)
426  edm::LogWarning("GenericTriggerEventFlag")
427  << "L1GlobalTriggerEvmReadoutRecord product with InputTag \"" << gtEvmInputTag_.encode()
428  << "\" not in event ==> decision: " << errorReplyGt_;
429  gtAlgoLogicParser.operandTokenVector().at(iStatusBit).tokenResult = errorReplyDcs_;
430  continue;
431  }
432  if (gtStatusBit == "Stable" || gtStatusBit == "StableBeam") {
433  decision = (gtEvmReadoutRecord->gtfeWord().beamMode() == 11);
434  } else if (gtStatusBit == "Adjust") {
435  decision = (10 <= gtEvmReadoutRecord->gtfeWord().beamMode() && gtEvmReadoutRecord->gtfeWord().beamMode() <= 11);
436  } else if (gtStatusBit == "Sqeeze") {
437  decision = (9 <= gtEvmReadoutRecord->gtfeWord().beamMode() && gtEvmReadoutRecord->gtfeWord().beamMode() <= 11);
438  } else if (gtStatusBit == "Flat" || gtStatusBit == "FlatTop") {
439  decision = (8 <= gtEvmReadoutRecord->gtfeWord().beamMode() && gtEvmReadoutRecord->gtfeWord().beamMode() <= 11);
440  } else if (gtStatusBit == "7TeV") {
441  decision = (gtEvmReadoutRecord->gtfeWord().beamMomentum() == 3500);
442  } else if (gtStatusBit == "8TeV") {
443  decision = (gtEvmReadoutRecord->gtfeWord().beamMomentum() == 4000);
444  } else if (gtStatusBit == "13TeV") {
445  decision = (gtEvmReadoutRecord->gtfeWord().beamMomentum() == 6500);
446  } else if (gtStatusBit == "2360GeV") {
447  decision = (gtEvmReadoutRecord->gtfeWord().beamMomentum() == 1180);
448  } else if (gtStatusBit == "900GeV") {
449  decision = (gtEvmReadoutRecord->gtfeWord().beamMomentum() == 450);
450  }
451  } else {
452  if (verbose_ > 1)
453  edm::LogWarning("GenericTriggerEventFlag")
454  << "GT status bit \"" << gtStatusBit << "\" is not defined ==> decision: " << errorReplyGt_;
455  }
456  gtAlgoLogicParser.operandTokenVector().at(iStatusBit).tokenResult = decision;
457  }
458 
459  // Determine decision
460  const bool gtDecision(gtAlgoLogicParser.expressionResult());
461  return negExpr ? (!gtDecision) : gtDecision;
462 }

References L1GtfeExtWord::beamMode(), L1GtfeExtWord::beamMomentum(), edm::InputTag::encode(), errorReplyDcs_, errorReplyGt_, L1GtLogicParser::expressionResult(), gtEvmInputTag_, gtEvmInputToken_, L1GlobalTriggerReadoutRecord::gtFdlWord(), L1GlobalTriggerEvmReadoutRecord::gtfeWord(), gtInputTag_, gtInputToken_, edm::HandleBase::isValid(), negate(), L1GtLogicParser::operandTokenVector(), L1GtFdlWord::physicsDeclared(), AlCaHLTBitMon_QueryRunRegistry::string, and verbose_.

Referenced by acceptGt().

◆ acceptHlt()

bool GenericTriggerEventFlag::acceptHlt ( const edm::Event event)
private

Was this event accepted by the configured HLT logical expression combination?

Definition at line 559 of file GenericTriggerEventFlag.cc.

559  {
560  // An empty HLT logical expressions list acts as switch.
561  if (!onHlt_ || hltLogicalExpressions_.empty())
562  return (!andOr_); // logically neutral, depending on base logical connective
563 
564  // Checking the HLT configuration,
565  if (!hltConfigInit_) {
566  if (verbose_ > 1)
567  edm::LogWarning("GenericTriggerEventFlag") << "HLT config error ==> decision: " << errorReplyHlt_;
568  return errorReplyHlt_;
569  }
570 
571  // Accessing the TriggerResults
572  edm::Handle<edm::TriggerResults> hltTriggerResults;
573  event.getByToken(hltInputToken_, hltTriggerResults);
574  if (!hltTriggerResults.isValid()) {
575  if (verbose_ > 1)
576  edm::LogWarning("GenericTriggerEventFlag") << "TriggerResults product with InputTag \"" << hltInputTag_.encode()
577  << "\" not in event ==> decision: " << errorReplyHlt_;
578  return errorReplyHlt_;
579  }
580  if ((*hltTriggerResults).size() == 0) {
581  if (verbose_ > 1)
582  edm::LogWarning("GenericTriggerEventFlag") << "TriggerResults product with InputTag \"" << hltInputTag_.encode()
583  << "\" empty ==> decision: " << errorReplyHlt_;
584  return errorReplyDcs_;
585  }
586 
587  // Determine decision of HLT logical expression combination and return
588  if (andOrHlt_) { // OR combination
589  for (std::vector<std::string>::const_iterator hltLogicalExpression = hltLogicalExpressions_.begin();
590  hltLogicalExpression != hltLogicalExpressions_.end();
591  ++hltLogicalExpression) {
592  if (acceptHltLogicalExpression(hltTriggerResults, *hltLogicalExpression))
593  return true;
594  }
595  return false;
596  }
597  for (std::vector<std::string>::const_iterator hltLogicalExpression = hltLogicalExpressions_.begin();
598  hltLogicalExpression != hltLogicalExpressions_.end();
599  ++hltLogicalExpression) {
600  if (!acceptHltLogicalExpression(hltTriggerResults, *hltLogicalExpression))
601  return false;
602  }
603  return true;
604 }

References acceptHltLogicalExpression(), andOr_, andOrHlt_, edm::InputTag::encode(), errorReplyDcs_, errorReplyHlt_, hltConfigInit_, hltInputTag_, hltInputToken_, hltLogicalExpressions_, edm::HandleBase::isValid(), onHlt_, and verbose_.

Referenced by accept().

◆ acceptHltLogicalExpression()

bool GenericTriggerEventFlag::acceptHltLogicalExpression ( const edm::Handle< edm::TriggerResults > &  hltTriggerResults,
std::string  hltLogicalExpression 
) const
private

Was this event accepted by this particular HLT paths' logical expression?

Definition at line 607 of file GenericTriggerEventFlag.cc.

608  {
609  // Check empty std::strings
610  if (hltLogicalExpression.empty()) {
611  if (verbose_ > 1)
612  edm::LogWarning("GenericTriggerEventFlag") << "Empty logical expression ==> decision: " << errorReplyHlt_;
613  return errorReplyHlt_;
614  }
615 
616  // Negated paths
617  bool negExpr(negate(hltLogicalExpression));
618  if (negExpr && hltLogicalExpression.empty()) {
619  if (verbose_ > 1)
620  edm::LogWarning("GenericTriggerEventFlag")
621  << "Empty (negated) logical expression ==> decision: " << errorReplyHlt_;
622  return errorReplyHlt_;
623  }
624 
625  // Parse logical expression and determine HLT decision
626  L1GtLogicParser hltAlgoLogicParser(hltLogicalExpression);
627  // Loop over paths
628  for (size_t iPath = 0; iPath < hltAlgoLogicParser.operandTokenVector().size(); ++iPath) {
629  const std::string hltPathName(hltAlgoLogicParser.operandTokenVector().at(iPath).tokenName);
630  const unsigned indexPath(hltConfig_.triggerIndex(hltPathName));
631  // Further error checks
632  if (indexPath == hltConfig_.size()) {
633  if (verbose_ > 1)
634  edm::LogWarning("GenericTriggerEventFlag") << "HLT path \"" << hltPathName << "\" is not found in process "
635  << hltInputTag_.process() << " ==> decision: " << errorReplyHlt_;
636  hltAlgoLogicParser.operandTokenVector().at(iPath).tokenResult = errorReplyHlt_;
637  continue;
638  }
639  if (hltTriggerResults->error(indexPath)) {
640  if (verbose_ > 1)
641  edm::LogWarning("GenericTriggerEventFlag")
642  << "HLT path \"" << hltPathName << "\" in error ==> decision: " << errorReplyHlt_;
643  hltAlgoLogicParser.operandTokenVector().at(iPath).tokenResult = errorReplyHlt_;
644  continue;
645  }
646  // Manipulate algo decision as stored in the parser
647  const bool decision(hltTriggerResults->accept(indexPath));
648  hltAlgoLogicParser.operandTokenVector().at(iPath).tokenResult = decision;
649  }
650 
651  // Determine decision
652  const bool hltDecision(hltAlgoLogicParser.expressionResult());
653  return negExpr ? (!hltDecision) : hltDecision;
654 }

References edm::HLTGlobalStatus::accept(), edm::HLTGlobalStatus::error(), errorReplyHlt_, L1GtLogicParser::expressionResult(), hltConfig_, hltInputTag_, negate(), L1GtLogicParser::operandTokenVector(), edm::InputTag::process(), HLTConfigProvider::size(), AlCaHLTBitMon_QueryRunRegistry::string, HLTConfigProvider::triggerIndex(), and verbose_.

Referenced by acceptHlt().

◆ acceptL1()

bool GenericTriggerEventFlag::acceptL1 ( const edm::Event event,
const edm::EventSetup setup 
)
private

Was this event accepted by the configured L1 logical expression combination?

Definition at line 465 of file GenericTriggerEventFlag.cc.

465  {
466  // An empty L1 logical expressions list acts as switch.
467  if (!onL1_ || l1LogicalExpressions_.empty())
468  return (!andOr_); // logically neutral, depending on base logical connective
469 
470  // Determine decision of L1 logical expression combination and return
471  if (andOrL1_) { // OR combination
472  for (std::vector<std::string>::const_iterator l1LogicalExpression = l1LogicalExpressions_.begin();
473  l1LogicalExpression != l1LogicalExpressions_.end();
474  ++l1LogicalExpression) {
475  if (acceptL1LogicalExpression(event, setup, *l1LogicalExpression))
476  return true;
477  }
478  return false;
479  }
480  for (std::vector<std::string>::const_iterator l1LogicalExpression = l1LogicalExpressions_.begin();
481  l1LogicalExpression != l1LogicalExpressions_.end();
482  ++l1LogicalExpression) {
483  if (!acceptL1LogicalExpression(event, setup, *l1LogicalExpression))
484  return false;
485  }
486  return true;
487 }

References acceptL1LogicalExpression(), andOr_, andOrL1_, l1LogicalExpressions_, onL1_, and singleTopDQM_cfi::setup.

Referenced by accept().

◆ acceptL1LogicalExpression()

bool GenericTriggerEventFlag::acceptL1LogicalExpression ( const edm::Event event,
const edm::EventSetup setup,
std::string  l1LogicalExpression 
)
private

Was this event accepted by this particular L1 algorithms' logical expression?

Definition at line 490 of file GenericTriggerEventFlag.cc.

492  {
493  // Getting the L1 event setup
494  if (stage2_)
495  l1uGt_->retrieveL1(event, setup);
496  else
497  // FIXME This can possibly go to initRun()
499 
500  // Check empty std::strings
501  if (l1LogicalExpression.empty()) {
502  if (verbose_ > 1)
503  edm::LogWarning("GenericTriggerEventFlag") << "Empty logical expression ==> decision: " << errorReplyL1_;
504  return errorReplyL1_;
505  }
506 
507  // Negated logical expression
508  bool negExpr(negate(l1LogicalExpression));
509  if (negExpr && l1LogicalExpression.empty()) {
510  if (verbose_ > 1)
511  edm::LogWarning("GenericTriggerEventFlag")
512  << "Empty (negated) logical expression ==> decision: " << errorReplyL1_;
513  return errorReplyL1_;
514  }
515 
516  // Parse logical expression and determine L1 decision
517  L1GtLogicParser l1AlgoLogicParser(l1LogicalExpression);
518  // Loop over algorithms
519  for (size_t iAlgorithm = 0; iAlgorithm < l1AlgoLogicParser.operandTokenVector().size(); ++iAlgorithm) {
520  const std::string l1AlgoName(l1AlgoLogicParser.operandTokenVector().at(iAlgorithm).tokenName);
521 
522  bool decision = false;
523  bool error = false;
524  if (stage2_) {
525  bool errorBOOL = (l1BeforeMask_ ? l1uGt_->getInitialDecisionByName(l1AlgoName, decision)
526  : l1uGt_->getFinalDecisionByName(l1AlgoName, decision));
527  error = !errorBOOL;
528  } else {
529  int errorINT(-1);
530  // const bool decision( l1BeforeMask_ ? l1Gt_->decisionBeforeMask( event, l1AlgoName, errorINT ) : l1Gt_->decisionAfterMask( event, l1AlgoName, errorINT ) );
531  decision = (l1BeforeMask_ ? l1Gt_->decisionBeforeMask(event, l1AlgoName, errorINT)
532  : l1Gt_->decisionAfterMask(event, l1AlgoName, errorINT));
533  error = (errorINT != 0);
534  if (errorINT > 1)
535  if (verbose_ > 1)
536  edm::LogWarning("GenericTriggerEventFlag")
537  << "L1 algorithm \"" << l1AlgoName << "\" received error code " << error
538  << " from L1GtUtils::decisionBeforeMask ==> decision: " << errorReplyL1_;
539  }
540 
541  // Error checks
542  if (error) {
543  if (verbose_ > 1)
544  edm::LogWarning("GenericTriggerEventFlag")
545  << "L1 algorithm \"" << l1AlgoName << "\" does not exist in the L1 menu ==> decision: " << errorReplyL1_;
546  l1AlgoLogicParser.operandTokenVector().at(iAlgorithm).tokenResult = errorReplyL1_;
547  continue;
548  }
549  // Manipulate algo decision as stored in the parser
550  l1AlgoLogicParser.operandTokenVector().at(iAlgorithm).tokenResult = decision;
551  }
552 
553  // Return decision
554  const bool l1Decision(l1AlgoLogicParser.expressionResult());
555  return negExpr ? (!l1Decision) : l1Decision;
556 }

References relativeConstraints::error, errorReplyL1_, L1GtLogicParser::expressionResult(), l1BeforeMask_, l1Gt_, l1uGt_, negate(), L1GtLogicParser::operandTokenVector(), singleTopDQM_cfi::setup, stage2_, AlCaHLTBitMon_QueryRunRegistry::string, useL1EventSetup(), useL1GtTriggerMenuLite(), and verbose_.

Referenced by acceptL1().

◆ allHLTPathsAreValid()

bool GenericTriggerEventFlag::allHLTPathsAreValid ( ) const

Definition at line 730 of file GenericTriggerEventFlag.cc.

730  {
731  if (not onHlt_) {
732  return true;
733  }
734 
735  if (not hltConfigInit_) {
736  if (verbose_ > 0) {
737  edm::LogWarning("GenericTriggerEventFlag::allHLTPathsAreValid()")
738  << "HLTConfigProvider is not initialized, method will return \"false\"";
739  }
740 
741  return false;
742  }
743 
744  for (unsigned iExpr = 0; iExpr < hltLogicalExpressions_.size(); ++iExpr) {
745  std::string hltLogicalExpression = hltLogicalExpressions_.at(iExpr);
746 
747  L1GtLogicParser hltAlgoLogicParser(hltLogicalExpression);
748 
749  if (hltAlgoLogicParser.operandTokenVector().empty()) {
750  return false;
751  }
752 
753  for (size_t iPath = 0; iPath < hltAlgoLogicParser.operandTokenVector().size(); ++iPath) {
754  const std::string hltPathName(hltAlgoLogicParser.operandTokenVector().at(iPath).tokenName);
755 
756  const unsigned indexPath(hltConfig_.triggerIndex(hltPathName));
757 
758  if (indexPath == hltConfig_.size()) {
759  if (verbose_ > 1) {
760  edm::LogWarning("GenericTriggerEventFlag::allHLTPathsAreValid()")
761  << "HLT path \"" << hltPathName << "\" is not found in process " << hltInputTag_.process();
762  }
763 
764  return false;
765  }
766  }
767  }
768 
769  return true;
770 }

References hltConfig_, hltConfigInit_, hltInputTag_, hltLogicalExpressions_, onHlt_, L1GtLogicParser::operandTokenVector(), edm::InputTag::process(), HLTConfigProvider::size(), AlCaHLTBitMon_QueryRunRegistry::string, HLTConfigProvider::triggerIndex(), and verbose_.

◆ expandLogicalExpression()

std::string GenericTriggerEventFlag::expandLogicalExpression ( const std::vector< std::string > &  target,
const std::string &  expr,
bool  useAnd = false 
) const
private

Expand wild-carded logical expressions, giving version postfixes priority.

Definition at line 657 of file GenericTriggerEventFlag.cc.

659  {
660  // Find matching entries in the menu
661  std::vector<std::string> matched;
662  const std::string versionWildcard("_v*");
663  if (expr.substr(expr.size() - versionWildcard.size()) == versionWildcard) {
664  const std::string exprBase(expr.substr(0, expr.size() - versionWildcard.size()));
666  } else {
668  }
669 
670  // Return input, if no match is found
671  if (matched.empty()) {
672  if (verbose_ > 1)
673  edm::LogWarning("GenericTriggerEventFlag") << "Logical expression: \"" << expr << "\" could not be resolved";
674  return expr;
675  }
676 
677  // Compose logical expression
678  std::string expanded("(");
679  for (unsigned iVers = 0; iVers < matched.size(); ++iVers) {
680  if (iVers > 0)
681  expanded.append(useAnd ? " AND " : " OR ");
682  expanded.append(matched.at(iVers));
683  }
684  expanded.append(")");
685  if (verbose_ > 1)
686  edm::LogInfo("GenericTriggerEventFlag") << "Logical expression: \"" << expr << "\"\n"
687  << " --> expanded to \"" << expanded << "\"";
688 
689  return expanded;
690 }

References jets_cff::expr, hltConfig_, muonTagProbeFilters_cff::matched, HLTConfigProvider::matched(), HLTConfigProvider::restoreVersion(), AlCaHLTBitMon_QueryRunRegistry::string, dqmd_manager::targets, and verbose_.

Referenced by initRun().

◆ expressionsFromDB()

std::vector< std::string > GenericTriggerEventFlag::expressionsFromDB ( const std::string &  key,
const edm::EventSetup setup 
)

Reads and returns logical expressions from DB.

Definition at line 703 of file GenericTriggerEventFlag.cc.

704  {
705  if (key.empty())
706  return std::vector<std::string>(1, emptyKeyError_);
707  std::vector<edm::eventsetup::DataKey> labels;
708  setup.get<AlCaRecoTriggerBitsRcd>().fillRegisteredDataKeys(labels);
709  std::vector<edm::eventsetup::DataKey>::const_iterator iKey = labels.begin();
710  while (iKey != labels.end() && iKey->name().value() != dbLabel_)
711  ++iKey;
712  if (iKey == labels.end()) {
713  if (verbose_ > 0)
714  edm::LogWarning("GenericTriggerEventFlag")
715  << "Label " << dbLabel_ << " not found in DB for 'AlCaRecoTriggerBitsRcd'";
716  return std::vector<std::string>(1, configError_);
717  }
719  const std::map<std::string, std::string>& expressionMap = alCaRecoTriggerBits.m_alcarecoToTrig;
720  std::map<std::string, std::string>::const_iterator listIter = expressionMap.find(key);
721  if (listIter == expressionMap.end()) {
722  if (verbose_ > 0)
723  edm::LogWarning("GenericTriggerEventFlag")
724  << "No logical expressions found under key " << key << " in 'AlCaRecoTriggerBitsRcd'";
725  return std::vector<std::string>(1, configError_);
726  }
727  return alCaRecoTriggerBits.decompose(listIter->second);
728 }

References alCaRecoTriggerBitsToken_, configError_, dbLabel_, AlCaRecoTriggerBits::decompose(), emptyKeyError_, get, crabWrapper::key, SummaryClient_cfi::labels, AlCaRecoTriggerBits::m_alcarecoToTrig, singleTopDQM_cfi::setup, and verbose_.

Referenced by initRun().

◆ gtDBKey()

std::string GenericTriggerEventFlag::gtDBKey ( )
inline

Definition at line 174 of file GenericTriggerEventFlag.h.

174 { return gtDBKey_; } // can be empty

References gtDBKey_.

◆ hltDBKey()

std::string GenericTriggerEventFlag::hltDBKey ( )
inline

Definition at line 176 of file GenericTriggerEventFlag.h.

176 { return hltDBKey_; } // can be empty

References hltDBKey_.

◆ initRun()

void GenericTriggerEventFlag::initRun ( const edm::Run run,
const edm::EventSetup setup 
)

To be called from beginRun() methods.

Definition at line 151 of file GenericTriggerEventFlag.cc.

151  {
152  if (watchDB_->check(setup)) {
153  if (onGt_ && !gtDBKey_.empty()) {
154  const std::vector<std::string> exprs(expressionsFromDB(gtDBKey_, setup));
155  if (exprs.empty() || exprs.at(0) != configError_)
156  gtLogicalExpressions_ = exprs;
157  }
158  if (onL1_ && !l1DBKey_.empty()) {
159  const std::vector<std::string> exprs(expressionsFromDB(l1DBKey_, setup));
160  if (exprs.empty() || exprs.at(0) != configError_)
162  }
163  if (onHlt_ && !hltDBKey_.empty()) {
164  const std::vector<std::string> exprs(expressionsFromDB(hltDBKey_, setup));
165  if (exprs.empty() || exprs.at(0) != configError_)
167  }
168  }
169 
170  // Re-initialise starting valuse before wild-card expansion
173 
174  hltConfigInit_ = false;
175  if (onHlt_) {
176  if (hltInputTag_.process().empty()) {
177  if (verbose_ > 0)
178  edm::LogError("GenericTriggerEventFlag")
179  << "HLT TriggerResults InputTag \"" << hltInputTag_.encode() << "\" specifies no process";
180  } else {
181  bool hltChanged(false);
182  if (!hltConfig_.init(run, setup, hltInputTag_.process(), hltChanged)) {
183  if (verbose_ > 0)
184  edm::LogError("GenericTriggerEventFlag")
185  << "HLT config initialization error with process name \"" << hltInputTag_.process() << "\"";
186  } else if (hltConfig_.size() <= 0) {
187  if (verbose_ > 0)
188  edm::LogError("GenericTriggerEventFlag") << "HLT config size error";
189  } else
190  hltConfigInit_ = true;
191  }
192  }
193 
194  // Expand version wild-cards in HLT logical expressions
195  // L1
196  if (onL1_) {
197  // build vector of algo names
198 
199  std::vector<std::string> algoNames;
200 
201  if (stage2_) {
202  l1uGt_->retrieveL1Setup(setup);
203 
204  const std::vector<std::pair<std::string, int> > prescales = l1uGt_->prescales();
205  for (auto ip : prescales)
206  algoNames.push_back(ip.first);
207  } else {
209  L1GtTriggerMenu const& l1GtTriggerMenu = setup.get<L1GtTriggerMenuRcd>().get(l1GtTriggerMenuToken_);
210 
211  const AlgorithmMap& l1GtPhys(l1GtTriggerMenu.gtAlgorithmMap());
212  for (CItAlgo iAlgo = l1GtPhys.begin(); iAlgo != l1GtPhys.end(); ++iAlgo) {
213  algoNames.push_back(iAlgo->second.algoName());
214  }
215  const AlgorithmMap& l1GtTech(l1GtTriggerMenu.gtTechnicalTriggerMap());
216  for (CItAlgo iAlgo = l1GtTech.begin(); iAlgo != l1GtTech.end(); ++iAlgo) {
217  algoNames.push_back(iAlgo->second.algoName());
218  }
219  }
220 
221  for (unsigned iExpr = 0; iExpr < l1LogicalExpressions_.size(); ++iExpr) {
222  std::string l1LogicalExpression(l1LogicalExpressions_.at(iExpr));
223  L1GtLogicParser l1AlgoLogicParser(l1LogicalExpression);
224  // Loop over algorithms
225  for (size_t iAlgo = 0; iAlgo < l1AlgoLogicParser.operandTokenVector().size(); ++iAlgo) {
226  const std::string l1AlgoName(l1AlgoLogicParser.operandTokenVector().at(iAlgo).tokenName);
227  if (l1AlgoName.find('*') != std::string::npos) {
228  l1LogicalExpression.replace(
229  l1LogicalExpression.find(l1AlgoName), l1AlgoName.size(), expandLogicalExpression(algoNames, l1AlgoName));
230  }
231  }
232  l1LogicalExpressions_[iExpr] = l1LogicalExpression;
233  }
234  std::vector<std::string> tmp = l1LogicalExpressions_;
235  for (unsigned iExpr = 0; iExpr < tmp.size(); ++iExpr)
236  if (std::find(algoNames.begin(), algoNames.end(), tmp[iExpr]) == algoNames.end()) {
237  l1LogicalExpressions_.erase(l1LogicalExpressions_.begin() + iExpr);
238  if (verbose_ > 1)
239  edm::LogWarning("GenericTriggerEventFlag")
240  << "L1 algorithm \"" << tmp[iExpr]
241  << "\" does not exist in the L1 menu ==> drop it from the list of l1LogicalExpressions";
242  }
243  }
244  // HLT
245  if (hltConfigInit_) {
246  for (unsigned iExpr = 0; iExpr < hltLogicalExpressions_.size(); ++iExpr) {
247  std::string hltLogicalExpression(hltLogicalExpressions_.at(iExpr));
248  L1GtLogicParser hltAlgoLogicParser(hltLogicalExpression);
249  // Loop over paths
250  for (size_t iPath = 0; iPath < hltAlgoLogicParser.operandTokenVector().size(); ++iPath) {
251  const std::string hltPathName(hltAlgoLogicParser.operandTokenVector().at(iPath).tokenName);
252  if (hltPathName.find('*') != std::string::npos) {
253  hltLogicalExpression.replace(hltLogicalExpression.find(hltPathName),
254  hltPathName.size(),
256  }
257  }
258  hltLogicalExpressions_[iExpr] = hltLogicalExpression;
259  }
260  }
261 }

References configError_, edm::InputTag::encode(), expandLogicalExpression(), expressionsFromDB(), spr::find(), get, L1GtTriggerMenu::gtAlgorithmMap(), gtDBKey_, gtLogicalExpressions_, L1GtTriggerMenu::gtTechnicalTriggerMap(), hltConfig_, hltConfigInit_, hltDBKey_, hltInputTag_, hltLogicalExpressions_, hltLogicalExpressionsCache_, HLTConfigProvider::init(), l1DBKey_, l1Gt_, l1GtTriggerMenuToken_, l1LogicalExpressions_, l1LogicalExpressionsCache_, l1uGt_, onGt_, onHlt_, onL1_, hltrates_dqm_sourceclient-live_cfg::prescales, edm::InputTag::process(), writedatasetfile::run, singleTopDQM_cfi::setup, HLTConfigProvider::size(), stage2_, AlCaHLTBitMon_QueryRunRegistry::string, createJobs::tmp, HLTConfigProvider::triggerNames(), useL1EventSetup(), useL1GtTriggerMenuLite(), verbose_, and watchDB_.

Referenced by dEdxAnalyzer::bookHistograms(), V0Monitor::bookHistograms(), LogMessageMonitor::bookHistograms(), TrackingMonitor::bookHistograms(), dEdxHitAnalyzer::dqmBeginRun(), SiStripMonitorCluster::dqmBeginRun(), SiStripMonitorTrack::dqmBeginRun(), and TauTagValidation::dqmBeginRun().

◆ l1DBKey()

std::string GenericTriggerEventFlag::l1DBKey ( )
inline

Definition at line 175 of file GenericTriggerEventFlag.h.

175 { return l1DBKey_; } // can be empty

References l1DBKey_.

◆ negate()

bool GenericTriggerEventFlag::negate ( std::string &  word) const
private

Checks for negated words.

Definition at line 693 of file GenericTriggerEventFlag.cc.

693  {
694  bool negate(false);
695  if (word.at(0) == '~') {
696  negate = true;
697  word.erase(0, 1);
698  }
699  return negate;
700 }

Referenced by acceptGtLogicalExpression(), acceptHltLogicalExpression(), and acceptL1LogicalExpression().

◆ off()

bool GenericTriggerEventFlag::off ( )
inline

Definition at line 136 of file GenericTriggerEventFlag.h.

136 { return (!on_); }

References on_.

◆ on()

bool GenericTriggerEventFlag::on ( )
inline

Member Data Documentation

◆ alCaRecoTriggerBitsToken_

edm::ESGetToken<AlCaRecoTriggerBits, AlCaRecoTriggerBitsRcd> GenericTriggerEventFlag::alCaRecoTriggerBitsToken_
private

Definition at line 50 of file GenericTriggerEventFlag.h.

Referenced by expressionsFromDB(), and GenericTriggerEventFlag().

◆ andOr_

bool GenericTriggerEventFlag::andOr_
private

◆ andOrDcs_

bool GenericTriggerEventFlag::andOrDcs_
private

Definition at line 55 of file GenericTriggerEventFlag.h.

Referenced by acceptDcs(), and GenericTriggerEventFlag().

◆ andOrGt_

bool GenericTriggerEventFlag::andOrGt_
private

Definition at line 60 of file GenericTriggerEventFlag.h.

Referenced by acceptGt(), and GenericTriggerEventFlag().

◆ andOrHlt_

bool GenericTriggerEventFlag::andOrHlt_
private

Definition at line 75 of file GenericTriggerEventFlag.h.

Referenced by acceptHlt(), and GenericTriggerEventFlag().

◆ andOrL1_

bool GenericTriggerEventFlag::andOrL1_
private

Definition at line 68 of file GenericTriggerEventFlag.h.

Referenced by acceptL1(), and GenericTriggerEventFlag().

◆ configError_

const std::string GenericTriggerEventFlag::configError_
private

Definition at line 89 of file GenericTriggerEventFlag.h.

Referenced by expressionsFromDB(), and initRun().

◆ dbLabel_

std::string GenericTriggerEventFlag::dbLabel_
private

Definition at line 53 of file GenericTriggerEventFlag.h.

Referenced by expressionsFromDB(), and GenericTriggerEventFlag().

◆ dcsInputTag_

edm::InputTag GenericTriggerEventFlag::dcsInputTag_
private

Definition at line 56 of file GenericTriggerEventFlag.h.

Referenced by acceptDcs(), and GenericTriggerEventFlag().

◆ dcsInputToken_

edm::EDGetTokenT<DcsStatusCollection> GenericTriggerEventFlag::dcsInputToken_
private

Definition at line 57 of file GenericTriggerEventFlag.h.

Referenced by acceptDcs(), and GenericTriggerEventFlag().

◆ dcsPartitions_

std::vector<int> GenericTriggerEventFlag::dcsPartitions_
private

Definition at line 58 of file GenericTriggerEventFlag.h.

Referenced by acceptDcs(), and GenericTriggerEventFlag().

◆ emptyKeyError_

const std::string GenericTriggerEventFlag::emptyKeyError_
private

Definition at line 90 of file GenericTriggerEventFlag.h.

Referenced by expressionsFromDB().

◆ errorReplyDcs_

bool GenericTriggerEventFlag::errorReplyDcs_
private

◆ errorReplyGt_

bool GenericTriggerEventFlag::errorReplyGt_
private

Definition at line 67 of file GenericTriggerEventFlag.h.

Referenced by acceptGtLogicalExpression(), and GenericTriggerEventFlag().

◆ errorReplyHlt_

bool GenericTriggerEventFlag::errorReplyHlt_
private

◆ errorReplyL1_

bool GenericTriggerEventFlag::errorReplyL1_
private

Definition at line 74 of file GenericTriggerEventFlag.h.

Referenced by acceptL1LogicalExpression(), and GenericTriggerEventFlag().

◆ gtDBKey_

std::string GenericTriggerEventFlag::gtDBKey_
private

Definition at line 65 of file GenericTriggerEventFlag.h.

Referenced by GenericTriggerEventFlag(), gtDBKey(), and initRun().

◆ gtEvmInputTag_

edm::InputTag GenericTriggerEventFlag::gtEvmInputTag_
private

Definition at line 63 of file GenericTriggerEventFlag.h.

Referenced by acceptGtLogicalExpression(), and GenericTriggerEventFlag().

◆ gtEvmInputToken_

edm::EDGetTokenT<L1GlobalTriggerEvmReadoutRecord> GenericTriggerEventFlag::gtEvmInputToken_
private

Definition at line 64 of file GenericTriggerEventFlag.h.

Referenced by acceptGtLogicalExpression(), and GenericTriggerEventFlag().

◆ gtInputTag_

edm::InputTag GenericTriggerEventFlag::gtInputTag_
private

Definition at line 61 of file GenericTriggerEventFlag.h.

Referenced by acceptGtLogicalExpression(), and GenericTriggerEventFlag().

◆ gtInputToken_

edm::EDGetTokenT<L1GlobalTriggerReadoutRecord> GenericTriggerEventFlag::gtInputToken_
private

Definition at line 62 of file GenericTriggerEventFlag.h.

Referenced by acceptGtLogicalExpression(), and GenericTriggerEventFlag().

◆ gtLogicalExpressions_

std::vector<std::string> GenericTriggerEventFlag::gtLogicalExpressions_
private

Definition at line 66 of file GenericTriggerEventFlag.h.

Referenced by acceptGt(), GenericTriggerEventFlag(), and initRun().

◆ hltConfig_

HLTConfigProvider GenericTriggerEventFlag::hltConfig_
private

◆ hltConfigInit_

bool GenericTriggerEventFlag::hltConfigInit_
private

Definition at line 48 of file GenericTriggerEventFlag.h.

Referenced by acceptHlt(), allHLTPathsAreValid(), and initRun().

◆ hltDBKey_

std::string GenericTriggerEventFlag::hltDBKey_
private

Definition at line 78 of file GenericTriggerEventFlag.h.

Referenced by GenericTriggerEventFlag(), hltDBKey(), and initRun().

◆ hltInputTag_

edm::InputTag GenericTriggerEventFlag::hltInputTag_
private

◆ hltInputToken_

edm::EDGetTokenT<edm::TriggerResults> GenericTriggerEventFlag::hltInputToken_
private

Definition at line 77 of file GenericTriggerEventFlag.h.

Referenced by acceptHlt(), and GenericTriggerEventFlag().

◆ hltLogicalExpressions_

std::vector<std::string> GenericTriggerEventFlag::hltLogicalExpressions_
private

Definition at line 80 of file GenericTriggerEventFlag.h.

Referenced by acceptHlt(), allHLTPathsAreValid(), and initRun().

◆ hltLogicalExpressionsCache_

std::vector<std::string> GenericTriggerEventFlag::hltLogicalExpressionsCache_
private

Definition at line 79 of file GenericTriggerEventFlag.h.

Referenced by GenericTriggerEventFlag(), and initRun().

◆ l1BeforeMask_

bool GenericTriggerEventFlag::l1BeforeMask_
private

Definition at line 70 of file GenericTriggerEventFlag.h.

Referenced by acceptL1LogicalExpression(), and GenericTriggerEventFlag().

◆ l1DBKey_

std::string GenericTriggerEventFlag::l1DBKey_
private

Definition at line 71 of file GenericTriggerEventFlag.h.

Referenced by GenericTriggerEventFlag(), initRun(), and l1DBKey().

◆ l1Gt_

std::unique_ptr<L1GtUtils> GenericTriggerEventFlag::l1Gt_
private

◆ l1GtTriggerMenuToken_

edm::ESGetToken<L1GtTriggerMenu, L1GtTriggerMenuRcd> GenericTriggerEventFlag::l1GtTriggerMenuToken_
private

Definition at line 49 of file GenericTriggerEventFlag.h.

Referenced by GenericTriggerEventFlag(), and initRun().

◆ l1LogicalExpressions_

std::vector<std::string> GenericTriggerEventFlag::l1LogicalExpressions_
private

Definition at line 73 of file GenericTriggerEventFlag.h.

Referenced by acceptL1(), and initRun().

◆ l1LogicalExpressionsCache_

std::vector<std::string> GenericTriggerEventFlag::l1LogicalExpressionsCache_
private

Definition at line 72 of file GenericTriggerEventFlag.h.

Referenced by GenericTriggerEventFlag(), and initRun().

◆ l1uGt_

std::unique_ptr<l1t::L1TGlobalUtil> GenericTriggerEventFlag::l1uGt_
private

◆ on_

bool GenericTriggerEventFlag::on_
private

Definition at line 83 of file GenericTriggerEventFlag.h.

Referenced by accept(), GenericTriggerEventFlag(), off(), and on().

◆ onDcs_

bool GenericTriggerEventFlag::onDcs_
private

Definition at line 84 of file GenericTriggerEventFlag.h.

Referenced by acceptDcs(), and GenericTriggerEventFlag().

◆ onGt_

bool GenericTriggerEventFlag::onGt_
private

Definition at line 85 of file GenericTriggerEventFlag.h.

Referenced by acceptGt(), GenericTriggerEventFlag(), and initRun().

◆ onHlt_

bool GenericTriggerEventFlag::onHlt_
private

◆ onL1_

bool GenericTriggerEventFlag::onL1_
private

Definition at line 86 of file GenericTriggerEventFlag.h.

Referenced by acceptL1(), GenericTriggerEventFlag(), and initRun().

◆ stage2_

bool GenericTriggerEventFlag::stage2_
private

◆ verbose_

unsigned GenericTriggerEventFlag::verbose_
private

◆ watchDB_

std::unique_ptr<edm::ESWatcher<AlCaRecoTriggerBitsRcd> > GenericTriggerEventFlag::watchDB_
private

Definition at line 44 of file GenericTriggerEventFlag.h.

Referenced by GenericTriggerEventFlag(), and initRun().

muonTagProbeFilters_cff.matched
matched
Definition: muonTagProbeFilters_cff.py:62
GenericTriggerEventFlag::errorReplyDcs_
bool errorReplyDcs_
Definition: GenericTriggerEventFlag.h:59
GenericTriggerEventFlag::negate
bool negate(std::string &word) const
Checks for negated words.
Definition: GenericTriggerEventFlag.cc:693
GenericTriggerEventFlag::andOrGt_
bool andOrGt_
Definition: GenericTriggerEventFlag.h:60
GenericTriggerEventFlag::hltInputTag_
edm::InputTag hltInputTag_
Definition: GenericTriggerEventFlag.h:76
SummaryClient_cfi.labels
labels
Definition: SummaryClient_cfi.py:61
GenericTriggerEventFlag::acceptHltLogicalExpression
bool acceptHltLogicalExpression(const edm::Handle< edm::TriggerResults > &hltTriggerResults, std::string hltLogicalExpression) const
Was this event accepted by this particular HLT paths' logical expression?
Definition: GenericTriggerEventFlag.cc:607
GenericTriggerEventFlag::errorReplyL1_
bool errorReplyL1_
Definition: GenericTriggerEventFlag.h:74
GenericTriggerEventFlag::acceptL1
bool acceptL1(const edm::Event &event, const edm::EventSetup &setup)
Was this event accepted by the configured L1 logical expression combination?
Definition: GenericTriggerEventFlag.cc:465
HLTConfigProvider::matched
static const std::vector< std::string > matched(const std::vector< std::string > &inputs, const std::string &pattern)
regexp processing
Definition: HLTConfigProvider.cc:225
GenericTriggerEventFlag::hltDBKey_
std::string hltDBKey_
Definition: GenericTriggerEventFlag.h:78
L1GtUtils::UseEventSetupIn
UseEventSetupIn
Definition: L1GtUtils.h:76
GenericTriggerEventFlag::gtLogicalExpressions_
std::vector< std::string > gtLogicalExpressions_
Definition: GenericTriggerEventFlag.h:66
edm::ESInputTag
Definition: ESInputTag.h:87
L1GtUtils::UseEventSetupIn::RunAndEvent
DcsStatus::CASTOR
Definition: DcsStatus.h:49
DcsStatus::TIBTID
Definition: DcsStatus.h:51
L1GtUtils::UseEventSetupIn::Event
DcsStatus::DTm
Definition: DcsStatus.h:46
L1GtFdlWord::physicsDeclared
const cms_uint16_t physicsDeclared() const
get/set "physics declared" bit
Definition: L1GtFdlWord.h:169
GenericTriggerEventFlag::andOrL1_
bool andOrL1_
Definition: GenericTriggerEventFlag.h:68
GenericTriggerEventFlag::acceptGt
bool acceptGt(const edm::Event &event)
Does this event fulfill the configured GT status logical expression combination?
Definition: GenericTriggerEventFlag.cc:357
GenericTriggerEventFlag::dbLabel_
std::string dbLabel_
Definition: GenericTriggerEventFlag.h:53
DcsStatus::EBm
Definition: DcsStatus.h:35
GenericTriggerEventFlag::dcsInputToken_
edm::EDGetTokenT< DcsStatusCollection > dcsInputToken_
Definition: GenericTriggerEventFlag.h:57
DcsStatus::ESp
Definition: DcsStatus.h:57
GenericTriggerEventFlag::l1Gt_
std::unique_ptr< L1GtUtils > l1Gt_
Definition: GenericTriggerEventFlag.h:45
GenericTriggerEventFlag::gtInputToken_
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtInputToken_
Definition: GenericTriggerEventFlag.h:62
L1GlobalTriggerEvmReadoutRecord::gtfeWord
const L1GtfeExtWord gtfeWord() const
get / set GTFE word (record) in the GT readout record
Definition: L1GlobalTriggerEvmReadoutRecord.cc:249
edm::LogInfo
Definition: MessageLogger.h:254
GenericTriggerEventFlag::errorReplyHlt_
bool errorReplyHlt_
Definition: GenericTriggerEventFlag.h:81
GenericTriggerEventFlag::andOrHlt_
bool andOrHlt_
Definition: GenericTriggerEventFlag.h:75
GenericTriggerEventFlag::l1GtTriggerMenuToken_
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > l1GtTriggerMenuToken_
Definition: GenericTriggerEventFlag.h:49
edm::InputTag::process
std::string const & process() const
Definition: InputTag.h:40
GenericTriggerEventFlag::expandLogicalExpression
std::string expandLogicalExpression(const std::vector< std::string > &target, const std::string &expr, bool useAnd=false) const
Expand wild-carded logical expressions, giving version postfixes priority.
Definition: GenericTriggerEventFlag.cc:657
edm::HLTGlobalStatus::error
bool error() const
Has any path encountered an error (exception)
Definition: HLTGlobalStatus.h:51
GenericTriggerEventFlag::hltConfigInit_
bool hltConfigInit_
Definition: GenericTriggerEventFlag.h:48
GenericTriggerEventFlag::hltLogicalExpressions_
std::vector< std::string > hltLogicalExpressions_
Definition: GenericTriggerEventFlag.h:80
l1t::UseEventSetupIn::Event
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
DcsStatus::EEm
Definition: DcsStatus.h:37
edm::ConsumesCollector::esConsumes
auto esConsumes()
Definition: ConsumesCollector.h:86
edm::Handle
Definition: AssociativeIterator.h:50
relativeConstraints.error
error
Definition: relativeConstraints.py:53
DcsStatus::DT0
Definition: DcsStatus.h:44
GenericTriggerEventFlag::l1DBKey_
std::string l1DBKey_
Definition: GenericTriggerEventFlag.h:71
L1GlobalTriggerReadoutRecord
Definition: L1GlobalTriggerReadoutRecord.h:46
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
GenericTriggerEventFlag::onL1_
bool onL1_
Definition: GenericTriggerEventFlag.h:86
word
uint64_t word
Definition: CTPPSTotemDataFormatter.cc:29
GenericTriggerEventFlag::acceptGtLogicalExpression
bool acceptGtLogicalExpression(const edm::Event &event, std::string gtLogicalExpression)
Does this event fulfill this particular GT status bits' logical expression?
Definition: GenericTriggerEventFlag.cc:382
config
Definition: config.py:1
GenericTriggerEventFlag::gtInputTag_
edm::InputTag gtInputTag_
Definition: GenericTriggerEventFlag.h:61
GenericTriggerEventFlag::hltInputToken_
edm::EDGetTokenT< edm::TriggerResults > hltInputToken_
Definition: GenericTriggerEventFlag.h:77
CItAlgo
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
Definition: L1GtTriggerMenuFwd.h:38
GenericTriggerEventFlag::stage2_
bool stage2_
Definition: GenericTriggerEventFlag.h:69
L1GlobalTriggerEvmReadoutRecord
Definition: L1GlobalTriggerEvmReadoutRecord.h:36
l1t::L1TGlobalUtil
Definition: L1TGlobalUtil.h:42
DcsStatus::HBHEc
Definition: DcsStatus.h:40
GenericTriggerEventFlag::l1LogicalExpressionsCache_
std::vector< std::string > l1LogicalExpressionsCache_
Definition: GenericTriggerEventFlag.h:72
useL1EventSetup
static const bool useL1EventSetup(true)
L1GtTriggerMenuRcd
Definition: L1GtTriggerMenuRcd.h:32
GenericTriggerEventFlag::l1BeforeMask_
bool l1BeforeMask_
Definition: GenericTriggerEventFlag.h:70
AlgorithmMap
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms
Definition: L1GtTriggerMenuFwd.h:31
GenericTriggerEventFlag::expressionsFromDB
std::vector< std::string > expressionsFromDB(const std::string &key, const edm::EventSetup &setup)
Reads and returns logical expressions from DB.
Definition: GenericTriggerEventFlag.cc:703
DcsStatus::TECm
Definition: DcsStatus.h:54
AlCaRecoTriggerBits::decompose
std::vector< std::string > decompose(const std::string &concatPaths) const
Decompose one value of map from concatenated string.
Definition: AlCaRecoTriggerBits.cc:31
L1GtfeExtWord::beamMomentum
const cms_uint16_t beamMomentum() const
Definition: L1GtfeExtWord.cc:275
DcsStatus::HO
Definition: DcsStatus.h:42
DcsStatus::HBHEa
Definition: DcsStatus.h:38
GenericTriggerEventFlag::acceptDcsPartition
bool acceptDcsPartition(const edm::Handle< DcsStatusCollection > &dcsStatus, int dcsPartition) const
Definition: GenericTriggerEventFlag.cc:316
GenericTriggerEventFlag::gtDBKey_
std::string gtDBKey_
Definition: GenericTriggerEventFlag.h:65
AlCaRecoTriggerBits
Definition: AlCaRecoTriggerBits.h:9
GenericTriggerEventFlag::acceptHlt
bool acceptHlt(const edm::Event &event)
Was this event accepted by the configured HLT logical expression combination?
Definition: GenericTriggerEventFlag.cc:559
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HLTConfigProvider::size
unsigned int size() const
number of trigger paths in trigger table
Definition: HLTConfigProvider.h:62
DcsStatus::CSCp
Definition: DcsStatus.h:47
edm::LogWarning
Definition: MessageLogger.h:141
DcsStatus::CSCm
Definition: DcsStatus.h:48
AlCaRecoTriggerBitsRcd
Definition: AlCaRecoTriggerBitsRcd.h:22
HLTConfigProvider::restoreVersion
static const std::vector< std::string > restoreVersion(const std::vector< std::string > &inputs, const std::string &trigger)
Definition: HLTConfigProvider.cc:243
edm::LogError
Definition: MessageLogger.h:183
GenericTriggerEventFlag::onDcs_
bool onDcs_
Definition: GenericTriggerEventFlag.h:84
L1GtTriggerMenu
Definition: L1GtTriggerMenu.h:48
L1GtUtils::UseEventSetupIn::Run
GenericTriggerEventFlag::onHlt_
bool onHlt_
Definition: GenericTriggerEventFlag.h:87
hltrates_dqm_sourceclient-live_cfg.prescales
prescales
Definition: hltrates_dqm_sourceclient-live_cfg.py:90
edm::ConsumesCollector::mayConsume
EDGetTokenT< ProductType > mayConsume(edm::InputTag const &tag)
Definition: ConsumesCollector.h:61
GenericTriggerEventFlag::gtEvmInputToken_
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > gtEvmInputToken_
Definition: GenericTriggerEventFlag.h:64
useL1GtTriggerMenuLite
static const bool useL1GtTriggerMenuLite(false)
DcsStatus::EBp
Definition: DcsStatus.h:34
GenericTriggerEventFlag::dcsPartitions_
std::vector< int > dcsPartitions_
Definition: GenericTriggerEventFlag.h:58
edm::InputTag::encode
std::string encode() const
Definition: InputTag.cc:159
GenericTriggerEventFlag::onGt_
bool onGt_
Definition: GenericTriggerEventFlag.h:85
GenericTriggerEventFlag::on_
bool on_
Definition: GenericTriggerEventFlag.h:83
DcsStatus::TECp
Definition: DcsStatus.h:53
module
Definition: vlib.h:198
GenericTriggerEventFlag::andOr_
bool andOr_
Definition: GenericTriggerEventFlag.h:52
get
#define get
l1t::UseEventSetupIn::RunAndEvent
HLTConfigProvider::triggerIndex
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
Definition: HLTConfigProvider.h:72
GenericTriggerEventFlag::configError_
const std::string configError_
Definition: GenericTriggerEventFlag.h:89
GenericTriggerEventFlag::emptyKeyError_
const std::string emptyKeyError_
Definition: GenericTriggerEventFlag.h:90
DcsStatus::FPIX
Definition: DcsStatus.h:56
GenericTriggerEventFlag::gtEvmInputTag_
edm::InputTag gtEvmInputTag_
Definition: GenericTriggerEventFlag.h:63
DcsStatus::EEp
Definition: DcsStatus.h:36
dqmd_manager.targets
targets
Definition: dqmd_manager.py:88
GenericTriggerEventFlag::alCaRecoTriggerBitsToken_
edm::ESGetToken< AlCaRecoTriggerBits, AlCaRecoTriggerBitsRcd > alCaRecoTriggerBitsToken_
Definition: GenericTriggerEventFlag.h:50
DcsStatus::TOB
Definition: DcsStatus.h:52
writedatasetfile.run
run
Definition: writedatasetfile.py:27
GenericTriggerEventFlag::andOrDcs_
bool andOrDcs_
Definition: GenericTriggerEventFlag.h:55
DcsStatus::HF
Definition: DcsStatus.h:41
HLTConfigProvider::init
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
Definition: HLTConfigProvider.cc:36
AlCaRecoTriggerBits::m_alcarecoToTrig
std::map< std::string, std::string > m_alcarecoToTrig
Definition: AlCaRecoTriggerBits.h:21
L1GtLogicParser
Definition: L1GtLogicParser.h:31
jets_cff.expr
expr
Definition: jets_cff.py:449
GenericTriggerEventFlag::verbose_
unsigned verbose_
Definition: GenericTriggerEventFlag.h:54
DcsStatus::BPIX
Definition: DcsStatus.h:55
GenericTriggerEventFlag::acceptL1LogicalExpression
bool acceptL1LogicalExpression(const edm::Event &event, const edm::EventSetup &setup, std::string l1LogicalExpression)
Was this event accepted by this particular L1 algorithms' logical expression?
Definition: GenericTriggerEventFlag.cc:490
edm::Transition::BeginRun
Exception
Definition: hltDiff.cc:246
GenericTriggerEventFlag::acceptDcs
bool acceptDcs(const edm::Event &event)
Definition: GenericTriggerEventFlag.cc:274
GenericTriggerEventFlag::hltLogicalExpressionsCache_
std::vector< std::string > hltLogicalExpressionsCache_
Definition: GenericTriggerEventFlag.h:79
GenericTriggerEventFlag::l1LogicalExpressions_
std::vector< std::string > l1LogicalExpressions_
Definition: GenericTriggerEventFlag.h:73
GenericTriggerEventFlag::dcsInputTag_
edm::InputTag dcsInputTag_
Definition: GenericTriggerEventFlag.h:56
edm::HLTGlobalStatus::accept
bool accept() const
Has at least one path accepted the event?
Definition: HLTGlobalStatus.h:49
GenericTriggerEventFlag::watchDB_
std::unique_ptr< edm::ESWatcher< AlCaRecoTriggerBitsRcd > > watchDB_
Definition: GenericTriggerEventFlag.h:44
DcsStatus::RPC
Definition: DcsStatus.h:43
GenericTriggerEventFlag::GenericTriggerEventFlag
GenericTriggerEventFlag(const edm::ParameterSet &config, edm::ConsumesCollector &&iC, l1t::UseEventSetupIn use=l1t::UseEventSetupIn::RunAndEvent)
Definition: GenericTriggerEventFlag.h:113
DcsStatus::HBHEb
Definition: DcsStatus.h:39
DcsStatus::DTp
Definition: DcsStatus.h:45
HLTConfigProvider::triggerNames
const std::vector< std::string > & triggerNames() const
names of trigger paths
Definition: HLTConfigProvider.h:68
GenericTriggerEventFlag::errorReplyGt_
bool errorReplyGt_
Definition: GenericTriggerEventFlag.h:67
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
event
Definition: event.py:1
crabWrapper.key
key
Definition: crabWrapper.py:19
DcsStatus::ESm
Definition: DcsStatus.h:58
L1GtTriggerMenu::gtTechnicalTriggerMap
const AlgorithmMap & gtTechnicalTriggerMap() const
get / set the technical trigger map
Definition: L1GtTriggerMenu.h:197
DcsStatusCollection
std::vector< DcsStatus > DcsStatusCollection
Definition: DcsStatus.h:110
L1GtfeExtWord::beamMode
const cms_uint16_t beamMode() const
Definition: L1GtfeExtWord.cc:215
L1GlobalTriggerReadoutRecord::gtFdlWord
const L1GtFdlWord gtFdlWord(int bxInEventValue) const
get / set FDL word (record) in the GT readout record
Definition: L1GlobalTriggerReadoutRecord.cc:372
edm::InputTag
Definition: InputTag.h:15
edm::TriggerResults
Definition: TriggerResults.h:35
L1GtTriggerMenu::gtAlgorithmMap
const AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
Definition: L1GtTriggerMenu.h:187
GenericTriggerEventFlag::hltConfig_
HLTConfigProvider hltConfig_
Definition: GenericTriggerEventFlag.h:47
GenericTriggerEventFlag::l1uGt_
std::unique_ptr< l1t::L1TGlobalUtil > l1uGt_
Definition: GenericTriggerEventFlag.h:46