CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 accept (const edm::Event &event, const edm::EventSetup &setup)
 
 GenericTriggerEventFlag (const edm::ParameterSet &config)
 To be called from the ED module's c'tor. More...
 
 GenericTriggerEventFlag (const edm::ParameterSet &config)
 
void initRun (const edm::Run &run, const edm::EventSetup &setup)
 To be called from beginedm::Run() methods. More...
 
void initRun (const edm::Run &run, const edm::EventSetup &setup)
 
bool off ()
 
bool off ()
 
bool on ()
 
bool on ()
 
 ~GenericTriggerEventFlag ()
 To be called from d'tors by 'delete'. More...
 
 ~GenericTriggerEventFlag ()
 

Private Member Functions

bool acceptDcs (const edm::Event &event)
 
bool acceptDcs (const edm::Event &event)
 
bool acceptDcsPartition (const edm::Handle< DcsStatusCollection > &dcsStatus, int dcsPartition) const
 
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 acceptGt (const edm::Event &event)
 
bool acceptGtLogicalExpression (const edm::Handle< L1GlobalTriggerReadoutRecord > &gtReadoutRecord, std::string gtLogicalExpression)
 Does this event fulfill this particular GT status bits' logical expression? 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 acceptHlt (const edm::Event &event)
 
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 acceptHltLogicalExpression (const edm::Handle< edm::TriggerResults > &hltTriggerResults, std::string hltLogicalExpression) const
 
bool acceptL1 (const edm::Event &event, const edm::EventSetup &setup)
 Was this event accepted by the configured L1 logical expression combination? More...
 
bool acceptL1 (const edm::Event &event, const edm::EventSetup &setup)
 
bool acceptL1LogicalExpression (const edm::Event &event, std::string l1LogicalExpression)
 Was this event accepted by this particular L1 algorithms' logical expression? More...
 
bool acceptL1LogicalExpression (const edm::Event &event, std::string l1LogicalExpression)
 
std::vector< std::string > expressionsFromDB (const std::string &key, const edm::EventSetup &setup)
 Reads and returns logical expressions from DB. More...
 
std::vector< std::string > expressionsFromDB (const std::string &key, const edm::EventSetup &setup)
 
bool negate (std::string &word) const
 Checks for negated words. More...
 
bool negate (std::string &word) const
 

Private Attributes

bool andOr_
 
bool andOrDcs_
 
bool andOrGt_
 
bool andOrHlt_
 
bool andOrL1_
 
const std::string configError_
 
std::string dbLabel_
 
edm::InputTag dcsInputTag_
 
std::vector< int > dcsPartitions_
 
bool errorReplyDcs_
 
bool errorReplyGt_
 
bool errorReplyHlt_
 
bool errorReplyL1_
 
std::string gtDBKey_
 
edm::InputTag gtEvmInputTag_
 
edm::InputTag gtInputTag_
 
std::vector< std::string > gtLogicalExpressions_
 
HLTConfigProvider hltConfig_
 
bool hltConfigInit_
 
std::string hltDBKey_
 
edm::InputTag hltInputTag_
 
std::vector< std::string > hltLogicalExpressions_
 
bool l1BeforeMask_
 
std::string l1DBKey_
 
L1GtUtils l1Gt_
 
std::vector< std::string > l1LogicalExpressions_
 
bool on_
 
bool onDcs_
 
bool onGt_
 
bool onHlt_
 
bool onL1_
 
unsigned verbose_
 
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.2 2010/05/12 12:57:36 vadler Exp

[...]

Author
Volker Adler
Version
Id:
GenericTriggerEventFlag.h,v 1.2 2010/06/23 22:55:51 vadler Exp

Definition at line 35 of file GenericTriggerEventFlag.h.

Constructor & Destructor Documentation

GenericTriggerEventFlag::GenericTriggerEventFlag ( const edm::ParameterSet config)

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

Definition at line 19 of file GenericTriggerEventFlag.cc.

References andOr_, andOrDcs_, andOrGt_, andOrHlt_, andOrL1_, dcsInputTag_, dcsPartitions_, errorReplyDcs_, errorReplyGt_, errorReplyHlt_, errorReplyL1_, edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), gtDBKey_, gtInputTag_, gtLogicalExpressions_, hltDBKey_, hltInputTag_, hltLogicalExpressions_, l1DBKey_, l1LogicalExpressions_, on_, onDcs_, onGt_, onHlt_, onL1_, verbose_, and watchDB_.

20  : watchDB_( 0 )
21  , verbose_( 0 )
22  , gtDBKey_( "" )
23  , l1DBKey_( "" )
24  , hltDBKey_( "" )
25  , on_( true )
26  , onDcs_( true )
27  , onGt_( true )
28  , onL1_( true )
29  , onHlt_( true )
30  , configError_( "CONFIG_ERROR" )
31 {
32 
33  // General switch(es)
34  if ( config.exists( "andOr" ) ) {
35  andOr_ = config.getParameter< bool >( "andOr" );
36  if ( config.exists( "verbosityLevel" ) ) verbose_ = config.getParameter< unsigned >( "verbosityLevel" );
37  } else {
38  on_ = false;
39  onDcs_ = false;
40  onGt_ = false;
41  onL1_ = false;
42  onHlt_ = false;
43  }
44 
45  if ( on_ ) {
46  if ( config.exists( "andOrDcs" ) ) {
47  andOrDcs_ = config.getParameter< bool >( "andOrDcs" );
48  dcsInputTag_ = config.getParameter< edm::InputTag >( "dcsInputTag" );
49  dcsPartitions_ = config.getParameter< std::vector< int > >( "dcsPartitions" );
50  errorReplyDcs_ = config.getParameter< bool >( "errorReplyDcs" );
51  } else {
52  onDcs_ = false;
53  }
54  if ( config.exists( "andOrGt" ) ) {
55  andOrGt_ = config.getParameter< bool >( "andOrGt" );
56  gtInputTag_ = config.getParameter< edm::InputTag >( "gtInputTag" );
57  gtLogicalExpressions_ = config.getParameter< std::vector< std::string > >( "gtStatusBits" );
58  errorReplyGt_ = config.getParameter< bool >( "errorReplyGt" );
59  if ( config.exists( "gtDBKey" ) ) gtDBKey_ = config.getParameter< std::string >( "gtDBKey" );
60  } else {
61  onGt_ = false;
62  }
63  if ( config.exists( "andOrL1" ) ) {
64  andOrL1_ = config.getParameter< bool >( "andOrL1" );
65  l1LogicalExpressions_ = config.getParameter< std::vector< std::string > >( "l1Algorithms" );
66  errorReplyL1_ = config.getParameter< bool >( "errorReplyL1" );
67  if ( config.exists( "l1DBKey" ) ) l1DBKey_ = config.getParameter< std::string >( "l1DBKey" );
68  } else {
69  onL1_ = false;
70  }
71  if ( config.exists( "andOrHlt" ) ) {
72  andOrHlt_ = config.getParameter< bool >( "andOrHlt" );
73  hltInputTag_ = config.getParameter< edm::InputTag >( "hltInputTag" );
74  hltLogicalExpressions_ = config.getParameter< std::vector< std::string > >( "hltPaths" );
75  errorReplyHlt_ = config.getParameter< bool >( "errorReplyHlt" );
76  if ( config.exists( "hltDBKey" ) ) hltDBKey_ = config.getParameter< std::string >( "hltDBKey" );
77  } else {
78  onHlt_ = false;
79  }
80  if ( ! onDcs_ && ! onGt_ && ! onL1_ && ! onHlt_ ) on_ = false;
82  }
83 
84 }
T getParameter(std::string const &) const
std::vector< int > dcsPartitions_
std::vector< std::string > gtLogicalExpressions_
std::vector< std::string > hltLogicalExpressions_
bool exists(std::string const &parameterName) const
checks if a parameter exists
edm::ESWatcher< AlCaRecoTriggerBitsRcd > * watchDB_
std::vector< std::string > l1LogicalExpressions_
GenericTriggerEventFlag::~GenericTriggerEventFlag ( )

To be called from d'tors by 'delete'.

Definition at line 88 of file GenericTriggerEventFlag.cc.

References on_, and watchDB_.

89 {
90 
91  if ( on_ ) delete watchDB_;
92 
93 }
edm::ESWatcher< AlCaRecoTriggerBitsRcd > * watchDB_
GenericTriggerEventFlag::GenericTriggerEventFlag ( const edm::ParameterSet config)
GenericTriggerEventFlag::~GenericTriggerEventFlag ( )

Member Function Documentation

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

To be called from analyze/filter() methods.

Definition at line 135 of file GenericTriggerEventFlag.cc.

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

Referenced by MonitorTrackResiduals::analyze(), TrackingMonitor::analyze(), SiStripMonitorTrack::analyze(), python.Vispa.Gui.BoxContentDialog.BoxContentDialog::apply(), and python.Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog::apply().

136 {
137 
138  if ( ! on_ ) return true;
139 
140  // Determine decision
141  if ( andOr_ ) return ( acceptDcs( event ) || acceptGt( event ) || acceptL1( event, setup ) || acceptHlt( event ) );
142  return ( acceptDcs( event ) && acceptGt( event ) && acceptL1( event, setup ) && acceptHlt( event ) );
143 
144 }
bool acceptHlt(const edm::Event &event)
Was this event accepted by the configured HLT logical expression combination?
bool acceptDcs(const edm::Event &event)
bool acceptL1(const edm::Event &event, const edm::EventSetup &setup)
Was this event accepted by the configured L1 logical expression combination?
bool acceptGt(const edm::Event &event)
Does this event fulfill the configured GT status logical expression combination?
bool GenericTriggerEventFlag::accept ( const edm::Event event,
const edm::EventSetup setup 
)
bool GenericTriggerEventFlag::acceptDcs ( const edm::Event event)
private

Definition at line 147 of file GenericTriggerEventFlag.cc.

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

Referenced by accept().

148 {
149 
150  // An empty DCS partitions list acts as switch.
151  if ( ! onDcs_ || dcsPartitions_.empty() ) return ( ! andOr_ ); // logically neutral, depending on base logical connective
152 
153  // Accessing the DcsStatusCollection
155  event.getByLabel( dcsInputTag_, dcsStatus );
156  if ( ! dcsStatus.isValid() ) {
157  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "DcsStatusCollection product with InputTag \"" << dcsInputTag_.encode() << "\" not in event ==> decision: " << errorReplyDcs_;
158  return errorReplyDcs_;
159  }
160  if ( ( *dcsStatus ).size() == 0 ) {
161  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "DcsStatusCollection product with InputTag \"" << dcsInputTag_.encode() << "\" empty ==> decision: " << errorReplyDcs_;
162  return errorReplyDcs_;
163  }
164 
165  // Determine decision of DCS partition combination and return
166  if ( andOrDcs_ ) { // OR combination
167  for ( std::vector< int >::const_iterator partitionNumber = dcsPartitions_.begin(); partitionNumber != dcsPartitions_.end(); ++partitionNumber ) {
168  if ( acceptDcsPartition( dcsStatus, *partitionNumber ) ) return true;
169  }
170  return false;
171  }
172  for ( std::vector< int >::const_iterator partitionNumber = dcsPartitions_.begin(); partitionNumber != dcsPartitions_.end(); ++partitionNumber ) {
173  if ( ! acceptDcsPartition( dcsStatus, *partitionNumber ) ) return false;
174  }
175  return true;
176 
177 }
std::vector< int > dcsPartitions_
std::string encode() const
Definition: InputTag.cc:72
bool acceptDcsPartition(const edm::Handle< DcsStatusCollection > &dcsStatus, int dcsPartition) const
bool isValid() const
Definition: HandleBase.h:76
bool GenericTriggerEventFlag::acceptDcs ( const edm::Event event)
private
bool GenericTriggerEventFlag::acceptDcsPartition ( const edm::Handle< DcsStatusCollection > &  dcsStatus,
int  dcsPartition 
) const
private

Definition at line 180 of file GenericTriggerEventFlag.cc.

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().

181 {
182 
183  // Error checks
184  switch( dcsPartition ) {
185  case DcsStatus::EBp :
186  case DcsStatus::EBm :
187  case DcsStatus::EEp :
188  case DcsStatus::EEm :
189  case DcsStatus::HBHEa :
190  case DcsStatus::HBHEb :
191  case DcsStatus::HBHEc :
192  case DcsStatus::HF :
193  case DcsStatus::HO :
194  case DcsStatus::RPC :
195  case DcsStatus::DT0 :
196  case DcsStatus::DTp :
197  case DcsStatus::DTm :
198  case DcsStatus::CSCp :
199  case DcsStatus::CSCm :
200  case DcsStatus::CASTOR:
201  case DcsStatus::TIBTID:
202  case DcsStatus::TOB :
203  case DcsStatus::TECp :
204  case DcsStatus::TECm :
205  case DcsStatus::BPIX :
206  case DcsStatus::FPIX :
207  case DcsStatus::ESp :
208  case DcsStatus::ESm :
209  break;
210  default:
211  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "DCS partition number \"" << dcsPartition << "\" does not exist ==> decision: " << errorReplyDcs_;
212  return errorReplyDcs_;
213  }
214 
215  // Determine decision
216  return dcsStatus->at( 0 ).ready( dcsPartition );
217 
218 }
bool GenericTriggerEventFlag::acceptDcsPartition ( const edm::Handle< DcsStatusCollection > &  dcsStatus,
int  dcsPartition 
) const
private
bool GenericTriggerEventFlag::acceptGt ( const edm::Event event)
private

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

Definition at line 222 of file GenericTriggerEventFlag.cc.

References acceptGtLogicalExpression(), andOr_, andOrGt_, edm::InputTag::encode(), errorReplyGt_, gtInputTag_, gtLogicalExpressions_, edm::HandleBase::isValid(), onGt_, and verbose_.

Referenced by accept().

223 {
224 
225  // An empty GT status bits logical expressions list acts as switch.
226  if ( ! onGt_ || gtLogicalExpressions_.empty() ) return ( ! andOr_ ); // logically neutral, depending on base logical connective
227 
228  // Accessing the L1GlobalTriggerReadoutRecord
230  event.getByLabel( gtInputTag_, gtReadoutRecord );
231  if ( ! gtReadoutRecord.isValid() ) {
232  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "L1GlobalTriggerReadoutRecord product with InputTag \"" << gtInputTag_.encode() << "\" not in event ==> decision: " << errorReplyGt_;
233  return errorReplyGt_;
234  }
235 
236  // Determine decision of GT status bits logical expression combination and return
237  if ( andOrGt_ ) { // OR combination
238  for ( std::vector< std::string >::const_iterator gtLogicalExpression = gtLogicalExpressions_.begin(); gtLogicalExpression != gtLogicalExpressions_.end(); ++gtLogicalExpression ) {
239  if ( acceptGtLogicalExpression( gtReadoutRecord, *gtLogicalExpression ) ) return true;
240  }
241  return false;
242  }
243  for ( std::vector< std::string >::const_iterator gtLogicalExpression = gtLogicalExpressions_.begin(); gtLogicalExpression != gtLogicalExpressions_.end(); ++gtLogicalExpression ) {
244  if ( ! acceptGtLogicalExpression( gtReadoutRecord, *gtLogicalExpression ) ) return false;
245  }
246  return true;
247 
248 }
std::vector< std::string > gtLogicalExpressions_
std::string encode() const
Definition: InputTag.cc:72
bool acceptGtLogicalExpression(const edm::Handle< L1GlobalTriggerReadoutRecord > &gtReadoutRecord, std::string gtLogicalExpression)
Does this event fulfill this particular GT status bits&#39; logical expression?
bool isValid() const
Definition: HandleBase.h:76
bool GenericTriggerEventFlag::acceptGt ( const edm::Event event)
private
bool GenericTriggerEventFlag::acceptGtLogicalExpression ( const edm::Handle< L1GlobalTriggerReadoutRecord > &  gtReadoutRecord,
std::string  gtLogicalExpression 
)
private

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

Definition at line 252 of file GenericTriggerEventFlag.cc.

References errorReplyDcs_, errorReplyGt_, L1GtLogicParser::expressionResult(), negate(), L1GtLogicParser::operandTokenVector(), and verbose_.

Referenced by acceptGt().

253 {
254 
255  // Check empty std::strings
256  if ( gtLogicalExpression.empty() ) {
257  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "Empty logical expression ==> decision: " << errorReplyGt_;
258  return errorReplyGt_;
259  }
260 
261  // Negated paths
262  bool negExpr( negate( gtLogicalExpression ) );
263  if ( negExpr && gtLogicalExpression.empty() ) {
264  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "Empty (negated) logical expression ==> decision: " << errorReplyGt_;
265  return errorReplyGt_;
266  }
267 
268  // Parse logical expression and determine GT status bit decision
269  L1GtLogicParser gtAlgoLogicParser( gtLogicalExpression );
270  // Loop over status bits
271  for ( size_t iStatusBit = 0; iStatusBit < gtAlgoLogicParser.operandTokenVector().size(); ++iStatusBit ) {
272  const std::string gtStatusBit( gtAlgoLogicParser.operandTokenVector().at( iStatusBit ).tokenName );
273  // Manipulate status bit decision as stored in the parser
274  bool decision;
275  // Hard-coded status bits!!!
276  if ( gtStatusBit == "PhysDecl" || gtStatusBit == "PhysicsDeclared" ) {
277  decision = ( gtReadoutRecord->gtFdlWord().physicsDeclared() == 1 );
278  } else {
279  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "GT status bit \"" << gtStatusBit << "\" is not defined ==> decision: " << errorReplyGt_;
280  decision = errorReplyDcs_;
281  }
282  gtAlgoLogicParser.operandTokenVector().at( iStatusBit ).tokenResult = decision;
283  }
284 
285  // Determine decision
286  const bool gtDecision( gtAlgoLogicParser.expressionResult() );
287  return negExpr ? ( ! gtDecision ) : gtDecision;
288 
289 }
bool negate(std::string &word) const
Checks for negated words.
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 262 of file GenericTriggerEventFlag.cc.

References edm::InputTag::encode(), errorReplyDcs_, errorReplyGt_, L1GtLogicParser::expressionResult(), gtEvmInputTag_, edm::HandleBase::isValid(), negate(), L1GtLogicParser::operandTokenVector(), and verbose_.

263 {
264 
265  // Check empty std::strings
266  if ( gtLogicalExpression.empty() ) {
267  if ( verbose_ > 1 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "Empty logical expression ==> decision: " << errorReplyGt_;
268  return errorReplyGt_;
269  }
270 
271  // Negated paths
272  bool negExpr( negate( gtLogicalExpression ) );
273  if ( negExpr && gtLogicalExpression.empty() ) {
274  if ( verbose_ > 1 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "Empty (negated) logical expression ==> decision: " << errorReplyGt_;
275  return errorReplyGt_;
276  }
277 
278  // Parse logical expression and determine GT status bit decision
279  L1GtLogicParser gtAlgoLogicParser( gtLogicalExpression );
280  // Loop over status bits
281  for ( size_t iStatusBit = 0; iStatusBit < gtAlgoLogicParser.operandTokenVector().size(); ++iStatusBit ) {
282  const std::string gtStatusBit( gtAlgoLogicParser.operandTokenVector().at( iStatusBit ).tokenName );
283  // Manipulate status bit decision as stored in the parser
284  bool decision( errorReplyDcs_ );
285  // Hard-coded status bits!!!
286  if ( gtStatusBit == "PhysDecl" || gtStatusBit == "PhysicsDeclared" ) {
288  event.getByLabel( gtInputTag_, gtReadoutRecord );
289  if ( ! gtReadoutRecord.isValid() ) {
290  if ( verbose_ > 1 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "L1GlobalTriggerReadoutRecord product with InputTag \"" << gtInputTag_.encode() << "\" not in event";
291  event.getByType( gtReadoutRecord );
292  if ( ! gtReadoutRecord.isValid() ) {
293  if ( verbose_ > 1 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "L1GlobalTriggerReadoutRecord product not in event at all ==> decision: " << errorReplyGt_;
294  gtAlgoLogicParser.operandTokenVector().at( iStatusBit ).tokenResult = errorReplyDcs_;
295  continue;
296  }
297  }
298  decision = ( gtReadoutRecord->gtFdlWord().physicsDeclared() == 1 );
299  } else if ( gtStatusBit == "Stable" || gtStatusBit == "StableBeam" || gtStatusBit == "Adjust" || gtStatusBit == "Sqeeze" || gtStatusBit == "Flat" || gtStatusBit == "FlatTop" ||
300  gtStatusBit == "7TeV" || gtStatusBit == "900GeV" ) {
302  event.getByLabel( gtEvmInputTag_, gtEvmReadoutRecord );
303  if ( ! gtEvmReadoutRecord.isValid() ) {
304  if ( verbose_ > 1 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "L1GlobalTriggerEvmReadoutRecord product with InputTag \"" << gtEvmInputTag_.encode() << "\" not in event";
305  event.getByType( gtEvmReadoutRecord );
306  if ( ! gtEvmReadoutRecord.isValid() ) {
307  if ( verbose_ > 1 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "L1GlobalTriggerEvmReadoutRecord product not in event at all ==> decision: " << errorReplyGt_;
308  gtAlgoLogicParser.operandTokenVector().at( iStatusBit ).tokenResult = errorReplyDcs_;
309  continue;
310  }
311  }
312  if ( gtStatusBit == "Stable" || gtStatusBit == "StableBeam" ) {
313  decision = ( gtEvmReadoutRecord->gtfeWord().beamMode() == 11 );
314  } else if ( gtStatusBit == "Adjust" ) {
315  decision = ( 10 <= gtEvmReadoutRecord->gtfeWord().beamMode() && gtEvmReadoutRecord->gtfeWord().beamMode() <= 11 );
316  } else if ( gtStatusBit == "Sqeeze" ) {
317  decision = ( 9 <= gtEvmReadoutRecord->gtfeWord().beamMode() && gtEvmReadoutRecord->gtfeWord().beamMode() <= 11 );
318  } else if ( gtStatusBit == "Flat" || gtStatusBit == "FlatTop" ) {
319  decision = ( 8 <= gtEvmReadoutRecord->gtfeWord().beamMode() && gtEvmReadoutRecord->gtfeWord().beamMode() <= 11 );
320  } else if ( gtStatusBit == "7TeV" ) {
321  decision = ( gtEvmReadoutRecord->gtfeWord().beamMomentum() == 3500 );
322  } else if ( gtStatusBit == "900GeV" ) {
323  decision = ( gtEvmReadoutRecord->gtfeWord().beamMomentum() == 450 );
324  }
325  } else {
326  if ( verbose_ > 1 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "GT status bit \"" << gtStatusBit << "\" is not defined ==> decision: " << errorReplyGt_;
327  }
328  gtAlgoLogicParser.operandTokenVector().at( iStatusBit ).tokenResult = decision;
329  }
330 
331  // Determine decision
332  const bool gtDecision( gtAlgoLogicParser.expressionResult() );
333  return negExpr ? ( ! gtDecision ) : gtDecision;
334 
335 }
bool negate(std::string &word) const
Checks for negated words.
std::string encode() const
Definition: InputTag.cc:72
bool isValid() const
Definition: HandleBase.h:76
bool GenericTriggerEventFlag::acceptHlt ( const edm::Event event)
private

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

Definition at line 362 of file GenericTriggerEventFlag.cc.

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

Referenced by accept().

363 {
364 
365  // An empty HLT logical expressions list acts as switch.
366  if ( ! onHlt_ || hltLogicalExpressions_.empty() ) return ( ! andOr_ ); // logically neutral, depending on base logical connective
367 
368  // Checking the HLT configuration,
369  if ( ! hltConfigInit_ ) {
370  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "HLT config error ==> decision: " << errorReplyHlt_;
371  return errorReplyHlt_;
372  }
373 
374  // Accessing the TriggerResults
375  edm::Handle< edm::TriggerResults > hltTriggerResults;
376  event.getByLabel( hltInputTag_, hltTriggerResults );
377  if ( ! hltTriggerResults.isValid() ) {
378  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "TriggerResults product with InputTag \"" << hltInputTag_.encode() << "\" not in event ==> decision: " << errorReplyHlt_;
379  return errorReplyHlt_;
380  }
381  if ( ( *hltTriggerResults ).size() == 0 ) {
382  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "TriggerResults product with InputTag \"" << hltInputTag_.encode() << "\" empty ==> decision: " << errorReplyHlt_;
383  return errorReplyDcs_;
384  }
385 
386  // Determine decision of HLT logical expression combination and return
387  if ( andOrHlt_ ) { // OR combination
388  for ( std::vector< std::string >::const_iterator hltLogicalExpression = hltLogicalExpressions_.begin(); hltLogicalExpression != hltLogicalExpressions_.end(); ++hltLogicalExpression ) {
389  if ( acceptHltLogicalExpression( hltTriggerResults, *hltLogicalExpression ) ) return true;
390  }
391  return false;
392  }
393  for ( std::vector< std::string >::const_iterator hltLogicalExpression = hltLogicalExpressions_.begin(); hltLogicalExpression != hltLogicalExpressions_.end(); ++hltLogicalExpression ) {
394  if ( ! acceptHltLogicalExpression( hltTriggerResults, *hltLogicalExpression ) ) return false;
395  }
396  return true;
397 
398 }
std::vector< std::string > hltLogicalExpressions_
std::string encode() const
Definition: InputTag.cc:72
bool isValid() const
Definition: HandleBase.h:76
bool acceptHltLogicalExpression(const edm::Handle< edm::TriggerResults > &hltTriggerResults, std::string hltLogicalExpression) const
Was this event accepted by this particular HLT paths&#39; logical expression?
bool GenericTriggerEventFlag::acceptHlt ( const edm::Event event)
private
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 402 of file GenericTriggerEventFlag.cc.

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

Referenced by acceptHlt().

403 {
404 
405  // Check empty std::strings
406  if ( hltLogicalExpression.empty() ) {
407  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "Empty logical expression ==> decision: " << errorReplyHlt_;
408  return errorReplyHlt_;
409  }
410 
411  // Negated paths
412  bool negExpr( negate( hltLogicalExpression ) );
413  if ( negExpr && hltLogicalExpression.empty() ) {
414  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "Empty (negated) logical expression ==> decision: " << errorReplyHlt_;
415  return errorReplyHlt_;
416  }
417 
418  // Parse logical expression and determine HLT decision
419  L1GtLogicParser hltAlgoLogicParser( hltLogicalExpression );
420  // Loop over paths
421  for ( size_t iPath = 0; iPath < hltAlgoLogicParser.operandTokenVector().size(); ++iPath ) {
422  const std::string hltPathName( hltAlgoLogicParser.operandTokenVector().at( iPath ).tokenName );
423  const unsigned indexPath( hltConfig_.triggerIndex( hltPathName ) );
424  // Further error checks
425  if ( indexPath == hltConfig_.size() ) {
426  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "HLT path \"" << hltPathName << "\" is not found in process " << hltInputTag_.process() << " ==> decision: " << errorReplyHlt_;
427  hltAlgoLogicParser.operandTokenVector().at( iPath ).tokenResult = errorReplyHlt_;
428  continue;
429  }
430  if ( hltTriggerResults->error( indexPath ) ) {
431  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "HLT path \"" << hltPathName << "\" in error ==> decision: " << errorReplyHlt_;
432  hltAlgoLogicParser.operandTokenVector().at( iPath ).tokenResult = errorReplyHlt_;
433  continue;
434  }
435  // Manipulate algo decision as stored in the parser
436  const bool decision( hltTriggerResults->accept( indexPath ) );
437  hltAlgoLogicParser.operandTokenVector().at( iPath ).tokenResult = decision;
438  }
439 
440  // Determine decision
441  const bool hltDecision( hltAlgoLogicParser.expressionResult() );
442  return negExpr ? ( ! hltDecision ) : hltDecision;
443 
444 }
unsigned int size() const
number of trigger paths in trigger table
bool negate(std::string &word) const
Checks for negated words.
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
std::string const & process() const
Definition: InputTag.h:29
bool GenericTriggerEventFlag::acceptHltLogicalExpression ( const edm::Handle< edm::TriggerResults > &  hltTriggerResults,
std::string  hltLogicalExpression 
) const
private
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 293 of file GenericTriggerEventFlag.cc.

References acceptL1LogicalExpression(), andOr_, andOrL1_, l1Gt_, l1LogicalExpressions_, onL1_, and L1GtUtils::retrieveL1EventSetup().

Referenced by accept().

294 {
295 
296  // An empty L1 logical expressions list acts as switch.
297  if ( ! onL1_ || l1LogicalExpressions_.empty() ) return ( ! andOr_ ); // logically neutral, depending on base logical connective
298 
299  // Getting the L1 event setup
300  l1Gt_.retrieveL1EventSetup( setup ); // FIXME This can possibly go to initRun()
301 
302  // Determine decision of L1 logical expression combination and return
303  if ( andOrL1_ ) { // OR combination
304  for ( std::vector< std::string >::const_iterator l1LogicalExpression = l1LogicalExpressions_.begin(); l1LogicalExpression != l1LogicalExpressions_.end(); ++l1LogicalExpression ) {
305  if ( acceptL1LogicalExpression( event, *l1LogicalExpression ) ) return true;
306  }
307  return false;
308  }
309  for ( std::vector< std::string >::const_iterator l1LogicalExpression = l1LogicalExpressions_.begin(); l1LogicalExpression != l1LogicalExpressions_.end(); ++l1LogicalExpression ) {
310  if ( ! acceptL1LogicalExpression( event, *l1LogicalExpression ) ) return false;
311  }
312  return true;
313 
314 }
bool acceptL1LogicalExpression(const edm::Event &event, std::string l1LogicalExpression)
Was this event accepted by this particular L1 algorithms&#39; logical expression?
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
std::vector< std::string > l1LogicalExpressions_
bool GenericTriggerEventFlag::acceptL1 ( const edm::Event event,
const edm::EventSetup setup 
)
private
bool GenericTriggerEventFlag::acceptL1LogicalExpression ( const edm::Event event,
std::string  l1LogicalExpression 
)
private

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

Definition at line 318 of file GenericTriggerEventFlag.cc.

References L1GtUtils::decision(), error, errorReplyL1_, L1GtLogicParser::expressionResult(), l1Gt_, negate(), L1GtLogicParser::operandTokenVector(), and verbose_.

Referenced by acceptL1().

319 {
320 
321  // Check empty std::strings
322  if ( l1LogicalExpression.empty() ) {
323  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "Empty logical expression ==> decision: " << errorReplyL1_;
324  return errorReplyL1_;
325  }
326 
327  // Negated logical expression
328  bool negExpr( negate( l1LogicalExpression ) );
329  if ( negExpr && l1LogicalExpression.empty() ) {
330  if ( verbose_ > 2 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "Empty (negated) logical expression ==> decision: " << errorReplyL1_;
331  return errorReplyL1_;
332  }
333 
334  // Parse logical expression and determine L1 decision
335  L1GtLogicParser l1AlgoLogicParser( l1LogicalExpression );
336  // Loop over algorithms
337  for ( size_t iAlgorithm = 0; iAlgorithm < l1AlgoLogicParser.operandTokenVector().size(); ++iAlgorithm ) {
338  const std::string l1AlgoName( l1AlgoLogicParser.operandTokenVector().at( iAlgorithm ).tokenName );
339  int error( -1 );
340  const bool decision( l1Gt_.decision( event, l1AlgoName, error ) );
341  // Error checks
342  if ( error != 0 ) {
343  if ( verbose_ > 2 ) {
344  if ( error == 1 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "L1 algorithm \"" << l1AlgoName << "\" does not exist in the L1 menu ==> decision: " << errorReplyL1_;
345  else edm::LogWarning( "GenericTriggerEventFlag" ) << "L1 algorithm \"" << l1AlgoName << "\" received error code " << error << " from L1GtUtils::decisionBeforeMask ==> decision: " << errorReplyL1_;
346  }
347  l1AlgoLogicParser.operandTokenVector().at( iAlgorithm ).tokenResult = errorReplyL1_;
348  continue;
349  }
350  // Manipulate algo decision as stored in the parser
351  l1AlgoLogicParser.operandTokenVector().at( iAlgorithm ).tokenResult = decision;
352  }
353 
354  // Return decision
355  const bool l1Decision( l1AlgoLogicParser.expressionResult() );
356  return negExpr ? ( ! l1Decision ) : l1Decision;
357 
358 }
bool negate(std::string &word) const
Checks for negated words.
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
bool GenericTriggerEventFlag::acceptL1LogicalExpression ( const edm::Event event,
std::string  l1LogicalExpression 
)
private
std::vector< std::string > GenericTriggerEventFlag::expressionsFromDB ( const std::string &  key,
const edm::EventSetup setup 
)
private

Reads and returns logical expressions from DB.

Definition at line 449 of file GenericTriggerEventFlag.cc.

References configError_, edm::EventSetup::get(), and verbose_.

Referenced by initRun().

450 {
451 
452  edm::ESHandle< AlCaRecoTriggerBits > logicalExpressions;
453  setup.get< AlCaRecoTriggerBitsRcd >().get( logicalExpressions );
454  const std::map< std::string, std::string > & expressionMap = logicalExpressions->m_alcarecoToTrig;
455  std::map< std::string, std::string >::const_iterator listIter = expressionMap.find( key );
456  if ( listIter == expressionMap.end() ) {
457  if ( verbose_ > 0 ) edm::LogWarning( "GenericTriggerEventFlag" ) << "No logical expressions found under key " << key << " in 'AlCaRecoTriggerBitsRcd'";
458  return std::vector< std::string >( 1, configError_ );
459  }
460  return logicalExpressions->decompose( listIter->second );
461 
462 }
const T & get() const
Definition: EventSetup.h:55
list key
Definition: combine.py:13
std::vector< std::string > GenericTriggerEventFlag::expressionsFromDB ( const std::string &  key,
const edm::EventSetup setup 
)
private
void GenericTriggerEventFlag::initRun ( const edm::Run run,
const edm::EventSetup setup 
)

To be called from beginedm::Run() methods.

To be called from beginRun() methods.

Definition at line 97 of file GenericTriggerEventFlag.cc.

References edm::ESWatcher< T >::check(), configError_, edm::InputTag::encode(), expressionsFromDB(), gtDBKey_, gtLogicalExpressions_, hltConfig_, hltConfigInit_, hltDBKey_, hltInputTag_, hltLogicalExpressions_, HLTConfigProvider::init(), l1DBKey_, l1LogicalExpressions_, onGt_, onHlt_, onL1_, edm::InputTag::process(), HLTConfigProvider::size(), verbose_, and watchDB_.

Referenced by MonitorTrackResiduals::beginRun(), TrackingMonitor::beginRun(), and SiStripMonitorTrack::beginRun().

98 {
99 
100  // FIXME Can this stay safely in the run loop, or does it need to go to the event loop?
101  // Means: Are the event setups identical?
102  if ( watchDB_->check( setup ) ) {
103  if ( onGt_ && gtDBKey_.size() > 0 ) {
104  const std::vector< std::string > exprs( expressionsFromDB( gtDBKey_, setup ) );
105  if ( exprs.empty() || exprs.at( 0 ) != configError_ ) gtLogicalExpressions_ = exprs;
106  }
107  if ( onL1_ && l1DBKey_.size() > 0 ) {
108  const std::vector< std::string > exprs( expressionsFromDB( l1DBKey_, setup ) );
109  if ( exprs.empty() || exprs.at( 0 ) != configError_ ) l1LogicalExpressions_ = exprs;
110  }
111  if ( onHlt_ && hltDBKey_.size() > 0 ) {
112  const std::vector< std::string > exprs( expressionsFromDB( hltDBKey_, setup ) );
113  if ( exprs.empty() || exprs.at( 0 ) != configError_ ) hltLogicalExpressions_ = exprs;
114  }
115  }
116 
117  hltConfigInit_ = false;
118  if ( onHlt_ ) {
119  if ( hltInputTag_.process().size() == 0 ) {
120  if ( verbose_ > 0 ) edm::LogError( "GenericTriggerEventFlag" ) << "HLT TriggerResults InputTag \"" << hltInputTag_.encode() << "\" specifies no process";
121  } else {
122  bool hltChanged( false );
123  if ( ! hltConfig_.init( run, setup, hltInputTag_.process(), hltChanged ) ) {
124  if ( verbose_ > 0 ) edm::LogError( "GenericTriggerEventFlag" ) << "HLT config initialization error with process name \"" << hltInputTag_.process() << "\"";
125  } else if ( hltConfig_.size() <= 0 ) {
126  if ( verbose_ > 0 ) edm::LogError( "GenericTriggerEventFlag" ) << "HLT config size error";
127  } else hltConfigInit_ = true;
128  }
129  }
130 
131 }
unsigned int size() const
number of trigger paths in trigger table
std::vector< std::string > gtLogicalExpressions_
std::vector< std::string > hltLogicalExpressions_
std::string encode() const
Definition: InputTag.cc:72
std::vector< std::string > expressionsFromDB(const std::string &key, const edm::EventSetup &setup)
Reads and returns logical expressions from DB.
edm::ESWatcher< AlCaRecoTriggerBitsRcd > * watchDB_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
std::vector< std::string > l1LogicalExpressions_
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:59
std::string const & process() const
Definition: InputTag.h:29
void GenericTriggerEventFlag::initRun ( const edm::Run run,
const edm::EventSetup setup 
)
bool GenericTriggerEventFlag::negate ( std::string &  word) const
private

Checks for negated words.

Definition at line 467 of file GenericTriggerEventFlag.cc.

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

468 {
469 
470  bool negate( false );
471  if ( word.at( 0 ) == '~' ) {
472  negate = true;
473  word.erase( 0, 1 );
474  }
475  return negate;
476 
477 }
bool negate(std::string &word) const
Checks for negated words.
bool GenericTriggerEventFlag::negate ( std::string &  word) const
private
bool GenericTriggerEventFlag::off ( )
inline

Definition at line 80 of file GenericTriggerEventFlag.h.

References on_.

80 { return ( ! on_ ); }
bool GenericTriggerEventFlag::off ( )
inline

Definition at line 84 of file GenericTriggerEventFlag.h.

References on_.

84 { return ( ! on_ ); }
bool GenericTriggerEventFlag::on ( )
inline
bool GenericTriggerEventFlag::on ( )
inline

Definition at line 83 of file GenericTriggerEventFlag.h.

References on_.

83 { return on_ ; }

Member Data Documentation

bool GenericTriggerEventFlag::andOr_
private
bool GenericTriggerEventFlag::andOrDcs_
private

Definition at line 45 of file GenericTriggerEventFlag.h.

Referenced by acceptDcs(), and GenericTriggerEventFlag().

bool GenericTriggerEventFlag::andOrGt_
private

Definition at line 49 of file GenericTriggerEventFlag.h.

Referenced by acceptGt(), and GenericTriggerEventFlag().

bool GenericTriggerEventFlag::andOrHlt_
private

Definition at line 58 of file GenericTriggerEventFlag.h.

Referenced by acceptHlt(), and GenericTriggerEventFlag().

bool GenericTriggerEventFlag::andOrL1_
private

Definition at line 54 of file GenericTriggerEventFlag.h.

Referenced by acceptL1(), and GenericTriggerEventFlag().

const std::string GenericTriggerEventFlag::configError_
private

Definition at line 70 of file GenericTriggerEventFlag.h.

Referenced by expressionsFromDB(), and initRun().

std::string GenericTriggerEventFlag::dbLabel_
private

Definition at line 45 of file GenericTriggerEventFlag.h.

edm::InputTag GenericTriggerEventFlag::dcsInputTag_
private

Definition at line 46 of file GenericTriggerEventFlag.h.

Referenced by acceptDcs(), and GenericTriggerEventFlag().

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

Definition at line 47 of file GenericTriggerEventFlag.h.

Referenced by acceptDcs(), and GenericTriggerEventFlag().

bool GenericTriggerEventFlag::errorReplyDcs_
private
bool GenericTriggerEventFlag::errorReplyGt_
private
bool GenericTriggerEventFlag::errorReplyHlt_
private
bool GenericTriggerEventFlag::errorReplyL1_
private

Definition at line 57 of file GenericTriggerEventFlag.h.

Referenced by acceptL1LogicalExpression(), and GenericTriggerEventFlag().

std::string GenericTriggerEventFlag::gtDBKey_
private

Definition at line 51 of file GenericTriggerEventFlag.h.

Referenced by GenericTriggerEventFlag(), and initRun().

edm::InputTag GenericTriggerEventFlag::gtEvmInputTag_
private

Definition at line 53 of file GenericTriggerEventFlag.h.

Referenced by acceptGtLogicalExpression().

edm::InputTag GenericTriggerEventFlag::gtInputTag_
private

Definition at line 50 of file GenericTriggerEventFlag.h.

Referenced by acceptGt(), and GenericTriggerEventFlag().

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

Definition at line 52 of file GenericTriggerEventFlag.h.

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

HLTConfigProvider GenericTriggerEventFlag::hltConfig_
private

Definition at line 40 of file GenericTriggerEventFlag.h.

Referenced by acceptHltLogicalExpression(), and initRun().

bool GenericTriggerEventFlag::hltConfigInit_
private

Definition at line 41 of file GenericTriggerEventFlag.h.

Referenced by acceptHlt(), and initRun().

std::string GenericTriggerEventFlag::hltDBKey_
private

Definition at line 60 of file GenericTriggerEventFlag.h.

Referenced by GenericTriggerEventFlag(), and initRun().

edm::InputTag GenericTriggerEventFlag::hltInputTag_
private
std::vector< std::string > GenericTriggerEventFlag::hltLogicalExpressions_
private

Definition at line 61 of file GenericTriggerEventFlag.h.

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

bool GenericTriggerEventFlag::l1BeforeMask_
private

Definition at line 58 of file GenericTriggerEventFlag.h.

std::string GenericTriggerEventFlag::l1DBKey_
private

Definition at line 55 of file GenericTriggerEventFlag.h.

Referenced by GenericTriggerEventFlag(), and initRun().

L1GtUtils GenericTriggerEventFlag::l1Gt_
private

Definition at line 39 of file GenericTriggerEventFlag.h.

Referenced by acceptL1(), and acceptL1LogicalExpression().

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

Definition at line 56 of file GenericTriggerEventFlag.h.

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

bool GenericTriggerEventFlag::on_
private
bool GenericTriggerEventFlag::onDcs_
private

Definition at line 65 of file GenericTriggerEventFlag.h.

Referenced by acceptDcs(), and GenericTriggerEventFlag().

bool GenericTriggerEventFlag::onGt_
private

Definition at line 66 of file GenericTriggerEventFlag.h.

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

bool GenericTriggerEventFlag::onHlt_
private

Definition at line 68 of file GenericTriggerEventFlag.h.

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

bool GenericTriggerEventFlag::onL1_
private

Definition at line 67 of file GenericTriggerEventFlag.h.

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

unsigned GenericTriggerEventFlag::verbose_
private
edm::ESWatcher< AlCaRecoTriggerBitsRcd > * GenericTriggerEventFlag::watchDB_
private