77 {613, 614, 603, 702, 718,1118,
78 611, 612, 602, 700, 718, 1118,
79 627, 610, 601,716, 722, 1122,
80 625, 626, 609, 714, 722, 1122,
81 623, 624, 608, 712, 722, 1122,
82 621, 622, 607, 710, 720, 1120,
83 619, 620, 606, 708, 720, 1120,
84 617, 618, 605, 706, 720, 1120,
85 615, 616, 604, 704, 718, 1118,
86 631, 632, 648, 703, 719, 1118,
87 629, 630, 647, 701, 719, 1118,
88 645, 628, 646, 717, 723, 1122,
89 643, 644, 654, 715, 723, 1122,
90 641, 642, 653, 713, 723, 1122,
91 639, 640, 652, 711, 721, 1120,
92 637, 638, 651, 709, 721, 1120,
93 635, 636, 650, 707, 721, 1120,
94 633, 634, 649, 705, 719, 1118
107 gtEGAlgoName_ ( ps.getParameter<
std::
string >(
"gtEGAlgoName") ),
108 doubleThreshold_ ( ps.getParameter<
int >(
"doubleThreshold") ),
109 filterTriggerType_ (ps.getParameter<
int >(
"filterTriggerType") ),
110 selectBX_ (ps.getUntrackedParameter<
int >(
"selectBX",2)),
111 dataInputTagName_(ps.getParameter<
InputTag>(
"rctSourceData").
label())
123 std::cout <<
"L1TdeRCT: constructor...." << std::endl;
129 cout <<
"L1T Monitoring histograms will be saved to " <<
155 std::cout <<
"L1TdeRCT: analyze...." << std::endl;
171 double triggerType =
static_cast<double> (e.
experimentType()) + 0.001;
172 double triggerTypeLast =
static_cast<double> (edm::EventAuxiliary::ExperimentType::ErrorTrigger)
199 int effEGThresholdBitNumber = 999;
202 effEGThresholdBitNumber = 46;
206 effEGThresholdBitNumber = 47;
210 effEGThresholdBitNumber = 48;
214 effEGThresholdBitNumber = 49;
218 effEGThresholdBitNumber = 50;
222 effEGThresholdBitNumber = 51;
226 effEGThresholdBitNumber = 52;
229 int algoBitNumber = 0;
230 bool triggered =
false;
231 bool independent_triggered =
false;
232 DecisionWord::const_iterator algoItr;
233 for (algoItr = dWord.begin(); algoItr != dWord.end(); algoItr++)
238 if (algoBitNumber == effEGThresholdBitNumber)
242 if (algoBitNumber <= 45 || algoBitNumber >= 53)
244 independent_triggered =
true;
276 edm::LogInfo(
"TPG DataNotFound") <<
"can't find EcalTrigPrimDigiCollection";
285 if(iEcalTp->compressedEt() > 0)
290 if(iEcalTp->id().ieta() > 0)
293 if(iEcalTp->compressedEt() > 3)
rctInputTPGEcalOcc_ ->
Fill(1.*(iEcalTp->id().ieta())-0.5,iEcalTp->id().iphi()) ;
298 if(iEcalTp->compressedEt() > 3)
rctInputTPGEcalOcc_ ->
Fill(1.*(iEcalTp->id().ieta())+0.5,iEcalTp->id().iphi()) ;
301 if(
verbose_)
std::cout <<
" ECAL data: Energy: " << iEcalTp->compressedEt() <<
" eta " << iEcalTp->id().ieta() <<
" phi " << iEcalTp->id().iphi() << std::endl ;
307 edm::LogInfo(
"TPG DataNotFound") <<
"can't find HcalTrigPrimDigiCollection";
322 for (
int nSample = 0; nSample < 10; nSample++)
324 if (iHcalTp->sample(nSample).compressedEt() != 0)
327 << iHcalTp->sample(nSample).compressedEt()
329 << iHcalTp->sample(nSample).fineGrain()
330 <<
" ieta " << iHcalTp->id().ieta()
331 <<
" iphi " << iHcalTp->id().iphi()
332 <<
" sample " << nSample
334 if (iHcalTp->sample(nSample).compressedEt() >
highEt)
336 highSample = nSample;
337 highEt = iHcalTp->sample(nSample).compressedEt() ;
345 if(iHcalTp->id().ieta() > 0)
361 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloRegionCollection";
367 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloRegionCollection";
376 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloEmCollection";
382 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloEmCollection";
392 int nelectrIsoData = 0;
393 int nelectrNisoData = 0;
394 int nelectrIsoEmul = 0;
395 int nelectrNisoEmul = 0;
397 int electronDataRank[2][
PhiEtaMax]={{0}};
400 int electronEmulRank[2][
PhiEtaMax]={{0}};
412 bool regionDataOverFlow [
PhiEtaMax] = {
false};
413 bool regionDataTauVeto [
PhiEtaMax] = {
false};
414 bool regionDataMip [
PhiEtaMax] = {
false};
415 bool regionDataQuiet [
PhiEtaMax] = {
false};
416 bool regionDataHfPlusTau[
PhiEtaMax] = {
false};
422 bool regionEmulOverFlow [
PhiEtaMax] = {
false};
423 bool regionEmulTauVeto [
PhiEtaMax] = {
false};
424 bool regionEmulMip [
PhiEtaMax] = {
false};
425 bool regionEmulQuiet [
PhiEtaMax] = {
false};
426 bool regionEmulHfPlusTau[
PhiEtaMax] = {
false};
430 for (L1CaloEmCollection::const_iterator iem = emEmul->begin();
431 iem != emEmul->end();
446 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
448 electronEmulRank[0][nelectrIsoEmul]=iem->rank() ;
449 electronEmulEta[0][nelectrIsoEmul]=iem->regionId().ieta();
450 electronEmulPhi[0][nelectrIsoEmul]=iem->regionId().iphi();
465 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
467 electronEmulRank[1][nelectrNisoEmul]=iem->rank() ;
468 electronEmulEta[1][nelectrNisoEmul]=iem->regionId().ieta();
469 electronEmulPhi[1][nelectrNisoEmul]=iem->regionId().iphi();
476 for (L1CaloEmCollection::const_iterator iem = emData->begin();
477 iem != emData->end();
492 iem->regionId().iphi(), 0.01);
496 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
502 electronDataRank[0][nelectrIsoData]=iem->rank() ;
503 electronDataEta[0][nelectrIsoData]=iem->regionId().ieta();
504 electronDataPhi[0][nelectrIsoData]=iem->regionId().iphi();
515 iem->regionId().iphi(), 0.01);
519 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
525 electronDataRank[1][nelectrNisoData]=iem->rank() ;
526 electronDataEta[1][nelectrNisoData]=iem->regionId().ieta();
527 electronDataPhi[1][nelectrNisoData]=iem->regionId().iphi();
534 for(L1CaloRegionCollection::const_iterator ireg = rgnEmul->begin();
535 ireg != rgnEmul->end();
552 if(ireg->overFlow()) {
557 if(ireg->tauVeto()) {
572 if(ireg->fineGrain()) {
583 nRegionEmul =
PHIBINS * ireg->gctEta() + ireg->gctPhi();
585 regionEmulRank [nRegionEmul] = ireg->et() ;
586 regionEmulEta [nRegionEmul] = ireg->gctEta();
587 regionEmulPhi [nRegionEmul] = ireg->gctPhi();
588 regionEmulOverFlow [nRegionEmul] = ireg->overFlow();
589 regionEmulTauVeto [nRegionEmul] = ireg->tauVeto();
590 regionEmulMip [nRegionEmul] = ireg->mip();
591 regionEmulQuiet [nRegionEmul] = ireg->quiet();
592 regionEmulHfPlusTau[nRegionEmul] = ireg->fineGrain();
595 for(L1CaloRegionCollection::const_iterator ireg = rgnData->begin();
596 ireg != rgnData->end();
628 nRegionData =
PHIBINS * ireg->gctEta() + ireg->gctPhi();
630 regionDataRank [nRegionData] = ireg->et() ;
631 regionDataEta [nRegionData] = ireg->gctEta();
632 regionDataPhi [nRegionData] = ireg->gctPhi();
633 regionDataOverFlow [nRegionData] = ireg->overFlow();
634 regionDataTauVeto [nRegionData] = ireg->tauVeto();
635 regionDataMip [nRegionData] = ireg->mip();
636 regionDataQuiet [nRegionData] = ireg->quiet();
637 regionDataHfPlusTau[nRegionData] = ireg->fineGrain();
642 std::cout <<
"I found Data! Iso: " << nelectrIsoData <<
" Niso: " << nelectrNisoData << std::endl ;
643 for(
int i=0;
i<nelectrIsoData;
i++)
644 std::cout <<
" Iso Energy " << electronDataRank[0][
i] <<
" eta " << electronDataEta[0][
i] <<
" phi " << electronDataPhi[0][
i] << std::endl ;
645 for(
int i=0;
i<nelectrNisoData;
i++)
646 std::cout <<
" Niso Energy " << electronDataRank[1][
i] <<
" eta " << electronDataEta[1][
i] <<
" phi " << electronDataPhi[1][
i] << std::endl ;
648 std::cout <<
"I found Emul! Iso: " << nelectrIsoEmul <<
" Niso: " << nelectrNisoEmul << std::endl ;
649 for(
int i=0;
i<nelectrIsoEmul;
i++)
650 std::cout <<
" Iso Energy " << electronEmulRank[0][
i] <<
" eta " << electronEmulEta[0][
i] <<
" phi " << electronEmulPhi[0][
i] << std::endl ;
651 for(
int i=0;
i<nelectrNisoEmul;
i++)
652 std::cout <<
" Niso Energy " << electronEmulRank[1][
i] <<
" eta " << electronEmulEta[1][
i] <<
" phi " << electronEmulPhi[1][
i] << std::endl ;
656 if(regionDataRank[
i] !=0 )
std::cout <<
" Energy " << regionDataRank[
i] <<
" eta " << regionDataEta[
i] <<
" phi " << regionDataPhi[
i] << std::endl ;
660 if(regionEmulRank[
i] !=0 )
std::cout <<
" Energy " << regionEmulRank[
i] <<
" eta " << regionEmulEta[
i] <<
" phi " << regionEmulPhi[
i] << std::endl ;
665 for(
int k=0;
k<2;
k++)
667 int nelectrE, nelectrD;
671 nelectrE=nelectrIsoEmul;
672 nelectrD=nelectrIsoData;
677 nelectrE=nelectrNisoEmul;
678 nelectrD=nelectrNisoData;
681 for(
int i = 0;
i < nelectrE;
i++)
686 int chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
687 if(
k==1 && independent_triggered) {
696 if(electronEmulRank[
k][
i]>=trigThresh){
697 if(
k==1 && independent_triggered) {
707 Bool_t
found = kFALSE;
709 for(
int j = 0; j < nelectrD; j++)
711 if(electronEmulEta[
k][
i]==electronDataEta[
k][j] &&
712 electronEmulPhi[
k][
i]==electronDataPhi[
k][j])
721 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
725 int energy_difference;
727 energy_difference=(electronEmulRank[
k][
i] - electronDataRank[
k][j]);
731 if(electronEmulRank[
k][i]==electronDataRank[
k][j])
746 bitset<8> bitDifference( electronEmulRank[
k][i]^electronDataRank[
k][j] );
747 for(
size_t n=0;
n < bitDifference.size();
n++){
761 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
765 int energy_difference;
767 energy_difference=(electronEmulRank[
k][
i] - electronDataRank[
k][j]) ;
772 if(electronEmulRank[
k][i]==electronDataRank[
k][j])
786 bitset<8> bitDifference( electronEmulRank[
k][i]^electronDataRank[
k][j] );
787 for(
size_t n=0;
n < bitDifference.size();
n++){
808 bitset<8> bit( electronEmulRank[
k][i] );
809 for(
size_t n=0;
n < bit.size();
n++){
814 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
829 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
833 bitset<8> bit( electronEmulRank[
k][i] );
834 for(
size_t n=0;
n < bit.size();
n++){
877 for(
int i = 0;
i < nelectrE;
i++)
879 int chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
884 for(
int i = 0;
i < nelectrD;
i++)
886 Bool_t
found = kFALSE;
888 for(
int j = 0; j < nelectrE; j++)
890 if(electronEmulEta[
k][j]==electronDataEta[
k][
i] &&
891 electronEmulPhi[
k][j]==electronDataPhi[
k][
i])
907 bitset<8> bit( electronDataRank[
k][i] );
908 for(
size_t n=0;
n < bit.size();
n++){
913 chnl=
PHIBINS*electronDataEta[
k][
i]+electronDataPhi[
k][
i];
930 bitset<8> bit( electronDataRank[
k][i] );
931 for(
size_t n=0;
n < bit.size();
n++){
936 chnl=
PHIBINS*electronDataEta[
k][
i]+electronDataPhi[
k][
i];
959 Bool_t regFound = kFALSE;
960 Bool_t overFlowFound = kFALSE;
961 Bool_t tauVetoFound = kFALSE;
962 Bool_t mipFound = kFALSE;
963 Bool_t quietFound = kFALSE;
964 Bool_t hfPlusTauFound = kFALSE;
971 if(regionDataRank[
i] >= 1 && regionEmulRank[
i] >= 1)
975 chnl =
PHIBINS*regionEmulEta[
i] + regionEmulPhi[
i];
984 if(regionEmulRank[i] == regionDataRank[i])
996 bitset<10> bitDifference( regionEmulRank[i]^regionDataRank[i] );
997 for(
size_t n=0;
n < bitDifference.size();
n++){
999 if(
n >= 5 ){
rctRegBitDiff_->
Fill( regionEmulEta[i]+0.5, regionEmulPhi[i]+(
n-5)*0.2, bitDifference[
n] ); }
1009 if(regionEmulOverFlow[
i] ==
true &&
1010 regionDataOverFlow[
i] ==
true)
1013 overFlowFound = kTRUE;
1016 if(regionEmulTauVeto[
i] ==
true &&
1017 regionDataTauVeto[
i] ==
true)
1020 tauVetoFound = kTRUE;
1023 if (regionEmulMip[
i] ==
true && regionDataMip[
i] ==
true) {
1028 if (regionEmulQuiet[
i] ==
true && regionDataQuiet[
i] ==
true) {
1033 if (regionEmulHfPlusTau[
i] ==
true && regionDataHfPlusTau[
i] ==
true) {
1035 hfPlusTauFound = kTRUE;
1044 if(regFound == kFALSE && regionEmulRank[
i] >= 1 )
1048 bitset<10> bit( regionEmulRank[
i] );
1049 for(
size_t n=0;
n < bit.size();
n++){
1051 if(
n >= 5 ){
rctRegBitOff_->
Fill( regionEmulEta[i]+0.5, regionEmulPhi[i]+(
n-5)*0.2, bit[
n] ); }
1054 chnl =
PHIBINS*regionEmulEta[
i] + regionEmulPhi[
i];
1062 if(overFlowFound == kFALSE && regionEmulOverFlow[
i] ==
true)
1067 if(tauVetoFound == kFALSE && regionEmulTauVeto[
i] ==
true)
1072 if (mipFound == kFALSE && regionEmulMip[
i] ==
true) {
1076 if (quietFound == kFALSE && regionEmulQuiet[
i] ==
true) {
1080 if (hfPlusTauFound == kFALSE && regionEmulHfPlusTau[
i] ==
true ) {
1118 Bool_t regFound = kFALSE;
1119 Bool_t overFlowFound = kFALSE;
1120 Bool_t tauVetoFound = kFALSE;
1121 Bool_t mipFound = kFALSE;
1122 Bool_t quietFound = kFALSE;
1123 Bool_t hfPlusTauFound = kFALSE;
1131 if(regionEmulRank[
i] >= 1 && regionDataRank[
i] >= 1)
1134 if(regionDataOverFlow[
i] ==
true &&
1135 regionEmulOverFlow[
i] ==
true)
1136 overFlowFound = kTRUE;
1138 if(regionDataTauVeto[
i] ==
true &&
1139 regionEmulTauVeto[
i] ==
true)
1140 tauVetoFound = kTRUE;
1142 if (regionDataMip[
i] ==
true && regionEmulMip[
i] ==
true)
1145 if (regionDataQuiet[
i] ==
true && regionEmulQuiet[
i] ==
true)
1148 if (regionDataHfPlusTau[
i] ==
true && regionEmulHfPlusTau[
i] ==
true)
1149 hfPlusTauFound = kTRUE;
1153 if(regFound == kFALSE && regionDataRank[
i] >= 1)
1157 bitset<10> bit( regionDataRank[
i] );
1158 for(
size_t n=0;
n < bit.size();
n++){
1160 if(
n >= 5 ){
rctRegBitOn_->
Fill( regionDataEta[i]+0.5, regionDataPhi[i]+(
n-5)*0.2, bit[
n] ); }
1164 chnl =
PHIBINS*regionDataEta[
i] + regionDataPhi[
i];
1176 if(overFlowFound == kFALSE && regionDataOverFlow[
i] ==
true )
1181 if(tauVetoFound == kFALSE && regionDataTauVeto[
i] ==
true )
1186 if (mipFound == kFALSE && regionDataMip[
i] ==
true ) {
1190 if (quietFound == kFALSE && regionDataQuiet[
i] ==
true ) {
1194 if (hfPlusTauFound == kFALSE && regionDataHfPlusTau[
i] ==
true ) {
1218 TH2F* den = denominator->
getTH2F();
1221 res->Divide(num,den,1,1,
"");
1228 TH1F* den = denominator->
getTH1F();
1231 res->Divide(num,den,1,1,
"");
1254 ibooker.
book1D(
"TriggerType",
"TriggerType", 17, -0.5, 16.5);
1257 ibooker.
book1D(
"gtTriggerAlgoNumbers",
"gtTriggerAlgoNumbers", 128, -0.5, 127.5);
1275 ibooker.
book1D(
"rctInputTPGHcalSample",
"rctInputTPGHcalSample", 10, -0.5, 9.5) ;
1292 ibooker.
book2D(
"trigEffTriggThreshOcc",
"Rank occupancy >= 2x trig thresh, triggered (source: "+
dataInputTagName_+
")",
1302 ibooker.
book1D(
"rctIsoEmEff1oneD",
"rctIsoEmEff1oneD",
1310 ibooker.
book1D(
"rctIsoEmEff2oneD",
"rctIsoEmEff2oneD, energy matching required",
1318 ibooker.
book1D(
"rctIsoEmIneff2oneD",
"rctIsoEmIneff2oneD, energy matching required",
1327 ibooker.
book1D(
"rctIsoEmIneff1D",
"rctIsoEmIneff1D",
1335 ibooker.
book1D(
"rctIsoEmOvereff1D",
"rctIsoEmOvereff1D",
1345 ibooker.
book1D(
"rctIsoEmDataOcc1D",
"rctIsoEmDataOcc1D",
1353 ibooker.
book1D(
"rctIsoEmEmulOcc1D",
"rctIsoEmEmulOcc1D",
1361 ibooker.
book1D(
"rctIsoEmEff1Occ1D",
"rctIsoEmEff1Occ1D",
1369 ibooker.
book1D(
"rctIsoEmEff2Occ1D",
"rctIsoEmEff2Occ1D",
1377 ibooker.
book1D(
"rctIsoEmIneff2Occ1D",
"rctIsoEmIneff2Occ1D",
1385 ibooker.
book1D(
"rctIsoEmIneffOcc1D",
"rctIsoEmIneffOcc1D",
1393 ibooker.
book1D(
"rctIsoEmOvereffOcc1D",
"rctIsoEmOvereffOcc1D",
1403 ibooker.
book1D(
"rctNisoEmEff1oneD",
"rctNisoEmEff1oneD",
1411 ibooker.
book1D(
"rctNisoEmEff2oneD",
"rctNisoEmEff2oneD, energy matching required",
1419 ibooker.
book1D(
"rctNisoEmIneff2oneD",
"rctNisoEmIneff2oneD, energy matching required",
1428 ibooker.
book1D(
"rctNisoEmIneff1D",
"rctNisoEmIneff1D",
1436 ibooker.
book1D(
"rctNisoEmOvereff1D",
"rctNisoEmOvereff1D",
1446 ibooker.
book1D(
"rctNisoEmDataOcc1D",
"rctNisoEmDataOcc1D",
1454 ibooker.
book1D(
"rctNisoEmEmulOcc1D",
"rctNisoEmEmulOcc1D",
1462 ibooker.
book1D(
"rctNisoEmEff1Occ1D",
"rctNisoEmEff1Occ1D",
1470 ibooker.
book1D(
"rctNisoEmEff2Occ1D",
"rctNisoEmEff2Occ1D",
1478 ibooker.
book1D(
"rctNisoEmIneff2Occ1D",
"rctNisoEmIneff2Occ1D",
1486 ibooker.
book1D(
"rctNisoEmIneffOcc1D",
"rctNisoEmIneffOcc1D",
1494 ibooker.
book1D(
"rctNisoEmOvereffOcc1D",
"rctNisoEmOvereffOcc1D",
1501 ibooker.
book1D(
"rctRegEff1D",
"1D region efficiency",
1505 ibooker.
book1D(
"rctRegIneff1D",
"1D region inefficiency",
1509 ibooker.
book1D(
"rctRegOvereff1D",
"1D region overefficiency",
1513 ibooker.
book1D(
"rctRegSpEff1D",
"1D region efficiency, energy matching required",
1517 ibooker.
book1D(
"rctRegSpIneff1D",
"1D region inefficiency, energy matching required",
1533 ibooker.
book2D(
"rctRegSpEff2D",
"2D region efficiency, energy matching required (source: "+
dataInputTagName_+
")",
1537 ibooker.
book2D(
"rctRegSpIneff2D",
"2D region inefficiency, energy matching required (source: "+
dataInputTagName_+
")",
1543 ibooker.
book1D(
"rctRegDataOcc1D",
"1D region occupancy from data",
1547 ibooker.
book1D(
"rctRegEmulOcc1D",
"1D region occupancy from emulator",
1551 ibooker.
book1D(
"rctRegMatchedOcc1D",
"1D region occupancy for matched hits",
1555 ibooker.
book1D(
"rctRegUnmatchedDataOcc1D",
"1D region occupancy for unmatched hardware hits",
1559 ibooker.
book1D(
"rctRegUnmatchedEmulOcc1D",
"1D region occupancy for unmatched emulator hits",
1563 ibooker.
book1D(
"rctRegSpEffOcc1D",
"1D region occupancy for \\Delta E_{T} efficiency",
1567 ibooker.
book1D(
"rctRegSpIneffOcc1D",
"1D region occupancy for \\Delta E_{T} efficiency ",
1575 ibooker.
book2D(
"rctRegEmulOcc2D",
"2D region occupancy from emulator",
1579 ibooker.
book2D(
"rctRegMatchedOcc2D",
"2D region occupancy for matched hits",
1583 ibooker.
book2D(
"rctRegUnmatchedDataOcc2D",
"2D region occupancy for unmatched hardware hits",
1587 ibooker.
book2D(
"rctRegUnmatchedEmulOcc2D",
"2D region occupancy for unmatched emulator hits",
1595 ibooker.
book2D(
"rctRegSpEffOcc2D",
"2D region occupancy for \\Delta E_{T} efficiency",
1599 ibooker.
book2D(
"rctRegSpIneffOcc2D",
"2D region occupancy for \\Delta E_{T} inefficiency",
1630 ibooker.
book2D(
"rctBitMipEff2D",
"2D mip bit efficiency",
1634 ibooker.
book2D(
"rctBitMipIneff2D",
"2D mip bit inefficiency",
1638 ibooker.
book2D(
"rctBitMipOvereff2D",
"2D mip bit overefficiency",
1669 ibooker.
book2D(
"rctBitEmulOverFlow2D",
"2D overflow bit from emulator",
1677 ibooker.
book2D(
"rctBitMatchedOverFlow2D",
"2D overflow bit for matched hits",
1681 ibooker.
book2D(
"rctBitUnmatchedEmulOverFlow2D",
"2D overflow bit for unmatched emulator hits",
1685 ibooker.
book2D(
"rctBitUnmatchedDataOverFlow2D",
"2D overflow bit for unmatched hardware hits",
1689 ibooker.
book2D(
"rctBitEmulTauVeto2D",
"2D tau veto bit from emulator",
1697 ibooker.
book2D(
"rctBitMatchedTauVeto2D",
"2D tau veto bit for matched hits",
1701 ibooker.
book2D(
"rctBitUnmatchedEmulTauVeto2D",
"2D tau veto bit for unmatched emulator hits",
1705 ibooker.
book2D(
"rctBitUnmatchedDataTauVeto2D",
"2D tau veto bit for unmatched hardware hits",
1709 ibooker.
book2D(
"rctBitEmulMip2D",
"2D mip bit from emulator",
1713 ibooker.
book2D(
"rctBitDataMip2D",
"2D mip bit from hardware",
1717 ibooker.
book2D(
"rctBitMatchedMip2D",
"2D mip bit for matched hits",
1721 ibooker.
book2D(
"rctBitUnmatchedEmulMip2D",
"2D mip bit for unmatched emulator hits",
1725 ibooker.
book2D(
"rctBitUnmatchedDataMip2D",
"2D mip bit for unmatched hardware hits",
1729 ibooker.
book2D(
"rctBitEmulQuiet2D",
"2D quiet bit from emulator",
1733 ibooker.
book2D(
"rctBitDataQuiet2D",
"2D quiet bit from hardware",
1737 ibooker.
book2D(
"rctBitMatchedQuiet2D",
"2D quiet bit for matched hits",
1741 ibooker.
book2D(
"rctBitUnmatchedEmulQuiet2D",
"2D quiet bit for unmatched emulator hits",
1745 ibooker.
book2D(
"rctBitUnmatchedDataQuiet2D",
"2D quiet bit for unmatched hardware hits",
1749 ibooker.
book2D(
"rctBitEmulHfPlusTau2D",
"2D HfPlusTau bit from emulator",
1757 ibooker.
book2D(
"rctBitMatchedHfPlusTau2D",
"2D HfPlusTau bit for matched hits",
1761 ibooker.
book2D(
"rctBitUnmatchedEmulHfPlusTau2D",
"2D HfPlusTau bit for unmatched emulator hits",
1765 ibooker.
book2D(
"rctBitUnmatchedDataHfPlusTau2D",
"2D HfPlusTau bit for unmatched hardware hits",
1770 ibooker.
book2D(
"rctRegBitOn",
"Monitoring for Bits Stuck On",
1774 ibooker.
book2D(
"rctRegBitOff",
"Monitoring for Bits Stuck Off",
1778 ibooker.
book2D(
"rctRegBitDiff",
"Monitoring for Bits Difference",
1782 ibooker.
book2D(
"rctIsoEmBitOn",
"Monitoring for Bits Stuck On",
1786 ibooker.
book2D(
"rctIsoEmBitOff",
"Monitoring for Bits Stuck Off",
1790 ibooker.
book2D(
"rctIsoEmBitDiff",
"Monitoring for Bits Difference",
1794 ibooker.
book2D(
"rctNIsoEmBitOn",
"Monitoring for Bits Stuck On",
1798 ibooker.
book2D(
"rctNIsoEmBitOff",
"Monitoring for Bits Stuck Off",
1802 ibooker.
book2D(
"rctNIsoEmBitDiff",
"Monitoring for Bits Difference",
1810 for(
unsigned int i=0;
i<108;++
i) {
1825 for(
int m=0;
m<12;
m++)
1842 for(
int j=0; j<
PHIMAX; j++)
1844 char name[80], channel[80]={
""} ;
1846 if(
m==0) strcpy(name,
"(Eemul-Edata)Chnl") ;
1847 if(
m==1) strcpy(name,
"(Eemul-Edata)Chnl") ;
1848 if(
m==2) strcpy(name,
"(Eemul-Edata)Chnl") ;
1849 if(
m==3) strcpy(name,
"EemulChnl") ;
1850 if(
m==4) strcpy(name,
"EemulChnl") ;
1851 if(
m==5) strcpy(name,
"EemulChnl") ;
1852 if(
m==6) strcpy(name,
"EdataChnl") ;
1853 if(
m==7) strcpy(name,
"EdataChnl") ;
1854 if(
m==8) strcpy(name,
"EdataChnl") ;
1855 if(
m==9) strcpy(name,
"EemulChnlEff") ;
1856 if(
m==10) strcpy(name,
"EemulChnlTrig") ;
1857 if(
m==11) strcpy(name,
"EemulChnl") ;
1859 if(
i<10 && j<10) sprintf(channel,
"_0%d0%d",
i,j);
1860 else if(
i<10) sprintf(channel,
"_0%d%d",
i,j);
1861 else if(j<10) sprintf(channel,
"_%d0%d",
i,j);
1862 else sprintf(channel,
"_%d%d",
i,j);
1863 strcat(name,channel);
1916 std::vector<int> caloFeds;
1918 const std::vector<int> Feds = summary->
m_fed_in;
1919 for(std::vector<int>::const_iterator cf = Feds.begin(); cf != Feds.end(); ++cf){
1921 if(( fedNum > 600 && fedNum <724) || fedNum==1118 || fedNum==1120 || fedNum==1122)
1922 caloFeds.push_back(fedNum);
1925 for(
unsigned int i=0;
i<108;++
i) {
1926 std::vector<int>::iterator fv =
std::find(caloFeds.begin(),caloFeds.end(),
crateFED[
i]);
1927 if(fv!=caloFeds.end()) {
MonitorElement * rctBitUnmatchedDataTauVeto2D_
void DivideME2D(MonitorElement *numerator, MonitorElement *denominator, MonitorElement *result)
MonitorElement * rctRegUnmatchedDataOcc1D_
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]
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * rctNisoEmEff2Occ1D_
MonitorElement * rctInputTPGHcalOcc_
const unsigned int TPGETABINS
MonitorElement * rctNisoEmEff2oneD_
MonitorElement * rctNisoEmIneff2Occ1D_
MonitorElement * rctBitMatchedTauVeto2D_
const unsigned int ELBINS
MonitorElement * rctBitDataMip2D_
MonitorElement * rctBitUnmatchedDataHfPlusTau2D_
const unsigned int PHIBINS
MonitorElement * rctBitEmulTauVeto2D_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * rctIsoEmIneff2Occ_
void readFEDVector(MonitorElement *, const edm::EventSetup &)
MonitorElement * trigEffThresh_
MonitorElement * rctBitHfPlusTauIneff2D_
MonitorElement * rctIsoEmIneff2Occ1D_
MonitorElement * rctIsoEmEmulOcc1D_
MonitorElement * rctBitUnmatchedEmulTauVeto2D_
edm::EDGetTokenT< L1CaloEmCollection > rctSourceData_emData_
MonitorElement * rctBitUnmatchedEmulQuiet2D_
MonitorElement * trigEffThreshOcc_
MonitorElement * rctNisoEffChannel_[396]
MonitorElement * rctRegOvereff1D_
std::vector< EcalTriggerPrimitiveDigi >::const_iterator const_iterator
const unsigned int ETABINS
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_
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_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
const unsigned int BITPHIBINS
std::vector< bool > DecisionWord
typedefs
std::vector< int > m_fed_in
MonitorElement * rctBitMipOvereff2D_
MonitorElement * trigEff_[396]
const unsigned int DEBINS
MonitorElement * rctBitMatchedOverFlow2D_
const unsigned int CHNLBINS
MonitorElement * rctBitEmulOverFlow2D_
MonitorElement * rctRegEmulOcc1D_
MonitorElement * book1D(Args &&...args)
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_
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_
void setCurrentFolder(const std::string &fullpath)
MonitorElement * rctNIsoEmBitDiff_
MonitorElement * book2D(Args &&...args)
MonitorElement * rctBitHfPlusTauOvereff2D_
MonitorElement * rctNisoEmEff1Occ_
MonitorElement * rctIsoEmOvereff1D_
MonitorElement * rctIsoEmEff1_
MonitorElement * rctBitTauVetoIneff2D_
void beginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &) override
const unsigned int TPGRANK
TH1F * getTH1F(void) const
MonitorElement * rctInputTPGHcalRank_
const unsigned int PhiEtaMax
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]
const unsigned int TPGPHIBINS
MonitorElement * rctBitMipEff2D_
MonitorElement * rctIsoEmIneff2oneD_
MonitorElement * rctRegUnmatchedDataOcc2D_
MonitorElement * rctBitUnmatchedEmulMip2D_
MonitorElement * rctBitOverFlowEff2D_
MonitorElement * rctNIsoEmBitOff_
edm::EDGetTokenT< L1CaloRegionCollection > rctSourceEmul_rgnEmul_
MonitorElement * rctIsoIneffChannel_[396]
virtual void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run &, const edm::EventSetup &) override
MonitorElement * rctRegSpEffOcc2D_
edm::EventAuxiliary::ExperimentType experimentType() const
const unsigned int BITRPHIBINS
MonitorElement * rctIsoEmOvereffOcc_
MonitorElement * rctNisoEmDataOcc1D_
const unsigned int BITETABINS
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
TH2F * getTH2F(void) const
virtual void dqmBeginRun(const edm::Run &, const edm::EventSetup &) 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_