54 m_refPrescaleSet = pset.
getParameter <
int> (
"refPrescaleSet");
59 bool forceGlobalParameters = Categories.
getParameter<
bool>(
"forceGlobalParameters");
60 bool doGlobalAutoSelection = Categories.getParameter<
bool>(
"doGlobalAutoSelection");
77 if(forceGlobalParameters){
81 if(doGlobalAutoSelection){
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;}
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;
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");}
128 if(CatBPTX.getParameter<
bool>(
"monitor")){
129 m_selectedTriggers[
"BPTX"] = CatBPTX.getParameter<
string>(
"algo");
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;}
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;}
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;}
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;}
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;}
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;}
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;}
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;}
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;}
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;}
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;}
197 if (m_outputFile.size() != 0) {
198 std::cout <<
"L1T Monitoring histograms will be saved to " << m_outputFile.c_str() << std::endl;
202 if (disable) {m_outputFile =
"";}
204 if (dbe !=
NULL) {dbe->setCurrentFolder(
"L1T/L1TSync");}
216 if (m_verbose){
cout <<
"[L1TSync] Called beginJob." << endl;}
224 dbe->
rmdir(
"L1T/L1TSync");
233 if (m_verbose){
cout <<
"[L1TSync] Called endJob." << endl;}
235 if (m_outputFile.size() != 0 && dbe)
236 dbe->save(m_outputFile);
247 if (m_verbose){
cout <<
"[L1TSync] Called beginRun." << endl;}
255 m_certFirstLS.clear();
256 m_certLastLS .clear();
265 m_algoBit[(algo->second).algoAlias()] = (algo->second).algoBitNumber();
279 m_selectedTriggers = myMenuHelper.
testAlgos(m_selectedTriggers);
281 map<string,string> tAutoSelTrig = myMenuHelper.
getLUSOTrigger(m_algoAutoSelect,m_refPrescaleSet);
282 m_selectedTriggers.insert(tAutoSelTrig.begin(),tAutoSelTrig.end());
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");
289 m_ErrorMonitor->setBinLabel(WARNING_DB_QUERY_FAILED ,
"WARNING_DB_QUERY_FAILED");
290 m_ErrorMonitor->setBinLabel(WARNING_DB_INCORRECT_NBUNCHES,
"WARNING_DB_INCORRECT_NBUNCHES");
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");
296 for(map<string,string>::const_iterator
i=m_selectedTriggers.begin() ;
i!=m_selectedTriggers.end() ;
i++){
298 string tCategory = (*i).first;
299 string tTrigger = (*i).second;
302 m_certFirstLS[(*i).second] = 0;
303 m_certLastLS [(*i).second] = 0;
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);
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);
323 if (m_verbose){
cout <<
"[L1TSync] Called beginLuminosityBlock." << endl;}
330 cout <<
"[L1TSync] None consecutive: doFractionInSync() - LAST="
333 doFractionInSync(
true,
false);
340 for(map<string,string>::const_iterator
i=m_selectedTriggers.begin() ;
i!=m_selectedTriggers.end() ;
i++){
342 string theTriggerAlias = (*i).second;
343 if(m_certFirstLS[theTriggerAlias]==0){m_certFirstLS[theTriggerAlias] = m_currentLS;}
349 m_currentLSValid =
true;
359 if(m_verbose){
cout <<
"[L1TSync] Called endLuminosityBlock." << endl;}
362 cout <<
"[L1TSync] m_currentLSValid : " << m_currentLSValid << endl;
363 cout <<
"[L1TSync] m_beamConfig.isValid(): " << m_beamConfig.isValid() << endl;
366 for(map<string,string>::const_iterator
i=m_selectedTriggers.begin() ;
i!=m_selectedTriggers.end() ;
i++){
369 string theTriggerAlias = (*i).second;
370 m_certLastLS[theTriggerAlias] = m_currentLS;
375 if(m_currentLSValid && m_beamConfig.isValid()){
377 if(m_verbose){
cout <<
"[L1TSync] Regular call: doFractionInSync()" << endl;}
378 doFractionInSync(
false,
false);
387 for(map<string,string>::const_iterator
i=m_selectedTriggers.begin() ;
i!=m_selectedTriggers.end() ;
i++){
389 string theTriggerAlias = (*i).second;
391 int fLs = m_certFirstLS[theTriggerAlias];
392 int lLS = m_certLastLS [theTriggerAlias];
396 m_certFirstLS[theTriggerAlias] = 0;
397 m_certLastLS [theTriggerAlias] = 0;
401 m_certLastLS [theTriggerAlias] = m_currentLS-1;
405 doFractionInSync(
true,
false);
408 for(map<string,string>::const_iterator
i=m_selectedTriggers.begin() ;
i!=m_selectedTriggers.end() ;
i++){
409 string theTriggerAlias = (*i).second;
410 m_certFirstLS[theTriggerAlias] = m_currentLS;
411 m_certLastLS [theTriggerAlias] = m_currentLS;
413 doFractionInSync(
true,
true);
415 if(m_verbose){
cout <<
"[L1TSync] Error call: doFractionInSync()" << endl;}
424 if(m_verbose){
cout <<
"[L1TSync] Called endRun." << endl;}
428 doFractionInSync(
true,
false);
435 if(m_verbose){
cout <<
"[L1TSync] Called analyze." << endl;}
438 if(m_currentLSValid){
440 if(m_verbose){
cout <<
"[L1TSync] -> m_currentLSValid=" << m_currentLSValid << endl;}
444 iEvent.
getByLabel(m_l1GtEvmSource, gtEvmReadoutRecord);
447 if(gtEvmReadoutRecord.
isValid()){
449 const L1GtfeExtWord& gtfeEvmWord = gtEvmReadoutRecord->gtfeWord();
450 unsigned int lhcBeamMode = gtfeEvmWord.
beamMode();
457 if(lhcBeamMode != STABLE){m_currentLSValid =
false;}
460 int eCount = m_ErrorMonitor->getTH1()->GetBinContent(ERROR_UNABLE_RETRIVE_PRODUCT);
462 m_ErrorMonitor->getTH1()->SetBinContent(ERROR_UNABLE_RETRIVE_PRODUCT,eCount);
465 if(m_verbose){
cout <<
"[L1TSync] -> m_currentLSValid=" << m_currentLSValid << endl;}
471 if(m_currentLSValid && m_beamConfig.isValid()){
475 iEvent.
getByLabel(m_l1GtDataDaqInputTag, gtReadoutRecordData);
477 if(gtReadoutRecordData.
isValid()){
479 const vector<L1GtFdlWord>& gtFdlVectorData = gtReadoutRecordData->gtFdlVector();
482 for(map<string,string>::const_iterator
i=m_selectedTriggers.begin() ;
i!=m_selectedTriggers.end() ;
i++){
484 string tTrigger = (*i).second;
487 if(tTrigger !=
"Undefined" && tTrigger !=
"Undefined (Wrong Name)"){
489 bool beamSingleConfig =
false;
490 bool firedAlgo =
false;
494 for(
unsigned int a=0 ;
a<gtFdlVectorData.size() ;
a++){
497 if(gtFdlVectorData[
a].bxInEvent() == 0){
498 eventBx = gtFdlVectorData[
a].localBxNr();
499 if(gtFdlVectorData[
a].gtDecisionWord()[ m_algoBit[tTrigger] ]){firedAlgo =
true;}
504 if( m_beamConfig.beam1[eventBx] && !m_beamConfig.beam2[eventBx]){beamSingleConfig =
true;}
505 if(!m_beamConfig.beam1[eventBx] && m_beamConfig.beam2[eventBx]){beamSingleConfig =
true;}
511 if(firedAlgo && !beamSingleConfig){
513 int DifAlgoVsBunchStructure = 9999;
515 for(
unsigned int a=0 ;
a<gtFdlVectorData.size() ;
a++){
517 int bxFDL = gtFdlVectorData[
a].localBxNr();
518 int bxInEvent = gtFdlVectorData[
a].bxInEvent();
520 if(m_beamConfig.bxConfig(bxFDL) &&
abs(bxInEvent)<
abs(DifAlgoVsBunchStructure)){
521 DifAlgoVsBunchStructure = -1*bxInEvent;
525 m_algoVsBunchStructure[tTrigger]->Fill(m_currentLS,DifAlgoVsBunchStructure);
532 int eCount = m_ErrorMonitor->getTH1()->GetBinContent(ERROR_UNABLE_RETRIVE_PRODUCT);
534 m_ErrorMonitor->getTH1()->SetBinContent(ERROR_UNABLE_RETRIVE_PRODUCT,eCount);
548 string oracleDB = m_parameters.getParameter<
string>(
"oracleDB");
549 string pathCondDB = m_parameters.getParameter<
string>(
"pathCondDB");
554 myOMDSHelper.connect(oracleDB,pathCondDB,conError);
558 if(m_verbose){
cout <<
"[L1TSync] Connected to DB with no error." << endl;}
561 m_beamConfig = myOMDSHelper.getBeamConfiguration(m_lhcFill,errorRetrive);
565 cout <<
"[L1TSync] Retriving LHC Bunch Structure: NO_ERROR" << endl;
566 cout <<
"[L1TSync] -> LHC Bunch Structure valid=" << m_beamConfig.m_valid <<
" nBunches=" << m_beamConfig.nCollidingBunches << endl;
571 if(m_verbose){
cout <<
"[L1TSync] Retriving LHC Bunch Structure: WARNING_DB_CONN_FAILED" << endl;}
573 int eCount = m_ErrorMonitor->getTH1()->GetBinContent(WARNING_DB_INCORRECT_NBUNCHES);
575 m_ErrorMonitor->getTH1()->SetBinContent(WARNING_DB_INCORRECT_NBUNCHES,eCount);
579 if(m_verbose){
cout <<
"[L1TSync] Retriving LHC Bunch Structure: WARNING_DB_QUERY_FAILED" << endl;}
581 int eCount = m_ErrorMonitor->getTH1()->GetBinContent(WARNING_DB_QUERY_FAILED);
583 m_ErrorMonitor->getTH1()->SetBinContent(WARNING_DB_QUERY_FAILED,eCount);
587 if(m_verbose){
cout <<
"[L1TSync] Retriving LHC Bunch Structure: UNKNOWN" << endl;}
589 int eCount = m_ErrorMonitor->getTH1()->GetBinContent(
UNKNOWN);
591 m_ErrorMonitor->getTH1()->SetBinContent(
UNKNOWN,eCount);
598 if(m_verbose){
cout <<
"[L1TSync] Connect to DB: WARNING_DB_CONN_FAILED" << endl;}
600 int eCount = m_ErrorMonitor->getTH1()->GetBinContent(WARNING_DB_CONN_FAILED);
602 m_ErrorMonitor->getTH1()->SetBinContent(WARNING_DB_CONN_FAILED,eCount);
605 if(m_verbose){
cout <<
"[L1TSync] Connect to DB: UNKNOWN" << endl;}
607 int eCount = m_ErrorMonitor->getTH1()->GetBinContent(
UNKNOWN);
609 m_ErrorMonitor->getTH1()->SetBinContent(
UNKNOWN,eCount);
627 for(map<string,string>::const_iterator
i=m_selectedTriggers.begin() ;
i!=m_selectedTriggers.end() ;
i++){
629 string theCategory = (*i).first;
630 string theTriggerAlias = (*i).second;
633 unsigned int fLS = m_certFirstLS[theTriggerAlias];
634 unsigned int lLS = m_certLastLS [theTriggerAlias];
637 bool triggerAlias_isValid = theTriggerAlias !=
"Undefined" && theTriggerAlias !=
"Undefined (Wrong Name)";
638 bool lsBlock_exists = !(fLS == 0 && lLS == 0);
639 bool lsBlock_isValid = fLS <= lLS && fLS > 0 && lLS > 0;
641 if(triggerAlias_isValid && lsBlock_exists && lsBlock_isValid){
645 certifyLSBlock(theTriggerAlias,fLS,lLS,-1);
646 m_certFirstLS[theTriggerAlias] = 0;
647 m_certLastLS [theTriggerAlias] = 0;
654 double CountSync = 0;
658 for(
unsigned int ls=fLS ;
ls<=lLS ;
ls++){
660 CountSync += m_algoVsBunchStructure[theTriggerAlias]->getBinContent(
ls+1,3);
661 for(
int a=1 ;
a<6 ;
a++){
662 CountAll += m_algoVsBunchStructure[theTriggerAlias]->getBinContent(
ls+1,
a);
667 cout <<
"Alias = " << theTriggerAlias
670 <<
" Events=" << CountAll ;
674 CountAll >= m_parameters.getParameter<
ParameterSet>(
"Categories")
678 if(m_verbose){
cout <<
" <--------------- Enough Statistics: ";}
683 if(CountAll >0){fraction = CountSync/CountAll;}
687 if(fraction==0){fraction=0.000001;}
689 certifyLSBlock(theTriggerAlias,fLS,lLS,fraction);
690 m_certFirstLS[theTriggerAlias] = 0;
691 m_certLastLS [theTriggerAlias] = 0;
694 if(m_verbose){
cout << endl;}
703 if(!triggerAlias_isValid){
704 int eCount = m_ErrorMonitor->getTH1()->GetBinContent(ERROR_TRIGGERALIAS_NOTVALID);
706 m_ErrorMonitor->getTH1()->SetBinContent(ERROR_TRIGGERALIAS_NOTVALID,eCount);
707 certifyLSBlock(theTriggerAlias,fLS,lLS,-1);
708 m_certFirstLS[theTriggerAlias] = 0;
709 m_certLastLS [theTriggerAlias] = 0;
713 if(lsBlock_exists && !lsBlock_isValid){
714 int eCount = m_ErrorMonitor->getTH1()->GetBinContent(ERROR_LSBLOCK_NOTVALID);
716 m_ErrorMonitor->getTH1()->SetBinContent(ERROR_LSBLOCK_NOTVALID,eCount);
717 certifyLSBlock(theTriggerAlias,fLS,lLS,-1);
718 m_certFirstLS[theTriggerAlias] = 0;
719 m_certLastLS [theTriggerAlias] = 0;
739 int binInit = m_algoCertification[iTrigger]->getTH1()->FindBin(iInitLs);
740 int binEnd = m_algoCertification[iTrigger]->getTH1()->FindBin(iEndLs);
742 for(
int ls=binInit ;
ls<=binEnd ;
ls++){
743 m_algoCertification[iTrigger]->setBinContent(
ls,iValue);
LuminosityBlockID id() const
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
void rmdir(const std::string &fullpath)
void doFractionInSync(bool iForce=false, bool iBad=false)
0: Unidentified isolated particle
L1TSync(const edm::ParameterSet &ps)
DEFINE_FWK_MODULE(HiMixingModule)
virtual void beginLuminosityBlock(edm::LuminosityBlock const &lumiBlock, edm::EventSetup const &c)
void analyze(const edm::Event &e, const edm::EventSetup &c)
void certifyLSBlock(std::string iTrigger, int iInitLs, int iEndLs, float iValue)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
virtual void endLuminosityBlock(edm::LuminosityBlock const &lumiBlock, edm::EventSetup const &c)
const cms_uint32_t lhcFillNumber() const
T const * product() const
LuminosityBlockNumber_t luminosityBlock() const
void endRun(const edm::Run &run, const edm::EventSetup &iSetup)
void beginRun(const edm::Run &run, const edm::EventSetup &iSetup)
BeginRun.
const cms_uint16_t beamMode() const
void setCurrentFolder(const std::string &fullpath)