26 constexpr
unsigned int PHIBINS = 18;
27 constexpr
float PHIMIN = -0.5;
28 constexpr
float PHIMAX = 17.5;
30 constexpr
unsigned int ETABINS = 22;
31 constexpr
float ETAMIN = -0.5;
32 constexpr
float ETAMAX = 21.5;
34 constexpr
unsigned int BITETABINS = 44;
35 constexpr
float BITETAMIN = 0;
36 constexpr
float BITETAMAX = 22;
38 constexpr
unsigned int BITPHIBINS = 72;
39 constexpr
float BITPHIMIN = 0;
40 constexpr
float BITPHIMAX = 18;
42 constexpr
unsigned int BITRPHIBINS = 90;
43 constexpr
float BITRPHIMIN = 0;
44 constexpr
float BITRPHIMAX = 18;
46 constexpr
unsigned int TPGPHIBINS = 72;
47 constexpr
float TPGPHIMIN = -0.5;
48 constexpr
float TPGPHIMAX = 71.5;
50 constexpr
unsigned int TPGETABINS = 64;
51 constexpr
float TPGETAMIN = -32.;
52 constexpr
float TPGETAMAX = 32.;
54 constexpr
unsigned int TPGRANK = 256;
55 constexpr
float TPGRANKMIN = -.5;
56 constexpr
float TPGRANKMAX = 255.5;
58 constexpr
unsigned int DEBINS = 127;
59 constexpr
float DEMIN = -63.5;
60 constexpr
float DEMAX = 63.5;
62 constexpr
unsigned int ELBINS = 64;
63 constexpr
float ELMIN = -.5;
64 constexpr
float ELMAX = 63.5;
66 constexpr
unsigned int PhiEtaMax = 396;
67 constexpr
unsigned int CHNLBINS = 396;
68 constexpr
float CHNLMIN = -0.5;
69 constexpr
float CHNLMAX = 395.5;
73 613, 614, 603, 702, 718, 1118, 611, 612, 602, 700, 718, 1118, 627, 610, 601, 716, 722, 1122,
74 625, 626, 609, 714, 722, 1122, 623, 624, 608, 712, 722, 1122, 621, 622, 607, 710, 720, 1120,
75 619, 620, 606, 708, 720, 1120, 617, 618, 605, 706, 720, 1120, 615, 616, 604, 704, 718, 1118,
76 631, 632, 648, 703, 719, 1118, 629, 630, 647, 701, 719, 1118, 645, 628, 646, 717, 723, 1122,
77 643, 644, 654, 715, 723, 1122, 641, 642, 653, 713, 723, 1122, 639, 640, 652, 711, 721, 1120,
78 637, 638, 651, 709, 721, 1120, 635, 636, 650, 707, 721, 1120, 633, 634, 649, 705, 719, 1118};
88 gtEGAlgoName_(ps.getParameter<
std::
string>(
"gtEGAlgoName")),
89 doubleThreshold_(ps.getParameter<
int>(
"doubleThreshold")),
90 filterTriggerType_(ps.getParameter<
int>(
"filterTriggerType")),
91 selectBX_(ps.getUntrackedParameter<
int>(
"selectBX", 2)),
92 dataInputTagName_(ps.getParameter<
InputTag>(
"rctSourceData").
label()) {
97 std::cout <<
"L1TdeRCT: single channels histos ON" << std::endl;
103 std::cout <<
"L1TdeRCT: constructor...." << std::endl;
113 std::cout <<
"L1TdeRCT: analyze...." << std::endl;
129 double triggerType = static_cast<double>(
e.experimentType()) + 0.001;
130 double triggerTypeLast = static_cast<double>(edm::EventAuxiliary::ExperimentType::ErrorTrigger) + 0.001;
137 if (
e.isRealData()) {
139 edm::LogInfo(
"L1TdeRCT") <<
"\n Event of TriggerType " <<
e.experimentType() <<
" rejected" << std::endl;
152 int effEGThresholdBitNumber = 999;
154 effEGThresholdBitNumber = 46;
157 effEGThresholdBitNumber = 47;
160 effEGThresholdBitNumber = 48;
163 effEGThresholdBitNumber = 49;
166 effEGThresholdBitNumber = 50;
169 effEGThresholdBitNumber = 51;
172 effEGThresholdBitNumber = 52;
175 int algoBitNumber = 0;
176 bool triggered =
false;
177 bool independent_triggered =
false;
178 DecisionWord::const_iterator algoItr;
179 for (algoItr = dWord.begin(); algoItr != dWord.end(); algoItr++) {
182 if (algoBitNumber == effEGThresholdBitNumber) {
185 if (algoBitNumber <= 45 || algoBitNumber >= 53) {
186 independent_triggered =
true;
217 edm::LogInfo(
"TPG DataNotFound") <<
"can't find EcalTrigPrimDigiCollection";
219 std::cout <<
"Can not find ecalTpData!" << std::endl;
227 if (iEcalTp->compressedEt() > 0) {
230 if (iEcalTp->id().ieta() > 0) {
232 if (iEcalTp->compressedEt() > 3)
236 if (iEcalTp->compressedEt() > 3)
241 std::cout <<
" ECAL data: Energy: " << iEcalTp->compressedEt() <<
" eta " << iEcalTp->id().ieta() <<
" phi "
242 << iEcalTp->id().iphi() << std::endl;
248 edm::LogInfo(
"TPG DataNotFound") <<
"can't find HcalTrigPrimDigiCollection";
250 std::cout <<
"Can not find hcalTpData!" << std::endl;
261 for (
int nSample = 0; nSample < 10; nSample++) {
262 if (iHcalTp->sample(nSample).compressedEt() != 0) {
264 std::cout <<
"HCAL data: Et " << iHcalTp->sample(nSample).compressedEt() <<
" fg "
265 << iHcalTp->sample(nSample).fineGrain() <<
" ieta " << iHcalTp->id().ieta() <<
" iphi "
266 << iHcalTp->id().iphi() <<
" sample " << nSample << std::endl;
267 if (iHcalTp->sample(nSample).compressedEt() >
highEt) {
268 highSample = nSample;
269 highEt = iHcalTp->sample(nSample).compressedEt();
275 if (iHcalTp->id().ieta() > 0)
289 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloRegionCollection";
291 std::cout <<
"Can not find rgnData!" << std::endl;
296 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloRegionCollection";
298 std::cout <<
"Can not find rgnEmul!" << std::endl;
306 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloEmCollection";
308 std::cout <<
"Can not find emData!" << std::endl;
313 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloEmCollection";
315 std::cout <<
"Can not find emEmul!" << std::endl;
323 int nelectrIsoData = 0;
324 int nelectrNisoData = 0;
325 int nelectrIsoEmul = 0;
326 int nelectrNisoEmul = 0;
328 int electronDataRank[2][PhiEtaMax] = {{0}};
329 int electronDataEta[2][PhiEtaMax] = {{0}};
330 int electronDataPhi[2][PhiEtaMax] = {{0}};
331 int electronEmulRank[2][PhiEtaMax] = {{0}};
332 int electronEmulEta[2][PhiEtaMax] = {{0}};
333 int electronEmulPhi[2][PhiEtaMax] = {{0}};
339 int regionDataRank[PhiEtaMax] = {0};
340 int regionDataEta[PhiEtaMax] = {0};
341 int regionDataPhi[PhiEtaMax] = {0};
343 bool regionDataOverFlow[PhiEtaMax] = {
false};
344 bool regionDataTauVeto[PhiEtaMax] = {
false};
345 bool regionDataMip[PhiEtaMax] = {
false};
346 bool regionDataQuiet[PhiEtaMax] = {
false};
347 bool regionDataHfPlusTau[PhiEtaMax] = {
false};
349 int regionEmulRank[PhiEtaMax] = {0};
350 int regionEmulEta[PhiEtaMax] = {0};
351 int regionEmulPhi[PhiEtaMax] = {0};
353 bool regionEmulOverFlow[PhiEtaMax] = {
false};
354 bool regionEmulTauVeto[PhiEtaMax] = {
false};
355 bool regionEmulMip[PhiEtaMax] = {
false};
356 bool regionEmulQuiet[PhiEtaMax] = {
false};
357 bool regionEmulHfPlusTau[PhiEtaMax] = {
false};
361 for (L1CaloEmCollection::const_iterator iem = emEmul->begin(); iem != emEmul->end(); iem++) {
362 if (iem->rank() >= 1) {
363 if (iem->isolated()) {
372 channel =
PHIBINS * iem->regionId().ieta() + iem->regionId().iphi();
374 electronEmulRank[0][nelectrIsoEmul] = iem->rank();
375 electronEmulEta[0][nelectrIsoEmul] = iem->regionId().ieta();
376 electronEmulPhi[0][nelectrIsoEmul] = iem->regionId().iphi();
390 channel =
PHIBINS * iem->regionId().ieta() + iem->regionId().iphi();
392 electronEmulRank[1][nelectrNisoEmul] = iem->rank();
393 electronEmulEta[1][nelectrNisoEmul] = iem->regionId().ieta();
394 electronEmulPhi[1][nelectrNisoEmul] = iem->regionId().iphi();
400 for (L1CaloEmCollection::const_iterator iem = emData->begin(); iem != emData->end(); iem++) {
404 if (iem->rank() >= 1) {
405 if (iem->isolated()) {
414 channel =
PHIBINS * iem->regionId().ieta() + iem->regionId().iphi();
420 electronDataRank[0][nelectrIsoData] = iem->rank();
421 electronDataEta[0][nelectrIsoData] = iem->regionId().ieta();
422 electronDataPhi[0][nelectrIsoData] = iem->regionId().iphi();
435 channel =
PHIBINS * iem->regionId().ieta() + iem->regionId().iphi();
441 electronDataRank[1][nelectrNisoData] = iem->rank();
442 electronDataEta[1][nelectrNisoData] = iem->regionId().ieta();
443 electronDataPhi[1][nelectrNisoData] = iem->regionId().iphi();
450 for (L1CaloRegionCollection::const_iterator ireg = rgnEmul->begin(); ireg != rgnEmul->end(); ireg++) {
452 if (ireg->overFlow())
460 if (ireg->fineGrain())
462 if (ireg->et() > 0) {
468 if (ireg->overFlow()) {
473 if (ireg->tauVeto()) {
488 if (ireg->fineGrain()) {
493 if (ireg->et() > 0) {
499 nRegionEmul =
PHIBINS * ireg->gctEta() + ireg->gctPhi();
501 regionEmulRank[nRegionEmul] = ireg->et();
502 regionEmulEta[nRegionEmul] = ireg->gctEta();
503 regionEmulPhi[nRegionEmul] = ireg->gctPhi();
504 regionEmulOverFlow[nRegionEmul] = ireg->overFlow();
505 regionEmulTauVeto[nRegionEmul] = ireg->tauVeto();
506 regionEmulMip[nRegionEmul] = ireg->mip();
507 regionEmulQuiet[nRegionEmul] = ireg->quiet();
508 regionEmulHfPlusTau[nRegionEmul] = ireg->fineGrain();
511 for (L1CaloRegionCollection::const_iterator ireg = rgnData->begin(); ireg != rgnData->end(); ireg++) {
516 if (ireg->overFlow())
524 if (ireg->fineGrain())
526 if (ireg->et() > 0) {
537 if (ireg->overFlow())
545 if (ireg->fineGrain())
550 nRegionData =
PHIBINS * ireg->gctEta() + ireg->gctPhi();
552 regionDataRank[nRegionData] = ireg->et();
553 regionDataEta[nRegionData] = ireg->gctEta();
554 regionDataPhi[nRegionData] = ireg->gctPhi();
555 regionDataOverFlow[nRegionData] = ireg->overFlow();
556 regionDataTauVeto[nRegionData] = ireg->tauVeto();
557 regionDataMip[nRegionData] = ireg->mip();
558 regionDataQuiet[nRegionData] = ireg->quiet();
559 regionDataHfPlusTau[nRegionData] = ireg->fineGrain();
563 std::cout <<
"I found Data! Iso: " << nelectrIsoData <<
" Niso: " << nelectrNisoData << std::endl;
564 for (
int i = 0;
i < nelectrIsoData;
i++)
565 std::cout <<
" Iso Energy " << electronDataRank[0][
i] <<
" eta " << electronDataEta[0][
i] <<
" phi "
566 << electronDataPhi[0][
i] << std::endl;
567 for (
int i = 0;
i < nelectrNisoData;
i++)
568 std::cout <<
" Niso Energy " << electronDataRank[1][
i] <<
" eta " << electronDataEta[1][
i] <<
" phi "
569 << electronDataPhi[1][
i] << std::endl;
571 std::cout <<
"I found Emul! Iso: " << nelectrIsoEmul <<
" Niso: " << nelectrNisoEmul << std::endl;
572 for (
int i = 0;
i < nelectrIsoEmul;
i++)
573 std::cout <<
" Iso Energy " << electronEmulRank[0][
i] <<
" eta " << electronEmulEta[0][
i] <<
" phi "
574 << electronEmulPhi[0][
i] << std::endl;
575 for (
int i = 0;
i < nelectrNisoEmul;
i++)
576 std::cout <<
" Niso Energy " << electronEmulRank[1][
i] <<
" eta " << electronEmulEta[1][
i] <<
" phi "
577 << electronEmulPhi[1][
i] << std::endl;
579 std::cout <<
"I found Data! Regions: " << PhiEtaMax << std::endl;
580 for (
int i = 0;
i < (
int)PhiEtaMax;
i++)
581 if (regionDataRank[
i] != 0)
582 std::cout <<
" Energy " << regionDataRank[
i] <<
" eta " << regionDataEta[
i] <<
" phi " << regionDataPhi[
i]
585 std::cout <<
"I found Emul! Regions: " << PhiEtaMax << std::endl;
586 for (
int i = 0;
i < (
int)PhiEtaMax;
i++)
587 if (regionEmulRank[
i] != 0)
588 std::cout <<
" Energy " << regionEmulRank[
i] <<
" eta " << regionEmulEta[
i] <<
" phi " << regionEmulPhi[
i]
594 for (
int k = 0;
k < 2;
k++) {
595 int nelectrE, nelectrD;
598 nelectrE = nelectrIsoEmul;
599 nelectrD = nelectrIsoData;
603 nelectrE = nelectrNisoEmul;
604 nelectrD = nelectrNisoData;
607 for (
int i = 0;
i < nelectrE;
i++) {
611 int chnl =
PHIBINS * electronEmulEta[
k][
i] + electronEmulPhi[
k][
i];
612 if (
k == 1 && independent_triggered) {
622 if (electronEmulRank[
k][
i] >= trigThresh) {
623 if (
k == 1 && independent_triggered) {
632 Bool_t
found = kFALSE;
634 for (
int j = 0;
j < nelectrD;
j++) {
635 if (electronEmulEta[
k][
i] == electronDataEta[
k][
j] && electronEmulPhi[
k][
i] == electronDataPhi[
k][
j]) {
642 chnl =
PHIBINS * electronEmulEta[
k][
i] + electronEmulPhi[
k][
i];
645 int energy_difference;
647 energy_difference = (electronEmulRank[
k][
i] - electronDataRank[
k][
j]);
651 if (electronEmulRank[
k][
i] == electronDataRank[
k][
j]) {
663 bitset<8> bitDifference(electronEmulRank[
k][
i] ^ electronDataRank[
k][
j]);
664 for (
size_t n = 0;
n < bitDifference.size();
n++) {
670 electronEmulEta[
k][
i] + 0.5, electronEmulPhi[
k][
i] + (
n - 4) * 0.25, bitDifference[
n]);
682 chnl =
PHIBINS * electronEmulEta[
k][
i] + electronEmulPhi[
k][
i];
685 int energy_difference;
687 energy_difference = (electronEmulRank[
k][
i] - electronDataRank[
k][
j]);
691 if (electronEmulRank[
k][
i] == electronDataRank[
k][
j]) {
702 bitset<8> bitDifference(electronEmulRank[
k][
i] ^ electronDataRank[
k][
j]);
703 for (
size_t n = 0;
n < bitDifference.size();
n++) {
709 electronEmulEta[
k][
i] + 0.5, electronEmulPhi[
k][
i] + (
n - 4) * 0.25, bitDifference[
n]);
719 if (
found == kFALSE) {
727 bitset<8> bit(electronEmulRank[
k][
i]);
728 for (
size_t n = 0;
n < bit.size();
n++) {
737 chnl =
PHIBINS * electronEmulEta[
k][
i] + electronEmulPhi[
k][
i];
750 chnl =
PHIBINS * electronEmulEta[
k][
i] + electronEmulPhi[
k][
i];
754 bitset<8> bit(electronEmulRank[
k][
i]);
755 for (
size_t n = 0;
n < bit.size();
n++) {
800 for (
int i = 0;
i < nelectrE;
i++) {
801 int chnl =
PHIBINS * electronEmulEta[
k][
i] + electronEmulPhi[
k][
i];
806 for (
int i = 0;
i < nelectrD;
i++) {
807 Bool_t
found = kFALSE;
809 for (
int j = 0;
j < nelectrE;
j++) {
810 if (electronEmulEta[
k][
j] == electronDataEta[
k][
i] && electronEmulPhi[
k][
j] == electronDataPhi[
k][
i]) {
815 if (
found == kFALSE) {
823 bitset<8> bit(electronDataRank[
k][
i]);
824 for (
size_t n = 0;
n < bit.size();
n++) {
833 chnl =
PHIBINS * electronDataEta[
k][
i] + electronDataPhi[
k][
i];
848 bitset<8> bit(electronDataRank[
k][
i]);
849 for (
size_t n = 0;
n < bit.size();
n++) {
858 chnl =
PHIBINS * electronDataEta[
k][
i] + electronDataPhi[
k][
i];
876 for (
unsigned int i = 0;
i < (
int)PhiEtaMax;
i++) {
877 Bool_t regFound = kFALSE;
878 Bool_t overFlowFound = kFALSE;
879 Bool_t tauVetoFound = kFALSE;
880 Bool_t mipFound = kFALSE;
881 Bool_t quietFound = kFALSE;
882 Bool_t hfPlusTauFound = kFALSE;
889 if (regionDataRank[
i] >= 1 && regionEmulRank[
i] >= 1) {
892 chnl =
PHIBINS * regionEmulEta[
i] + regionEmulPhi[
i];
902 if (regionEmulRank[
i] == regionDataRank[
i]) {
911 bitset<10> bitDifference(regionEmulRank[
i] ^ regionDataRank[
i]);
912 for (
size_t n = 0;
n < bitDifference.size();
n++) {
927 if (regionEmulOverFlow[
i] ==
true && regionDataOverFlow[
i] ==
true) {
929 overFlowFound = kTRUE;
932 if (regionEmulTauVeto[
i] ==
true && regionDataTauVeto[
i] ==
true) {
934 tauVetoFound = kTRUE;
937 if (regionEmulMip[
i] ==
true && regionDataMip[
i] ==
true) {
942 if (regionEmulQuiet[
i] ==
true && regionDataQuiet[
i] ==
true) {
947 if (regionEmulHfPlusTau[
i] ==
true && regionDataHfPlusTau[
i] ==
true) {
949 hfPlusTauFound = kTRUE;
955 if (regFound == kFALSE && regionEmulRank[
i] >= 1) {
958 bitset<10> bit(regionEmulRank[
i]);
959 for (
size_t n = 0;
n < bit.size();
n++) {
968 chnl =
PHIBINS * regionEmulEta[
i] + regionEmulPhi[
i];
977 if (overFlowFound == kFALSE && regionEmulOverFlow[
i] ==
true) {
981 if (tauVetoFound == kFALSE && regionEmulTauVeto[
i] ==
true) {
985 if (mipFound == kFALSE && regionEmulMip[
i] ==
true) {
989 if (quietFound == kFALSE && regionEmulQuiet[
i] ==
true) {
993 if (hfPlusTauFound == kFALSE && regionEmulHfPlusTau[
i] ==
true) {
1025 for (
int i = 0;
i < (
int)PhiEtaMax;
i++) {
1026 Bool_t regFound = kFALSE;
1027 Bool_t overFlowFound = kFALSE;
1028 Bool_t tauVetoFound = kFALSE;
1029 Bool_t mipFound = kFALSE;
1030 Bool_t quietFound = kFALSE;
1031 Bool_t hfPlusTauFound = kFALSE;
1039 if (regionEmulRank[
i] >= 1 && regionDataRank[
i] >= 1)
1042 if (regionDataOverFlow[
i] ==
true && regionEmulOverFlow[
i] ==
true)
1043 overFlowFound = kTRUE;
1045 if (regionDataTauVeto[
i] ==
true && regionEmulTauVeto[
i] ==
true)
1046 tauVetoFound = kTRUE;
1048 if (regionDataMip[
i] ==
true && regionEmulMip[
i] ==
true)
1051 if (regionDataQuiet[
i] ==
true && regionEmulQuiet[
i] ==
true)
1054 if (regionDataHfPlusTau[
i] ==
true && regionEmulHfPlusTau[
i] ==
true)
1055 hfPlusTauFound = kTRUE;
1059 if (regFound == kFALSE && regionDataRank[
i] >= 1) {
1062 bitset<10> bit(regionDataRank[
i]);
1063 for (
size_t n = 0;
n < bit.size();
n++) {
1072 chnl =
PHIBINS * regionDataEta[
i] + regionDataPhi[
i];
1085 if (overFlowFound == kFALSE && regionDataOverFlow[
i] ==
true) {
1089 if (tauVetoFound == kFALSE && regionDataTauVeto[
i] ==
true) {
1093 if (mipFound == kFALSE && regionDataMip[
i] ==
true) {
1097 if (quietFound == kFALSE && regionDataQuiet[
i] ==
true) {
1101 if (hfPlusTauFound == kFALSE && regionDataHfPlusTau[
i] ==
true) {
1123 res->Divide(
num, den, 1, 1,
"");
1131 res->Divide(
num, den, 1, 1,
"");
1154 "rctInputTPGEcalOcc",
"rctInputTPGEcalOcc", TPGETABINS, TPGETAMIN, TPGETAMAX, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
1157 "rctInputTPGEcalOccNoCut",
1168 "rctInputTPGHcalOcc",
"rctInputTPGHcalOcc", TPGETABINS, TPGETAMIN, TPGETAMAX, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
1196 ibooker.
book2D(
"trigEffTriggThreshOcc",
1197 "Rank occupancy >= 2x trig thresh, triggered (source: " +
dataInputTagName_ +
")",
1228 ibooker.
book1D(
"rctIsoEmEff2oneD",
"rctIsoEmEff2oneD, energy matching required", CHNLBINS, CHNLMIN, CHNLMAX);
1240 ibooker.
book1D(
"rctIsoEmIneff2oneD",
"rctIsoEmIneff2oneD, energy matching required", CHNLBINS, CHNLMIN, CHNLMAX);
1365 ibooker.
book1D(
"rctNisoEmEff2oneD",
"rctNisoEmEff2oneD, energy matching required", CHNLBINS, CHNLMIN, CHNLMAX);
1368 "rctNisoEmIneff2, energy matching required (source: " +
dataInputTagName_ +
")",
1377 "rctNisoEmIneff2oneD",
"rctNisoEmIneff2oneD, energy matching required", CHNLBINS, CHNLMIN, CHNLMAX);
1483 rctRegEff1D_ = ibooker.
book1D(
"rctRegEff1D",
"1D region efficiency", CHNLBINS, CHNLMIN, CHNLMAX);
1485 rctRegIneff1D_ = ibooker.
book1D(
"rctRegIneff1D",
"1D region inefficiency", CHNLBINS, CHNLMIN, CHNLMAX);
1487 rctRegOvereff1D_ = ibooker.
book1D(
"rctRegOvereff1D",
"1D region overefficiency", CHNLBINS, CHNLMIN, CHNLMAX);
1490 ibooker.
book1D(
"rctRegSpEff1D",
"1D region efficiency, energy matching required", CHNLBINS, CHNLMIN, CHNLMAX);
1493 ibooker.
book1D(
"rctRegSpIneff1D",
"1D region inefficiency, energy matching required", CHNLBINS, CHNLMIN, CHNLMAX);
1523 "2D region efficiency, energy matching required (source: " +
dataInputTagName_ +
")",
1532 ibooker.
book2D(
"rctRegSpIneff2D",
1533 "2D region inefficiency, energy matching required (source: " +
dataInputTagName_ +
")",
1543 rctRegDataOcc1D_ = ibooker.
book1D(
"rctRegDataOcc1D",
"1D region occupancy from data", CHNLBINS, CHNLMIN, CHNLMAX);
1545 rctRegEmulOcc1D_ = ibooker.
book1D(
"rctRegEmulOcc1D",
"1D region occupancy from emulator", CHNLBINS, CHNLMIN, CHNLMAX);
1548 ibooker.
book1D(
"rctRegMatchedOcc1D",
"1D region occupancy for matched hits", CHNLBINS, CHNLMIN, CHNLMAX);
1551 "rctRegUnmatchedDataOcc1D",
"1D region occupancy for unmatched hardware hits", CHNLBINS, CHNLMIN, CHNLMAX);
1554 "rctRegUnmatchedEmulOcc1D",
"1D region occupancy for unmatched emulator hits", CHNLBINS, CHNLMIN, CHNLMAX);
1557 "rctRegSpEffOcc1D",
"1D region occupancy for \\Delta E_{T} efficiency", CHNLBINS, CHNLMIN, CHNLMAX);
1560 "rctRegSpIneffOcc1D",
"1D region occupancy for \\Delta E_{T} efficiency ", CHNLBINS, CHNLMIN, CHNLMAX);
1578 "2D region occupancy for unmatched hardware hits",
1587 "2D region occupancy for unmatched emulator hits",
1600 "2D region occupancy for \\Delta E_{T} efficiency",
1609 "2D region occupancy for \\Delta E_{T} inefficiency",
1741 "2D overflow bit for unmatched emulator hits",
1750 "2D overflow bit for unmatched hardware hits",
1774 "2D tau veto bit for unmatched emulator hits",
1783 "2D tau veto bit for unmatched hardware hits",
1801 "2D mip bit for unmatched emulator hits",
1810 "2D mip bit for unmatched hardware hits",
1828 "2D quiet bit for unmatched emulator hits",
1837 "2D quiet bit for unmatched hardware hits",
1861 "2D HfPlusTau bit for unmatched emulator hits",
1870 "2D HfPlusTau bit for unmatched hardware hits",
1880 "Monitoring for Bits Stuck On",
1889 "Monitoring for Bits Stuck Off",
1898 "Monitoring for Bits Difference",
1907 "Monitoring for Bits Stuck On",
1916 "Monitoring for Bits Stuck Off",
1925 "Monitoring for Bits Difference",
1934 "Monitoring for Bits Stuck On",
1943 "Monitoring for Bits Stuck Off",
1952 "Monitoring for Bits Difference",
1964 for (
unsigned int i = 0;
i < 108; ++
i) {
1978 for (
int m = 0;
m < 12;
m++) {
2006 char name[80], channel[80] = {
""};
2009 strcpy(
name,
"(Eemul-Edata)Chnl");
2011 strcpy(
name,
"(Eemul-Edata)Chnl");
2013 strcpy(
name,
"(Eemul-Edata)Chnl");
2015 strcpy(
name,
"EemulChnl");
2017 strcpy(
name,
"EemulChnl");
2019 strcpy(
name,
"EemulChnl");
2021 strcpy(
name,
"EdataChnl");
2023 strcpy(
name,
"EdataChnl");
2025 strcpy(
name,
"EdataChnl");
2027 strcpy(
name,
"EemulChnlEff");
2029 strcpy(
name,
"EemulChnlTrig");
2031 strcpy(
name,
"EemulChnl");
2033 if (
i < 10 &&
j < 10)
2034 sprintf(channel,
"_0%d0%d",
i,
j);
2036 sprintf(channel,
"_0%d%d",
i,
j);
2038 sprintf(channel,
"_%d0%d",
i,
j);
2040 sprintf(channel,
"_%d%d",
i,
j);
2041 strcat(
name, channel);
2085 return std::shared_ptr<l1tderct::Empty>();
2094 std::vector<int> caloFeds;
2096 const std::vector<int> Feds =
summary->m_fed_in;
2097 for (std::vector<int>::const_iterator cf = Feds.begin(); cf != Feds.end(); ++cf) {
2099 if ((fedNum > 600 && fedNum < 724) || fedNum == 1118 || fedNum == 1120 || fedNum == 1122)
2100 caloFeds.push_back(fedNum);
2103 for (
unsigned int i = 0;
i < 108; ++
i) {
2104 std::vector<int>::iterator fv =
std::find(caloFeds.begin(), caloFeds.end(),
crateFED[
i]);
2105 if (fv != caloFeds.end()) {