CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

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 edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 

Public Member Functions

 L1TBPTX (const edm::ParameterSet &ps)
 
virtual ~L1TBPTX ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 
virtual void beginLuminosityBlock (edm::LuminosityBlock const &lumiBlock, edm::EventSetup const &c)
 
virtual void bookHistograms (DQMStore::IBooker &ibooker, const edm::Run &, const edm::EventSetup &) override
 BeginRun. More...
 
virtual void dqmBeginRun (const edm::Run &, const edm::EventSetup &)
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &lumiBlock, edm::EventSetup const &c)
 
- Protected Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- 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 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
< L1GlobalTriggerReadoutRecord
m_l1GtDataDaqInputTag
 
edm::EDGetTokenT
< L1GlobalTriggerEvmReadoutRecord
m_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
< Level1TriggerScalersCollection
m_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 DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 72 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 76 of file L1TBPTX.h.

76  {
77  NOMODE=1,
78  SETUP=2,
79  INJPILOT=3,
80  INJINTR=4,
81  INJNOMN=5,
82  PRERAMP=6,
83  RAMP=7,
84  FLATTOP=8,
85  SQUEEZE=9,
86  ADJUST=10,
87  STABLE=11,
88  UNSTABLE=12,
89  BEAMDUMP=13,
90  RAMPDOWN=14,
91  RECOVERY=15,
92  INJDUMP=16,
93  CIRCDUMP=17,
94  ABORT=18,
95  CYCLING=19,
96  WBDUMP=20,
97  NOBEAM=21
98  };
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 100 of file L1TBPTX.h.

Constructor & Destructor Documentation

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

Definition at line 32 of file L1TBPTX.cc.

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

32  {
33 
34  m_parameters = pset;
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 
47  // Algorithms
48  if(m_monitorBits[i].getParameter<bool>("bitType")){
49 
50  int bit = m_monitorBits[i].getParameter<int>("bitNumber");
51  int offset = m_monitorBits[i].getParameter<int>("bitOffset");
52  m_selAlgoBit.push_back( pair<int,int>(bit,offset) );
53  }
54  // Tech
55  else{
56  int bit = m_monitorBits[i].getParameter<int>("bitNumber");
57  int offset = m_monitorBits[i].getParameter<int>("bitOffset");
58  m_selTechBit.push_back( pair<int,int>(bit,offset) );
59  }
60  }
61 
62  m_monitorRates = pset.getParameter< vector<ParameterSet> >("MonitorRates");
63 
64 }
int i
Definition: DBlmapReader.cc:9
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_l1GtDataDaqInputTag
Definition: L1TBPTX.h:187
std::vector< std::pair< int, int > > m_selAlgoBit
Definition: L1TBPTX.h:160
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > m_l1GtEvmSource
Definition: L1TBPTX.h:186
std::vector< std::pair< int, int > > m_selTechBit
Definition: L1TBPTX.h:161
bool m_verbose
Definition: L1TBPTX.h:141
edm::ParameterSet m_parameters
Definition: L1TBPTX.h:135
std::vector< edm::ParameterSet > m_monitorRates
Definition: L1TBPTX.h:137
std::vector< edm::ParameterSet > m_monitorBits
Definition: L1TBPTX.h:136
edm::EDGetTokenT< Level1TriggerScalersCollection > m_scalersSource
Definition: L1TBPTX.h:185
L1TBPTX::~L1TBPTX ( )
virtual

Definition at line 68 of file L1TBPTX.cc.

68 {}

Member Function Documentation

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

Implements edm::stream::EDAnalyzerBase.

Definition at line 312 of file L1TBPTX.cc.

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

312  {
313 
314  if(m_verbose){cout << "[L1TBPTX] Called analyze." << endl;}
315 
316  // We only start analyzing if current LS is still valid
317  if(m_currentLSValid){
318 
319  if(m_verbose){cout << "[L1TBPTX] -> m_currentLSValid=" << m_currentLSValid << endl;}
320 
321  // Retriving information from GT
323  iEvent.getByToken(m_l1GtEvmSource, gtEvmReadoutRecord);
324 
325  // Determining beam mode and fill number
326  if(gtEvmReadoutRecord.isValid()){
327 
328  const L1GtfeExtWord& gtfeEvmWord = gtEvmReadoutRecord->gtfeWord();
329  unsigned int lhcBeamMode = gtfeEvmWord.beamMode(); // Updating beam mode
330 
331  if(m_verbose){cout << "[L1TBPTX] Beam mode: "<< lhcBeamMode << endl;}
332 
333  if(lhcBeamMode==RAMP || lhcBeamMode==FLATTOP || lhcBeamMode==SQUEEZE || lhcBeamMode==ADJUST || lhcBeamMode==STABLE){
334 
335  if(m_lhcFill==0){
336 
337  if(m_verbose){cout << "[L1TBPTX] No valid bunch structure yet retrived. Attemptting to retrive..." << endl;}
338 
339  m_lhcFill = gtfeEvmWord.lhcFillNumber(); // Getting LHC Fill Number from GT
340 
341  getBeamConfOMDS(); // Getting Beam Configuration from OMDS
342 
343  // We are between RAMP and STABLE so there should be some colliding bunches
344  // in the machine. If 0 colliding bunched are found might be due to a delay
345  // of the update of the database. So we declare this LS as invalid and try
346  // again on the next one.
348  m_lhcFill=0;
349  m_currentLSValid=false;
350  }
351  }
352  }
353  else{m_currentLSValid=false;}
354 
355  }else{
356  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(ERROR_UNABLE_RETRIVE_PRODUCT);
357  eCount++;
358  m_ErrorMonitor->getTH1()->SetBinContent(ERROR_UNABLE_RETRIVE_PRODUCT,eCount);
359  }
360  }
361 
362  //______________________________________________________________________________
363  // If current LS is valid and Beam Configuration is Valid we analyse this event
364  //______________________________________________________________________________
366 
367  if(m_verbose){cout << "Current event in valid LS and beam config" << endl;}
368 
369  // Getting Final Decision Logic (FDL) Data from GT
370  edm::Handle<L1GlobalTriggerReadoutRecord> gtReadoutRecordData;
371  iEvent.getByToken(m_l1GtDataDaqInputTag, gtReadoutRecordData);
372 
373  if(gtReadoutRecordData.isValid()){
374 
375  const vector<L1GtFdlWord>& gtFdlVectorData = gtReadoutRecordData->gtFdlVector();
376 
377  // Getting the index for the fdl data for this event
378  int eventFDL=0;
379  for(unsigned int i=0; i<gtFdlVectorData.size(); i++){
380  if(gtFdlVectorData[i].bxInEvent()==0){eventFDL=i; break;}
381  }
382 
383  m_currentPrescalesIndex = gtFdlVectorData[eventFDL].gtPrescaleFactorIndexAlgo();
384 
385  for(unsigned i=0; i<m_monitorBits.size(); i++){
386 
387  TString triggerName = "";
388  bool isAlgo = m_monitorBits[i].getParameter<bool>("bitType");
389  int bit = m_monitorBits[i].getParameter<int> ("bitNumber");
390  int offset = m_monitorBits[i].getParameter<int> ("bitOffset");
391 
392  if(isAlgo){triggerName = "algo_"+bit;}
393  else {triggerName = "tech_"+bit;}
394 
395  int evBxStart = -2;
396  int evBxEnd = 2;
397 
398  if(offset<0){evBxStart+=-1*offset;}
399  if(offset>0){evBxEnd +=-1*offset;}
400 
401  for(unsigned a=0; a<gtFdlVectorData.size(); a++){
402 
403  int testBx = gtFdlVectorData[a].localBxNr()-offset;
404  bool lhcBxFilled = m_beamConfig.beam1[testBx] && m_beamConfig.beam2[testBx];
405  bool algoFired = false;
406 
407  if(isAlgo){
408  if(gtFdlVectorData[a].gtDecisionWord()[bit]){algoFired=true;}
409 
410  }
411  else{
412  if(gtFdlVectorData[a].gtTechnicalTriggerWord()[bit]){algoFired=true;}
413  }
414 
415  if(lhcBxFilled) {m_effDenominator[triggerName]++;}
416  if(lhcBxFilled && algoFired){m_effNumerator [triggerName]++;}
417 
418  if(algoFired) {m_missFireNumerator[triggerName]++;}
419  if(algoFired && !lhcBxFilled){m_missFireNumerator[triggerName]++;}
420 
421  }
422  }
423  }
424  }
425 
426  //______________________________________________________________________________
427  // Rate calculation
428  //______________________________________________________________________________
430  iEvent.getByToken(m_scalersSource,triggerScalers);
431 
432  if(triggerScalers.isValid()){
433 
434  Level1TriggerScalersCollection::const_iterator itL1TScalers = triggerScalers->begin();
435  Level1TriggerRates trigRates(*itL1TScalers,iEvent.id().run());
436 
437  m_currentGTLS= (*itL1TScalers).lumiSegmentNr();
438 
439  for(unsigned i=0; i<m_monitorRates.size(); i++){
440 
441  bool isAlgo = m_monitorRates[i].getParameter<bool>("bitType");
442  int bit = m_monitorRates[i].getParameter<int> ("bitNumber");
443 
444  pair<bool,int> refTrig = pair<bool,int>(isAlgo,bit);
445 
446  if(isAlgo){m_l1Rate[refTrig] = trigRates.gtAlgoCountsRate()[bit];}
447  else {m_l1Rate[refTrig] = trigRates.gtTechCountsRate()[bit];}
448  }
449  }
450 }
int i
Definition: DBlmapReader.cc:9
unsigned int m_lhcFill
Definition: L1TBPTX.h:156
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_l1GtDataDaqInputTag
Definition: L1TBPTX.h:187
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > m_l1GtEvmSource
Definition: L1TBPTX.h:186
BeamConfiguration m_beamConfig
Definition: L1TBPTX.h:159
int iEvent
Definition: GenABIO.cc:230
bool m_verbose
Definition: L1TBPTX.h:141
std::map< TString, int > m_effDenominator
Definition: L1TBPTX.h:147
TH1 * getTH1(void) const
int m_currentPrescalesIndex
Definition: L1TBPTX.h:152
bool isValid() const
Definition: HandleBase.h:75
std::vector< edm::ParameterSet > m_monitorRates
Definition: L1TBPTX.h:137
bool m_currentLSValid
Definition: L1TBPTX.h:142
const cms_uint32_t lhcFillNumber() const
std::vector< edm::ParameterSet > m_monitorBits
Definition: L1TBPTX.h:136
unsigned int m_currentGTLS
Definition: L1TBPTX.h:154
std::map< TString, int > m_effNumerator
Definition: L1TBPTX.h:146
double a
Definition: hdecay.h:121
std::map< std::pair< bool, int >, double > m_l1Rate
Definition: L1TBPTX.h:179
std::vector< bool > beam2
Definition: L1TOMDSHelper.h:38
void getBeamConfOMDS()
Definition: L1TBPTX.cc:457
tuple cout
Definition: gather_cfg.py:121
std::vector< bool > beam1
Definition: L1TOMDSHelper.h:37
const cms_uint16_t beamMode() const
MonitorElement * m_ErrorMonitor
Definition: L1TBPTX.h:182
edm::EDGetTokenT< Level1TriggerScalersCollection > m_scalersSource
Definition: L1TBPTX.h:185
std::map< TString, int > m_missFireNumerator
Definition: L1TBPTX.h:148
void L1TBPTX::beginLuminosityBlock ( edm::LuminosityBlock const &  lumiBlock,
edm::EventSetup const &  c 
)
protectedvirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 203 of file L1TBPTX.cc.

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

203  {
204 
205  if (m_verbose){cout << "[L1TBPTX] Called beginLuminosityBlock." << endl;}
206 
207  // Updating current LS number
208  m_currentLS = lumiBlock.id().luminosityBlock();
209 
210  // A LS will be valid if BeamMode==STABLE for all events monitored
211  m_currentLSValid = true;
212 
213  for(unsigned i=0; i<m_monitorBits.size(); i++){
214 
215  TString triggerName = "";
216  if(m_monitorBits[i].getParameter<bool>("bitType")){
217  triggerName = "algo_"+m_monitorBits[i].getParameter<int>("bitNumber");
218  }else{
219  triggerName = "tech_"+m_monitorBits[i].getParameter<int>("bitNumber");
220  }
221 
222  m_effNumerator [triggerName] = 0;
223  m_effDenominator [triggerName] = 0;
224  m_missFireNumerator [triggerName] = 0;
225  m_missFireDenominator[triggerName] = 0;
226 
227  }
228 
229 }
int i
Definition: DBlmapReader.cc:9
unsigned int m_currentLS
Definition: L1TBPTX.h:153
bool m_verbose
Definition: L1TBPTX.h:141
std::map< TString, int > m_effDenominator
Definition: L1TBPTX.h:147
bool m_currentLSValid
Definition: L1TBPTX.h:142
std::map< TString, int > m_missFireDenominator
Definition: L1TBPTX.h:149
std::vector< edm::ParameterSet > m_monitorBits
Definition: L1TBPTX.h:136
std::map< TString, int > m_effNumerator
Definition: L1TBPTX.h:146
tuple cout
Definition: gather_cfg.py:121
std::map< TString, int > m_missFireNumerator
Definition: L1TBPTX.h:148
void L1TBPTX::bookHistograms ( DQMStore::IBooker ibooker,
const edm::Run iRun,
const edm::EventSetup iSetup 
)
overrideprotectedvirtual

BeginRun.

Implements DQMEDAnalyzer.

Definition at line 73 of file L1TBPTX.cc.

References ecalcalib_dqm_sourceclient-live_cfg::algo, DQMStore::IBooker::book1D(), gather_cfg::cout, edm::EventSetup::get(), L1GtTriggerMenu::gtAlgorithmAliasMap(), L1GtPrescaleFactors::gtPrescaleFactors(), L1GtTriggerMenu::gtTechnicalTriggerMap(), i, edm::ESHandleBase::isValid(), relval_steps::menu, edm::ESHandle< class >::product(), MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), and pat::UNKNOWN.

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

Definition at line 541 of file L1TBPTX.cc.

541  {
542 
543 }
void L1TBPTX::doFractionInSync ( bool  iForce = false,
bool  iBad = false 
)
private

Definition at line 528 of file L1TBPTX.cc.

528  {
529 
530 }
void L1TBPTX::dqmBeginRun ( const edm::Run ,
const edm::EventSetup  
)
protectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 196 of file L1TBPTX.cc.

196  {
197  //empty
198 }
void L1TBPTX::endLuminosityBlock ( edm::LuminosityBlock const &  lumiBlock,
edm::EventSetup const &  c 
)
protectedvirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 235 of file L1TBPTX.cc.

References newFWLiteAna::bin, gather_cfg::cout, and i.

235  {
236 
237  //______________________________________________________________________________
238  // Monitoring efficiencies
239  //______________________________________________________________________________
240  if(m_verbose){cout << "[L1TBPTX] Called endLuminosityBlock." << endl;}
241 
242  // If this LS is valid (i.e. all events recorded with stable beams)
244 
245  for(unsigned i=0; i<m_monitorBits.size(); i++){
246 
247  bool isAlgo = m_monitorBits[i].getParameter<bool> ("bitType");
248  TString testName = m_monitorBits[i].getParameter<string>("testName");
249  int bit = m_monitorBits[i].getParameter<int> ("bitNumber");
250 
251  TString triggerName;
252  if(isAlgo){triggerName = "algo_"+bit;}
253  else {triggerName = "tech_"+bit;}
254 
255  double valEff;
256  double valMiss;
257  if(m_effDenominator[triggerName]!=0) {valEff = (double)m_effNumerator[triggerName]/m_effDenominator[triggerName];}
258  else {valEff = 0;}
259  if(m_missFireDenominator[triggerName]!=0){valMiss = (double)m_missFireNumerator[triggerName]/m_missFireDenominator[triggerName];}
260  else {valMiss = 0;}
261 
262  if(isAlgo){
263  int bin = m_meAlgoEfficiency[bit]->getTH1()->FindBin(m_currentLS);
264  m_meAlgoEfficiency[bit]->setBinContent(bin,valEff);
265  m_meAlgoMissFire[bit] ->setBinContent(bin,1-valMiss);
266  }
267  else{
268  int bin = m_meTechEfficiency[bit]->getTH1()->FindBin(m_currentLS);
269  m_meTechEfficiency[bit]->setBinContent(bin,valEff);
270  m_meTechMissFire[bit] ->setBinContent(bin,1-valMiss);
271  }
272  }
273  }
274 
275  //______________________________________________________________________________
276  // Monitoring rates
277  //______________________________________________________________________________
278  // We are only interested in monitoring lumisections where the the LHC state is
279  // RAMP, FLATTOP, SQUEEZE, ADJUST or STABLE since the bunch configuration and
280  // therefore the BPTX rate will not change.
281 
282  if(m_currentLSValid){
283 
284  const vector<int>& currentPFAlgo = (*m_prescaleFactorsAlgoTrig).at(m_currentPrescalesIndex);
285  const vector<int>& currentPFTech = (*m_prescaleFactorsTechTrig).at(m_currentPrescalesIndex);
286 
287  for(unsigned i=0; i<m_monitorRates.size(); i++){
288 
289  bool isAlgo = m_monitorRates[i].getParameter<bool> ("bitType");
290  int bit = m_monitorRates[i].getParameter<int> ("bitNumber");
291 
292  pair<bool,int> refME = pair<bool,int>(isAlgo,bit);
293 
294  if(isAlgo){
295  int bin = m_meRate[refME]->getTH1()->FindBin(m_currentGTLS);
296  int trigPS = currentPFAlgo[bit];
297  double trigRate = (double) trigPS*m_l1Rate[refME];
298  m_meRate[refME]->setBinContent(bin,trigRate);
299 
300  }else{
301  int bin = m_meRate[refME]->getTH1()->FindBin(m_currentGTLS);
302  int trigPS = currentPFTech[bit];
303  double trigRate = (double) trigPS*m_l1Rate[refME];
304  m_meRate[refME]->setBinContent(bin,trigRate);
305  }
306  }
307  }
308 }
std::map< TString, MonitorElement * > m_meTechEfficiency
Definition: L1TBPTX.h:174
int i
Definition: DBlmapReader.cc:9
std::map< TString, MonitorElement * > m_meAlgoEfficiency
Definition: L1TBPTX.h:172
unsigned int m_currentLS
Definition: L1TBPTX.h:153
BeamConfiguration m_beamConfig
Definition: L1TBPTX.h:159
std::map< std::pair< bool, int >, MonitorElement * > m_meRate
Definition: L1TBPTX.h:178
std::map< TString, MonitorElement * > m_meAlgoMissFire
Definition: L1TBPTX.h:173
bool m_verbose
Definition: L1TBPTX.h:141
std::map< TString, int > m_effDenominator
Definition: L1TBPTX.h:147
int m_currentPrescalesIndex
Definition: L1TBPTX.h:152
std::vector< edm::ParameterSet > m_monitorRates
Definition: L1TBPTX.h:137
bool m_currentLSValid
Definition: L1TBPTX.h:142
std::map< TString, int > m_missFireDenominator
Definition: L1TBPTX.h:149
std::vector< edm::ParameterSet > m_monitorBits
Definition: L1TBPTX.h:136
unsigned int m_currentGTLS
Definition: L1TBPTX.h:154
std::map< TString, int > m_effNumerator
Definition: L1TBPTX.h:146
std::map< TString, MonitorElement * > m_meTechMissFire
Definition: L1TBPTX.h:175
std::map< std::pair< bool, int >, double > m_l1Rate
Definition: L1TBPTX.h:179
tuple cout
Definition: gather_cfg.py:121
std::map< TString, int > m_missFireNumerator
Definition: L1TBPTX.h:148
void L1TBPTX::getBeamConfOMDS ( )
private

Definition at line 457 of file L1TBPTX.cc.

References gather_cfg::cout, L1TOMDSHelper::NO_ERROR, pat::UNKNOWN, L1TOMDSHelper::WARNING_DB_CONN_FAILED, L1TOMDSHelper::WARNING_DB_INCORRECT_NBUNCHES, and L1TOMDSHelper::WARNING_DB_QUERY_FAILED.

457  {
458 
459  if(m_verbose){cout << "[L1TBPTX] Called getBeamConfOMDS()" << endl;}
460 
461  //Getting connection paremeters
462  string oracleDB = m_parameters.getParameter<string>("oracleDB");
463  string pathCondDB = m_parameters.getParameter<string>("pathCondDB");
464 
465  // Connecting to OMDS
466  L1TOMDSHelper myOMDSHelper = L1TOMDSHelper();
467  int conError;
468  myOMDSHelper.connect(oracleDB,pathCondDB,conError);
469 
470  if(conError == L1TOMDSHelper::NO_ERROR){
471 
472  if(m_verbose){cout << "[L1TBPTX] Connected to DB with no error." << endl;}
473 
474  int errorRetrive;
475  m_beamConfig = myOMDSHelper.getBeamConfiguration(m_lhcFill,errorRetrive);
476 
477  if(errorRetrive == L1TOMDSHelper::NO_ERROR){
478  if(m_verbose){
479  cout << "[L1TBPTX] Retriving LHC Bunch Structure: NO_ERROR" << endl;
480  cout << "[L1TSync] -> LHC Bunch Structure valid=" << m_beamConfig.m_valid << " nBunches=" << m_beamConfig.nCollidingBunches << endl;
481  }
482  }
483  else if(errorRetrive == L1TOMDSHelper::WARNING_DB_QUERY_FAILED){
484  if(m_verbose){cout << "[L1TBPTX] Retriving LHC Bunch Structure: WARNING_DB_QUERY_FAILED" << endl;}
485 
486  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(WARNING_DB_QUERY_FAILED);
487  eCount++;
488  m_ErrorMonitor->getTH1()->SetBinContent(WARNING_DB_QUERY_FAILED,eCount);
489  }
490  else if(errorRetrive == L1TOMDSHelper::WARNING_DB_INCORRECT_NBUNCHES){
491  if(m_verbose){cout << "[L1TBPTX] Retriving LHC Bunch Structure: WARNING_DB_INCORRECT_NBUNCHES" << endl;}
492 
493  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(WARNING_DB_INCORRECT_NBUNCHES);
494  eCount++;
495  m_ErrorMonitor->getTH1()->SetBinContent(WARNING_DB_INCORRECT_NBUNCHES,eCount);
496  }
497  else{
498  if(m_verbose){cout << "[L1TBPTX] Retriving LHC Bunch Structure: UNKNOWN" << endl;}
499  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(UNKNOWN);
500  eCount++;
501  m_ErrorMonitor->getTH1()->SetBinContent(UNKNOWN,eCount);
502  }
503 
504  }
505  else if(conError == L1TOMDSHelper::WARNING_DB_CONN_FAILED){
506  if(m_verbose){cout << "[L1TBPTX] Connection to DB: WARNING_DB_CONN_FAILED" << endl;}
507  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(WARNING_DB_CONN_FAILED);
508  eCount++;
509  m_ErrorMonitor->getTH1()->SetBinContent(WARNING_DB_CONN_FAILED,eCount);
510  }
511  else{
512  if(m_verbose){cout << "[L1TBPTX] Connection to DB: UNKNOWN" << endl;}
513  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(UNKNOWN);
514  eCount++;
515  m_ErrorMonitor->getTH1()->SetBinContent(UNKNOWN,eCount);
516  }
517 }
T getParameter(std::string const &) const
unsigned int m_lhcFill
Definition: L1TBPTX.h:156
BeamConfiguration m_beamConfig
Definition: L1TBPTX.h:159
bool m_verbose
Definition: L1TBPTX.h:141
edm::ParameterSet m_parameters
Definition: L1TBPTX.h:135
TH1 * getTH1(void) const
tuple cout
Definition: gather_cfg.py:121
MonitorElement * m_ErrorMonitor
Definition: L1TBPTX.h:182

Member Data Documentation

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

Definition at line 168 of file L1TBPTX.h.

BeamConfiguration L1TBPTX::m_beamConfig
private

Definition at line 159 of file L1TBPTX.h.

unsigned int L1TBPTX::m_currentGTLS
private

Definition at line 154 of file L1TBPTX.h.

unsigned int L1TBPTX::m_currentLS
private

Definition at line 153 of file L1TBPTX.h.

bool L1TBPTX::m_currentLSValid
private

Definition at line 142 of file L1TBPTX.h.

int L1TBPTX::m_currentPrescalesIndex
private

Definition at line 152 of file L1TBPTX.h.

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

Definition at line 147 of file L1TBPTX.h.

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

Definition at line 146 of file L1TBPTX.h.

MonitorElement* L1TBPTX::m_ErrorMonitor
private

Definition at line 182 of file L1TBPTX.h.

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

Definition at line 187 of file L1TBPTX.h.

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

Definition at line 186 of file L1TBPTX.h.

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

Definition at line 179 of file L1TBPTX.h.

unsigned int L1TBPTX::m_lhcFill
private

Definition at line 156 of file L1TBPTX.h.

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

Definition at line 172 of file L1TBPTX.h.

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

Definition at line 173 of file L1TBPTX.h.

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

Definition at line 178 of file L1TBPTX.h.

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

Definition at line 174 of file L1TBPTX.h.

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

Definition at line 175 of file L1TBPTX.h.

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

Definition at line 149 of file L1TBPTX.h.

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

Definition at line 148 of file L1TBPTX.h.

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

Definition at line 136 of file L1TBPTX.h.

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

Definition at line 137 of file L1TBPTX.h.

std::string L1TBPTX::m_outputFile
private

Definition at line 138 of file L1TBPTX.h.

edm::ParameterSet L1TBPTX::m_parameters
private

Definition at line 135 of file L1TBPTX.h.

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

Definition at line 164 of file L1TBPTX.h.

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

Definition at line 165 of file L1TBPTX.h.

bool* L1TBPTX::m_processedLS
private

Definition at line 143 of file L1TBPTX.h.

int L1TBPTX::m_refPrescaleSet
private

Definition at line 151 of file L1TBPTX.h.

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

Definition at line 185 of file L1TBPTX.h.

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

Definition at line 160 of file L1TBPTX.h.

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

Definition at line 161 of file L1TBPTX.h.

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

Definition at line 169 of file L1TBPTX.h.

bool L1TBPTX::m_verbose
private

Definition at line 141 of file L1TBPTX.h.