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) override
 
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
 
std::vector< bool > const & recordProvenanceList () 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)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
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
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
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 bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)=0
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (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)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (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

◆ BeamMode

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  };

◆ Errors

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::L1TBPTX ( const edm::ParameterSet ps)

Definition at line 33 of file L1TBPTX.cc.

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 }

References mps_fire::i, hltrates_dqm_sourceclient-live_cfg::offset, and muonDTDigis_cfi::pset.

◆ ~L1TBPTX()

L1TBPTX::~L1TBPTX ( )
override

Definition at line 65 of file L1TBPTX.cc.

65 {}

Member Function Documentation

◆ analyze()

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

Reimplemented from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >.

Definition at line 327 of file L1TBPTX.cc.

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 }

References a, L1GtfeExtWord::beamMode(), gather_cfg::cout, L1GlobalTriggerReadoutRecord::gtFdlVector(), L1GlobalTriggerEvmReadoutRecord::gtfeWord(), mps_fire::i, iEvent, edm::HandleBase::isValid(), L1GtfeExtWord::lhcFillNumber(), hltrates_dqm_sourceclient-live_cfg::offset, and PDWG_DiPhoton_SD_cff::triggerName.

◆ beginLuminosityBlock()

void L1TBPTX::beginLuminosityBlock ( edm::LuminosityBlock const &  lumiBlock,
edm::EventSetup const &  c 
)
overrideprotected

Definition at line 216 of file L1TBPTX.cc.

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 }

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

◆ bookHistograms()

void L1TBPTX::bookHistograms ( DQMStore::IBooker ibooker,
const edm::Run iRun,
const edm::EventSetup iSetup 
)
overrideprotected

BeginRun.

Definition at line 70 of file L1TBPTX.cc.

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 }

References HIPAlignmentAlgorithm_cfi::algoName, gather_cfg::cout, edm::EventSetup::get(), edm::get(), L1GtPrescaleFactors::gtPrescaleFactors(), mps_fire::i, edm::ESHandleBase::isValid(), optionsL1T::menu, edm::ESHandle< T >::product(), L1TBPTX_cfi::testName, and SiStripSubdetector::UNKNOWN.

◆ certifyLSBlock()

void L1TBPTX::certifyLSBlock ( std::string  iTrigger,
int  iInitLs,
int  iEndLs,
float  iValue 
)
private

Definition at line 585 of file L1TBPTX.cc.

585 {}

◆ doFractionInSync()

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

Definition at line 575 of file L1TBPTX.cc.

575 {}

◆ dqmBeginRun()

void L1TBPTX::dqmBeginRun ( const edm::Run ,
const edm::EventSetup  
)
overrideprotectedvirtual

Reimplemented from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >.

Definition at line 209 of file L1TBPTX.cc.

209  {
210  //empty
211 }

◆ endLuminosityBlock()

void L1TBPTX::endLuminosityBlock ( edm::LuminosityBlock const &  lumiBlock,
edm::EventSetup const &  c 
)
overrideprotected

Definition at line 246 of file L1TBPTX.cc.

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) {
272  } else {
273  valEff = 0;
274  }
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 }

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

◆ getBeamConfOMDS()

void L1TBPTX::getBeamConfOMDS ( )
private

Definition at line 496 of file L1TBPTX.cc.

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 }

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.

Member Data Documentation

◆ m_algoBit_Alias

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

Definition at line 158 of file L1TBPTX.h.

◆ m_beamConfig

BeamConfiguration L1TBPTX::m_beamConfig
private

Definition at line 149 of file L1TBPTX.h.

◆ m_currentGTLS

unsigned int L1TBPTX::m_currentGTLS
private

Definition at line 144 of file L1TBPTX.h.

◆ m_currentLS

unsigned int L1TBPTX::m_currentLS
private

Definition at line 143 of file L1TBPTX.h.

◆ m_currentLSValid

bool L1TBPTX::m_currentLSValid
private

Definition at line 132 of file L1TBPTX.h.

◆ m_currentPrescalesIndex

int L1TBPTX::m_currentPrescalesIndex
private

Definition at line 142 of file L1TBPTX.h.

◆ m_effDenominator

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

Definition at line 137 of file L1TBPTX.h.

◆ m_effNumerator

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

Definition at line 136 of file L1TBPTX.h.

◆ m_ErrorMonitor

MonitorElement* L1TBPTX::m_ErrorMonitor
private

Definition at line 170 of file L1TBPTX.h.

◆ m_l1GtDataDaqInputTag

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

Definition at line 175 of file L1TBPTX.h.

◆ m_l1GtEvmSource

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

Definition at line 174 of file L1TBPTX.h.

◆ m_l1Rate

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

Definition at line 167 of file L1TBPTX.h.

◆ m_lhcFill

unsigned int L1TBPTX::m_lhcFill
private

Definition at line 146 of file L1TBPTX.h.

◆ m_meAlgoEfficiency

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

Definition at line 161 of file L1TBPTX.h.

◆ m_meAlgoMissFire

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

Definition at line 162 of file L1TBPTX.h.

◆ m_meRate

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

Definition at line 166 of file L1TBPTX.h.

◆ m_meTechEfficiency

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

Definition at line 163 of file L1TBPTX.h.

◆ m_meTechMissFire

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

Definition at line 164 of file L1TBPTX.h.

◆ m_missFireDenominator

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

Definition at line 139 of file L1TBPTX.h.

◆ m_missFireNumerator

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

Definition at line 138 of file L1TBPTX.h.

◆ m_monitorBits

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

Definition at line 126 of file L1TBPTX.h.

◆ m_monitorRates

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

Definition at line 127 of file L1TBPTX.h.

◆ m_outputFile

std::string L1TBPTX::m_outputFile
private

Definition at line 128 of file L1TBPTX.h.

◆ m_parameters

edm::ParameterSet L1TBPTX::m_parameters
private

Definition at line 125 of file L1TBPTX.h.

◆ m_prescaleFactorsAlgoTrig

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

Definition at line 154 of file L1TBPTX.h.

◆ m_prescaleFactorsTechTrig

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

Definition at line 155 of file L1TBPTX.h.

◆ m_processedLS

bool* L1TBPTX::m_processedLS
private

Definition at line 133 of file L1TBPTX.h.

◆ m_refPrescaleSet

int L1TBPTX::m_refPrescaleSet
private

Definition at line 141 of file L1TBPTX.h.

◆ m_scalersSource

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

Definition at line 173 of file L1TBPTX.h.

◆ m_selAlgoBit

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

Definition at line 150 of file L1TBPTX.h.

◆ m_selTechBit

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

Definition at line 151 of file L1TBPTX.h.

◆ m_techBit_Alias

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

Definition at line 159 of file L1TBPTX.h.

◆ m_verbose

bool L1TBPTX::m_verbose
private

Definition at line 131 of file L1TBPTX.h.

L1TOMDSHelper
Definition: L1TOMDSHelper.h:50
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
BeamConfiguration::m_valid
bool m_valid
Definition: L1TOMDSHelper.h:36
L1TBPTX::UNKNOWN
Definition: L1TBPTX.h:96
L1TBPTX::STABLE
Definition: L1TBPTX.h:82
L1TBPTX::m_verbose
bool m_verbose
Definition: L1TBPTX.h:131
L1TBPTX::ABORT
Definition: L1TBPTX.h:89
L1TBPTX::m_prescaleFactorsAlgoTrig
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
Definition: L1TBPTX.h:154
mps_fire.i
i
Definition: mps_fire.py:355
L1TBPTX::m_meTechEfficiency
std::map< TString, MonitorElement * > m_meTechEfficiency
Definition: L1TBPTX.h:163
L1TBPTX::m_parameters
edm::ParameterSet m_parameters
Definition: L1TBPTX.h:125
L1GtPrescaleFactors
Definition: L1GtPrescaleFactors.h:32
L1TBPTX::m_currentLSValid
bool m_currentLSValid
Definition: L1TBPTX.h:132
L1TBPTX_cfi.oracleDB
oracleDB
Definition: L1TBPTX_cfi.py:14
L1TBPTX::INJDUMP
Definition: L1TBPTX.h:87
L1TBPTX::m_meAlgoEfficiency
std::map< TString, MonitorElement * > m_meAlgoEfficiency
Definition: L1TBPTX.h:161
L1TBPTX::INJNOMN
Definition: L1TBPTX.h:76
L1TBPTX::WBDUMP
Definition: L1TBPTX.h:91
L1TBPTX::m_missFireDenominator
std::map< TString, int > m_missFireDenominator
Definition: L1TBPTX.h:139
L1TBPTX::CIRCDUMP
Definition: L1TBPTX.h:88
L1TBPTX::m_missFireNumerator
std::map< TString, int > m_missFireNumerator
Definition: L1TBPTX.h:138
gather_cfg.cout
cout
Definition: gather_cfg.py:144
L1GlobalTriggerEvmReadoutRecord::gtfeWord
const L1GtfeExtWord gtfeWord() const
get / set GTFE word (record) in the GT readout record
Definition: L1GlobalTriggerEvmReadoutRecord.cc:249
L1GtPrescaleFactors::gtPrescaleFactors
const std::vector< std::vector< int > > & gtPrescaleFactors() const
get the prescale factors by reference
Definition: L1GtPrescaleFactors.h:45
L1TBPTX::m_monitorRates
std::vector< edm::ParameterSet > m_monitorRates
Definition: L1TBPTX.h:127
L1TBPTX::m_currentLS
unsigned int m_currentLS
Definition: L1TBPTX.h:143
HIPAlignmentAlgorithm_cfi.algoName
algoName
Definition: HIPAlignmentAlgorithm_cfi.py:5
L1TBPTX::ERROR_LSBLOCK_NOTVALID
Definition: L1TBPTX.h:102
L1TBPTX::UNSTABLE
Definition: L1TBPTX.h:83
L1TBPTX::ERROR_UNABLE_RETRIVE_PRODUCT
Definition: L1TBPTX.h:100
L1TBPTX::BEAMDUMP
Definition: L1TBPTX.h:84
L1TBPTX::getBeamConfOMDS
void getBeamConfOMDS()
Definition: L1TBPTX.cc:496
L1TBPTX::SQUEEZE
Definition: L1TBPTX.h:80
L1TOMDSHelper::WARNING_DB_QUERY_FAILED
Definition: L1TOMDSHelper.h:52
edm::Handle
Definition: AssociativeIterator.h:50
L1TBPTX::m_scalersSource
edm::EDGetTokenT< Level1TriggerScalersCollection > m_scalersSource
Definition: L1TBPTX.h:173
L1GtPrescaleFactorsTechTrigRcd
Definition: L1GtPrescaleFactorsTechTrigRcd.h:38
L1TBPTX::ADJUST
Definition: L1TBPTX.h:81
L1TBPTX::m_l1Rate
std::map< std::pair< bool, int >, double > m_l1Rate
Definition: L1TBPTX.h:167
L1TBPTX::m_monitorBits
std::vector< edm::ParameterSet > m_monitorBits
Definition: L1TBPTX.h:126
L1TBPTX::m_l1GtEvmSource
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > m_l1GtEvmSource
Definition: L1TBPTX.h:174
L1TBPTX::m_techBit_Alias
std::map< int, TString > m_techBit_Alias
Definition: L1TBPTX.h:159
L1TBPTX_cfi.pathCondDB
pathCondDB
Definition: L1TBPTX_cfi.py:15
L1TBPTX::PRERAMP
Definition: L1TBPTX.h:77
L1TBPTX::m_l1GtDataDaqInputTag
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_l1GtDataDaqInputTag
Definition: L1TBPTX.h:175
cmsdt::algo
algo
Definition: constants.h:164
L1TOMDSHelper::NO_ERROR
Definition: L1TOMDSHelper.h:52
Level1TriggerRates
Definition: Level1TriggerRates.h:30
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
CItAlgo
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
Definition: L1GtTriggerMenuFwd.h:38
L1TBPTX::WARNING_DB_CONN_FAILED
Definition: L1TBPTX.h:97
L1TBPTX::NOMODE
Definition: L1TBPTX.h:72
L1GtTriggerMenuRcd
Definition: L1GtTriggerMenuRcd.h:32
L1TBPTX::m_prescaleFactorsTechTrig
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrig
Definition: L1TBPTX.h:155
L1TBPTX::INJPILOT
Definition: L1TBPTX.h:74
edm::ESHandle< L1GtTriggerMenu >
L1TBPTX_cfi.testName
testName
Definition: L1TBPTX_cfi.py:24
L1TBPTX::WARNING_DB_INCORRECT_NBUNCHES
Definition: L1TBPTX.h:99
L1TBPTX::NOBEAM
Definition: L1TBPTX.h:92
L1TBPTX::FLATTOP
Definition: L1TBPTX.h:79
dqm::impl::MonitorElement::getTH1
virtual TH1 * getTH1()
Definition: MonitorElement.cc:969
L1TBPTX::m_effDenominator
std::map< TString, int > m_effDenominator
Definition: L1TBPTX.h:137
optionsL1T.menu
menu
Definition: optionsL1T.py:29
a
double a
Definition: hdecay.h:119
L1GtTriggerMenu
Definition: L1GtTriggerMenu.h:48
L1GtfeExtWord::lhcFillNumber
const cms_uint32_t lhcFillNumber() const
Definition: L1GtfeExtWord.cc:195
L1TBPTX::m_meTechMissFire
std::map< TString, MonitorElement * > m_meTechMissFire
Definition: L1TBPTX.h:164
L1TBPTX::m_selTechBit
std::vector< std::pair< int, int > > m_selTechBit
Definition: L1TBPTX.h:151
L1TBPTX::m_ErrorMonitor
MonitorElement * m_ErrorMonitor
Definition: L1TBPTX.h:170
L1TBPTX::RECOVERY
Definition: L1TBPTX.h:86
iEvent
int iEvent
Definition: GenABIO.cc:224
dqm::impl::MonitorElement::setBinLabel
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)
Definition: MonitorElement.cc:771
BeamConfiguration::nCollidingBunches
int nCollidingBunches
Definition: L1TOMDSHelper.h:37
L1TBPTX::m_effNumerator
std::map< TString, int > m_effNumerator
Definition: L1TBPTX.h:136
L1TOMDSHelper::WARNING_DB_CONN_FAILED
Definition: L1TOMDSHelper.h:52
L1TBPTX::m_selAlgoBit
std::vector< std::pair< int, int > > m_selAlgoBit
Definition: L1TBPTX.h:150
get
#define get
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
BeamConfiguration::isValid
bool isValid()
Definition: L1TOMDSHelper.h:34
L1GtfeExtWord
Definition: L1GtfeExtWord.h:31
L1TBPTX::m_beamConfig
BeamConfiguration m_beamConfig
Definition: L1TBPTX.h:149
newFWLiteAna.bin
bin
Definition: newFWLiteAna.py:161
L1TBPTX::ERROR_TRIGGERALIAS_NOTVALID
Definition: L1TBPTX.h:101
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
L1TBPTX::CYCLING
Definition: L1TBPTX.h:90
L1TBPTX::RAMP
Definition: L1TBPTX.h:78
L1TBPTX::RAMPDOWN
Definition: L1TBPTX.h:85
L1TBPTX::m_lhcFill
unsigned int m_lhcFill
Definition: L1TBPTX.h:146
L1TBPTX::SETUP
Definition: L1TBPTX.h:73
L1TBPTX::m_meRate
std::map< std::pair< bool, int >, MonitorElement * > m_meRate
Definition: L1TBPTX.h:166
L1TBPTX::m_meAlgoMissFire
std::map< TString, MonitorElement * > m_meAlgoMissFire
Definition: L1TBPTX.h:162
L1TBPTX::m_algoBit_Alias
std::map< int, TString > m_algoBit_Alias
Definition: L1TBPTX.h:158
L1TBPTX::m_currentGTLS
unsigned int m_currentGTLS
Definition: L1TBPTX.h:144
BeamConfiguration::beam2
std::vector< bool > beam2
Definition: L1TOMDSHelper.h:39
L1GtPrescaleFactorsAlgoTrigRcd
Definition: L1GtPrescaleFactorsAlgoTrigRcd.h:38
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
L1TBPTX::m_currentPrescalesIndex
int m_currentPrescalesIndex
Definition: L1TBPTX.h:142
L1TOMDSHelper::WARNING_DB_INCORRECT_NBUNCHES
Definition: L1TOMDSHelper.h:52
L1GtfeExtWord::beamMode
const cms_uint16_t beamMode() const
Definition: L1GtfeExtWord.cc:215
edm::InputTag
Definition: InputTag.h:15
L1TBPTX::INJINTR
Definition: L1TBPTX.h:75
L1GlobalTriggerReadoutRecord::gtFdlVector
const std::vector< L1GtFdlWord > gtFdlVector() const
get the vector of L1GtFdlWord
Definition: L1GlobalTriggerReadoutRecord.h:119
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
L1TBPTX::WARNING_DB_QUERY_FAILED
Definition: L1TBPTX.h:98
PDWG_DiPhoton_SD_cff.triggerName
triggerName
Definition: PDWG_DiPhoton_SD_cff.py:37
BeamConfiguration::beam1
std::vector< bool > beam1
Definition: L1TOMDSHelper.h:38