CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
L1TBPTX Class Reference

#include <L1TBPTX.h>

Inheritance diagram for L1TBPTX:
DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks > edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Types

enum  BeamMode {
  NOMODE = 1, SETUP = 2, INJPILOT = 3, INJINTR = 4,
  INJNOMN = 5, PRERAMP = 6, RAMP = 7, FLATTOP = 8,
  SQUEEZE = 9, ADJUST = 10, STABLE = 11, UNSTABLE = 12,
  BEAMDUMP = 13, RAMPDOWN = 14, RECOVERY = 15, INJDUMP = 16,
  CIRCDUMP = 17, ABORT = 18, CYCLING = 19, WBDUMP = 20,
  NOBEAM = 21
}
 
enum  Errors {
  UNKNOWN = 1, WARNING_DB_CONN_FAILED = 2, WARNING_DB_QUERY_FAILED = 3, WARNING_DB_INCORRECT_NBUNCHES = 4,
  ERROR_UNABLE_RETRIVE_PRODUCT = 5, ERROR_TRIGGERALIAS_NOTVALID = 6, ERROR_LSBLOCK_NOTVALID = 7
}
 
- Public Types inherited from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

 L1TBPTX (const edm::ParameterSet &ps)
 
 ~L1TBPTX () override
 
- Public Member Functions inherited from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
 DQMOneEDAnalyzer ()
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumiBlock, edm::EventSetup const &c) override
 
void bookHistograms (DQMStore::IBooker &ibooker, const edm::Run &, const edm::EventSetup &) override
 BeginRun. More...
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 
void endLuminosityBlock (edm::LuminosityBlock const &lumiBlock, edm::EventSetup const &c) override
 
- Protected Member Functions inherited from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
virtual void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)=0
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Member Functions

void certifyLSBlock (std::string iTrigger, int iInitLs, int iEndLs, float iValue)
 
void doFractionInSync (bool iForce=false, bool iBad=false)
 
void getBeamConfOMDS ()
 

Private Attributes

std::map< int, TString > m_algoBit_Alias
 
BeamConfiguration m_beamConfig
 
unsigned int m_currentGTLS
 
unsigned int m_currentLS
 
bool m_currentLSValid
 
int m_currentPrescalesIndex
 
std::map< TString, int > m_effDenominator
 
std::map< TString, int > m_effNumerator
 
MonitorElementm_ErrorMonitor
 
edm::EDGetTokenT< L1GlobalTriggerReadoutRecordm_l1GtDataDaqInputTag
 
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecordm_l1GtEvmSource
 
std::map< std::pair< bool, int >, double > m_l1Rate
 
unsigned int m_lhcFill
 
std::map< TString, MonitorElement * > m_meAlgoEfficiency
 
std::map< TString, MonitorElement * > m_meAlgoMissFire
 
std::map< std::pair< bool, int >, MonitorElement * > m_meRate
 
std::map< TString, MonitorElement * > m_meTechEfficiency
 
std::map< TString, MonitorElement * > m_meTechMissFire
 
std::map< TString, int > m_missFireDenominator
 
std::map< TString, int > m_missFireNumerator
 
std::vector< edm::ParameterSetm_monitorBits
 
std::vector< edm::ParameterSetm_monitorRates
 
std::string m_outputFile
 
edm::ParameterSet m_parameters
 
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
 
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrig
 
bool * m_processedLS
 
int m_refPrescaleSet
 
edm::EDGetTokenT< Level1TriggerScalersCollectionm_scalersSource
 
std::vector< std::pair< int, int > > m_selAlgoBit
 
std::vector< std::pair< int, int > > m_selTechBit
 
std::map< int, TString > m_techBit_Alias
 
bool m_verbose
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 69 of file L1TBPTX.h.

Member Enumeration Documentation

Enumerator
NOMODE 
SETUP 
INJPILOT 
INJINTR 
INJNOMN 
PRERAMP 
RAMP 
FLATTOP 
SQUEEZE 
ADJUST 
STABLE 
UNSTABLE 
BEAMDUMP 
RAMPDOWN 
RECOVERY 
INJDUMP 
CIRCDUMP 
ABORT 
CYCLING 
WBDUMP 
NOBEAM 

Definition at line 71 of file L1TBPTX.h.

71  {
72  NOMODE = 1,
73  SETUP = 2,
74  INJPILOT = 3,
75  INJINTR = 4,
76  INJNOMN = 5,
77  PRERAMP = 6,
78  RAMP = 7,
79  FLATTOP = 8,
80  SQUEEZE = 9,
81  ADJUST = 10,
82  STABLE = 11,
83  UNSTABLE = 12,
84  BEAMDUMP = 13,
85  RAMPDOWN = 14,
86  RECOVERY = 15,
87  INJDUMP = 16,
88  CIRCDUMP = 17,
89  ABORT = 18,
90  CYCLING = 19,
91  WBDUMP = 20,
92  NOBEAM = 21
93  };
Enumerator
UNKNOWN 
WARNING_DB_CONN_FAILED 
WARNING_DB_QUERY_FAILED 
WARNING_DB_INCORRECT_NBUNCHES 
ERROR_UNABLE_RETRIVE_PRODUCT 
ERROR_TRIGGERALIAS_NOTVALID 
ERROR_LSBLOCK_NOTVALID 

Definition at line 95 of file L1TBPTX.h.

Constructor & Destructor Documentation

L1TBPTX::L1TBPTX ( const edm::ParameterSet ps)

Definition at line 33 of file L1TBPTX.cc.

References edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), mps_fire::i, hltrates_dqm_sourceclient-live_cfg::offset, and muonDTDigis_cfi::pset.

33  {
35 
36  // Mapping parameter input variables
37  m_scalersSource = consumes<Level1TriggerScalersCollection>(pset.getParameter<InputTag>("inputTagScalersResults"));
38  m_l1GtDataDaqInputTag = consumes<L1GlobalTriggerReadoutRecord>(pset.getParameter<InputTag>("inputTagL1GtDataDaq"));
39  m_l1GtEvmSource = consumes<L1GlobalTriggerEvmReadoutRecord>(pset.getParameter<InputTag>("inputTagtEvmSource"));
40  m_verbose = pset.getUntrackedParameter<bool>("verbose", false);
41  // m_refPrescaleSet = pset.getParameter <int> ("refPrescaleSet");
42 
43  m_monitorBits = pset.getParameter<vector<ParameterSet> >("MonitorBits");
44 
45  for (unsigned i = 0; i < m_monitorBits.size(); i++) {
46  // Algorithms
47  if (m_monitorBits[i].getParameter<bool>("bitType")) {
48  int bit = m_monitorBits[i].getParameter<int>("bitNumber");
49  int offset = m_monitorBits[i].getParameter<int>("bitOffset");
50  m_selAlgoBit.push_back(pair<int, int>(bit, offset));
51  }
52  // Tech
53  else {
54  int bit = m_monitorBits[i].getParameter<int>("bitNumber");
55  int offset = m_monitorBits[i].getParameter<int>("bitOffset");
56  m_selTechBit.push_back(pair<int, int>(bit, offset));
57  }
58  }
59 
60  m_monitorRates = pset.getParameter<vector<ParameterSet> >("MonitorRates");
61 }
std::vector< std::pair< int, int > > m_selAlgoBit
Definition: L1TBPTX.h:150
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_l1GtDataDaqInputTag
Definition: L1TBPTX.h:175
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > m_l1GtEvmSource
Definition: L1TBPTX.h:174
bool m_verbose
Definition: L1TBPTX.h:131
edm::ParameterSet m_parameters
Definition: L1TBPTX.h:125
std::vector< edm::ParameterSet > m_monitorRates
Definition: L1TBPTX.h:127
std::vector< edm::ParameterSet > m_monitorBits
Definition: L1TBPTX.h:126
std::vector< std::pair< int, int > > m_selTechBit
Definition: L1TBPTX.h:151
edm::EDGetTokenT< Level1TriggerScalersCollection > m_scalersSource
Definition: L1TBPTX.h:173
L1TBPTX::~L1TBPTX ( )
override

Definition at line 65 of file L1TBPTX.cc.

65 {}

Member Function Documentation

void L1TBPTX::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprotected

Definition at line 327 of file L1TBPTX.cc.

References a, L1GtfeExtWord::beamMode(), gather_cfg::cout, edm::Event::getByToken(), Level1TriggerRates::gtAlgoCountsRate(), L1GlobalTriggerReadoutRecord::gtFdlVector(), L1GlobalTriggerEvmReadoutRecord::gtfeWord(), mps_fire::i, edm::EventBase::id(), edm::HandleBase::isValid(), L1GtfeExtWord::lhcFillNumber(), hltrates_dqm_sourceclient-live_cfg::offset, edm::EventID::run(), and PDWG_DiPhoton_SD_cff::triggerName.

327  {
328  if (m_verbose) {
329  cout << "[L1TBPTX] Called analyze." << endl;
330  }
331 
332  // We only start analyzing if current LS is still valid
333  if (m_currentLSValid) {
334  if (m_verbose) {
335  cout << "[L1TBPTX] -> m_currentLSValid=" << m_currentLSValid << endl;
336  }
337 
338  // Retriving information from GT
340  iEvent.getByToken(m_l1GtEvmSource, gtEvmReadoutRecord);
341 
342  // Determining beam mode and fill number
343  if (gtEvmReadoutRecord.isValid()) {
344  const L1GtfeExtWord& gtfeEvmWord = gtEvmReadoutRecord->gtfeWord();
345  unsigned int lhcBeamMode = gtfeEvmWord.beamMode(); // Updating beam mode
346 
347  if (m_verbose) {
348  cout << "[L1TBPTX] Beam mode: " << lhcBeamMode << endl;
349  }
350 
351  if (lhcBeamMode == RAMP || lhcBeamMode == FLATTOP || lhcBeamMode == SQUEEZE || lhcBeamMode == ADJUST ||
352  lhcBeamMode == STABLE) {
353  if (m_lhcFill == 0) {
354  if (m_verbose) {
355  cout << "[L1TBPTX] No valid bunch structure yet retrived. Attemptting to retrive..." << endl;
356  }
357 
358  m_lhcFill = gtfeEvmWord.lhcFillNumber(); // Getting LHC Fill Number from GT
359 
360  getBeamConfOMDS(); // Getting Beam Configuration from OMDS
361 
362  // We are between RAMP and STABLE so there should be some colliding bunches
363  // in the machine. If 0 colliding bunched are found might be due to a delay
364  // of the update of the database. So we declare this LS as invalid and try
365  // again on the next one.
366  if (m_beamConfig.nCollidingBunches <= 0) {
367  m_lhcFill = 0;
368  m_currentLSValid = false;
369  }
370  }
371  } else {
372  m_currentLSValid = false;
373  }
374 
375  } else {
376  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(ERROR_UNABLE_RETRIVE_PRODUCT);
377  eCount++;
378  m_ErrorMonitor->getTH1()->SetBinContent(ERROR_UNABLE_RETRIVE_PRODUCT, eCount);
379  }
380  }
381 
382  //______________________________________________________________________________
383  // If current LS is valid and Beam Configuration is Valid we analyse this event
384  //______________________________________________________________________________
386  if (m_verbose) {
387  cout << "Current event in valid LS and beam config" << endl;
388  }
389 
390  // Getting Final Decision Logic (FDL) Data from GT
391  edm::Handle<L1GlobalTriggerReadoutRecord> gtReadoutRecordData;
392  iEvent.getByToken(m_l1GtDataDaqInputTag, gtReadoutRecordData);
393 
394  if (gtReadoutRecordData.isValid()) {
395  const vector<L1GtFdlWord>& gtFdlVectorData = gtReadoutRecordData->gtFdlVector();
396 
397  // Getting the index for the fdl data for this event
398  int eventFDL = 0;
399  for (unsigned int i = 0; i < gtFdlVectorData.size(); i++) {
400  if (gtFdlVectorData[i].bxInEvent() == 0) {
401  eventFDL = i;
402  break;
403  }
404  }
405 
406  m_currentPrescalesIndex = gtFdlVectorData[eventFDL].gtPrescaleFactorIndexAlgo();
407 
408  for (unsigned i = 0; i < m_monitorBits.size(); i++) {
409  TString triggerName = "";
410  bool isAlgo = m_monitorBits[i].getParameter<bool>("bitType");
411  int bit = m_monitorBits[i].getParameter<int>("bitNumber");
412  int offset = m_monitorBits[i].getParameter<int>("bitOffset");
413 
414  if (isAlgo) {
415  triggerName = "algo_" + std::to_string(bit);
416  } else {
417  triggerName = "tech_" + std::to_string(bit);
418  }
419 
420  int evBxStart = -2;
421  int evBxEnd = 2;
422 
423  if (offset < 0) {
424  evBxStart += -1 * offset;
425  }
426  if (offset > 0) {
427  evBxEnd += -1 * offset;
428  }
429 
430  for (unsigned a = 0; a < gtFdlVectorData.size(); a++) {
431  int testBx = gtFdlVectorData[a].localBxNr() - offset;
432  bool lhcBxFilled = m_beamConfig.beam1[testBx] && m_beamConfig.beam2[testBx];
433  bool algoFired = false;
434 
435  if (isAlgo) {
436  if (gtFdlVectorData[a].gtDecisionWord()[bit]) {
437  algoFired = true;
438  }
439 
440  } else {
441  if (gtFdlVectorData[a].gtTechnicalTriggerWord()[bit]) {
442  algoFired = true;
443  }
444  }
445 
446  if (lhcBxFilled) {
448  }
449  if (lhcBxFilled && algoFired) {
451  }
452 
453  if (algoFired) {
455  }
456  if (algoFired && !lhcBxFilled) {
458  }
459  }
460  }
461  }
462  }
463 
464  //______________________________________________________________________________
465  // Rate calculation
466  //______________________________________________________________________________
468  iEvent.getByToken(m_scalersSource, triggerScalers);
469 
470  if (triggerScalers.isValid()) {
471  Level1TriggerScalersCollection::const_iterator itL1TScalers = triggerScalers->begin();
472  Level1TriggerRates trigRates(*itL1TScalers, iEvent.id().run());
473 
474  m_currentGTLS = (*itL1TScalers).lumiSegmentNr();
475 
476  for (unsigned i = 0; i < m_monitorRates.size(); i++) {
477  bool isAlgo = m_monitorRates[i].getParameter<bool>("bitType");
478  int bit = m_monitorRates[i].getParameter<int>("bitNumber");
479 
480  pair<bool, int> refTrig = pair<bool, int>(isAlgo, bit);
481 
482  if (isAlgo) {
483  m_l1Rate[refTrig] = trigRates.gtAlgoCountsRate()[bit];
484  } else {
485  m_l1Rate[refTrig] = trigRates.gtTechCountsRate()[bit];
486  }
487  }
488  }
489 }
unsigned int m_lhcFill
Definition: L1TBPTX.h:146
const L1GtfeExtWord gtfeWord() const
get / set GTFE word (record) in the GT readout record
const std::vector< L1GtFdlWord > gtFdlVector() const
get the vector of L1GtFdlWord
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_l1GtDataDaqInputTag
Definition: L1TBPTX.h:175
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > m_l1GtEvmSource
Definition: L1TBPTX.h:174
BeamConfiguration m_beamConfig
Definition: L1TBPTX.h:149
std::map< std::pair< bool, int >, double > m_l1Rate
Definition: L1TBPTX.h:167
int iEvent
Definition: GenABIO.cc:224
std::map< TString, int > m_missFireNumerator
Definition: L1TBPTX.h:138
bool m_verbose
Definition: L1TBPTX.h:131
int m_currentPrescalesIndex
Definition: L1TBPTX.h:142
bool isValid() const
Definition: HandleBase.h:70
std::vector< edm::ParameterSet > m_monitorRates
Definition: L1TBPTX.h:127
bool m_currentLSValid
Definition: L1TBPTX.h:132
const cms_uint32_t lhcFillNumber() const
std::vector< edm::ParameterSet > m_monitorBits
Definition: L1TBPTX.h:126
unsigned int m_currentGTLS
Definition: L1TBPTX.h:144
double a
Definition: hdecay.h:119
std::vector< bool > beam2
Definition: L1TOMDSHelper.h:39
void getBeamConfOMDS()
Definition: L1TBPTX.cc:496
std::map< TString, int > m_effDenominator
Definition: L1TBPTX.h:137
std::map< TString, int > m_effNumerator
Definition: L1TBPTX.h:136
std::vector< bool > beam1
Definition: L1TOMDSHelper.h:38
const cms_uint16_t beamMode() const
MonitorElement * m_ErrorMonitor
Definition: L1TBPTX.h:170
edm::EDGetTokenT< Level1TriggerScalersCollection > m_scalersSource
Definition: L1TBPTX.h:173
void L1TBPTX::beginLuminosityBlock ( edm::LuminosityBlock const &  lumiBlock,
edm::EventSetup const &  c 
)
overrideprotected

Definition at line 216 of file L1TBPTX.cc.

References gather_cfg::cout, mps_fire::i, edm::LuminosityBlockBase::id(), edm::LuminosityBlockID::luminosityBlock(), and PDWG_DiPhoton_SD_cff::triggerName.

216  {
217  if (m_verbose) {
218  cout << "[L1TBPTX] Called beginLuminosityBlock." << endl;
219  }
220 
221  // Updating current LS number
222  m_currentLS = lumiBlock.id().luminosityBlock();
223 
224  // A LS will be valid if BeamMode==STABLE for all events monitored
225  m_currentLSValid = true;
226 
227  for (unsigned i = 0; i < m_monitorBits.size(); i++) {
228  TString triggerName = "";
229  if (m_monitorBits[i].getParameter<bool>("bitType")) {
230  triggerName = "algo_" + std::to_string(m_monitorBits[i].getParameter<int>("bitNumber"));
231  } else {
232  triggerName = "tech_" + std::to_string(m_monitorBits[i].getParameter<int>("bitNumber"));
233  }
234 
239  }
240 }
unsigned int m_currentLS
Definition: L1TBPTX.h:143
std::map< TString, int > m_missFireDenominator
Definition: L1TBPTX.h:139
std::map< TString, int > m_missFireNumerator
Definition: L1TBPTX.h:138
bool m_verbose
Definition: L1TBPTX.h:131
bool m_currentLSValid
Definition: L1TBPTX.h:132
std::vector< edm::ParameterSet > m_monitorBits
Definition: L1TBPTX.h:126
std::map< TString, int > m_effDenominator
Definition: L1TBPTX.h:137
std::map< TString, int > m_effNumerator
Definition: L1TBPTX.h:136
void L1TBPTX::bookHistograms ( DQMStore::IBooker ibooker,
const edm::Run iRun,
const edm::EventSetup iSetup 
)
overrideprotected

BeginRun.

Definition at line 70 of file L1TBPTX.cc.

References ecalcalib_dqm_sourceclient-live_cfg::algo, HIPAlignmentAlgorithm_cfi::algoName, dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), gather_cfg::cout, edm::EventSetup::get(), L1GtTriggerMenu::gtAlgorithmAliasMap(), L1GtPrescaleFactors::gtPrescaleFactors(), L1GtTriggerMenu::gtTechnicalTriggerMap(), mps_fire::i, edm::ESHandleBase::isValid(), optionsL1T::menu, edm::ESHandle< T >::product(), dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), L1TBPTX_cfi::testName, and SiStripSubdetector::UNKNOWN.

70  {
71  if (m_verbose) {
72  cout << "[L1TBPTX] Called beginRun." << endl;
73  }
74 
75  ibooker.setCurrentFolder("L1T/L1TBPTX");
76 
77  // Initializing variables
78  int maxNbins = 2501;
79 
80  // Reseting run dependent variables
81  m_lhcFill = 0;
82  m_currentLS = 0;
83 
84  // Getting Trigger menu from GT
86  iSetup.get<L1GtTriggerMenuRcd>().get(menuRcd);
87  const L1GtTriggerMenu* menu = menuRcd.product();
88 
89  // Filling Alias-Bit Map
90  for (CItAlgo algo = menu->gtAlgorithmAliasMap().begin(); algo != menu->gtAlgorithmAliasMap().end(); ++algo) {
91  m_algoBit_Alias[(algo->second).algoBitNumber()] = (algo->second).algoAlias();
92  }
93 
94  for (CItAlgo algo = menu->gtTechnicalTriggerMap().begin(); algo != menu->gtTechnicalTriggerMap().end(); ++algo) {
95  m_techBit_Alias[(algo->second).algoBitNumber()] = (algo->second).algoName();
96  }
97 
98  // Initializing DQM Monitor Elements
99  ibooker.setCurrentFolder("L1T/L1TBPTX");
100  m_ErrorMonitor = ibooker.book1D("ErrorMonitor", "ErrorMonitor", 7, 0, 7);
101  m_ErrorMonitor->setBinLabel(UNKNOWN, "UNKNOWN");
102  m_ErrorMonitor->setBinLabel(WARNING_DB_CONN_FAILED, "WARNING_DB_CONN_FAILED"); // Errors from L1TOMDSHelper
103  m_ErrorMonitor->setBinLabel(WARNING_DB_QUERY_FAILED, "WARNING_DB_QUERY_FAILED"); // Errors from L1TOMDSHelper
105  "WARNING_DB_INCORRECT_NBUNCHES"); // Errors from L1TOMDSHelper
106  m_ErrorMonitor->setBinLabel(ERROR_UNABLE_RETRIVE_PRODUCT, "ERROR_UNABLE_RETRIVE_PRODUCT");
107  m_ErrorMonitor->setBinLabel(ERROR_TRIGGERALIAS_NOTVALID, "ERROR_TRIGGERALIAS_NOTVALID");
108  m_ErrorMonitor->setBinLabel(ERROR_LSBLOCK_NOTVALID, "ERROR_LSBLOCK_NOTVALID");
109 
110  for (unsigned i = 0; i < m_monitorBits.size(); i++) {
111  bool isAlgo = m_monitorBits[i].getParameter<bool>("bitType");
112  TString testName = m_monitorBits[i].getParameter<string>("testName");
113  int bit = m_monitorBits[i].getParameter<int>("bitNumber");
114 
115  TString meTitle = "";
116  ibooker.setCurrentFolder("L1T/L1TBPTX/Efficiency/");
117  if (isAlgo) {
118  meTitle = "Algo ";
119  meTitle += bit;
120  meTitle += " - ";
121  meTitle += m_algoBit_Alias[bit];
122  meTitle += " Efficiency";
123  m_meAlgoEfficiency[bit] = ibooker.book1D(testName, meTitle, maxNbins, -0.5, double(maxNbins) - 0.5);
124  m_meAlgoEfficiency[bit]->setAxisTitle("Lumi Section", 1);
125  } else {
126  meTitle = "Tech ";
127  meTitle += bit;
128  meTitle += " - ";
129  meTitle += m_techBit_Alias[bit];
130  meTitle += " Efficiency";
131  m_meTechEfficiency[bit] = ibooker.book1D(testName, meTitle, maxNbins, -0.5, double(maxNbins) - 0.5);
132  m_meTechEfficiency[bit]->setAxisTitle("Lumi Section", 1);
133  }
134 
135  meTitle = "";
136  ibooker.setCurrentFolder("L1T/L1TBPTX/MissFire/");
137  if (isAlgo) {
138  meTitle = "Algo ";
139  meTitle += bit;
140  meTitle += " - ";
141  meTitle += m_algoBit_Alias[bit];
142  meTitle += "(1 - Miss Fire Rate)";
143  m_meAlgoMissFire[bit] = ibooker.book1D(testName, meTitle, maxNbins, -0.5, double(maxNbins) - 0.5);
144  m_meAlgoMissFire[bit]->setAxisTitle("Lumi Section", 1);
145  m_meAlgoMissFire[bit]->setAxisTitle("1 - Miss Fire Rate", 2);
146  } else {
147  meTitle = "Tech ";
148  meTitle += bit;
149  meTitle += " - ";
150  meTitle += m_techBit_Alias[bit];
151  meTitle += "(1 - Miss Fire Rate)";
152  m_meTechMissFire[bit] = ibooker.book1D(testName, meTitle, maxNbins, -0.5, double(maxNbins) - 0.5);
153  m_meTechMissFire[bit]->setAxisTitle("Lumi Section", 1);
154  m_meTechMissFire[bit]->setAxisTitle("1 - Miss Fire Rate", 2);
155  }
156  }
157 
158  for (unsigned i = 0; i < m_monitorRates.size(); i++) {
159  TString testName = m_monitorRates[i].getParameter<string>("testName");
160  bool isAlgo = m_monitorRates[i].getParameter<bool>("bitType");
161  int bit = m_monitorRates[i].getParameter<int>("bitNumber");
162 
163  pair<bool, int> refME = pair<bool, int>(isAlgo, bit);
164 
165  TString meTitle = "";
166  ibooker.setCurrentFolder("L1T/L1TBPTX/Rate/");
167  if (isAlgo) {
168  meTitle = "Algo " + std::to_string(bit);
169  meTitle += " - ";
170  meTitle += m_algoBit_Alias[bit];
171  meTitle += " Rate";
172  m_meRate[refME] = ibooker.book1D(testName, meTitle, maxNbins, -0.5, double(maxNbins) - 0.5);
173  m_meRate[refME]->setAxisTitle("Lumi Section", 1);
174  m_meRate[refME]->setAxisTitle("Rate (unprescaled) [Hz]", 2);
175  } else {
176  meTitle = "Tech " + std::to_string(bit);
177  meTitle += " - ";
178  meTitle += m_techBit_Alias[bit];
179  meTitle += " Rate";
180  m_meRate[refME] = ibooker.book1D(testName, meTitle, maxNbins, -0.5, double(maxNbins) - 0.5);
181  m_meRate[refME]->setAxisTitle("Lumi Section", 1);
182  m_meRate[refME]->setAxisTitle("Rate (unprescaled) [Hz]", 2);
183  }
184  }
185 
186  //_____________________________________________________________________
187  // Getting the prescale columns definition for this run
190 
191  iSetup.get<L1GtPrescaleFactorsAlgoTrigRcd>().get(l1GtPfAlgo);
192  iSetup.get<L1GtPrescaleFactorsTechTrigRcd>().get(l1GtPfTech);
193 
194  if (l1GtPfAlgo.isValid()) {
195  const L1GtPrescaleFactors* m_l1GtPfAlgo = l1GtPfAlgo.product();
196  m_prescaleFactorsAlgoTrig = &(m_l1GtPfAlgo->gtPrescaleFactors());
197  } else {
198  //TODO: Some error handling
199  }
200 
201  if (l1GtPfAlgo.isValid()) {
202  const L1GtPrescaleFactors* m_l1GtPfTech = l1GtPfTech.product();
203  m_prescaleFactorsTechTrig = &(m_l1GtPfTech->gtPrescaleFactors());
204  } else {
205  //TODO: Some error handling
206  }
207 }
unsigned int m_lhcFill
Definition: L1TBPTX.h:146
std::map< TString, MonitorElement * > m_meTechMissFire
Definition: L1TBPTX.h:164
std::map< TString, MonitorElement * > m_meAlgoEfficiency
Definition: L1TBPTX.h:161
unsigned int m_currentLS
Definition: L1TBPTX.h:143
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
std::map< TString, MonitorElement * > m_meAlgoMissFire
Definition: L1TBPTX.h:162
std::map< TString, MonitorElement * > m_meTechEfficiency
Definition: L1TBPTX.h:163
bool m_verbose
Definition: L1TBPTX.h:131
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrig
Definition: L1TBPTX.h:155
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::map< int, TString > m_techBit_Alias
Definition: L1TBPTX.h:159
std::vector< edm::ParameterSet > m_monitorRates
Definition: L1TBPTX.h:127
const std::vector< std::vector< int > > & gtPrescaleFactors() const
get the prescale factors by reference
std::map< std::pair< bool, int >, MonitorElement * > m_meRate
Definition: L1TBPTX.h:166
std::vector< edm::ParameterSet > m_monitorBits
Definition: L1TBPTX.h:126
T get() const
Definition: EventSetup.h:73
std::map< int, TString > m_algoBit_Alias
Definition: L1TBPTX.h:158
const AlgorithmMap & gtTechnicalTriggerMap() const
get / set the technical trigger map
const AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
bool isValid() const
Definition: ESHandle.h:44
T const * product() const
Definition: ESHandle.h:86
MonitorElement * m_ErrorMonitor
Definition: L1TBPTX.h:170
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
Definition: L1TBPTX.h:154
void L1TBPTX::certifyLSBlock ( std::string  iTrigger,
int  iInitLs,
int  iEndLs,
float  iValue 
)
private

Definition at line 585 of file L1TBPTX.cc.

585 {}
void L1TBPTX::doFractionInSync ( bool  iForce = false,
bool  iBad = false 
)
private

Definition at line 575 of file L1TBPTX.cc.

575 {}
void L1TBPTX::dqmBeginRun ( const edm::Run ,
const edm::EventSetup  
)
overrideprotected

Definition at line 209 of file L1TBPTX.cc.

209  {
210  //empty
211 }
void L1TBPTX::endLuminosityBlock ( edm::LuminosityBlock const &  lumiBlock,
edm::EventSetup const &  c 
)
overrideprotected

Definition at line 246 of file L1TBPTX.cc.

References newFWLiteAna::bin, gather_cfg::cout, mps_fire::i, L1TBPTX_cfi::testName, and PDWG_DiPhoton_SD_cff::triggerName.

246  {
247  //______________________________________________________________________________
248  // Monitoring efficiencies
249  //______________________________________________________________________________
250  if (m_verbose) {
251  cout << "[L1TBPTX] Called endLuminosityBlock." << endl;
252  }
253 
254  // If this LS is valid (i.e. all events recorded with stable beams)
256  for (unsigned i = 0; i < m_monitorBits.size(); i++) {
257  bool isAlgo = m_monitorBits[i].getParameter<bool>("bitType");
258  TString testName = m_monitorBits[i].getParameter<string>("testName");
259  int bit = m_monitorBits[i].getParameter<int>("bitNumber");
260 
261  TString triggerName;
262  if (isAlgo) {
263  triggerName = "algo_" + std::to_string(bit);
264  } else {
265  triggerName = "tech_" + std::to_string(bit);
266  }
267 
268  double valEff;
269  double valMiss;
270  if (m_effDenominator[triggerName] != 0) {
271  valEff = (double)m_effNumerator[triggerName] / m_effDenominator[triggerName];
272  } else {
273  valEff = 0;
274  }
275  if (m_missFireDenominator[triggerName] != 0) {
276  valMiss = (double)m_missFireNumerator[triggerName] / m_missFireDenominator[triggerName];
277  } else {
278  valMiss = 0;
279  }
280 
281  if (isAlgo) {
282  int bin = m_meAlgoEfficiency[bit]->getTH1()->FindBin(m_currentLS);
283  m_meAlgoEfficiency[bit]->setBinContent(bin, valEff);
284  m_meAlgoMissFire[bit]->setBinContent(bin, 1 - valMiss);
285  } else {
286  int bin = m_meTechEfficiency[bit]->getTH1()->FindBin(m_currentLS);
287  m_meTechEfficiency[bit]->setBinContent(bin, valEff);
288  m_meTechMissFire[bit]->setBinContent(bin, 1 - valMiss);
289  }
290  }
291  }
292 
293  //______________________________________________________________________________
294  // Monitoring rates
295  //______________________________________________________________________________
296  // We are only interested in monitoring lumisections where the the LHC state is
297  // RAMP, FLATTOP, SQUEEZE, ADJUST or STABLE since the bunch configuration and
298  // therefore the BPTX rate will not change.
299 
300  if (m_currentLSValid) {
301  const vector<int>& currentPFAlgo = (*m_prescaleFactorsAlgoTrig).at(m_currentPrescalesIndex);
302  const vector<int>& currentPFTech = (*m_prescaleFactorsTechTrig).at(m_currentPrescalesIndex);
303 
304  for (unsigned i = 0; i < m_monitorRates.size(); i++) {
305  bool isAlgo = m_monitorRates[i].getParameter<bool>("bitType");
306  int bit = m_monitorRates[i].getParameter<int>("bitNumber");
307 
308  pair<bool, int> refME = pair<bool, int>(isAlgo, bit);
309 
310  if (isAlgo) {
311  int bin = m_meRate[refME]->getTH1()->FindBin(m_currentGTLS);
312  int trigPS = currentPFAlgo[bit];
313  double trigRate = (double)trigPS * m_l1Rate[refME];
314  m_meRate[refME]->setBinContent(bin, trigRate);
315 
316  } else {
317  int bin = m_meRate[refME]->getTH1()->FindBin(m_currentGTLS);
318  int trigPS = currentPFTech[bit];
319  double trigRate = (double)trigPS * m_l1Rate[refME];
320  m_meRate[refME]->setBinContent(bin, trigRate);
321  }
322  }
323  }
324 }
std::map< TString, MonitorElement * > m_meTechMissFire
Definition: L1TBPTX.h:164
std::map< TString, MonitorElement * > m_meAlgoEfficiency
Definition: L1TBPTX.h:161
unsigned int m_currentLS
Definition: L1TBPTX.h:143
std::map< TString, int > m_missFireDenominator
Definition: L1TBPTX.h:139
BeamConfiguration m_beamConfig
Definition: L1TBPTX.h:149
std::map< TString, MonitorElement * > m_meAlgoMissFire
Definition: L1TBPTX.h:162
std::map< std::pair< bool, int >, double > m_l1Rate
Definition: L1TBPTX.h:167
std::map< TString, MonitorElement * > m_meTechEfficiency
Definition: L1TBPTX.h:163
std::map< TString, int > m_missFireNumerator
Definition: L1TBPTX.h:138
bool m_verbose
Definition: L1TBPTX.h:131
int m_currentPrescalesIndex
Definition: L1TBPTX.h:142
std::vector< edm::ParameterSet > m_monitorRates
Definition: L1TBPTX.h:127
bool m_currentLSValid
Definition: L1TBPTX.h:132
std::map< std::pair< bool, int >, MonitorElement * > m_meRate
Definition: L1TBPTX.h:166
std::vector< edm::ParameterSet > m_monitorBits
Definition: L1TBPTX.h:126
unsigned int m_currentGTLS
Definition: L1TBPTX.h:144
std::map< TString, int > m_effDenominator
Definition: L1TBPTX.h:137
std::map< TString, int > m_effNumerator
Definition: L1TBPTX.h:136
void L1TBPTX::getBeamConfOMDS ( )
private

Definition at line 496 of file L1TBPTX.cc.

References gather_cfg::cout, L1TOMDSHelper::NO_ERROR, L1TBPTX_cfi::oracleDB, L1TBPTX_cfi::pathCondDB, SiStripSubdetector::UNKNOWN, L1TOMDSHelper::WARNING_DB_CONN_FAILED, L1TOMDSHelper::WARNING_DB_INCORRECT_NBUNCHES, and L1TOMDSHelper::WARNING_DB_QUERY_FAILED.

496  {
497  if (m_verbose) {
498  cout << "[L1TBPTX] Called getBeamConfOMDS()" << endl;
499  }
500 
501  //Getting connection paremeters
502  string oracleDB = m_parameters.getParameter<string>("oracleDB");
503  string pathCondDB = m_parameters.getParameter<string>("pathCondDB");
504 
505  // Connecting to OMDS
506  L1TOMDSHelper myOMDSHelper = L1TOMDSHelper();
507  int conError;
508  myOMDSHelper.connect(oracleDB, pathCondDB, conError);
509 
510  if (conError == L1TOMDSHelper::NO_ERROR) {
511  if (m_verbose) {
512  cout << "[L1TBPTX] Connected to DB with no error." << endl;
513  }
514 
515  int errorRetrive;
516  m_beamConfig = myOMDSHelper.getBeamConfiguration(m_lhcFill, errorRetrive);
517 
518  if (errorRetrive == L1TOMDSHelper::NO_ERROR) {
519  if (m_verbose) {
520  cout << "[L1TBPTX] Retriving LHC Bunch Structure: NO_ERROR" << endl;
521  cout << "[L1TSync] -> LHC Bunch Structure valid=" << m_beamConfig.m_valid
522  << " nBunches=" << m_beamConfig.nCollidingBunches << endl;
523  }
524  } else if (errorRetrive == L1TOMDSHelper::WARNING_DB_QUERY_FAILED) {
525  if (m_verbose) {
526  cout << "[L1TBPTX] Retriving LHC Bunch Structure: WARNING_DB_QUERY_FAILED" << endl;
527  }
528 
529  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(WARNING_DB_QUERY_FAILED);
530  eCount++;
531  m_ErrorMonitor->getTH1()->SetBinContent(WARNING_DB_QUERY_FAILED, eCount);
532  } else if (errorRetrive == L1TOMDSHelper::WARNING_DB_INCORRECT_NBUNCHES) {
533  if (m_verbose) {
534  cout << "[L1TBPTX] Retriving LHC Bunch Structure: WARNING_DB_INCORRECT_NBUNCHES" << endl;
535  }
536 
537  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(WARNING_DB_INCORRECT_NBUNCHES);
538  eCount++;
539  m_ErrorMonitor->getTH1()->SetBinContent(WARNING_DB_INCORRECT_NBUNCHES, eCount);
540  } else {
541  if (m_verbose) {
542  cout << "[L1TBPTX] Retriving LHC Bunch Structure: UNKNOWN" << endl;
543  }
544  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(UNKNOWN);
545  eCount++;
546  m_ErrorMonitor->getTH1()->SetBinContent(UNKNOWN, eCount);
547  }
548 
549  } else if (conError == L1TOMDSHelper::WARNING_DB_CONN_FAILED) {
550  if (m_verbose) {
551  cout << "[L1TBPTX] Connection to DB: WARNING_DB_CONN_FAILED" << endl;
552  }
553  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(WARNING_DB_CONN_FAILED);
554  eCount++;
555  m_ErrorMonitor->getTH1()->SetBinContent(WARNING_DB_CONN_FAILED, eCount);
556  } else {
557  if (m_verbose) {
558  cout << "[L1TBPTX] Connection to DB: UNKNOWN" << endl;
559  }
560  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(UNKNOWN);
561  eCount++;
562  m_ErrorMonitor->getTH1()->SetBinContent(UNKNOWN, eCount);
563  }
564 }
T getParameter(std::string const &) const
unsigned int m_lhcFill
Definition: L1TBPTX.h:146
BeamConfiguration m_beamConfig
Definition: L1TBPTX.h:149
bool m_verbose
Definition: L1TBPTX.h:131
edm::ParameterSet m_parameters
Definition: L1TBPTX.h:125
MonitorElement * m_ErrorMonitor
Definition: L1TBPTX.h:170

Member Data Documentation

std::map<int, TString> L1TBPTX::m_algoBit_Alias
private

Definition at line 158 of file L1TBPTX.h.

BeamConfiguration L1TBPTX::m_beamConfig
private

Definition at line 149 of file L1TBPTX.h.

unsigned int L1TBPTX::m_currentGTLS
private

Definition at line 144 of file L1TBPTX.h.

unsigned int L1TBPTX::m_currentLS
private

Definition at line 143 of file L1TBPTX.h.

bool L1TBPTX::m_currentLSValid
private

Definition at line 132 of file L1TBPTX.h.

int L1TBPTX::m_currentPrescalesIndex
private

Definition at line 142 of file L1TBPTX.h.

std::map<TString, int> L1TBPTX::m_effDenominator
private

Definition at line 137 of file L1TBPTX.h.

std::map<TString, int> L1TBPTX::m_effNumerator
private

Definition at line 136 of file L1TBPTX.h.

MonitorElement* L1TBPTX::m_ErrorMonitor
private

Definition at line 170 of file L1TBPTX.h.

edm::EDGetTokenT<L1GlobalTriggerReadoutRecord> L1TBPTX::m_l1GtDataDaqInputTag
private

Definition at line 175 of file L1TBPTX.h.

edm::EDGetTokenT<L1GlobalTriggerEvmReadoutRecord> L1TBPTX::m_l1GtEvmSource
private

Definition at line 174 of file L1TBPTX.h.

std::map<std::pair<bool, int>, double> L1TBPTX::m_l1Rate
private

Definition at line 167 of file L1TBPTX.h.

unsigned int L1TBPTX::m_lhcFill
private

Definition at line 146 of file L1TBPTX.h.

std::map<TString, MonitorElement*> L1TBPTX::m_meAlgoEfficiency
private

Definition at line 161 of file L1TBPTX.h.

std::map<TString, MonitorElement*> L1TBPTX::m_meAlgoMissFire
private

Definition at line 162 of file L1TBPTX.h.

std::map<std::pair<bool, int>, MonitorElement*> L1TBPTX::m_meRate
private

Definition at line 166 of file L1TBPTX.h.

std::map<TString, MonitorElement*> L1TBPTX::m_meTechEfficiency
private

Definition at line 163 of file L1TBPTX.h.

std::map<TString, MonitorElement*> L1TBPTX::m_meTechMissFire
private

Definition at line 164 of file L1TBPTX.h.

std::map<TString, int> L1TBPTX::m_missFireDenominator
private

Definition at line 139 of file L1TBPTX.h.

std::map<TString, int> L1TBPTX::m_missFireNumerator
private

Definition at line 138 of file L1TBPTX.h.

std::vector<edm::ParameterSet> L1TBPTX::m_monitorBits
private

Definition at line 126 of file L1TBPTX.h.

std::vector<edm::ParameterSet> L1TBPTX::m_monitorRates
private

Definition at line 127 of file L1TBPTX.h.

std::string L1TBPTX::m_outputFile
private

Definition at line 128 of file L1TBPTX.h.

edm::ParameterSet L1TBPTX::m_parameters
private

Definition at line 125 of file L1TBPTX.h.

const std::vector<std::vector<int> >* L1TBPTX::m_prescaleFactorsAlgoTrig
private

Definition at line 154 of file L1TBPTX.h.

const std::vector<std::vector<int> >* L1TBPTX::m_prescaleFactorsTechTrig
private

Definition at line 155 of file L1TBPTX.h.

bool* L1TBPTX::m_processedLS
private

Definition at line 133 of file L1TBPTX.h.

int L1TBPTX::m_refPrescaleSet
private

Definition at line 141 of file L1TBPTX.h.

edm::EDGetTokenT<Level1TriggerScalersCollection> L1TBPTX::m_scalersSource
private

Definition at line 173 of file L1TBPTX.h.

std::vector<std::pair<int, int> > L1TBPTX::m_selAlgoBit
private

Definition at line 150 of file L1TBPTX.h.

std::vector<std::pair<int, int> > L1TBPTX::m_selTechBit
private

Definition at line 151 of file L1TBPTX.h.

std::map<int, TString> L1TBPTX::m_techBit_Alias
private

Definition at line 159 of file L1TBPTX.h.

bool L1TBPTX::m_verbose
private

Definition at line 131 of file L1TBPTX.h.