34 scalersSource_( ps.getParameter< edm::
InputTag >(
"scalersResults")),
35 verbose_(ps.getUntrackedParameter <bool> (
"verbose",
false)),
36 denomIsTech_(ps.getUntrackedParameter <bool> (
"denomIsTech",
true)),
37 denomBit_(ps.getUntrackedParameter <unsigned int> (
"denomBit", 40)),
38 muonBit_(ps.getUntrackedParameter <unsigned int> (
"muonBit", 55)),
39 egammaBit_(ps.getUntrackedParameter <unsigned int> (
"egammaBit", 46)),
40 jetBit_(ps.getUntrackedParameter <unsigned int> (
"jetBit", 15))
42 LogDebug(
"Status") <<
"constructor" ;
61 dbe_->setCurrentFolder(
"L1T/L1TScalersSCAL/Level1TriggerScalers");
64 orbitNum =
dbe_->book1D(
"Orbit_Number",
"Orbit_Number", maxNbins,-0.5,
double(maxNbins)-0.5);
66 trigNum =
dbe_->book1D(
"Number_of_Triggers",
"Number_of_Triggers",1000,0,4E4);
70 eventNum =
dbe_->book1D(
"Number_of_Events",
"Number_of_Events", maxNbins,-0.5,
double(maxNbins)-0.5);
72 physTrig =
dbe_->book1D(
"Physics_Triggers",
"Physics_Triggers", maxNbins,-0.5,
double(maxNbins)-0.5);
75 randTrig =
dbe_->book1D(
"Random_Triggers",
"Random_Triggers", maxNbins,-0.5,
double(maxNbins)-0.5);
79 numberResets =
dbe_->book1D(
"Number_Resets",
"Number_Resets", maxNbins,-0.5,
double(maxNbins)-0.5);
82 deadTime =
dbe_->book1D(
"DeadTime",
"DeadTime", maxNbins,-0.5,
double(maxNbins)-0.5);
85 lostFinalTriggers =
dbe_->book1D(
"Lost_Final_Trigger",
"Lost_Final_Trigger", maxNbins,-0.5,
double(maxNbins)-0.5);
87 dbe_->setCurrentFolder(
"L1T/L1TScalersSCAL/Level1TriggerRates");
89 physRate =
dbe_->book1D(
"Physics_Trigger_Rate",
"Physics_Trigger_Rate",
90 maxNbins,-0.5,
double(maxNbins)-0.5);
93 randRate =
dbe_->book1D(
"Random_Trigger_Rate",
"Random_Trigger_Rate",
94 maxNbins,-0.5,
double(maxNbins)-0.5);
98 maxNbins,-0.5,
double(maxNbins)-0.5);
101 lostPhysRate =
dbe_->book1D(
"Lost_Physics_Trigger_Rate",
"Lost_Physics_Trigger_Rate",
102 maxNbins,-0.5,
double(maxNbins)-0.5);
106 "Lost_Physics_Trigger_Rate_Beam_Active",
107 maxNbins,-0.5,
double(maxNbins)-0.5);
120 dbe_->setCurrentFolder(
"L1T/L1TScalersSCAL/Level1TriggerRates/AlgorithmRates");
123 sprintf(hname,
"Rate_AlgoBit_%03d",
i);
124 sprintf(mename,
"Rate_AlgoBit _%03d",
i);
126 algoRate[
i] =
dbe_->book1D(hname, mename,maxNbins,-0.5,
double(maxNbins)-0.5);
130 dbe_->setCurrentFolder(
"L1T/L1TScalersSCAL/Level1TriggerRates/AlgorithmRates/Integrated");
133 sprintf(hname,
"Integral_AlgoBit_%03d",
i);
134 sprintf(mename,
"Integral_AlgoBit _%03d",
i);
136 integralAlgo[
i] =
dbe_->book1D(hname, mename,maxNbins,-0.5,
double(maxNbins)-0.5);
140 dbe_->setCurrentFolder(
"L1T/L1TScalersSCAL/Level1TriggerRates/TechnicalRates");
143 sprintf(hname,
"Rate_TechBit_%03d",
i);
144 sprintf(mename,
"Rate_TechBit _%03d",
i);
146 techRate[
i] =
dbe_->book1D(hname, mename,maxNbins,-0.5,
double(maxNbins)-0.5);
150 dbe_->setCurrentFolder(
"L1T/L1TScalersSCAL/Level1TriggerRates/TechnicalRates/Integrated");
153 sprintf(hname,
"Integral_TechBit_%03d",
i);
154 sprintf(mename,
"Integral_TechBit _%03d",
i);
156 integralTech[
i] =
dbe_->book1D(hname, mename,maxNbins,-0.5,
double(maxNbins)-0.5);
159 integralTech_42_OR_43 =
dbe_->book1D(
"Integral_TechBit_042_OR_043",
"Integral_TechBit _042_OR_043",maxNbins,-0.5,
double(maxNbins)-0.5);
163 dbe_->setCurrentFolder(
"L1T/L1TScalersSCAL/Level1TriggerRates/Ratios");
165 std::stringstream smu,seg,sjet,sdenom;
168 else sdenom <<
"_AlgoBit_";
172 rateRatio_mu =
dbe_->book1D(
"Rate_Ratio_mu_PhysBit_"+ smu.str()+sdenom.str(),
"Rate_Ratio_mu_PhysBit_" + smu.str()+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
176 rateRatio_egamma =
dbe_->book1D(
"Rate_Ratio_egamma_PhysBit_"+ seg.str()+sdenom.str(),
"Rate_Ratio_egamma_PhysBit_" + seg.str()+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
180 rateRatio_jet =
dbe_->book1D(
"Rate_Ratio_jet_PhysBit_" + sjet.str()+sdenom.str(),
"Rate_Ratio_jet_PhysBit_" + sjet.str()+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
184 techRateRatio_8 =
dbe_->book1D(
"Rate_Ratio_TechBit_8"+sdenom.str(),
"Rate_Ratio_TechBit_8"+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
186 techRateRatio_9 =
dbe_->book1D(
"Rate_Ratio_TechBit_9"+sdenom.str(),
"Rate_Ratio_TechBit_9"+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
188 techRateRatio_10 =
dbe_->book1D(
"Rate_Ratio_TechBit_10"+sdenom.str(),
"Rate_Ratio_TechBit_10"+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
192 techRateRatio_33_over_32 =
dbe_->book1D(
"Rate_Ratio_TechBits_33_over_32",
"Rate_Ratio_TechBits_33_over_32",maxNbins,-0.5,
double(maxNbins)-0.5);
193 techRateRatio_36 =
dbe_->book1D(
"Rate_Ratio_TechBit_36"+sdenom.str(),
"Rate_Ratio_TechBit_36"+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
194 techRateRatio_37 =
dbe_->book1D(
"Rate_Ratio_TechBit_37"+sdenom.str(),
"Rate_Ratio_TechBit_37"+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
195 techRateRatio_38 =
dbe_->book1D(
"Rate_Ratio_TechBit_38"+sdenom.str(),
"Rate_Ratio_TechBit_38"+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
196 techRateRatio_39 =
dbe_->book1D(
"Rate_Ratio_TechBit_39"+sdenom.str(),
"Rate_Ratio_TechBit_39"+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
197 techRateRatio_40 =
dbe_->book1D(
"Rate_Ratio_TechBit_40"+sdenom.str(),
"Rate_Ratio_TechBit_40"+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
198 techRateRatio_41 =
dbe_->book1D(
"Rate_Ratio_TechBit_41"+sdenom.str(),
"Rate_Ratio_TechBit_41"+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
199 techRateRatio_42 =
dbe_->book1D(
"Rate_Ratio_TechBit_42"+sdenom.str(),
"Rate_Ratio_TechBit_42"+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
200 techRateRatio_43 =
dbe_->book1D(
"Rate_Ratio_TechBit_43"+sdenom.str(),
"Rate_Ratio_TechBit_43"+sdenom.str(),maxNbins,-0.5,double(maxNbins)-0.5);
203 dbe_->setCurrentFolder(
"L1T/L1TScalersSCAL/LumiScalers");
205 instLumi =
dbe_->book1D(
"Instant_Lumi",
"Instant_Lumi", maxNbins,-0.5,
double(maxNbins)-0.5);
208 instLumiErr =
dbe_->book1D(
"Instant_Lumi_Err",
"Instant_Lumi_Err",maxNbins,-0.5,
double(maxNbins)-0.5);
211 instLumiQlty =
dbe_->book1D(
"Instant_Lumi_Qlty",
"Instant_Lumi_Qlty",maxNbins,-0.5,
double(maxNbins)-0.5);
213 instEtLumi =
dbe_->book1D(
"Instant_Et_Lumi",
"Instant_Et_Lumi",maxNbins,-0.5,
double(maxNbins)-0.5);
216 instEtLumiErr =
dbe_->book1D(
"Instant_Et_Lumi_Err",
"Instant_Et_Lumi_Err",maxNbins,-0.5,
double(maxNbins)-0.5);
220 "Instant_Et_Lumi_Qlty",maxNbins,-0.5,
double(maxNbins)-0.5);
223 startOrbit =
dbe_->book1D(
"Start_Orbit",
"Start_Orbit", maxNbins,-0.5,
double(maxNbins)-0.5);
225 numOrbits =
dbe_->book1D(
"Num_Orbits",
"Num_Orbits", maxNbins,-0.5,
double(maxNbins)-0.5);
228 dbe_->setCurrentFolder(
"L1T/L1TScalersSCAL/L1AcceptBunchCrossing");
230 for(
int i=0;
i<4;
i++){
232 sprintf(hname,
"OrbitNumber_L1A_%d",
i+1);
233 sprintf(mename,
"OrbitNumber_L1A_%d",
i+1);
236 sprintf(hname,
"Bunch_Crossing_L1A_%d",
i+1);
237 sprintf(mename,
"Bunch_Crossing_L1A_%d",
i+1);
251 for(
int j=0;
j<3;
j++) {
252 sprintf(hname,
"BX_Correlation_%d",
j+1);
253 sprintf(mename,
"BX_Correlation_%d",
j+1);
258 sprintf(hname,
"Bunch_Crossing_Diff_%d",
j+1);
259 sprintf(mename,
"Bunch_Crossing_Diff_%d",
j+1);
263 sprintf(hname,
"Bunch_Crossing_Diff_small_%d",
j+1);
264 sprintf(mename,
"Bunch_Crossing_Diff_small_%d",
j+1);
318 if ( ! (a && c && d) ) {
319 LogInfo(
"Status") <<
"getByLabel failed with label "
325 Level1TriggerScalersCollection::const_iterator it = triggerScalers->begin();
326 if(triggerScalers->size()){
332 unsigned int lumisection = it->lumiSegmentNr();
333 struct timespec thetime = it->collectionTime();
371 currenttime = thetime.tv_sec -
reftime_ ;
372 int timebin = (int)(currenttime/30) + 1;
478 LumiScalersCollection::const_iterator it3 = lumiScalers->begin();
479 if(lumiScalers->size()){
484 unsigned int lumisection = it3->sectionNumber();
514 unsigned int bx_current = 0, orbitnumber_current = 0, bxdiff = 0;
516 for(L1AcceptBunchCrossingCollection::const_iterator it4 = bunchCrossings->begin();
517 it4 != bunchCrossings->end();
524 l1accept =
std::abs(it4->l1AcceptOffset());
530 orbitnumber_current = it4->orbitNumber();
533 bx_current = it4->bunchCrossing();
537 else if (l1accept==1 || l1accept==2 || l1accept==3){
542 bxdiff = 3564*(orbitnumber_current-it4->orbitNumber()) + bx_current - it4->bunchCrossing();
void setBinContent(int binx, double content)
set content of bin (1-D)
edm::LuminosityBlockNumber_t luminosityBlock() const
double l1AsRandomRate() const
double triggersPhysicsLostBeamActiveRate() const
std::vector< double > gtAlgoCountsRate() const
Abs< T >::type abs(const T &t)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
double deadtimePercent() const
double triggersPhysicsLostRate() const
volatile std::atomic< bool > shutdown_flag false
std::vector< double > gtTechCountsRate() const
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
double l1AsPhysicsRate() const