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
L1TSync Class Reference

#include <L1TSync.h>

Inheritance diagram for L1TSync:
edm::EDAnalyzer

Public Types

enum  BeamMode {
  NOMODE =1, SETUP =2, INJPILOT =3, INJINTR =4,
  INJNOMN =5, PRERAMP =6, RAMP =7, FLATTOP =8,
  QUEEZE =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::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 

Public Member Functions

 L1TSync (const edm::ParameterSet &ps)
 
virtual ~L1TSync ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 
void beginJob ()
 
virtual void beginLuminosityBlock (edm::LuminosityBlock const &lumiBlock, edm::EventSetup const &c)
 
void beginRun (const edm::Run &run, const edm::EventSetup &iSetup)
 BeginRun. More...
 
void endJob (void)
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &lumiBlock, edm::EventSetup const &c)
 
void endRun (const edm::Run &run, const edm::EventSetup &iSetup)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

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

DQMStoredbe
 
const std::vector< std::vector
< int > > * 
ListsPrescaleFactors
 
std::map< std::string, bool > m_algoAutoSelect
 
std::map< TString, int > m_algoBit
 
std::map< TString,
MonitorElement * > 
m_algoCertification
 
std::map< TString,
MonitorElement * > 
m_algoVsBunchStructure
 
BeamConfiguration m_beamConfig
 
std::map< TString, unsigned int > m_certFirstLS
 
std::map< TString, unsigned int > m_certLastLS
 
unsigned int m_currentLS
 
bool m_currentLSValid
 
MonitorElementm_ErrorMonitor
 
edm::InputTag m_l1GtDataDaqInputTag
 
edm::InputTag m_l1GtEvmSource
 
unsigned int m_lhcFill
 
std::string m_outputFile
 
edm::ParameterSet m_parameters
 
bool * m_processedLS
 
int m_refPrescaleSet
 
edm::InputTag m_scalersSource
 
std::map< std::string,
std::string > 
m_selectedTriggers
 
bool m_verbose
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Definition at line 41 of file L1TSync.h.

Member Enumeration Documentation

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

Definition at line 45 of file L1TSync.h.

45  {
46  NOMODE=1,
47  SETUP=2,
48  INJPILOT=3,
49  INJINTR=4,
50  INJNOMN=5,
51  PRERAMP=6,
52  RAMP=7,
53  FLATTOP=8,
54  QUEEZE=9,
55  ADJUST=10,
56  STABLE=11,
57  UNSTABLE=12,
58  BEAMDUMP=13,
59  RAMPDOWN=14,
60  RECOVERY=15,
61  INJDUMP=16,
62  CIRCDUMP=17,
63  ABORT=18,
64  CYCLING=19,
65  WBDUMP=20,
66  NOBEAM=21
67  };
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 69 of file L1TSync.h.

Constructor & Destructor Documentation

L1TSync::L1TSync ( const edm::ParameterSet ps)

Definition at line 45 of file L1TSync.cc.

References gather_cfg::cout, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), NULL, and cppFunctionSkipper::operator.

45  {
46 
47  m_parameters = pset;
48 
49  // Mapping parameter input variables
50  m_scalersSource = pset.getParameter <InputTag>("inputTagScalersResults");
51  m_l1GtDataDaqInputTag = pset.getParameter <InputTag>("inputTagL1GtDataDaq");
52  m_l1GtEvmSource = pset.getParameter <InputTag>("inputTagtEvmSource");
53  m_verbose = pset.getUntrackedParameter<bool> ("verbose",false);
54  m_refPrescaleSet = pset.getParameter <int> ("refPrescaleSet");
55 
56  // Getting which categories to monitor
57  ParameterSet Categories = pset.getParameter< ParameterSet >("Categories");
58 
59  bool forceGlobalParameters = Categories.getParameter<bool>("forceGlobalParameters");
60  bool doGlobalAutoSelection = Categories.getParameter<bool>("doGlobalAutoSelection");
61 
62  ParameterSet CatBPTX = Categories.getParameter<ParameterSet>("BPTX");
63  ParameterSet CatMu = Categories.getParameter<ParameterSet>("Mu");
64  ParameterSet CatEG = Categories.getParameter<ParameterSet>("EG");
65  ParameterSet CatIsoEG = Categories.getParameter<ParameterSet>("IsoEG");
66  ParameterSet CatJet = Categories.getParameter<ParameterSet>("Jet");
67  ParameterSet CatCenJet = Categories.getParameter<ParameterSet>("CenJet");
68  ParameterSet CatForJet = Categories.getParameter<ParameterSet>("ForJet");
69  ParameterSet CatTauJet = Categories.getParameter<ParameterSet>("TauJet");
70  ParameterSet CatETM = Categories.getParameter<ParameterSet>("ETT");
71  ParameterSet CatETT = Categories.getParameter<ParameterSet>("ETM");
72  ParameterSet CatHTT = Categories.getParameter<ParameterSet>("HTT");
73  ParameterSet CatHTM = Categories.getParameter<ParameterSet>("HTM");
74 
75  // --> Setting parameters related to which algos to monitor
76  // If global parameters are forced they take precedence over algo-by-algo parameters
77  if(forceGlobalParameters){
78 
79  // If global automatic selection if enable all categories set to be monitored will have
80  // their algos auto selected (the lowest prescale algo will be selected)
81  if(doGlobalAutoSelection){
82 
83  if(CatMu .getParameter<bool>("monitor")){m_algoAutoSelect["Mu"] = true;}else{m_algoAutoSelect["Mu"] = false;}
84  if(CatEG .getParameter<bool>("monitor")){m_algoAutoSelect["EG"] = true;}else{m_algoAutoSelect["EG"] = false;}
85  if(CatIsoEG .getParameter<bool>("monitor")){m_algoAutoSelect["IsoEG"] = true;}else{m_algoAutoSelect["IsoEG"] = false;}
86  if(CatJet .getParameter<bool>("monitor")){m_algoAutoSelect["Jet"] = true;}else{m_algoAutoSelect["Jet"] = false;}
87  if(CatCenJet.getParameter<bool>("monitor")){m_algoAutoSelect["CenJet"] = true;}else{m_algoAutoSelect["CenJet"] = false;}
88  if(CatForJet.getParameter<bool>("monitor")){m_algoAutoSelect["ForJet"] = true;}else{m_algoAutoSelect["ForJet"] = false;}
89  if(CatTauJet.getParameter<bool>("monitor")){m_algoAutoSelect["TauJet"] = true;}else{m_algoAutoSelect["TauJet"] = false;}
90  if(CatETM .getParameter<bool>("monitor")){m_algoAutoSelect["ETM"] = true;}else{m_algoAutoSelect["ETM"] = false;}
91  if(CatETT .getParameter<bool>("monitor")){m_algoAutoSelect["ETT"] = true;}else{m_algoAutoSelect["ETT"] = false;}
92  if(CatHTM .getParameter<bool>("monitor")){m_algoAutoSelect["HTM"] = true;}else{m_algoAutoSelect["HTM"] = false;}
93  if(CatHTT .getParameter<bool>("monitor")){m_algoAutoSelect["HTT"] = true;}else{m_algoAutoSelect["HTT"] = false;}
94 
95  // If global non-automatic selection is enable all categories set to be monitored will use
96  // user defined algos
97  }else{
98 
99  m_algoAutoSelect["Mu"] = false;
100  m_algoAutoSelect["EG"] = false;
101  m_algoAutoSelect["IsoEG"] = false;
102  m_algoAutoSelect["Jet"] = false;
103  m_algoAutoSelect["CenJet"] = false;
104  m_algoAutoSelect["ForJet"] = false;
105  m_algoAutoSelect["TauJet"] = false;
106  m_algoAutoSelect["ETM"] = false;
107  m_algoAutoSelect["ETT"] = false;
108  m_algoAutoSelect["HTM"] = false;
109  m_algoAutoSelect["HTT"] = false;
110 
111  if(CatMu .getParameter<bool>("monitor")){m_selectedTriggers["Mu"] = CatMu .getParameter<string>("algo");}
112  if(CatEG .getParameter<bool>("monitor")){m_selectedTriggers["EG"] = CatEG .getParameter<string>("algo");}
113  if(CatIsoEG .getParameter<bool>("monitor")){m_selectedTriggers["IsoEG"] = CatIsoEG .getParameter<string>("algo");}
114  if(CatJet .getParameter<bool>("monitor")){m_selectedTriggers["Jet"] = CatJet .getParameter<string>("algo");}
115  if(CatCenJet.getParameter<bool>("monitor")){m_selectedTriggers["CenJet"] = CatCenJet.getParameter<string>("algo");}
116  if(CatForJet.getParameter<bool>("monitor")){m_selectedTriggers["CatForJet"] = CatForJet.getParameter<string>("algo");}
117  if(CatTauJet.getParameter<bool>("monitor")){m_selectedTriggers["TauJet"] = CatTauJet.getParameter<string>("algo");}
118  if(CatETM .getParameter<bool>("monitor")){m_selectedTriggers["ETM"] = CatETM .getParameter<string>("algo");}
119  if(CatETT .getParameter<bool>("monitor")){m_selectedTriggers["ETT"] = CatETT .getParameter<string>("algo");}
120  if(CatHTM .getParameter<bool>("monitor")){m_selectedTriggers["HTM"] = CatHTM .getParameter<string>("algo");}
121  if(CatHTT .getParameter<bool>("monitor")){m_selectedTriggers["HTT"] = CatHTT .getParameter<string>("algo");}
122 
123  }
124 
125  // If we are using algo-by-algo parametes we get them and set what is needed
126  }else{
127 
128  if(CatBPTX.getParameter<bool>("monitor")){
129  m_selectedTriggers["BPTX"] = CatBPTX.getParameter<string>("algo");
130  }
131 
132  if(CatMu.getParameter<bool>("monitor")){
133  m_algoAutoSelect["Mu"] = CatMu.getParameter<bool>("doAutoSelection");
134  if(!m_algoAutoSelect["Mu"]){m_selectedTriggers["Mu"] = CatMu.getParameter<string>("algo");}
135  }else{m_algoAutoSelect["Mu"] = false;}
136 
137  if(CatEG.getParameter<bool>("monitor")){
138  m_algoAutoSelect["EG"] = CatEG.getParameter<bool>("doAutoSelection");
139  if(!m_algoAutoSelect["EG"]){m_selectedTriggers["EG"] = CatEG.getParameter<string>("algo");}
140  }else{m_algoAutoSelect["EG"] = false;}
141 
142  if(CatIsoEG.getParameter<bool>("monitor")){
143  m_algoAutoSelect["IsoEG"] = CatIsoEG.getParameter<bool>("doAutoSelection");
144  if(!m_algoAutoSelect["IsoEG"]){m_selectedTriggers["IsoEG"] = CatIsoEG.getParameter<string>("algo");}
145  }else{m_algoAutoSelect["IsoEG"] = false;}
146 
147  if(CatJet.getParameter<bool>("monitor")){
148  m_algoAutoSelect["Jet"] = CatJet.getParameter<bool>("doAutoSelection");
149  if(!m_algoAutoSelect["Jet"]){m_selectedTriggers["Jet"] = CatJet.getParameter<string>("algo");}
150  }else{m_algoAutoSelect["Jet"] = false;}
151 
152  if(CatCenJet.getParameter<bool>("monitor")){
153  m_algoAutoSelect["CenJet"] = CatCenJet.getParameter<bool>("doAutoSelection");
154  if(!m_algoAutoSelect["CenJet"]){m_selectedTriggers["CenJet"] = CatCenJet.getParameter<string>("algo");}
155  }else{m_algoAutoSelect["CenJet"] = false;}
156 
157  if(CatForJet.getParameter<bool>("monitor")){
158  m_algoAutoSelect["CatForJet"] = CatForJet.getParameter<bool>("doAutoSelection");
159  if(!m_algoAutoSelect["CatForJet"]){m_selectedTriggers["CatForJet"] = CatForJet.getParameter<string>("algo");}
160  }else{m_algoAutoSelect["CatForJet"] = false;}
161 
162  if(CatTauJet.getParameter<bool>("monitor")){
163  m_algoAutoSelect["TauJet"] = CatTauJet.getParameter<bool>("doAutoSelection");
164  if(!m_algoAutoSelect["TauJet"]){m_selectedTriggers["TauJet"] = CatTauJet.getParameter<string>("algo");}
165  }else{m_algoAutoSelect["TauJet"] = false;}
166 
167  if(CatETM.getParameter<bool>("monitor")){
168  m_algoAutoSelect["ETM"] = CatETM.getParameter<bool>("doAutoSelection");
169  if(!m_algoAutoSelect["ETM"]){m_selectedTriggers["ETM"] = CatETM.getParameter<string>("algo");}
170  }else{m_algoAutoSelect["ETM"] = false;}
171 
172  if(CatETT.getParameter<bool>("monitor")){
173  m_algoAutoSelect["ETT"] = CatETT.getParameter<bool>("doAutoSelection");
174  if(!m_algoAutoSelect["ETT"]){m_selectedTriggers["ETT"] = CatETT.getParameter<string>("algo");}
175  }else{m_algoAutoSelect["ETT"] = false;}
176 
177  if(CatHTM.getParameter<bool>("monitor")){
178  m_algoAutoSelect["HTM"] = CatHTM.getParameter<bool>("doAutoSelection");
179  if(!m_algoAutoSelect["HTM"]){m_selectedTriggers["HTM"] = CatHTM.getParameter<string>("algo");}
180  }else{m_algoAutoSelect["HTM"] = false;}
181 
182  if(CatHTT.getParameter<bool>("monitor")){
183  m_algoAutoSelect["HTT"] = CatHTT.getParameter<bool>("doAutoSelection");
184  if(!m_algoAutoSelect["HTT"]){m_selectedTriggers["HTT"] = CatHTT.getParameter<string>("algo");}
185  }else{m_algoAutoSelect["HTT"] = false;}
186 
187  }
188 
189 
190  if (pset.getUntrackedParameter < bool > ("dqmStore", false)) {
192  dbe->setVerbose(0);
193  }
194 
195  m_outputFile = pset.getUntrackedParameter < std::string > ("outputFile","");
196 
197  if (m_outputFile.size() != 0) {
198  std::cout << "L1T Monitoring histograms will be saved to " << m_outputFile.c_str() << std::endl;
199  }
200 
201  bool disable = pset.getUntrackedParameter < bool > ("disableROOToutput", false);
202  if (disable) {m_outputFile = "";}
203 
204  if (dbe != NULL) {dbe->setCurrentFolder("L1T/L1TSync");}
205 
206 }
T getParameter(std::string const &) const
int m_refPrescaleSet
Definition: L1TSync.h:119
edm::InputTag m_l1GtDataDaqInputTag
Definition: L1TSync.h:145
#define NULL
Definition: scimark2.h:8
std::map< std::string, std::string > m_selectedTriggers
Definition: L1TSync.h:137
DQMStore * dbe
Definition: L1TSync.h:107
bool m_verbose
Definition: L1TSync.h:114
edm::InputTag m_l1GtEvmSource
Definition: L1TSync.h:144
std::string m_outputFile
Definition: L1TSync.h:111
std::map< std::string, bool > m_algoAutoSelect
Definition: L1TSync.h:136
void setVerbose(unsigned level)
Definition: DQMStore.cc:393
edm::ParameterSet m_parameters
Definition: L1TSync.h:109
tuple cout
Definition: gather_cfg.py:121
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:429
edm::InputTag m_scalersSource
Definition: L1TSync.h:143
L1TSync::~L1TSync ( )
virtual

Definition at line 210 of file L1TSync.cc.

210 {}

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 435 of file L1TSync.cc.

References a, abs, L1GtfeExtWord::beamMode(), gather_cfg::cout, edm::Event::getByLabel(), i, edm::HandleBase::isValid(), and L1GtfeExtWord::lhcFillNumber().

435  {
436 
437  if(m_verbose){cout << "[L1TSync] Called analyze." << endl;}
438 
439  // We only start analyzing if current LS is still valid
440  if(m_currentLSValid){
441 
442  if(m_verbose){cout << "[L1TSync] -> m_currentLSValid=" << m_currentLSValid << endl;}
443 
444  // Retriving information from GT
446  iEvent.getByLabel(m_l1GtEvmSource, gtEvmReadoutRecord);
447 
448  // Determining beam mode and fill number
449  if(gtEvmReadoutRecord.isValid()){
450 
451  const L1GtfeExtWord& gtfeEvmWord = gtEvmReadoutRecord->gtfeWord();
452  unsigned int lhcBeamMode = gtfeEvmWord.beamMode(); // Updating beam mode
453 
454  if(m_lhcFill == 0){
455  m_lhcFill = gtfeEvmWord.lhcFillNumber(); // Getting LHC Fill Number from GT
456  getBeamConfOMDS(); // Getting Beam Configuration from OMDS
457  }
458 
459  if(lhcBeamMode != STABLE){m_currentLSValid = false;} // If Beams are not stable we invalidate this LS
460 
461  }else{
462  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(ERROR_UNABLE_RETRIVE_PRODUCT);
463  eCount++;
464  m_ErrorMonitor->getTH1()->SetBinContent(ERROR_UNABLE_RETRIVE_PRODUCT,eCount);
465  }
466  }else{
467  if(m_verbose){cout << "[L1TSync] -> m_currentLSValid=" << m_currentLSValid << endl;}
468  }
469 
470  //------------------------------------------------------------------------------
471  // If current LS is valid and Beam Configuration is Valid we analyse this event
472  //------------------------------------------------------------------------------
474 
475  // Getting Final Decision Logic (FDL) Data from GT
476  edm::Handle<L1GlobalTriggerReadoutRecord> gtReadoutRecordData;
477  iEvent.getByLabel(m_l1GtDataDaqInputTag, gtReadoutRecordData);
478 
479  if(gtReadoutRecordData.isValid()){
480 
481  const vector<L1GtFdlWord>& gtFdlVectorData = gtReadoutRecordData->gtFdlVector();
482 
483  // Running over selected triggers
484  for(map<string,string>::const_iterator i=m_selectedTriggers.begin() ; i!=m_selectedTriggers.end() ; i++){
485 
486  string tTrigger = (*i).second;
487 
488  // Analyse only defined triggers
489  if(tTrigger != "Undefined" && tTrigger != "Undefined (Wrong Name)"){
490 
491  bool beamSingleConfig = false; // Single beam configured for this event
492  bool firedAlgo = false; // Algo fired in this event
493  int eventBx = -1;
494 
495  // Running over FDL results to get which bits fired
496  for(unsigned int a=0 ; a<gtFdlVectorData.size() ; a++){
497 
498  // Selecting the FDL that triggered
499  if(gtFdlVectorData[a].bxInEvent() == 0){
500  eventBx = gtFdlVectorData[a].localBxNr();
501  if(gtFdlVectorData[a].gtDecisionWord()[ m_algoBit[tTrigger] ]){firedAlgo = true;}
502  }
503  }
504 
505  // Checking beam configuration
506  if( m_beamConfig.beam1[eventBx] && !m_beamConfig.beam2[eventBx]){beamSingleConfig = true;}
507  if(!m_beamConfig.beam1[eventBx] && m_beamConfig.beam2[eventBx]){beamSingleConfig = true;}
508 
509  // Analyse only if this trigger fired in this event
510  // NOTE: Veto cases where a single beam is configured since
511  // for this cases this could be a real-satelite bunch collision
512  // -> Calculate the minimum bx diference between this event and a configured bx
513  if(firedAlgo && !beamSingleConfig){
514 
515  int DifAlgoVsBunchStructure = 9999; // Majorated
516 
517  for(unsigned int a=0 ; a<gtFdlVectorData.size() ; a++){
518 
519  int bxFDL = gtFdlVectorData[a].localBxNr();
520  int bxInEvent = gtFdlVectorData[a].bxInEvent();
521 
522  if(m_beamConfig.bxConfig(bxFDL) && abs(bxInEvent)<abs(DifAlgoVsBunchStructure)){
523  DifAlgoVsBunchStructure = -1*bxInEvent;
524  }
525  }
526 
527  m_algoVsBunchStructure[tTrigger]->Fill(m_currentLS,DifAlgoVsBunchStructure);
528 
529  }
530  }
531  }
532  }
533  else{
534  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(ERROR_UNABLE_RETRIVE_PRODUCT);
535  eCount++;
536  m_ErrorMonitor->getTH1()->SetBinContent(ERROR_UNABLE_RETRIVE_PRODUCT,eCount);
537  }
538 
539  }
540 }
int i
Definition: DBlmapReader.cc:9
edm::InputTag m_l1GtDataDaqInputTag
Definition: L1TSync.h:145
unsigned int m_lhcFill
Definition: L1TSync.h:122
#define abs(x)
Definition: mlp_lapack.h:159
std::map< std::string, std::string > m_selectedTriggers
Definition: L1TSync.h:137
BeamConfiguration m_beamConfig
Definition: L1TSync.h:125
bool m_verbose
Definition: L1TSync.h:114
edm::InputTag m_l1GtEvmSource
Definition: L1TSync.h:144
int iEvent
Definition: GenABIO.cc:243
std::map< TString, MonitorElement * > m_algoVsBunchStructure
Definition: L1TSync.h:135
TH1 * getTH1(void) const
bool bxConfig(int iBx)
Definition: L1TOMDSHelper.h:25
bool isValid() const
Definition: HandleBase.h:76
const cms_uint32_t lhcFillNumber() const
void getBeamConfOMDS()
Definition: L1TSync.cc:547
bool m_currentLSValid
Definition: L1TSync.h:115
double a
Definition: hdecay.h:121
std::vector< bool > beam2
Definition: L1TOMDSHelper.h:34
tuple cout
Definition: gather_cfg.py:121
MonitorElement * m_ErrorMonitor
Definition: L1TSync.h:140
std::map< TString, int > m_algoBit
Definition: L1TSync.h:131
std::vector< bool > beam1
Definition: L1TOMDSHelper.h:33
const cms_uint16_t beamMode() const
unsigned int m_currentLS
Definition: L1TSync.h:120
void L1TSync::beginJob ( void  )
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 214 of file L1TSync.cc.

References gather_cfg::cout, cppFunctionSkipper::operator, DQMStore::rmdir(), and DQMStore::setCurrentFolder().

214  {
215 
216  if (m_verbose){cout << "[L1TSync] Called beginJob." << endl;}
217 
218  // get hold of back-end interface
219  DQMStore *dbe = 0;
220  dbe = Service < DQMStore > ().operator->();
221 
222  if (dbe) {
223  dbe->setCurrentFolder("L1T/L1TSync");
224  dbe->rmdir("L1T/L1TSync");
225  }
226 
227 }
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2530
DQMStore * dbe
Definition: L1TSync.h:107
bool m_verbose
Definition: L1TSync.h:114
tuple cout
Definition: gather_cfg.py:121
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:429
void L1TSync::beginLuminosityBlock ( edm::LuminosityBlock const &  lumiBlock,
edm::EventSetup const &  c 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 321 of file L1TSync.cc.

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

321  {
322 
323  if (m_verbose){cout << "[L1TSync] Called beginLuminosityBlock." << endl;}
324 
325  // If this LS is not the next to last one force closing of current LS blocks
326  // for certification
327  if(m_currentLS !=0 && m_currentLS+1 != lumiBlock.id().luminosityBlock()){
328 
329  if (m_verbose){
330  cout << "[L1TSync] None consecutive: doFractionInSync() - LAST="
331  << m_currentLS << " CURRENT=" << lumiBlock.id().luminosityBlock() << endl;
332  }
333 
334  doFractionInSync(true,false);
335 
336  }
337 
338  // Updating current LS number
339  m_currentLS = lumiBlock.id().luminosityBlock();
340 
341  // If this is the fist valid LS update first LS for certification
342  for(map<string,string>::const_iterator i=m_selectedTriggers.begin() ; i!=m_selectedTriggers.end() ; i++){
343 
344  string theTriggerAlias = (*i).second;
345  if(m_certFirstLS[theTriggerAlias]==0){m_certFirstLS[theTriggerAlias] = m_currentLS;}
346 
347  }
348 
349  // A LS will be valid if:
350  // * BeamMode == STABLE for all events monitored
351  m_currentLSValid = true;
352 
353 }
int i
Definition: DBlmapReader.cc:9
void doFractionInSync(bool iForce=false, bool iBad=false)
Definition: L1TSync.cc:604
std::map< std::string, std::string > m_selectedTriggers
Definition: L1TSync.h:137
std::map< TString, unsigned int > m_certFirstLS
Definition: L1TSync.h:132
bool m_verbose
Definition: L1TSync.h:114
bool m_currentLSValid
Definition: L1TSync.h:115
tuple cout
Definition: gather_cfg.py:121
unsigned int m_currentLS
Definition: L1TSync.h:120
void L1TSync::beginRun ( const edm::Run run,
const edm::EventSetup iSetup 
)
protectedvirtual

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 245 of file L1TSync.cc.

References algo, gather_cfg::cout, edm::EventSetup::get(), L1TMenuHelper::getLUSOTrigger(), L1GtTriggerMenu::gtAlgorithmAliasMap(), i, edm::ESHandle< class >::product(), L1TMenuHelper::testAlgos(), and pat::UNKNOWN.

245  {
246 
247  if (m_verbose){cout << "[L1TSync] Called beginRun." << endl;}
248 
249  // Initializing variables
250  int maxNbins = 2501;
251 
252  // Reseting run dependent variables
253  m_lhcFill = 0;
254  m_currentLS = 0;
255  m_certFirstLS.clear();
256  m_certLastLS .clear();
257 
258  // Getting Trigger menu from GT
260  iSetup.get<L1GtTriggerMenuRcd>().get(menuRcd);
261  const L1GtTriggerMenu* menu = menuRcd.product();
262 
263  // Filling Alias-Bit Map
264  for (CItAlgo algo = menu->gtAlgorithmAliasMap().begin(); algo!=menu->gtAlgorithmAliasMap().end(); ++algo){
265  m_algoBit[(algo->second).algoAlias()] = (algo->second).algoBitNumber();
266  }
267 
268  // Getting fill number for this run
269  //Handle<ConditionsInRunBlock> runConditions;
270  //iRun.getByType(runConditions);
271  //int lhcFillNumber = runConditions->lhcFillNumber;
272  //
273  //ESHandle<L1GtPrescaleFactors> l1GtPfAlgo;
274  //iSetup.get<L1GtPrescaleFactorsAlgoTrigRcd>().get(l1GtPfAlgo);
275  //const L1GtPrescaleFactors* m_l1GtPfAlgo = l1GtPfAlgo.product();
276 
277  L1TMenuHelper myMenuHelper = L1TMenuHelper(iSetup);
278 
280 
281  map<string,string> tAutoSelTrig = myMenuHelper.getLUSOTrigger(m_algoAutoSelect,m_refPrescaleSet);
282  m_selectedTriggers.insert(tAutoSelTrig.begin(),tAutoSelTrig.end());
283 
284  // Initializing DQM Monitor Elements
285  dbe->setCurrentFolder("L1T/L1TSync");
286  m_ErrorMonitor = dbe->book1D("ErrorMonitor","ErrorMonitor",7,0,7);
287  m_ErrorMonitor->setBinLabel(UNKNOWN ,"UNKNOWN");
288  m_ErrorMonitor->setBinLabel(WARNING_DB_CONN_FAILED ,"WARNING_DB_CONN_FAILED"); // Errors from L1TOMDSHelper
289  m_ErrorMonitor->setBinLabel(WARNING_DB_QUERY_FAILED ,"WARNING_DB_QUERY_FAILED"); // Errors from L1TOMDSHelper
290  m_ErrorMonitor->setBinLabel(WARNING_DB_INCORRECT_NBUNCHES,"WARNING_DB_INCORRECT_NBUNCHES"); // Errors from L1TOMDSHelper
291  m_ErrorMonitor->setBinLabel(ERROR_UNABLE_RETRIVE_PRODUCT ,"ERROR_UNABLE_RETRIVE_PRODUCT");
292  m_ErrorMonitor->setBinLabel(ERROR_TRIGGERALIAS_NOTVALID ,"ERROR_TRIGGERALIAS_NOTVALID");
293  m_ErrorMonitor->setBinLabel(ERROR_LSBLOCK_NOTVALID ,"ERROR_LSBLOCK_NOTVALID");
294 
295  // Looping over selected triggers
296  for(map<string,string>::const_iterator i=m_selectedTriggers.begin() ; i!=m_selectedTriggers.end() ; i++){
297 
298  string tCategory = (*i).first;
299  string tTrigger = (*i).second;
300 
301  // Initializing LS blocks for certification
302  m_certFirstLS[(*i).second] = 0;
303  m_certLastLS [(*i).second] = 0;
304 
305  // Initializing DQM Monitors
306  dbe->setCurrentFolder("L1T/L1TSync/AlgoVsBunchStructure/");
307  m_algoVsBunchStructure[tTrigger] = dbe->book2D(tCategory,"min #Delta("+tTrigger+",Bunch)",maxNbins,-0.5,double(maxNbins)-0.5,5,-2.5,2.5);
308  m_algoVsBunchStructure[tTrigger] ->setAxisTitle("Lumi Section" ,1);
309 
310  dbe->setCurrentFolder("L1T/L1TSync/Certification/");
311  m_algoCertification[tTrigger] = dbe->book1D(tCategory, "fraction of in sync: "+tTrigger,maxNbins,-0.5,double(maxNbins)-0.5);
312  m_algoCertification[tTrigger] ->setAxisTitle("Lumi Section" ,1);
313 
314  }
315 
316 }
int m_refPrescaleSet
Definition: L1TSync.h:119
int i
Definition: DBlmapReader.cc:9
std::map< TString, unsigned int > m_certLastLS
Definition: L1TSync.h:133
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:717
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_lhcFill
Definition: L1TSync.h:122
std::map< std::string, std::string > getLUSOTrigger(std::map< std::string, bool > iCategories, int IndexRefPrescaleFactors)
std::map< std::string, std::string > m_selectedTriggers
Definition: L1TSync.h:137
DQMStore * dbe
Definition: L1TSync.h:107
std::map< TString, unsigned int > m_certFirstLS
Definition: L1TSync.h:132
bool m_verbose
Definition: L1TSync.h:114
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
std::map< std::string, bool > m_algoAutoSelect
Definition: L1TSync.h:136
std::map< TString, MonitorElement * > m_algoVsBunchStructure
Definition: L1TSync.h:135
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
tuple cout
Definition: gather_cfg.py:121
MonitorElement * m_ErrorMonitor
Definition: L1TSync.h:140
std::map< TString, MonitorElement * > m_algoCertification
Definition: L1TSync.h:134
std::map< std::string, std::string > testAlgos(std::map< std::string, std::string >)
LimitAlgo * algo
Definition: Combine.cc:60
const AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:845
std::map< TString, int > m_algoBit
Definition: L1TSync.h:131
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:429
unsigned int m_currentLS
Definition: L1TSync.h:120
void L1TSync::certifyLSBlock ( std::string  iTrigger,
int  iInitLs,
int  iEndLs,
float  iValue 
)
private

Definition at line 715 of file L1TSync.cc.

References python.rootplot.utilities::ls().

715  {
716 
717  // Finding correct bins in the histogram for this block
718  int binInit = m_algoCertification[iTrigger]->getTH1()->FindBin(iInitLs);
719  int binEnd = m_algoCertification[iTrigger]->getTH1()->FindBin(iEndLs);
720 
721  for(int ls=binInit ; ls<=binEnd ; ls++){
722  m_algoCertification[iTrigger]->setBinContent(ls,iValue);
723  }
724 
725 }
std::map< TString, MonitorElement * > m_algoCertification
Definition: L1TSync.h:134
void L1TSync::doFractionInSync ( bool  iForce = false,
bool  iBad = false 
)
private

Definition at line 604 of file L1TSync.cc.

References a, gather_cfg::cout, edm::ParameterSet::getParameter(), i, and python.rootplot.utilities::ls().

604  {
605 
606  for(map<string,string>::const_iterator i=m_selectedTriggers.begin() ; i!=m_selectedTriggers.end() ; i++){
607 
608  string theCategory = (*i).first;
609  string theTriggerAlias = (*i).second;
610 
611  // Caching frequently used values from maps
612  unsigned int fLS = m_certFirstLS[theTriggerAlias];
613  unsigned int lLS = m_certLastLS [theTriggerAlias];
614 
615  // Checking validity of the trigger alias and of the LS block
616  bool triggerAlias_isValid = theTriggerAlias != "Undefined" && theTriggerAlias != "Undefined (Wrong Name)";
617  bool lsBlock_exists = !(fLS == 0 && lLS == 0);
618  bool lsBlock_isValid = fLS <= lLS && fLS > 0 && lLS > 0;
619 
620  if(triggerAlias_isValid && lsBlock_exists && lsBlock_isValid){
621 
622  // If we are forced to close blocks and mark them bad
623  if(iForce && iBad){
624  certifyLSBlock(theTriggerAlias,fLS,lLS,-1);
625  m_certFirstLS[theTriggerAlias] = 0;
626  m_certLastLS [theTriggerAlias] = 0;
627  }
628 
629  // If we are not forced to mark bad, we check if we have enough statistics
630  else{
631 
632  // Getting events with 0 bx difference between BPTX and Algo for current LS
633  double CountSync = 0;
634  double CountAll = 0;
635 
636  // Adding all entries for current LS block
637  for(unsigned int ls=fLS ; ls<=lLS ; ls++){
638 
639  CountSync += m_algoVsBunchStructure[theTriggerAlias]->getBinContent(ls+1,3);
640  for(int a=1 ; a<6 ; a++){
641  CountAll += m_algoVsBunchStructure[theTriggerAlias]->getBinContent(ls+1,a);
642  }
643  }
644 
645  if(m_verbose){
646  cout << "Alias = " << theTriggerAlias
647  << " InitLS=" << fLS
648  << " EndLS=" << lLS
649  << " Events=" << CountAll ;
650  }
651 
652  if(iForce ||
653  CountAll >= m_parameters.getParameter<ParameterSet>("Categories")
654  .getParameter<ParameterSet>(theCategory)
655  .getParameter<int>("CertMinEvents")){
656 
657  if(m_verbose){cout << " <--------------- Enough Statistics: ";}
658 
659 
660  // Calculating fraction of in time
661  double fraction = 0;
662  if(CountAll >0){fraction = CountSync/CountAll;}
663 
664  // This is to avoid having an entry equal to zero and thus
665  // disregarded by the automatic tests
666  if(fraction==0){fraction=0.000001;}
667 
668  certifyLSBlock(theTriggerAlias,fLS,lLS,fraction);
669  m_certFirstLS[theTriggerAlias] = 0;
670  m_certLastLS [theTriggerAlias] = 0;
671  }
672 
673  if(m_verbose){cout << endl;}
674 
675  }
676  }
677 
678  // A problem was found. We report it and set a not physical vale (-1) to the certification plot
679  else{
680 
681  // If trigger alias is not valid report it to m_ErrorMonitor
682  if(!triggerAlias_isValid){
683  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(ERROR_TRIGGERALIAS_NOTVALID);
684  eCount++;
685  m_ErrorMonitor->getTH1()->SetBinContent(ERROR_TRIGGERALIAS_NOTVALID,eCount);
686  certifyLSBlock(theTriggerAlias,fLS,lLS,-1);
687  m_certFirstLS[theTriggerAlias] = 0;
688  m_certLastLS [theTriggerAlias] = 0;
689  }
690 
691  // If LS Block is not valid report it to m_ErrorMonitor
692  if(lsBlock_exists && !lsBlock_isValid){
693  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(ERROR_LSBLOCK_NOTVALID);
694  eCount++;
695  m_ErrorMonitor->getTH1()->SetBinContent(ERROR_LSBLOCK_NOTVALID,eCount);
696  certifyLSBlock(theTriggerAlias,fLS,lLS,-1);
697  m_certFirstLS[theTriggerAlias] = 0;
698  m_certLastLS [theTriggerAlias] = 0;
699  }
700 
701  }
702  }
703 
704 }
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
std::map< TString, unsigned int > m_certLastLS
Definition: L1TSync.h:133
std::map< std::string, std::string > m_selectedTriggers
Definition: L1TSync.h:137
std::map< TString, unsigned int > m_certFirstLS
Definition: L1TSync.h:132
bool m_verbose
Definition: L1TSync.h:114
void certifyLSBlock(std::string iTrigger, int iInitLs, int iEndLs, float iValue)
Definition: L1TSync.cc:715
std::map< TString, MonitorElement * > m_algoVsBunchStructure
Definition: L1TSync.h:135
TH1 * getTH1(void) const
edm::ParameterSet m_parameters
Definition: L1TSync.h:109
double a
Definition: hdecay.h:121
tuple cout
Definition: gather_cfg.py:121
MonitorElement * m_ErrorMonitor
Definition: L1TSync.h:140
void L1TSync::endJob ( void  )
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 231 of file L1TSync.cc.

References gather_cfg::cout.

231  {
232 
233  if (m_verbose){cout << "[L1TSync] Called endJob." << endl;}
234 
235  if (m_outputFile.size() != 0 && dbe)
237 
238  return;
239 
240 }
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:2113
DQMStore * dbe
Definition: L1TSync.h:107
bool m_verbose
Definition: L1TSync.h:114
std::string m_outputFile
Definition: L1TSync.h:111
tuple cout
Definition: gather_cfg.py:121
void L1TSync::endLuminosityBlock ( edm::LuminosityBlock const &  lumiBlock,
edm::EventSetup const &  c 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 359 of file L1TSync.cc.

References gather_cfg::cout, and i.

359  {
360 
361  if(m_verbose){cout << "[L1TSync] Called endLuminosityBlock." << endl;}
362 
363  if(m_verbose){
364  cout << "[L1TSync] m_currentLSValid : " << m_currentLSValid << endl;
365  cout << "[L1TSync] m_beamConfig.isValid(): " << m_beamConfig.isValid() << endl;
366  }
367 
368  for(map<string,string>::const_iterator i=m_selectedTriggers.begin() ; i!=m_selectedTriggers.end() ; i++){
369 
370  // Update last LS for certification
371  string theTriggerAlias = (*i).second;
372  m_certLastLS[theTriggerAlias] = m_currentLS;
373 
374  }
375 
376  // If this LS is valid (i.e. all events recorded with stable beams)
378 
379  if(m_verbose){cout << "[L1TSync] Regular call: doFractionInSync()" << endl;}
380  doFractionInSync(false,false);
381 
382  }
383  // If this LS is not valid it can be in the following context:
384  // * We still hadn't stable beam (no need to certify nothing
385  // * Beam just got unstable or dumped (we may have a complete block of data do certify)
386  else{
387 
388  //-> First we close all blocks from certFirstLS[] to m_currentLS-1
389  for(map<string,string>::const_iterator i=m_selectedTriggers.begin() ; i!=m_selectedTriggers.end() ; i++){
390 
391  string theTriggerAlias = (*i).second;
392 
393  int fLs = m_certFirstLS[theTriggerAlias];
394  int lLS = m_certLastLS [theTriggerAlias];
395 
396  // If this is a single LS block we do nothing (in this step)
397  if(fLs == lLS){
398  m_certFirstLS[theTriggerAlias] = 0;
399  m_certLastLS [theTriggerAlias] = 0;
400  }
401  // If block is multi LS then we remove the current LS
402  else{
403  m_certLastLS [theTriggerAlias] = m_currentLS-1;
404  }
405 
406  }
407  doFractionInSync(true,false);
408 
409  //-> Second we mark this single LS bad for all triggers
410  for(map<string,string>::const_iterator i=m_selectedTriggers.begin() ; i!=m_selectedTriggers.end() ; i++){
411  string theTriggerAlias = (*i).second;
412  m_certFirstLS[theTriggerAlias] = m_currentLS;
413  m_certLastLS [theTriggerAlias] = m_currentLS;
414  }
415  doFractionInSync(true,true);
416 
417  if(m_verbose){cout << "[L1TSync] Error call: doFractionInSync()" << endl;}
418 
419  }
420 
421 }
int i
Definition: DBlmapReader.cc:9
std::map< TString, unsigned int > m_certLastLS
Definition: L1TSync.h:133
void doFractionInSync(bool iForce=false, bool iBad=false)
Definition: L1TSync.cc:604
std::map< std::string, std::string > m_selectedTriggers
Definition: L1TSync.h:137
BeamConfiguration m_beamConfig
Definition: L1TSync.h:125
std::map< TString, unsigned int > m_certFirstLS
Definition: L1TSync.h:132
bool m_verbose
Definition: L1TSync.h:114
bool m_currentLSValid
Definition: L1TSync.h:115
tuple cout
Definition: gather_cfg.py:121
unsigned int m_currentLS
Definition: L1TSync.h:120
void L1TSync::endRun ( const edm::Run run,
const edm::EventSetup iSetup 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 424 of file L1TSync.cc.

References gather_cfg::cout.

424  {
425 
426  if(m_verbose){cout << "[L1TSync] Called endRun." << endl;}
427 
428  // When the run end for closing of the LS certification blocks and evaluation
429  // of synchronization for that block
430  doFractionInSync(true,false);
431 
432 }
void doFractionInSync(bool iForce=false, bool iBad=false)
Definition: L1TSync.cc:604
bool m_verbose
Definition: L1TSync.h:114
tuple cout
Definition: gather_cfg.py:121
void L1TSync::getBeamConfOMDS ( )
private

Definition at line 547 of file L1TSync.cc.

References L1TOMDSHelper::NO_ERROR, pat::UNKNOWN, L1TOMDSHelper::WARNING_DB_CONN_FAILED, and L1TOMDSHelper::WARNING_DB_QUERY_FAILED.

547  {
548 
549  //Getting connection paremeters
550  string oracleDB = m_parameters.getParameter<string>("oracleDB");
551  string pathCondDB = m_parameters.getParameter<string>("pathCondDB");
552 
553  // Connecting to OMDS
554  L1TOMDSHelper myOMDSHelper = L1TOMDSHelper();
555  int conError;
556  myOMDSHelper.connect(oracleDB,pathCondDB,conError);
557 
558  if(conError == L1TOMDSHelper::NO_ERROR){
559 
560  int errorRetrive;
561  m_beamConfig = myOMDSHelper.getBeamConfiguration(m_lhcFill,errorRetrive);
562 
564  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(WARNING_DB_INCORRECT_NBUNCHES);
565  eCount++;
566  m_ErrorMonitor->getTH1()->SetBinContent(WARNING_DB_INCORRECT_NBUNCHES,eCount);
567  }
568  else if(conError == L1TOMDSHelper::WARNING_DB_QUERY_FAILED){
569  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(WARNING_DB_QUERY_FAILED);
570  eCount++;
571  m_ErrorMonitor->getTH1()->SetBinContent(WARNING_DB_QUERY_FAILED,eCount);
572  }
573  else{
574  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(UNKNOWN);
575  eCount++;
576  m_ErrorMonitor->getTH1()->SetBinContent(UNKNOWN,eCount);
577  }
578 
579  }else{
580 
582  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(WARNING_DB_CONN_FAILED);
583  eCount++;
584  m_ErrorMonitor->getTH1()->SetBinContent(WARNING_DB_CONN_FAILED,eCount);
585  }else{
586  int eCount = m_ErrorMonitor->getTH1()->GetBinContent(UNKNOWN);
587  eCount++;
588  m_ErrorMonitor->getTH1()->SetBinContent(UNKNOWN,eCount);
589  }
590 
591  }
592 
593 }
T getParameter(std::string const &) const
unsigned int m_lhcFill
Definition: L1TSync.h:122
BeamConfiguration m_beamConfig
Definition: L1TSync.h:125
TH1 * getTH1(void) const
edm::ParameterSet m_parameters
Definition: L1TSync.h:109
MonitorElement * m_ErrorMonitor
Definition: L1TSync.h:140

Member Data Documentation

DQMStore* L1TSync::dbe
private

Definition at line 107 of file L1TSync.h.

const std::vector< std::vector<int> >* L1TSync::ListsPrescaleFactors
private

Definition at line 128 of file L1TSync.h.

std::map<std::string,bool> L1TSync::m_algoAutoSelect
private

Definition at line 136 of file L1TSync.h.

std::map<TString,int> L1TSync::m_algoBit
private

Definition at line 131 of file L1TSync.h.

std::map<TString,MonitorElement*> L1TSync::m_algoCertification
private

Definition at line 134 of file L1TSync.h.

std::map<TString,MonitorElement*> L1TSync::m_algoVsBunchStructure
private

Definition at line 135 of file L1TSync.h.

BeamConfiguration L1TSync::m_beamConfig
private

Definition at line 125 of file L1TSync.h.

std::map<TString,unsigned int> L1TSync::m_certFirstLS
private

Definition at line 132 of file L1TSync.h.

std::map<TString,unsigned int> L1TSync::m_certLastLS
private

Definition at line 133 of file L1TSync.h.

unsigned int L1TSync::m_currentLS
private

Definition at line 120 of file L1TSync.h.

bool L1TSync::m_currentLSValid
private

Definition at line 115 of file L1TSync.h.

MonitorElement* L1TSync::m_ErrorMonitor
private

Definition at line 140 of file L1TSync.h.

edm::InputTag L1TSync::m_l1GtDataDaqInputTag
private

Definition at line 145 of file L1TSync.h.

edm::InputTag L1TSync::m_l1GtEvmSource
private

Definition at line 144 of file L1TSync.h.

unsigned int L1TSync::m_lhcFill
private

Definition at line 122 of file L1TSync.h.

std::string L1TSync::m_outputFile
private

Definition at line 111 of file L1TSync.h.

edm::ParameterSet L1TSync::m_parameters
private

Definition at line 109 of file L1TSync.h.

bool* L1TSync::m_processedLS
private

Definition at line 116 of file L1TSync.h.

int L1TSync::m_refPrescaleSet
private

Definition at line 119 of file L1TSync.h.

edm::InputTag L1TSync::m_scalersSource
private

Definition at line 143 of file L1TSync.h.

std::map<std::string,std::string> L1TSync::m_selectedTriggers
private

Definition at line 137 of file L1TSync.h.

bool L1TSync::m_verbose
private

Definition at line 114 of file L1TSync.h.