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") )
121 std::cout <<
"L1TdeRCT: constructor...." << std::endl;
127 cout <<
"L1T Monitoring histograms will be saved to " <<
153 std::cout <<
"L1TdeRCT: analyze...." << std::endl;
170 double triggerTypeLast =
static_cast<double> (edm::EventAuxiliary::ExperimentType::ErrorTrigger)
197 int effEGThresholdBitNumber = 999;
200 effEGThresholdBitNumber = 46;
204 effEGThresholdBitNumber = 47;
208 effEGThresholdBitNumber = 48;
212 effEGThresholdBitNumber = 49;
216 effEGThresholdBitNumber = 50;
220 effEGThresholdBitNumber = 51;
224 effEGThresholdBitNumber = 52;
227 int algoBitNumber = 0;
228 bool triggered =
false;
229 bool independent_triggered =
false;
230 DecisionWord::const_iterator algoItr;
231 for (algoItr = dWord.begin(); algoItr != dWord.end(); algoItr++)
236 if (algoBitNumber == effEGThresholdBitNumber)
240 if (algoBitNumber <= 45 || algoBitNumber >= 53)
242 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 ;
306 edm::LogInfo(
"TPG DataNotFound") <<
"can't find HcalTrigPrimDigiCollection";
321 for (
int nSample = 0; nSample < 10; nSample++)
323 if (iHcalTp->sample(nSample).compressedEt() != 0)
326 << iHcalTp->sample(nSample).compressedEt()
328 << iHcalTp->sample(nSample).fineGrain()
329 <<
" ieta " << iHcalTp->id().ieta()
330 <<
" iphi " << iHcalTp->id().iphi()
331 <<
" sample " << nSample
333 if (iHcalTp->sample(nSample).compressedEt() > highEt)
335 highSample = nSample;
336 highEt = iHcalTp->sample(nSample).compressedEt() ;
344 if(iHcalTp->id().ieta() > 0)
360 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloRegionCollection";
367 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloRegionCollection";
377 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloEmCollection";
385 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloEmCollection";
398 int nelectrIsoData = 0;
399 int nelectrNisoData = 0;
400 int nelectrIsoEmul = 0;
401 int nelectrNisoEmul = 0;
403 int electronDataRank[2][
PhiEtaMax]={{0}};
406 int electronEmulRank[2][
PhiEtaMax]={{0}};
418 bool regionDataOverFlow [
PhiEtaMax] = {
false};
419 bool regionDataTauVeto [
PhiEtaMax] = {
false};
420 bool regionDataMip [
PhiEtaMax] = {
false};
421 bool regionDataQuiet [
PhiEtaMax] = {
false};
422 bool regionDataHfPlusTau[
PhiEtaMax] = {
false};
428 bool regionEmulOverFlow [
PhiEtaMax] = {
false};
429 bool regionEmulTauVeto [
PhiEtaMax] = {
false};
430 bool regionEmulMip [
PhiEtaMax] = {
false};
431 bool regionEmulQuiet [
PhiEtaMax] = {
false};
432 bool regionEmulHfPlusTau[
PhiEtaMax] = {
false};
436 for (L1CaloEmCollection::const_iterator iem = emEmul->begin();
437 iem != emEmul->end();
452 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
454 electronEmulRank[0][nelectrIsoEmul]=iem->rank() ;
455 electronEmulEta[0][nelectrIsoEmul]=iem->regionId().ieta();
456 electronEmulPhi[0][nelectrIsoEmul]=iem->regionId().iphi();
471 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
473 electronEmulRank[1][nelectrNisoEmul]=iem->rank() ;
474 electronEmulEta[1][nelectrNisoEmul]=iem->regionId().ieta();
475 electronEmulPhi[1][nelectrNisoEmul]=iem->regionId().iphi();
481 for (L1CaloEmCollection::const_iterator iem = emData->begin();
482 iem != emData->end();
494 iem->regionId().iphi(), 0.01);
498 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
504 electronDataRank[0][nelectrIsoData]=iem->rank() ;
505 electronDataEta[0][nelectrIsoData]=iem->regionId().ieta();
506 electronDataPhi[0][nelectrIsoData]=iem->regionId().iphi();
517 iem->regionId().iphi(), 0.01);
521 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
527 electronDataRank[1][nelectrNisoData]=iem->rank() ;
528 electronDataEta[1][nelectrNisoData]=iem->regionId().ieta();
529 electronDataPhi[1][nelectrNisoData]=iem->regionId().iphi();
536 for(L1CaloRegionCollection::const_iterator ireg = rgnEmul->begin();
537 ireg != rgnEmul->end();
553 if(ireg->overFlow()) {
558 if(ireg->tauVeto()) {
573 if(ireg->fineGrain()) {
584 nRegionEmul =
PHIBINS * ireg->gctEta() + ireg->gctPhi();
586 regionEmulRank [nRegionEmul] = ireg->et() ;
587 regionEmulEta [nRegionEmul] = ireg->gctEta();
588 regionEmulPhi [nRegionEmul] = ireg->gctPhi();
589 regionEmulOverFlow [nRegionEmul] = ireg->overFlow();
590 regionEmulTauVeto [nRegionEmul] = ireg->tauVeto();
591 regionEmulMip [nRegionEmul] = ireg->mip();
592 regionEmulQuiet [nRegionEmul] = ireg->quiet();
593 regionEmulHfPlusTau[nRegionEmul] = ireg->fineGrain();
596 for(L1CaloRegionCollection::const_iterator ireg = rgnData->begin();
597 ireg != rgnData->end();
625 nRegionData =
PHIBINS * ireg->gctEta() + ireg->gctPhi();
627 regionDataRank [nRegionData] = ireg->et() ;
628 regionDataEta [nRegionData] = ireg->gctEta();
629 regionDataPhi [nRegionData] = ireg->gctPhi();
630 regionDataOverFlow [nRegionData] = ireg->overFlow();
631 regionDataTauVeto [nRegionData] = ireg->tauVeto();
632 regionDataMip [nRegionData] = ireg->mip();
633 regionDataQuiet [nRegionData] = ireg->quiet();
634 regionDataHfPlusTau[nRegionData] = ireg->fineGrain();
639 std::cout <<
"I found Data! Iso: " << nelectrIsoData <<
" Niso: " << nelectrNisoData << std::endl ;
640 for(
int i=0;
i<nelectrIsoData;
i++)
641 std::cout <<
" Iso Energy " << electronDataRank[0][
i] <<
" eta " << electronDataEta[0][
i] <<
" phi " << electronDataPhi[0][
i] << std::endl ;
642 for(
int i=0;
i<nelectrNisoData;
i++)
643 std::cout <<
" Niso Energy " << electronDataRank[1][
i] <<
" eta " << electronDataEta[1][
i] <<
" phi " << electronDataPhi[1][
i] << std::endl ;
645 std::cout <<
"I found Emul! Iso: " << nelectrIsoEmul <<
" Niso: " << nelectrNisoEmul << std::endl ;
646 for(
int i=0;
i<nelectrIsoEmul;
i++)
647 std::cout <<
" Iso Energy " << electronEmulRank[0][
i] <<
" eta " << electronEmulEta[0][
i] <<
" phi " << electronEmulPhi[0][
i] << std::endl ;
648 for(
int i=0;
i<nelectrNisoEmul;
i++)
649 std::cout <<
" Niso Energy " << electronEmulRank[1][
i] <<
" eta " << electronEmulEta[1][
i] <<
" phi " << electronEmulPhi[1][
i] << std::endl ;
653 if(regionDataRank[
i] !=0 )
std::cout <<
" Energy " << regionDataRank[
i] <<
" eta " << regionDataEta[
i] <<
" phi " << regionDataPhi[
i] << std::endl ;
657 if(regionEmulRank[
i] !=0 )
std::cout <<
" Energy " << regionEmulRank[
i] <<
" eta " << regionEmulEta[
i] <<
" phi " << regionEmulPhi[
i] << std::endl ;
662 for(
int k=0;
k<2;
k++)
664 int nelectrE, nelectrD;
668 nelectrE=nelectrIsoEmul;
669 nelectrD=nelectrIsoData;
674 nelectrE=nelectrNisoEmul;
675 nelectrD=nelectrNisoData;
678 for(
int i = 0;
i < nelectrE;
i++)
683 int chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
684 if(
k==1 && independent_triggered) {
693 if(electronEmulRank[
k][
i]>=trigThresh){
694 if(
k==1 && independent_triggered) {
704 Bool_t
found = kFALSE;
706 for(
int j = 0;
j < nelectrD;
j++)
708 if(electronEmulEta[
k][
i]==electronDataEta[
k][
j] &&
709 electronEmulPhi[
k][
i]==electronDataPhi[
k][
j])
718 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
722 int energy_difference;
724 energy_difference=(electronEmulRank[
k][
i] - electronDataRank[
k][
j]);
728 if(electronEmulRank[
k][i]==electronDataRank[
k][j])
743 bitset<8> bitDifference( electronEmulRank[
k][i]^electronDataRank[
k][j] );
744 for(
size_t n=0;
n < bitDifference.size();
n++){
758 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
762 int energy_difference;
764 energy_difference=(electronEmulRank[
k][
i] - electronDataRank[
k][
j]) ;
769 if(electronEmulRank[
k][i]==electronDataRank[
k][j])
783 bitset<8> bitDifference( electronEmulRank[
k][i]^electronDataRank[
k][j] );
784 for(
size_t n=0;
n < bitDifference.size();
n++){
805 bitset<8> bit( electronEmulRank[
k][i] );
806 for(
size_t n=0;
n < bit.size();
n++){
811 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
826 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
830 bitset<8> bit( electronEmulRank[
k][i] );
831 for(
size_t n=0;
n < bit.size();
n++){
874 for(
int i = 0;
i < nelectrE;
i++)
876 int chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
881 for(
int i = 0;
i < nelectrD;
i++)
883 Bool_t
found = kFALSE;
885 for(
int j = 0;
j < nelectrE;
j++)
887 if(electronEmulEta[
k][
j]==electronDataEta[
k][
i] &&
888 electronEmulPhi[
k][
j]==electronDataPhi[
k][
i])
904 bitset<8> bit( electronDataRank[
k][i] );
905 for(
size_t n=0;
n < bit.size();
n++){
910 chnl=
PHIBINS*electronDataEta[
k][
i]+electronDataPhi[
k][
i];
927 bitset<8> bit( electronDataRank[
k][i] );
928 for(
size_t n=0;
n < bit.size();
n++){
933 chnl=
PHIBINS*electronDataEta[
k][
i]+electronDataPhi[
k][
i];
956 Bool_t regFound = kFALSE;
957 Bool_t overFlowFound = kFALSE;
958 Bool_t tauVetoFound = kFALSE;
959 Bool_t mipFound = kFALSE;
960 Bool_t quietFound = kFALSE;
961 Bool_t hfPlusTauFound = kFALSE;
968 if(regionDataRank[
i] >= 1 && regionEmulRank[
i] >= 1)
972 chnl =
PHIBINS*regionEmulEta[
i] + regionEmulPhi[
i];
981 if(regionEmulRank[i] == regionDataRank[i])
993 bitset<10> bitDifference( regionEmulRank[i]^regionDataRank[i] );
994 for(
size_t n=0;
n < bitDifference.size();
n++){
996 if(
n >= 5 ){
rctRegBitDiff_->
Fill( regionEmulEta[i]+0.5, regionEmulPhi[i]+(
n-5)*0.2, bitDifference[
n] ); }
1006 if(regionEmulOverFlow[
i] ==
true &&
1007 regionDataOverFlow[
i] ==
true)
1010 overFlowFound = kTRUE;
1013 if(regionEmulTauVeto[
i] ==
true &&
1014 regionDataTauVeto[
i] ==
true)
1017 tauVetoFound = kTRUE;
1020 if (regionEmulMip[
i] ==
true && regionDataMip[
i] ==
true) {
1025 if (regionEmulQuiet[
i] ==
true && regionDataQuiet[
i] ==
true) {
1030 if (regionEmulHfPlusTau[
i] ==
true && regionDataHfPlusTau[
i] ==
true) {
1032 hfPlusTauFound = kTRUE;
1041 if(regFound == kFALSE && regionEmulRank[
i] >= 1 )
1045 bitset<10> bit( regionEmulRank[
i] );
1046 for(
size_t n=0;
n < bit.size();
n++){
1048 if(
n >= 5 ){
rctRegBitOff_->
Fill( regionEmulEta[i]+0.5, regionEmulPhi[i]+(
n-5)*0.2, bit[
n] ); }
1051 chnl =
PHIBINS*regionEmulEta[
i] + regionEmulPhi[
i];
1059 if(overFlowFound == kFALSE && regionEmulOverFlow[
i] ==
true)
1064 if(tauVetoFound == kFALSE && regionEmulTauVeto[
i] ==
true)
1069 if (mipFound == kFALSE && regionEmulMip[
i] ==
true) {
1073 if (quietFound == kFALSE && regionEmulQuiet[
i] ==
true) {
1077 if (hfPlusTauFound == kFALSE && regionEmulHfPlusTau[
i] ==
true ) {
1115 Bool_t regFound = kFALSE;
1116 Bool_t overFlowFound = kFALSE;
1117 Bool_t tauVetoFound = kFALSE;
1118 Bool_t mipFound = kFALSE;
1119 Bool_t quietFound = kFALSE;
1120 Bool_t hfPlusTauFound = kFALSE;
1128 if(regionEmulRank[
i] >= 1 && regionDataRank[
i] >= 1)
1131 if(regionDataOverFlow[
i] ==
true &&
1132 regionEmulOverFlow[
i] ==
true)
1133 overFlowFound = kTRUE;
1135 if(regionDataTauVeto[
i] ==
true &&
1136 regionEmulTauVeto[
i] ==
true)
1137 tauVetoFound = kTRUE;
1139 if (regionDataMip[
i] ==
true && regionEmulMip[
i] ==
true)
1142 if (regionDataQuiet[
i] ==
true && regionEmulQuiet[
i] ==
true)
1145 if (regionDataHfPlusTau[
i] ==
true && regionEmulHfPlusTau[
i] ==
true)
1146 hfPlusTauFound = kTRUE;
1150 if(regFound == kFALSE && regionDataRank[
i] >= 1)
1154 bitset<10> bit( regionDataRank[
i] );
1155 for(
size_t n=0;
n < bit.size();
n++){
1157 if(
n >= 5 ){
rctRegBitOn_->
Fill( regionDataEta[i]+0.5, regionDataPhi[i]+(
n-5)*0.2, bit[
n] ); }
1161 chnl =
PHIBINS*regionDataEta[
i] + regionDataPhi[
i];
1173 if(overFlowFound == kFALSE && regionDataOverFlow[
i] ==
true )
1178 if(tauVetoFound == kFALSE && regionDataTauVeto[
i] ==
true )
1183 if (mipFound == kFALSE && regionDataMip[
i] ==
true ) {
1187 if (quietFound == kFALSE && regionDataQuiet[
i] ==
true ) {
1191 if (hfPlusTauFound == kFALSE && regionDataHfPlusTau[
i] ==
true ) {
1215 TH2F* den = denominator->
getTH2F();
1216 TH2F* res = result->
getTH2F();
1218 res->Divide(num,den,1,1,
"");
1225 TH1F* den = denominator->
getTH1F();
1226 TH1F* res = result->
getTH1F();
1228 res->Divide(num,den,1,1,
"");
1251 ibooker.
book1D(
"TriggerType",
"TriggerType", 17, -0.5, 16.5);
1254 ibooker.
book1D(
"gtTriggerAlgoNumbers",
"gtTriggerAlgoNumbers", 128, -0.5, 127.5);
1272 ibooker.
book1D(
"rctInputTPGHcalSample",
"rctInputTPGHcalSample", 10, -0.5, 9.5) ;
1280 ibooker.
book2D(
"trigEffThresh",
"Rank occupancy >= 2x trig thresh",
1286 ibooker.
book2D(
"trigEffThreshOcc",
"Rank occupancy >= 2x trig thresh",
1289 ibooker.
book2D(
"trigEffTriggThreshOcc",
"Rank occupancy >= 2x trig thresh, triggered",
1299 ibooker.
book1D(
"rctIsoEmEff1oneD",
"rctIsoEmEff1oneD",
1307 ibooker.
book1D(
"rctIsoEmEff2oneD",
"rctIsoEmEff2oneD, energy matching required",
1311 ibooker.
book2D(
"rctIsoEmIneff2",
"rctIsoEmIneff2, energy matching required",
ETABINS,
ETAMIN,
1315 ibooker.
book1D(
"rctIsoEmIneff2oneD",
"rctIsoEmIneff2oneD, energy matching required",
1324 ibooker.
book1D(
"rctIsoEmIneff1D",
"rctIsoEmIneff1D",
1332 ibooker.
book1D(
"rctIsoEmOvereff1D",
"rctIsoEmOvereff1D",
1342 ibooker.
book1D(
"rctIsoEmDataOcc1D",
"rctIsoEmDataOcc1D",
1350 ibooker.
book1D(
"rctIsoEmEmulOcc1D",
"rctIsoEmEmulOcc1D",
1358 ibooker.
book1D(
"rctIsoEmEff1Occ1D",
"rctIsoEmEff1Occ1D",
1366 ibooker.
book1D(
"rctIsoEmEff2Occ1D",
"rctIsoEmEff2Occ1D",
1374 ibooker.
book1D(
"rctIsoEmIneff2Occ1D",
"rctIsoEmIneff2Occ1D",
1382 ibooker.
book1D(
"rctIsoEmIneffOcc1D",
"rctIsoEmIneffOcc1D",
1390 ibooker.
book1D(
"rctIsoEmOvereffOcc1D",
"rctIsoEmOvereffOcc1D",
1400 ibooker.
book1D(
"rctNisoEmEff1oneD",
"rctNisoEmEff1oneD",
1404 ibooker.
book2D(
"rctNisoEmEff2",
"rctNisoEmEff2, energy matching required",
ETABINS,
ETAMIN,
1408 ibooker.
book1D(
"rctNisoEmEff2oneD",
"rctNisoEmEff2oneD, energy matching required",
1412 ibooker.
book2D(
"rctNisoEmIneff2",
"rctNisoEmIneff2, energy matching required",
ETABINS,
ETAMIN,
1416 ibooker.
book1D(
"rctNisoEmIneff2oneD",
"rctNisoEmIneff2oneD, energy matching required",
1425 ibooker.
book1D(
"rctNisoEmIneff1D",
"rctNisoEmIneff1D",
1433 ibooker.
book1D(
"rctNisoEmOvereff1D",
"rctNisoEmOvereff1D",
1443 ibooker.
book1D(
"rctNisoEmDataOcc1D",
"rctNisoEmDataOcc1D",
1451 ibooker.
book1D(
"rctNisoEmEmulOcc1D",
"rctNisoEmEmulOcc1D",
1459 ibooker.
book1D(
"rctNisoEmEff1Occ1D",
"rctNisoEmEff1Occ1D",
1467 ibooker.
book1D(
"rctNisoEmEff2Occ1D",
"rctNisoEmEff2Occ1D",
1475 ibooker.
book1D(
"rctNisoEmIneff2Occ1D",
"rctNisoEmIneff2Occ1D",
1483 ibooker.
book1D(
"rctNisoEmIneffOcc1D",
"rctNisoEmIneffOcc1D",
1491 ibooker.
book1D(
"rctNisoEmOvereffOcc1D",
"rctNisoEmOvereffOcc1D",
1498 ibooker.
book1D(
"rctRegEff1D",
"1D region efficiency",
1502 ibooker.
book1D(
"rctRegIneff1D",
"1D region inefficiency",
1506 ibooker.
book1D(
"rctRegOvereff1D",
"1D region overefficiency",
1510 ibooker.
book1D(
"rctRegSpEff1D",
"1D region efficiency, energy matching required",
1514 ibooker.
book1D(
"rctRegSpIneff1D",
"1D region inefficiency, energy matching required",
1518 ibooker.
book2D(
"rctRegEff2D",
"2D region efficiency",
1522 ibooker.
book2D(
"rctRegIneff2D",
"2D region inefficiency",
1526 ibooker.
book2D(
"rctRegOvereff2D",
"2D region overefficiency",
1530 ibooker.
book2D(
"rctRegSpEff2D",
"2D region efficiency, energy matching required",
1534 ibooker.
book2D(
"rctRegSpIneff2D",
"2D region inefficiency, energy matching required",
1540 ibooker.
book1D(
"rctRegDataOcc1D",
"1D region occupancy from data",
1544 ibooker.
book1D(
"rctRegEmulOcc1D",
"1D region occupancy from emulator",
1548 ibooker.
book1D(
"rctRegMatchedOcc1D",
"1D region occupancy for matched hits",
1552 ibooker.
book1D(
"rctRegUnmatchedDataOcc1D",
"1D region occupancy for unmatched hardware hits",
1556 ibooker.
book1D(
"rctRegUnmatchedEmulOcc1D",
"1D region occupancy for unmatched emulator hits",
1560 ibooker.
book1D(
"rctRegSpEffOcc1D",
"1D region occupancy for \\Delta E_{T} efficiency",
1564 ibooker.
book1D(
"rctRegSpIneffOcc1D",
"1D region occupancy for \\Delta E_{T} efficiency ",
1568 ibooker.
book2D(
"rctRegDataOcc2D",
"2D region occupancy from hardware",
1572 ibooker.
book2D(
"rctRegEmulOcc2D",
"2D region occupancy from emulator",
1576 ibooker.
book2D(
"rctRegMatchedOcc2D",
"2D region occupancy for matched hits",
1580 ibooker.
book2D(
"rctRegUnmatchedDataOcc2D",
"2D region occupancy for unmatched hardware hits",
1584 ibooker.
book2D(
"rctRegUnmatchedEmulOcc2D",
"2D region occupancy for unmatched emulator hits",
1592 ibooker.
book2D(
"rctRegSpEffOcc2D",
"2D region occupancy for \\Delta E_{T} efficiency",
1596 ibooker.
book2D(
"rctRegSpIneffOcc2D",
"2D region occupancy for \\Delta E_{T} inefficiency",
1603 ibooker.
book2D(
"rctBitOverFlowEff2D",
"2D overflow bit efficiency",
1607 ibooker.
book2D(
"rctBitOverFlowIneff2D",
"2D overflow bit inefficiency",
1611 ibooker.
book2D(
"rctBitOverFlowOvereff2D",
"2D overflow bit overefficiency",
1615 ibooker.
book2D(
"rctBitTauVetoEff2D",
"2D tau veto bit efficiency",
1619 ibooker.
book2D(
"rctBitTauVetoIneff2D",
"2D tau veto bit inefficiency",
1623 ibooker.
book2D(
"rctBitTauVetoOvereff2D",
"2D tau veto bit overefficiency",
1627 ibooker.
book2D(
"rctBitMipEff2D",
"2D mip bit efficiency",
1631 ibooker.
book2D(
"rctBitMipIneff2D",
"2D mip bit inefficiency",
1635 ibooker.
book2D(
"rctBitMipOvereff2D",
"2D mip bit overefficiency",
1652 ibooker.
book2D(
"rctBitHfPlusTauEff2D",
"2D HfPlusTau bit efficiency",
1656 ibooker.
book2D(
"rctBitHfPlusTauIneff2D",
"2D HfPlusTau bit inefficiency",
1660 ibooker.
book2D(
"rctBitHfPlusTauOvereff2D",
"2D HfPlusTau bit overefficiency",
1666 ibooker.
book2D(
"rctBitEmulOverFlow2D",
"2D overflow bit from emulator",
1670 ibooker.
book2D(
"rctBitDataOverFlow2D",
"2D overflow bit from hardware",
1674 ibooker.
book2D(
"rctBitMatchedOverFlow2D",
"2D overflow bit for matched hits",
1678 ibooker.
book2D(
"rctBitUnmatchedEmulOverFlow2D",
"2D overflow bit for unmatched emulator hits",
1682 ibooker.
book2D(
"rctBitUnmatchedDataOverFlow2D",
"2D overflow bit for unmatched hardware hits",
1686 ibooker.
book2D(
"rctBitEmulTauVeto2D",
"2D tau veto bit from emulator",
1690 ibooker.
book2D(
"rctBitDataTauVeto2D",
"2D tau veto bit from hardware",
1694 ibooker.
book2D(
"rctBitMatchedTauVeto2D",
"2D tau veto bit for matched hits",
1698 ibooker.
book2D(
"rctBitUnmatchedEmulTauVeto2D",
"2D tau veto bit for unmatched emulator hits",
1702 ibooker.
book2D(
"rctBitUnmatchedDataTauVeto2D",
"2D tau veto bit for unmatched hardware hits",
1706 ibooker.
book2D(
"rctBitEmulMip2D",
"2D mip bit from emulator",
1710 ibooker.
book2D(
"rctBitDataMip2D",
"2D mip bit from hardware",
1714 ibooker.
book2D(
"rctBitMatchedMip2D",
"2D mip bit for matched hits",
1718 ibooker.
book2D(
"rctBitUnmatchedEmulMip2D",
"2D mip bit for unmatched emulator hits",
1722 ibooker.
book2D(
"rctBitUnmatchedDataMip2D",
"2D mip bit for unmatched hardware hits",
1726 ibooker.
book2D(
"rctBitEmulQuiet2D",
"2D quiet bit from emulator",
1730 ibooker.
book2D(
"rctBitDataQuiet2D",
"2D quiet bit from hardware",
1734 ibooker.
book2D(
"rctBitMatchedQuiet2D",
"2D quiet bit for matched hits",
1738 ibooker.
book2D(
"rctBitUnmatchedEmulQuiet2D",
"2D quiet bit for unmatched emulator hits",
1742 ibooker.
book2D(
"rctBitUnmatchedDataQuiet2D",
"2D quiet bit for unmatched hardware hits",
1746 ibooker.
book2D(
"rctBitEmulHfPlusTau2D",
"2D HfPlusTau bit from emulator",
1750 ibooker.
book2D(
"rctBitDataHfPlusTau2D",
"2D HfPlusTau bit from hardware",
1754 ibooker.
book2D(
"rctBitMatchedHfPlusTau2D",
"2D HfPlusTau bit for matched hits",
1758 ibooker.
book2D(
"rctBitUnmatchedEmulHfPlusTau2D",
"2D HfPlusTau bit for unmatched emulator hits",
1762 ibooker.
book2D(
"rctBitUnmatchedDataHfPlusTau2D",
"2D HfPlusTau bit for unmatched hardware hits",
1767 ibooker.
book2D(
"rctRegBitOn",
"Monitoring for Bits Stuck On",
1771 ibooker.
book2D(
"rctRegBitOff",
"Monitoring for Bits Stuck Off",
1775 ibooker.
book2D(
"rctRegBitDiff",
"Monitoring for Bits Difference",
1779 ibooker.
book2D(
"rctIsoEmBitOn",
"Monitoring for Bits Stuck On",
1783 ibooker.
book2D(
"rctIsoEmBitOff",
"Monitoring for Bits Stuck Off",
1787 ibooker.
book2D(
"rctIsoEmBitDiff",
"Monitoring for Bits Difference",
1791 ibooker.
book2D(
"rctNIsoEmBitOn",
"Monitoring for Bits Stuck On",
1795 ibooker.
book2D(
"rctNIsoEmBitOff",
"Monitoring for Bits Stuck Off",
1799 ibooker.
book2D(
"rctNIsoEmBitDiff",
"Monitoring for Bits Difference",
1807 for(
unsigned int i=0;
i<108;++
i) {
1822 for(
int m=0;
m<12;
m++)
1841 char name[80], channel[80]={
""} ;
1843 if(
m==0) strcpy(name,
"(Eemul-Edata)Chnl") ;
1844 if(
m==1) strcpy(name,
"(Eemul-Edata)Chnl") ;
1845 if(
m==2) strcpy(name,
"(Eemul-Edata)Chnl") ;
1846 if(
m==3) strcpy(name,
"EemulChnl") ;
1847 if(
m==4) strcpy(name,
"EemulChnl") ;
1848 if(
m==5) strcpy(name,
"EemulChnl") ;
1849 if(
m==6) strcpy(name,
"EdataChnl") ;
1850 if(
m==7) strcpy(name,
"EdataChnl") ;
1851 if(
m==8) strcpy(name,
"EdataChnl") ;
1852 if(
m==9) strcpy(name,
"EemulChnlEff") ;
1853 if(
m==10) strcpy(name,
"EemulChnlTrig") ;
1854 if(
m==11) strcpy(name,
"EemulChnl") ;
1856 if(
i<10 &&
j<10) sprintf(channel,
"_0%d0%d",
i,
j);
1857 else if(
i<10) sprintf(channel,
"_0%d%d",
i,
j);
1858 else if(
j<10) sprintf(channel,
"_%d0%d",
i,
j);
1859 else sprintf(channel,
"_%d%d",
i,
j);
1860 strcat(name,channel);
1913 std::vector<int> caloFeds;
1915 const std::vector<int> Feds = summary->
m_fed_in;
1916 for(std::vector<int>::const_iterator cf = Feds.begin(); cf != Feds.end(); ++cf){
1918 if(( fedNum > 600 && fedNum <724) || fedNum==1118 || fedNum==1120 || fedNum==1122)
1919 caloFeds.push_back(fedNum);
1922 for(
unsigned int i=0;
i<108;++
i) {
1923 std::vector<int>::iterator fv =
std::find(caloFeds.begin(),caloFeds.end(),
crateFED[
i]);
1924 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_
MonitorElement * rctBitEmulTauVeto2D_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * rctIsoEmIneff2Occ_
void readFEDVector(MonitorElement *, const edm::EventSetup &)
MonitorElement * trigEffThresh_
MonitorElement * rctBitHfPlusTauIneff2D_
void analyze(const edm::Event &e, const edm::EventSetup &c)
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
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_
virtual void dqmBeginRun(const edm::Run &, const edm::EventSetup &)
MonitorElement * rctNisoIneffChannel_[396]
MonitorElement * rctRegSpIneff2D_
MonitorElement * rctIsoEmEmulOcc_
MonitorElement * rctIsoEmEff1Occ_
MonitorElement * rctNisoEmOvereff1D_
MonitorElement * rctNisoEmEff2Occ_
MonitorElement * rctBitUnmatchedEmulHfPlusTau2D_
MonitorElement * rctRegEff1D_
MonitorElement * rctBitMatchedMip2D_
MonitorElement * rctNisoEmEff2_
MonitorElement * rctRegSpEff1D_
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_
const unsigned int TPGRANK
T const * product() const
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
volatile std::atomic< bool > shutdown_flag false
MonitorElement * rctBitDataTauVeto2D_
MonitorElement * rctIsoEffChannel_[396]
TH2F * getTH2F(void) const
void beginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &)
MonitorElement * rctNisoEmOvereff_
MonitorElement * rctRegEff2D_
int filterTriggerType_
filter TriggerType
MonitorElement * rctInputTPGEcalOccNoCut_
MonitorElement * rctNisoOvereffChannel_[396]
MonitorElement * rctNisoEmIneffOcc_
MonitorElement * rctIsoEmEff2oneD_
edm::EDGetTokenT< L1CaloEmCollection > rctSourceEmul_emEmul_
MonitorElement * rctBitUnmatchedDataQuiet2D_
MonitorElement * rctRegSpIneff1D_
MonitorElement * rctRegSpIneffOcc2D_
MonitorElement * rctRegBitOff_
MonitorElement * rctIsoEmIneff_
MonitorElement * rctRegUnmatchedEmulOcc1D_
MonitorElement * rctBitUnmatchedDataOverFlow2D_
MonitorElement * rctIsoOvereffChannel_[396]
MonitorElement * rctNisoEmEff1_