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;
130 double triggerTypeLast =
static_cast<double>(edm::EventAuxiliary::ExperimentType::ErrorTrigger) + 0.001;
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++) {
917 rctRegBitDiff_->
Fill(regionEmulEta[i] + 0.5, regionEmulPhi[i] + (
n - 5) * 0.2, bitDifference[
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++) {
1068 rctRegBitOn_->
Fill(regionDataEta[i] + 0.5, regionDataPhi[i] + (
n - 5) * 0.2, bit[
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) {
1120 TH2F* den = denominator->
getTH2F();
1123 res->Divide(num, den, 1, 1,
"");
1128 TH1F* den = denominator->
getTH1F();
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);
2064 trigEff_[chnl] = ibooker.
book1D(name, name, ELBINS, ELMIN, ELMAX);
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()) {
MonitorElement * rctBitUnmatchedDataTauVeto2D_
void DivideME2D(MonitorElement *numerator, MonitorElement *denominator, MonitorElement *result)
MonitorElement * rctRegUnmatchedDataOcc1D_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX)
void readFEDVector(MonitorElement *, const edm::EventSetup &) const
MonitorElement * rctIsoEmBitDiff_
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * rctRegMatchedOcc1D_
MonitorElement * rctNisoEmEmulOcc1D_
MonitorElement * rctNisoEmIneff2oneD_
std::vector< L1CaloEmCand > L1CaloEmCollection
MonitorElement * rctNisoEmIneff1D_
static const int crateFED[108]
MonitorElement * rctNisoEmEff2Occ1D_
MonitorElement * rctInputTPGHcalOcc_
MonitorElement * rctNisoEmEff2oneD_
MonitorElement * rctNisoEmIneff2Occ1D_
const unsigned int ETABINS
MonitorElement * rctBitMatchedTauVeto2D_
MonitorElement * rctBitDataMip2D_
MonitorElement * rctBitUnmatchedDataHfPlusTau2D_
MonitorElement * rctBitEmulTauVeto2D_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * rctIsoEmIneff2Occ_
MonitorElement * trigEffThresh_
MonitorElement * rctBitHfPlusTauIneff2D_
void setCurrentFolder(std::string const &fullpath)
MonitorElement * rctIsoEmIneff2Occ1D_
MonitorElement * rctIsoEmEmulOcc1D_
MonitorElement * rctBitUnmatchedEmulTauVeto2D_
edm::EDGetTokenT< L1CaloEmCollection > rctSourceData_emData_
MonitorElement * rctBitUnmatchedEmulQuiet2D_
MonitorElement * trigEffThreshOcc_
MonitorElement * rctNisoEffChannel_[396]
MonitorElement * rctRegOvereff1D_
std::vector< T >::const_iterator const_iterator
MonitorElement * rctIsoEmEff2_
MonitorElement * rctNisoEmOvereffOcc1D_
MonitorElement * trigEffOcc_[396]
MonitorElement * rctRegOvereff2D_
MonitorElement * rctIsoEmOvereffOcc1D_
MonitorElement * triggerType_
MonitorElement * rctBitTauVetoEff2D_
MonitorElement * rctBitMatchedQuiet2D_
MonitorElement * rctBitTauVetoOvereff2D_
MonitorElement * rctRegDataOcc1D_
MonitorElement * rctIsoEmIneffOcc_
MonitorElement * rctBitDataQuiet2D_
MonitorElement * rctBitMatchedHfPlusTau2D_
MonitorElement * rctIsoEmEff2Occ_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
MonitorElement * rctRegEmulOcc2D_
MonitorElement * rctRegUnmatchedEmulOcc2D_
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtDigisLabel_
MonitorElement * rctRegSpEff2D_
MonitorElement * rctBitUnmatchedEmulOverFlow2D_
MonitorElement * rctIsoEmBitOn_
MonitorElement * rctRegIneff2D_
MonitorElement * rctIsoEmEff2Occ1D_
const unsigned int PHIBINS
bool singlechannelhistos_
MonitorElement * rctBitMipIneff2D_
MonitorElement * rctBitOverFlowOvereff2D_
MonitorElement * rctInputTPGHcalSample_
MonitorElement * rctIsoEmOvereff_
MonitorElement * rctBitDataOverFlow2D_
MonitorElement * rctIsoEmDataOcc_
MonitorElement * fedVectorMonitorLS_
MonitorElement * rctNisoEmEff1oneD_
edm::EDGetTokenT< HcalTrigPrimDigiCollection > hcalTPGData_
MonitorElement * rctNisoEmIneff2Occ_
MonitorElement * rctNisoEmOvereffOcc_
MonitorElement * rctRegBitOn_
MonitorElement * rctRegBitDiff_
MonitorElement * rctNisoEmDataOcc_
MonitorElement * rctNisoEmIneff2_
MonitorElement * rctBitDataHfPlusTau2D_
std::string gtEGAlgoName_
void DivideME1D(MonitorElement *numerator, MonitorElement *denominator, MonitorElement *result)
MonitorElement * rctRegIneffChannel_[396]
MonitorElement * rctInputTPGEcalOcc_
MonitorElement * rctRegDataOcc2D_
MonitorElement * rctInputTPGEcalRank_
MonitorElement * rctIsoEmIneff1D_
std::vector< bool > DecisionWord
typedefs
std::vector< int > m_fed_in
MonitorElement * rctBitMipOvereff2D_
MonitorElement * trigEff_[396]
MonitorElement * rctBitMatchedOverFlow2D_
MonitorElement * rctBitEmulOverFlow2D_
MonitorElement * rctRegEmulOcc1D_
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTPGData_
MonitorElement * rctIsoEmBitOff_
MonitorElement * fedVectorMonitorRUN_
MonitorElement * rctBitEmulMip2D_
MonitorElement * rctIsoEmIneff2_
MonitorElement * rctBitEmulQuiet2D_
MonitorElement * rctNisoEmEmulOcc_
MonitorElement * rctBitEmulHfPlusTau2D_
MonitorElement * triggerAlgoNumbers_
MonitorElement * rctNisoIneffChannel_[396]
MonitorElement * rctRegSpIneff2D_
virtual 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)
MonitorElement * rctIsoEmEmulOcc_
MonitorElement * rctIsoEmEff1Occ_
std::string dataInputTagName_
MonitorElement * rctNisoEmOvereff1D_
MonitorElement * rctNisoEmEff2Occ_
MonitorElement * rctBitUnmatchedEmulHfPlusTau2D_
const DecisionWord & decisionWord(int bxInEventValue) const
MonitorElement * rctRegEff1D_
MonitorElement * rctBitMatchedMip2D_
MonitorElement * rctNisoEmEff2_
MonitorElement * rctRegSpEff1D_
const_iterator end() const
MonitorElement * rctIsoEmEff1Occ1D_
MonitorElement * rctIsoEmEff1oneD_
MonitorElement * rctNisoEmIneff_
MonitorElement * rctRegSpEffOcc1D_
MonitorElement * rctRegMatchedOcc2D_
std::shared_ptr< l1tderct::Empty > globalBeginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &) const override
MonitorElement * rctNIsoEmBitDiff_
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * rctBitHfPlusTauOvereff2D_
MonitorElement * rctNisoEmEff1Occ_
MonitorElement * rctIsoEmOvereff1D_
MonitorElement * rctIsoEmEff1_
MonitorElement * rctBitTauVetoIneff2D_
MonitorElement * rctInputTPGHcalRank_
MonitorElement * trigEffTriggThreshOcc_
MonitorElement * rctIsoEmIneffOcc1D_
MonitorElement * rctRegEffChannel_[396]
MonitorElement * rctBitHfPlusTauEff2D_
MonitorElement * rctNisoEmIneffOcc1D_
MonitorElement * rctRegOvereffChannel_[396]
MonitorElement * rctBitOverFlowIneff2D_
MonitorElement * rctRegSpIneffOcc1D_
MonitorElement * rctBitUnmatchedDataMip2D_
L1TdeRCT(const edm::ParameterSet &ps)
MonitorElement * trigEffTriggOcc_[396]
MonitorElement * rctBitMipEff2D_
MonitorElement * rctIsoEmIneff2oneD_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
MonitorElement * rctRegUnmatchedDataOcc2D_
MonitorElement * rctBitUnmatchedEmulMip2D_
MonitorElement * rctBitOverFlowEff2D_
MonitorElement * rctNIsoEmBitOff_
edm::EDGetTokenT< L1CaloRegionCollection > rctSourceEmul_rgnEmul_
MonitorElement * rctIsoIneffChannel_[396]
void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run &, const edm::EventSetup &) override
MonitorElement * rctRegSpEffOcc2D_
edm::EventAuxiliary::ExperimentType experimentType() const
MonitorElement * rctIsoEmOvereffOcc_
MonitorElement * rctNisoEmDataOcc1D_
edm::EDGetTokenT< L1CaloRegionCollection > rctSourceData_rgnData_
MonitorElement * rctNIsoEmBitOn_
MonitorElement * rctRegIneff1D_
MonitorElement * rctNisoEmEff1Occ1D_
MonitorElement * rctIsoEmDataOcc1D_
std::vector< L1CaloRegion > L1CaloRegionCollection
MonitorElement * rctBitDataTauVeto2D_
MonitorElement * rctIsoEffChannel_[396]
void analyze(const edm::Event &e, const edm::EventSetup &c) override
MonitorElement * rctNisoEmOvereff_
T const * product() const
MonitorElement * rctRegEff2D_
int filterTriggerType_
filter TriggerType
MonitorElement * rctInputTPGEcalOccNoCut_
MonitorElement * rctNisoOvereffChannel_[396]
MonitorElement * rctNisoEmIneffOcc_
MonitorElement * rctIsoEmEff2oneD_
edm::EDGetTokenT< L1CaloEmCollection > rctSourceEmul_emEmul_
MonitorElement * rctBitUnmatchedDataQuiet2D_
const_iterator begin() const
MonitorElement * rctRegSpIneff1D_
MonitorElement * rctRegSpIneffOcc2D_
MonitorElement * rctRegBitOff_
MonitorElement * rctIsoEmIneff_
MonitorElement * rctRegUnmatchedEmulOcc1D_
MonitorElement * rctBitUnmatchedDataOverFlow2D_
MonitorElement * rctIsoOvereffChannel_[396]
MonitorElement * rctNisoEmEff1_