33 verbose_(ps.getUntrackedParameter<bool>(
"verbose",
false)),
34 denomIsTech_(ps.getUntrackedParameter<bool>(
"denomIsTech",
true)),
35 denomBit_(ps.getUntrackedParameter<unsigned
int>(
"denomBit", 40)),
36 muonBit_(ps.getUntrackedParameter<unsigned
int>(
"muonBit", 55)),
37 egammaBit_(ps.getUntrackedParameter<unsigned
int>(
"egammaBit", 46)),
38 jetBit_(ps.getUntrackedParameter<unsigned
int>(
"jetBit", 15)) {
65 orbitNum = iBooker.
book1D(
"Orbit_Number",
"Orbit_Number", maxNbins, -0.5,
66 double(maxNbins) - 0.5);
68 iBooker.
book1D(
"Number_of_Triggers",
"Number_of_Triggers", 1000, 0, 4E4);
70 eventNum = iBooker.
book1D(
"Number_of_Events",
"Number_of_Events", maxNbins,
71 -0.5,
double(maxNbins) - 0.5);
73 physTrig = iBooker.
book1D(
"Physics_Triggers",
"Physics_Triggers", maxNbins,
74 -0.5,
double(maxNbins) - 0.5);
77 randTrig = iBooker.
book1D(
"Random_Triggers",
"Random_Triggers", maxNbins,
78 -0.5,
double(maxNbins) - 0.5);
81 -0.5,
double(maxNbins) - 0.5);
83 double(maxNbins) - 0.5);
85 maxNbins, -0.5,
double(maxNbins) - 0.5);
88 physRate = iBooker.
book1D(
"Physics_Trigger_Rate",
"Physics_Trigger_Rate",
89 maxNbins, -0.5,
double(maxNbins) - 0.5);
90 randRate = iBooker.
book1D(
"Random_Trigger_Rate",
"Random_Trigger_Rate",
91 maxNbins, -0.5,
double(maxNbins) - 0.5);
93 maxNbins, -0.5,
double(maxNbins) - 0.5);
95 iBooker.
book1D(
"Lost_Physics_Trigger_Rate",
"Lost_Physics_Trigger_Rate",
96 maxNbins, -0.5,
double(maxNbins) - 0.5);
98 iBooker.
book1D(
"Lost_Physics_Trigger_Rate_Beam_Active",
99 "Lost_Physics_Trigger_Rate_Beam_Active", maxNbins, -0.5,
100 double(maxNbins) - 0.5);
104 iBooker.
book1D(
"instEventRate",
"instEventRate", 1000, 0, 4E4);
111 "L1T/L1TScalersSCAL/Level1TriggerRates/AlgorithmRates");
113 sprintf(hname,
"Rate_AlgoBit_%03d",
i);
114 sprintf(mename,
"Rate_AlgoBit _%03d",
i);
116 iBooker.
book1D(hname, mename, maxNbins, -0.5,
double(maxNbins) - 0.5);
121 "L1T/L1TScalersSCAL/Level1TriggerRates/AlgorithmRates/Integrated");
123 sprintf(hname,
"Integral_AlgoBit_%03d",
i);
124 sprintf(mename,
"Integral_AlgoBit _%03d",
i);
126 iBooker.
book1D(hname, mename, maxNbins, -0.5,
double(maxNbins) - 0.5);
131 "L1T/L1TScalersSCAL/Level1TriggerRates/TechnicalRates");
133 sprintf(hname,
"Rate_TechBit_%03d",
i);
134 sprintf(mename,
"Rate_TechBit _%03d",
i);
136 iBooker.
book1D(hname, mename, maxNbins, -0.5,
double(maxNbins) - 0.5);
141 "L1T/L1TScalersSCAL/Level1TriggerRates/TechnicalRates/Integrated");
143 sprintf(hname,
"Integral_TechBit_%03d",
i);
144 sprintf(mename,
"Integral_TechBit _%03d",
i);
146 iBooker.
book1D(hname, mename, maxNbins, -0.5,
double(maxNbins) - 0.5);
150 "Integral_TechBit_042_OR_043",
"Integral_TechBit _042_OR_043", maxNbins,
151 -0.5,
double(maxNbins) - 0.5);
155 std::stringstream smu, seg, sjet, sdenom;
158 sdenom <<
"_TechBit_";
160 sdenom <<
"_AlgoBit_";
165 iBooker.
book1D(
"Rate_Ratio_mu_PhysBit_" + smu.str() + sdenom.str(),
166 "Rate_Ratio_mu_PhysBit_" + smu.str() + sdenom.str(),
167 maxNbins, -0.5, double(maxNbins) - 0.5);
172 iBooker.
book1D(
"Rate_Ratio_egamma_PhysBit_" + seg.str() + sdenom.str(),
173 "Rate_Ratio_egamma_PhysBit_" + seg.str() + sdenom.str(),
174 maxNbins, -0.5, double(maxNbins) - 0.5);
179 iBooker.
book1D(
"Rate_Ratio_jet_PhysBit_" + sjet.str() + sdenom.str(),
180 "Rate_Ratio_jet_PhysBit_" + sjet.str() + sdenom.str(),
181 maxNbins, -0.5, double(maxNbins) - 0.5);
186 "Rate_Ratio_TechBit_8" + sdenom.str(),
187 maxNbins, -0.5, double(maxNbins) - 0.5);
189 "Rate_Ratio_TechBit_9" + sdenom.str(),
190 maxNbins, -0.5, double(maxNbins) - 0.5);
192 "Rate_Ratio_TechBit_10" + sdenom.str(),
193 maxNbins, -0.5, double(maxNbins) - 0.5);
196 "Rate_Ratio_TechBits_33_over_32",
"Rate_Ratio_TechBits_33_over_32",
197 maxNbins, -0.5,
double(maxNbins) - 0.5);
199 "Rate_Ratio_TechBit_36" + sdenom.str(),
200 maxNbins, -0.5, double(maxNbins) - 0.5);
202 "Rate_Ratio_TechBit_37" + sdenom.str(),
203 maxNbins, -0.5, double(maxNbins) - 0.5);
205 "Rate_Ratio_TechBit_38" + sdenom.str(),
206 maxNbins, -0.5, double(maxNbins) - 0.5);
208 "Rate_Ratio_TechBit_39" + sdenom.str(),
209 maxNbins, -0.5, double(maxNbins) - 0.5);
211 "Rate_Ratio_TechBit_40" + sdenom.str(),
212 maxNbins, -0.5, double(maxNbins) - 0.5);
214 "Rate_Ratio_TechBit_41" + sdenom.str(),
215 maxNbins, -0.5, double(maxNbins) - 0.5);
217 "Rate_Ratio_TechBit_42" + sdenom.str(),
218 maxNbins, -0.5, double(maxNbins) - 0.5);
220 "Rate_Ratio_TechBit_43" + sdenom.str(),
221 maxNbins, -0.5, double(maxNbins) - 0.5);
224 instLumi = iBooker.
book1D(
"Instant_Lumi",
"Instant_Lumi", maxNbins, -0.5,
225 double(maxNbins) - 0.5);
227 -0.5,
double(maxNbins) - 0.5);
229 maxNbins, -0.5,
double(maxNbins) - 0.5);
231 -0.5,
double(maxNbins) - 0.5);
233 maxNbins, -0.5,
double(maxNbins) - 0.5);
235 iBooker.
book1D(
"Instant_Et_Lumi_Qlty",
"Instant_Et_Lumi_Qlty", maxNbins,
236 -0.5,
double(maxNbins) - 0.5);
238 double(maxNbins) - 0.5);
240 double(maxNbins) - 0.5);
243 for (
int i = 0;
i < 4;
i++) {
244 sprintf(hname,
"OrbitNumber_L1A_%d",
i + 1);
245 sprintf(mename,
"OrbitNumber_L1A_%d",
i + 1);
247 sprintf(hname,
"Bunch_Crossing_L1A_%d",
i + 1);
248 sprintf(mename,
"Bunch_Crossing_L1A_%d",
i + 1);
261 for (
int j = 0; j < 3; j++) {
262 sprintf(hname,
"BX_Correlation_%d", j + 1);
263 sprintf(mename,
"BX_Correlation_%d", j + 1);
265 iBooker.
book2D(hname, mename, 99, -0.5, 3563.5, 99, -0.5, 3563.5);
267 sprintf(hname,
"Bunch_Crossing_Diff_%d", j + 1);
268 sprintf(mename,
"Bunch_Crossing_Diff_%d", j + 1);
270 sprintf(hname,
"Bunch_Crossing_Diff_small_%d", j + 1);
271 sprintf(mename,
"Bunch_Crossing_Diff_small_%d", j + 1);
301 if (!(a && c && d)) {
302 LogInfo(
"Status") <<
"getByToken failed";
304 Level1TriggerScalersCollection::const_iterator it = triggerScalers->begin();
305 if (triggerScalers->size()) {
306 unsigned int lumisection = it->lumiSegmentNr();
307 struct timespec thetime = it->collectionTime();
320 it->triggersPhysicsLost());
324 currenttime = thetime.tv_sec -
reftime_;
325 int timebin = (
int)(currenttime / 30) + 1;
337 (evtLumi > 1 || evtLumi == lumisection + 1))) {
355 if ((i == 42 || i == 43))
436 LumiScalersCollection::const_iterator it3 = lumiScalers->begin();
437 if (lumiScalers->size()) {
438 unsigned int lumisection = it3->sectionNumber();
446 it3->instantETLumiQlty());
453 unsigned int bx_current = 0, orbitnumber_current = 0, bxdiff = 0;
455 for (L1AcceptBunchCrossingCollection::const_iterator it4 =
456 bunchCrossings->begin();
457 it4 != bunchCrossings->end(); ++it4) {
458 l1accept =
std::abs(it4->l1AcceptOffset());
460 orbitnumber_current = it4->orbitNumber();
463 bx_current = it4->bunchCrossing();
465 }
else if (l1accept == 1 || l1accept == 2 || l1accept == 3) {
469 bxdiff = 3564 * (orbitnumber_current - it4->orbitNumber()) +
470 bx_current - it4->bunchCrossing();
void setBinContent(int binx, double content)
set content of bin (1-D)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::LuminosityBlockNumber_t luminosityBlock() const
double l1AsRandomRate() const
double triggersPhysicsLostBeamActiveRate() const
std::vector< double > gtAlgoCountsRate() const
MonitorElement * book1D(Args &&...args)
Abs< T >::type abs(const T &t)
std::vector< L1AcceptBunchCrossing > L1AcceptBunchCrossingCollection
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
std::vector< Level1TriggerScalers > Level1TriggerScalersCollection
double deadtimePercent() const
double triggersPhysicsLostRate() const
std::vector< LumiScalers > LumiScalersCollection
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