83 {613, 614, 603, 702, 718,
84 611, 612, 602, 700, 718,
85 627, 610, 601,716, 722,
86 625, 626, 609, 714, 722,
87 623, 624, 608, 712, 722,
88 621, 622, 607, 710, 720,
89 619, 620, 606, 708, 720,
90 617, 618, 605, 706, 720,
91 615, 616, 604, 704, 718,
92 631, 632, 648, 703, 719,
93 629, 630, 647, 701, 719,
94 645, 628, 646, 717, 723,
95 643, 644, 654, 715, 723,
96 641, 642, 653, 713, 723,
97 639, 640, 652, 711, 721,
98 637, 638, 651, 709, 721,
99 635, 636, 650, 707, 721,
100 633, 634, 649, 705, 719
113 gtEGAlgoName_ ( ps.getParameter< std::
string >(
"gtEGAlgoName") ),
114 doubleThreshold_ ( ps.getParameter< int >(
"doubleThreshold") ),
115 filterTriggerType_ (ps.getParameter< int >(
"filterTriggerType") )
129 std::cout <<
"L1TdeRCT: constructor...." << std::endl;
142 cout <<
"L1T Monitoring histograms will be saved to " <<
176 std::cout <<
"L1TdeRCT: end job...." << std::endl;
177 LogInfo(
"EndJob") <<
"analyzed " <<
nev_ <<
" events";
193 std::cout <<
"L1TdeRCT: analyze...." << std::endl;
209 double triggerType =
static_cast<double> (e.
experimentType()) + 0.001;
210 double triggerTypeLast =
static_cast<double> (edm::EventAuxiliary::ExperimentType::ErrorTrigger)
237 int effEGThresholdBitNumber = 999;
240 effEGThresholdBitNumber = 46;
244 effEGThresholdBitNumber = 47;
248 effEGThresholdBitNumber = 48;
252 effEGThresholdBitNumber = 49;
256 effEGThresholdBitNumber = 50;
260 effEGThresholdBitNumber = 51;
264 effEGThresholdBitNumber = 52;
267 int algoBitNumber = 0;
268 bool triggered =
false;
269 bool independent_triggered =
false;
270 DecisionWord::const_iterator algoItr;
271 for (algoItr = dWord.begin(); algoItr != dWord.end(); algoItr++)
276 if (algoBitNumber == effEGThresholdBitNumber)
280 if (algoBitNumber <= 45 || algoBitNumber >= 53)
282 independent_triggered =
true;
316 edm::LogInfo(
"TPG DataNotFound") <<
"can't find EcalTrigPrimDigiCollection";
325 if(iEcalTp->compressedEt() > 0)
330 if(iEcalTp->id().ieta() > 0)
333 if(iEcalTp->compressedEt() > 3)
rctInputTPGEcalOcc_ ->
Fill(1.*(iEcalTp->id().ieta())-0.5,iEcalTp->id().iphi()) ;
338 if(iEcalTp->compressedEt() > 3)
rctInputTPGEcalOcc_ ->
Fill(1.*(iEcalTp->id().ieta())+0.5,iEcalTp->id().iphi()) ;
341 if(
verbose_)
std::cout <<
" ECAL data: Energy: " << iEcalTp->compressedEt() <<
" eta " << iEcalTp->id().ieta() <<
" phi " << iEcalTp->id().iphi() << std::endl ;
346 edm::LogInfo(
"TPG DataNotFound") <<
"can't find HcalTrigPrimDigiCollection";
361 for (
int nSample = 0; nSample < 10; nSample++)
363 if (iHcalTp->sample(nSample).compressedEt() != 0)
366 << iHcalTp->sample(nSample).compressedEt()
368 << iHcalTp->sample(nSample).fineGrain()
369 <<
" ieta " << iHcalTp->id().ieta()
370 <<
" iphi " << iHcalTp->id().iphi()
371 <<
" sample " << nSample
373 if (iHcalTp->sample(nSample).compressedEt() > highEt)
375 highSample = nSample;
376 highEt = iHcalTp->sample(nSample).compressedEt() ;
384 if(iHcalTp->id().ieta() > 0)
400 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloRegionCollection";
407 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloRegionCollection";
418 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloEmCollection";
426 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloEmCollection";
439 int nelectrIsoData = 0;
440 int nelectrNisoData = 0;
441 int nelectrIsoEmul = 0;
442 int nelectrNisoEmul = 0;
444 int electronDataRank[2][
PhiEtaMax]={{0}};
447 int electronEmulRank[2][
PhiEtaMax]={{0}};
459 bool regionDataOverFlow [
PhiEtaMax] = {
false};
460 bool regionDataTauVeto [
PhiEtaMax] = {
false};
461 bool regionDataMip [
PhiEtaMax] = {
false};
462 bool regionDataQuiet [
PhiEtaMax] = {
false};
463 bool regionDataHfPlusTau[
PhiEtaMax] = {
false};
469 bool regionEmulOverFlow [
PhiEtaMax] = {
false};
470 bool regionEmulTauVeto [
PhiEtaMax] = {
false};
471 bool regionEmulMip [
PhiEtaMax] = {
false};
472 bool regionEmulQuiet [
PhiEtaMax] = {
false};
473 bool regionEmulHfPlusTau[
PhiEtaMax] = {
false};
483 for (L1CaloEmCollection::const_iterator iem = emEmul->begin();
484 iem != emEmul->end();
499 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
501 electronEmulRank[0][nelectrIsoEmul]=iem->rank() ;
502 electronEmulEta[0][nelectrIsoEmul]=iem->regionId().ieta();
503 electronEmulPhi[0][nelectrIsoEmul]=iem->regionId().iphi();
518 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
520 electronEmulRank[1][nelectrNisoEmul]=iem->rank() ;
521 electronEmulEta[1][nelectrNisoEmul]=iem->regionId().ieta();
522 electronEmulPhi[1][nelectrNisoEmul]=iem->regionId().iphi();
528 for (L1CaloEmCollection::const_iterator iem = emData->begin();
529 iem != emData->end();
541 iem->regionId().iphi(), 0.01);
545 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
551 electronDataRank[0][nelectrIsoData]=iem->rank() ;
552 electronDataEta[0][nelectrIsoData]=iem->regionId().ieta();
553 electronDataPhi[0][nelectrIsoData]=iem->regionId().iphi();
564 iem->regionId().iphi(), 0.01);
568 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
574 electronDataRank[1][nelectrNisoData]=iem->rank() ;
575 electronDataEta[1][nelectrNisoData]=iem->regionId().ieta();
576 electronDataPhi[1][nelectrNisoData]=iem->regionId().iphi();
583 for(L1CaloRegionCollection::const_iterator ireg = rgnEmul->begin();
584 ireg != rgnEmul->end();
600 if(ireg->overFlow()) {
605 if(ireg->tauVeto()) {
620 if(ireg->fineGrain()) {
631 nRegionEmul =
PHIBINS * ireg->gctEta() + ireg->gctPhi();
633 regionEmulRank [nRegionEmul] = ireg->et() ;
634 regionEmulEta [nRegionEmul] = ireg->gctEta();
635 regionEmulPhi [nRegionEmul] = ireg->gctPhi();
636 regionEmulOverFlow [nRegionEmul] = ireg->overFlow();
637 regionEmulTauVeto [nRegionEmul] = ireg->tauVeto();
638 regionEmulMip [nRegionEmul] = ireg->mip();
639 regionEmulQuiet [nRegionEmul] = ireg->quiet();
640 regionEmulHfPlusTau[nRegionEmul] = ireg->fineGrain();
643 for(L1CaloRegionCollection::const_iterator ireg = rgnData->begin();
644 ireg != rgnData->end();
672 nRegionData =
PHIBINS * ireg->gctEta() + ireg->gctPhi();
674 regionDataRank [nRegionData] = ireg->et() ;
675 regionDataEta [nRegionData] = ireg->gctEta();
676 regionDataPhi [nRegionData] = ireg->gctPhi();
677 regionDataOverFlow [nRegionData] = ireg->overFlow();
678 regionDataTauVeto [nRegionData] = ireg->tauVeto();
679 regionDataMip [nRegionData] = ireg->mip();
680 regionDataQuiet [nRegionData] = ireg->quiet();
681 regionDataHfPlusTau[nRegionData] = ireg->fineGrain();
686 std::cout <<
"I found Data! Iso: " << nelectrIsoData <<
" Niso: " << nelectrNisoData << std::endl ;
687 for(
int i=0;
i<nelectrIsoData;
i++)
688 std::cout <<
" Iso Energy " << electronDataRank[0][
i] <<
" eta " << electronDataEta[0][
i] <<
" phi " << electronDataPhi[0][
i] << std::endl ;
689 for(
int i=0;
i<nelectrNisoData;
i++)
690 std::cout <<
" Niso Energy " << electronDataRank[1][
i] <<
" eta " << electronDataEta[1][
i] <<
" phi " << electronDataPhi[1][
i] << std::endl ;
692 std::cout <<
"I found Emul! Iso: " << nelectrIsoEmul <<
" Niso: " << nelectrNisoEmul << std::endl ;
693 for(
int i=0;
i<nelectrIsoEmul;
i++)
694 std::cout <<
" Iso Energy " << electronEmulRank[0][
i] <<
" eta " << electronEmulEta[0][
i] <<
" phi " << electronEmulPhi[0][
i] << std::endl ;
695 for(
int i=0;
i<nelectrNisoEmul;
i++)
696 std::cout <<
" Niso Energy " << electronEmulRank[1][
i] <<
" eta " << electronEmulEta[1][
i] <<
" phi " << electronEmulPhi[1][
i] << std::endl ;
700 if(regionDataRank[
i] !=0 )
std::cout <<
" Energy " << regionDataRank[
i] <<
" eta " << regionDataEta[
i] <<
" phi " << regionDataPhi[
i] << std::endl ;
704 if(regionEmulRank[
i] !=0 )
std::cout <<
" Energy " << regionEmulRank[
i] <<
" eta " << regionEmulEta[
i] <<
" phi " << regionEmulPhi[
i] << std::endl ;
709 for(
int k=0;
k<2;
k++)
711 int nelectrE, nelectrD;
715 nelectrE=nelectrIsoEmul;
716 nelectrD=nelectrIsoData;
721 nelectrE=nelectrNisoEmul;
722 nelectrD=nelectrNisoData;
725 for(
int i = 0;
i < nelectrE;
i++)
730 int chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
731 if(
k==1 && independent_triggered) {
740 if(electronEmulRank[
k][
i]>=trigThresh){
741 if(
k==1 && independent_triggered) {
751 Bool_t
found = kFALSE;
753 for(
int j = 0;
j < nelectrD;
j++)
755 if(electronEmulEta[
k][
i]==electronDataEta[
k][
j] &&
756 electronEmulPhi[
k][
i]==electronDataPhi[
k][
j])
765 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
769 int energy_difference;
771 energy_difference=(electronEmulRank[
k][
i] - electronDataRank[
k][
j]);
775 if(electronEmulRank[
k][i]==electronDataRank[
k][j])
790 bitset<8> bitDifference( electronEmulRank[
k][i]^electronDataRank[
k][j] );
791 for(
size_t n=0;
n < bitDifference.size();
n++){
805 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
809 int energy_difference;
811 energy_difference=(electronEmulRank[
k][
i] - electronDataRank[
k][
j]) ;
816 if(electronEmulRank[
k][i]==electronDataRank[
k][j])
830 bitset<8> bitDifference( electronEmulRank[
k][i]^electronDataRank[
k][j] );
831 for(
size_t n=0;
n < bitDifference.size();
n++){
852 bitset<8> bit( electronEmulRank[
k][i] );
853 for(
size_t n=0;
n < bit.size();
n++){
858 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
873 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
877 bitset<8> bit( electronEmulRank[
k][i] );
878 for(
size_t n=0;
n < bit.size();
n++){
921 for(
int i = 0;
i < nelectrE;
i++)
923 int chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
928 for(
int i = 0;
i < nelectrD;
i++)
930 Bool_t
found = kFALSE;
932 for(
int j = 0;
j < nelectrE;
j++)
934 if(electronEmulEta[
k][
j]==electronDataEta[
k][
i] &&
935 electronEmulPhi[
k][
j]==electronDataPhi[
k][
i])
951 bitset<8> bit( electronDataRank[
k][i] );
952 for(
size_t n=0;
n < bit.size();
n++){
957 chnl=
PHIBINS*electronDataEta[
k][
i]+electronDataPhi[
k][
i];
974 bitset<8> bit( electronDataRank[
k][i] );
975 for(
size_t n=0;
n < bit.size();
n++){
980 chnl=
PHIBINS*electronDataEta[
k][
i]+electronDataPhi[
k][
i];
1003 Bool_t regFound = kFALSE;
1004 Bool_t overFlowFound = kFALSE;
1005 Bool_t tauVetoFound = kFALSE;
1006 Bool_t mipFound = kFALSE;
1007 Bool_t quietFound = kFALSE;
1008 Bool_t hfPlusTauFound = kFALSE;
1015 if(regionDataRank[
i] >= 1 && regionEmulRank[
i] >= 1)
1019 chnl =
PHIBINS*regionEmulEta[
i] + regionEmulPhi[
i];
1028 if(regionEmulRank[i] == regionDataRank[i])
1040 bitset<10> bitDifference( regionEmulRank[i]^regionDataRank[i] );
1041 for(
size_t n=0;
n < bitDifference.size();
n++){
1043 if(
n >= 5 ){
rctRegBitDiff_->
Fill( regionEmulEta[i]+0.5, regionEmulPhi[i]+(
n-5)*0.2, bitDifference[
n] ); }
1053 if(regionEmulOverFlow[
i] ==
true &&
1054 regionDataOverFlow[
i] ==
true)
1057 overFlowFound = kTRUE;
1060 if(regionEmulTauVeto[
i] ==
true &&
1061 regionDataTauVeto[
i] ==
true)
1064 tauVetoFound = kTRUE;
1067 if (regionEmulMip[
i] ==
true && regionDataMip[
i] ==
true) {
1072 if (regionEmulQuiet[
i] ==
true && regionDataQuiet[
i] ==
true) {
1077 if (regionEmulHfPlusTau[
i] ==
true && regionDataHfPlusTau[
i] ==
true) {
1079 hfPlusTauFound = kTRUE;
1088 if(regFound == kFALSE && regionEmulRank[
i] >= 1 )
1092 bitset<10> bit( regionEmulRank[
i] );
1093 for(
size_t n=0;
n < bit.size();
n++){
1095 if(
n >= 5 ){
rctRegBitOff_->
Fill( regionEmulEta[i]+0.5, regionEmulPhi[i]+(
n-5)*0.2, bit[
n] ); }
1098 chnl =
PHIBINS*regionEmulEta[
i] + regionEmulPhi[
i];
1106 if(overFlowFound == kFALSE && regionEmulOverFlow[
i] ==
true)
1111 if(tauVetoFound == kFALSE && regionEmulTauVeto[
i] ==
true)
1116 if (mipFound == kFALSE && regionEmulMip[
i] ==
true) {
1120 if (quietFound == kFALSE && regionEmulQuiet[
i] ==
true) {
1124 if (hfPlusTauFound == kFALSE && regionEmulHfPlusTau[
i] ==
true ) {
1162 Bool_t regFound = kFALSE;
1163 Bool_t overFlowFound = kFALSE;
1164 Bool_t tauVetoFound = kFALSE;
1165 Bool_t mipFound = kFALSE;
1166 Bool_t quietFound = kFALSE;
1167 Bool_t hfPlusTauFound = kFALSE;
1175 if(regionEmulRank[
i] >= 1 && regionDataRank[
i] >= 1)
1178 if(regionDataOverFlow[
i] ==
true &&
1179 regionEmulOverFlow[
i] ==
true)
1180 overFlowFound = kTRUE;
1182 if(regionDataTauVeto[
i] ==
true &&
1183 regionEmulTauVeto[
i] ==
true)
1184 tauVetoFound = kTRUE;
1186 if (regionDataMip[
i] ==
true && regionEmulMip[
i] ==
true)
1189 if (regionDataQuiet[
i] ==
true && regionEmulQuiet[
i] ==
true)
1192 if (regionDataHfPlusTau[
i] ==
true && regionEmulHfPlusTau[
i] ==
true)
1193 hfPlusTauFound = kTRUE;
1197 if(regFound == kFALSE && regionDataRank[
i] >= 1)
1201 bitset<10> bit( regionDataRank[
i] );
1202 for(
size_t n=0;
n < bit.size();
n++){
1204 if(
n >= 5 ){
rctRegBitOn_->
Fill( regionDataEta[i]+0.5, regionDataPhi[i]+(
n-5)*0.2, bit[
n] ); }
1208 chnl =
PHIBINS*regionDataEta[
i] + regionDataPhi[
i];
1220 if(overFlowFound == kFALSE && regionDataOverFlow[
i] ==
true )
1225 if(tauVetoFound == kFALSE && regionDataTauVeto[
i] ==
true )
1230 if (mipFound == kFALSE && regionDataMip[
i] ==
true ) {
1234 if (quietFound == kFALSE && regionDataQuiet[
i] ==
true ) {
1238 if (hfPlusTauFound == kFALSE && regionDataHfPlusTau[
i] ==
true ) {
1262 TH2F* den = denominator->
getTH2F();
1263 TH2F* res = result->
getTH2F();
1265 res->Divide(num,den,1,1,
"");
1272 TH1F* den = denominator->
getTH1F();
1273 TH1F* res = result->
getTH1F();
1275 res->Divide(num,den,1,1,
"");
1297 dbe->
book1D(
"TriggerType",
"TriggerType", 17, -0.5, 16.5);
1300 dbe->
book1D(
"gtTriggerAlgoNumbers",
"gtTriggerAlgoNumbers", 128, -0.5, 127.5);
1318 dbe->
book1D(
"rctInputTPGHcalSample",
"rctInputTPGHcalSample", 10, -0.5, 9.5) ;
1326 dbe->
book2D(
"trigEffThresh",
"Rank occupancy >= 2x trig thresh",
1332 dbe->
book2D(
"trigEffThreshOcc",
"Rank occupancy >= 2x trig thresh",
1335 dbe->
book2D(
"trigEffTriggThreshOcc",
"Rank occupancy >= 2x trig thresh, triggered",
1345 dbe->
book1D(
"rctIsoEmEff1oneD",
"rctIsoEmEff1oneD",
1353 dbe->
book1D(
"rctIsoEmEff2oneD",
"rctIsoEmEff2oneD, energy matching required",
1357 dbe->
book2D(
"rctIsoEmIneff2",
"rctIsoEmIneff2, energy matching required",
ETABINS,
ETAMIN,
1361 dbe->
book1D(
"rctIsoEmIneff2oneD",
"rctIsoEmIneff2oneD, energy matching required",
1370 dbe->
book1D(
"rctIsoEmIneff1D",
"rctIsoEmIneff1D",
1378 dbe->
book1D(
"rctIsoEmOvereff1D",
"rctIsoEmOvereff1D",
1388 dbe->
book1D(
"rctIsoEmDataOcc1D",
"rctIsoEmDataOcc1D",
1396 dbe->
book1D(
"rctIsoEmEmulOcc1D",
"rctIsoEmEmulOcc1D",
1404 dbe->
book1D(
"rctIsoEmEff1Occ1D",
"rctIsoEmEff1Occ1D",
1412 dbe->
book1D(
"rctIsoEmEff2Occ1D",
"rctIsoEmEff2Occ1D",
1420 dbe->
book1D(
"rctIsoEmIneff2Occ1D",
"rctIsoEmIneff2Occ1D",
1428 dbe->
book1D(
"rctIsoEmIneffOcc1D",
"rctIsoEmIneffOcc1D",
1436 dbe->
book1D(
"rctIsoEmOvereffOcc1D",
"rctIsoEmOvereffOcc1D",
1446 dbe->
book1D(
"rctNisoEmEff1oneD",
"rctNisoEmEff1oneD",
1454 dbe->
book1D(
"rctNisoEmEff2oneD",
"rctNisoEmEff2oneD, energy matching required",
1458 dbe->
book2D(
"rctNisoEmIneff2",
"rctNisoEmIneff2, energy matching required",
ETABINS,
ETAMIN,
1462 dbe->
book1D(
"rctNisoEmIneff2oneD",
"rctNisoEmIneff2oneD, energy matching required",
1471 dbe->
book1D(
"rctNisoEmIneff1D",
"rctNisoEmIneff1D",
1479 dbe->
book1D(
"rctNisoEmOvereff1D",
"rctNisoEmOvereff1D",
1489 dbe->
book1D(
"rctNisoEmDataOcc1D",
"rctNisoEmDataOcc1D",
1497 dbe->
book1D(
"rctNisoEmEmulOcc1D",
"rctNisoEmEmulOcc1D",
1505 dbe->
book1D(
"rctNisoEmEff1Occ1D",
"rctNisoEmEff1Occ1D",
1513 dbe->
book1D(
"rctNisoEmEff2Occ1D",
"rctNisoEmEff2Occ1D",
1521 dbe->
book1D(
"rctNisoEmIneff2Occ1D",
"rctNisoEmIneff2Occ1D",
1529 dbe->
book1D(
"rctNisoEmIneffOcc1D",
"rctNisoEmIneffOcc1D",
1537 dbe->
book1D(
"rctNisoEmOvereffOcc1D",
"rctNisoEmOvereffOcc1D",
1544 dbe->
book1D(
"rctRegEff1D",
"1D region efficiency",
1548 dbe->
book1D(
"rctRegIneff1D",
"1D region inefficiency",
1552 dbe->
book1D(
"rctRegOvereff1D",
"1D region overefficiency",
1556 dbe->
book1D(
"rctRegSpEff1D",
"1D region efficiency, energy matching required",
1560 dbe->
book1D(
"rctRegSpIneff1D",
"1D region inefficiency, energy matching required",
1564 dbe->
book2D(
"rctRegEff2D",
"2D region efficiency",
1568 dbe->
book2D(
"rctRegIneff2D",
"2D region inefficiency",
1572 dbe->
book2D(
"rctRegOvereff2D",
"2D region overefficiency",
1576 dbe->
book2D(
"rctRegSpEff2D",
"2D region efficiency, energy matching required",
1580 dbe->
book2D(
"rctRegSpIneff2D",
"2D region inefficiency, energy matching required",
1586 dbe->
book1D(
"rctRegDataOcc1D",
"1D region occupancy from data",
1590 dbe->
book1D(
"rctRegEmulOcc1D",
"1D region occupancy from emulator",
1594 dbe->
book1D(
"rctRegMatchedOcc1D",
"1D region occupancy for matched hits",
1598 dbe->
book1D(
"rctRegUnmatchedDataOcc1D",
"1D region occupancy for unmatched hardware hits",
1602 dbe->
book1D(
"rctRegUnmatchedEmulOcc1D",
"1D region occupancy for unmatched emulator hits",
1606 dbe->
book1D(
"rctRegSpEffOcc1D",
"1D region occupancy for \\Delta E_{T} efficiency",
1610 dbe->
book1D(
"rctRegSpIneffOcc1D",
"1D region occupancy for \\Delta E_{T} efficiency ",
1614 dbe->
book2D(
"rctRegDataOcc2D",
"2D region occupancy from hardware",
1618 dbe->
book2D(
"rctRegEmulOcc2D",
"2D region occupancy from emulator",
1622 dbe->
book2D(
"rctRegMatchedOcc2D",
"2D region occupancy for matched hits",
1626 dbe->
book2D(
"rctRegUnmatchedDataOcc2D",
"2D region occupancy for unmatched hardware hits",
1630 dbe->
book2D(
"rctRegUnmatchedEmulOcc2D",
"2D region occupancy for unmatched emulator hits",
1638 dbe->
book2D(
"rctRegSpEffOcc2D",
"2D region occupancy for \\Delta E_{T} efficiency",
1642 dbe->
book2D(
"rctRegSpIneffOcc2D",
"2D region occupancy for \\Delta E_{T} inefficiency",
1649 dbe->
book2D(
"rctBitOverFlowEff2D",
"2D overflow bit efficiency",
1653 dbe->
book2D(
"rctBitOverFlowIneff2D",
"2D overflow bit inefficiency",
1657 dbe->
book2D(
"rctBitOverFlowOvereff2D",
"2D overflow bit overefficiency",
1661 dbe->
book2D(
"rctBitTauVetoEff2D",
"2D tau veto bit efficiency",
1665 dbe->
book2D(
"rctBitTauVetoIneff2D",
"2D tau veto bit inefficiency",
1669 dbe->
book2D(
"rctBitTauVetoOvereff2D",
"2D tau veto bit overefficiency",
1673 dbe->
book2D(
"rctBitMipEff2D",
"2D mip bit efficiency",
1677 dbe->
book2D(
"rctBitMipIneff2D",
"2D mip bit inefficiency",
1681 dbe->
book2D(
"rctBitMipOvereff2D",
"2D mip bit overefficiency",
1698 dbe->
book2D(
"rctBitHfPlusTauEff2D",
"2D HfPlusTau bit efficiency",
1702 dbe->
book2D(
"rctBitHfPlusTauIneff2D",
"2D HfPlusTau bit inefficiency",
1706 dbe->
book2D(
"rctBitHfPlusTauOvereff2D",
"2D HfPlusTau bit overefficiency",
1712 dbe->
book2D(
"rctBitEmulOverFlow2D",
"2D overflow bit from emulator",
1716 dbe->
book2D(
"rctBitDataOverFlow2D",
"2D overflow bit from hardware",
1720 dbe->
book2D(
"rctBitMatchedOverFlow2D",
"2D overflow bit for matched hits",
1724 dbe->
book2D(
"rctBitUnmatchedEmulOverFlow2D",
"2D overflow bit for unmatched emulator hits",
1728 dbe->
book2D(
"rctBitUnmatchedDataOverFlow2D",
"2D overflow bit for unmatched hardware hits",
1732 dbe->
book2D(
"rctBitEmulTauVeto2D",
"2D tau veto bit from emulator",
1736 dbe->
book2D(
"rctBitDataTauVeto2D",
"2D tau veto bit from hardware",
1740 dbe->
book2D(
"rctBitMatchedTauVeto2D",
"2D tau veto bit for matched hits",
1744 dbe->
book2D(
"rctBitUnmatchedEmulTauVeto2D",
"2D tau veto bit for unmatched emulator hits",
1748 dbe->
book2D(
"rctBitUnmatchedDataTauVeto2D",
"2D tau veto bit for unmatched hardware hits",
1752 dbe->
book2D(
"rctBitEmulMip2D",
"2D mip bit from emulator",
1756 dbe->
book2D(
"rctBitDataMip2D",
"2D mip bit from hardware",
1760 dbe->
book2D(
"rctBitMatchedMip2D",
"2D mip bit for matched hits",
1764 dbe->
book2D(
"rctBitUnmatchedEmulMip2D",
"2D mip bit for unmatched emulator hits",
1768 dbe->
book2D(
"rctBitUnmatchedDataMip2D",
"2D mip bit for unmatched hardware hits",
1772 dbe->
book2D(
"rctBitEmulQuiet2D",
"2D quiet bit from emulator",
1776 dbe->
book2D(
"rctBitDataQuiet2D",
"2D quiet bit from hardware",
1780 dbe->
book2D(
"rctBitMatchedQuiet2D",
"2D quiet bit for matched hits",
1784 dbe->
book2D(
"rctBitUnmatchedEmulQuiet2D",
"2D quiet bit for unmatched emulator hits",
1788 dbe->
book2D(
"rctBitUnmatchedDataQuiet2D",
"2D quiet bit for unmatched hardware hits",
1792 dbe->
book2D(
"rctBitEmulHfPlusTau2D",
"2D HfPlusTau bit from emulator",
1796 dbe->
book2D(
"rctBitDataHfPlusTau2D",
"2D HfPlusTau bit from hardware",
1800 dbe->
book2D(
"rctBitMatchedHfPlusTau2D",
"2D HfPlusTau bit for matched hits",
1804 dbe->
book2D(
"rctBitUnmatchedEmulHfPlusTau2D",
"2D HfPlusTau bit for unmatched emulator hits",
1808 dbe->
book2D(
"rctBitUnmatchedDataHfPlusTau2D",
"2D HfPlusTau bit for unmatched hardware hits",
1813 dbe->
book2D(
"rctRegBitOn",
"Monitoring for Bits Stuck On",
1817 dbe->
book2D(
"rctRegBitOff",
"Monitoring for Bits Stuck Off",
1821 dbe->
book2D(
"rctRegBitDiff",
"Monitoring for Bits Difference",
1825 dbe->
book2D(
"rctIsoEmBitOn",
"Monitoring for Bits Stuck On",
1829 dbe->
book2D(
"rctIsoEmBitOff",
"Monitoring for Bits Stuck Off",
1833 dbe->
book2D(
"rctIsoEmBitDiff",
"Monitoring for Bits Difference",
1837 dbe->
book2D(
"rctNIsoEmBitOn",
"Monitoring for Bits Stuck On",
1841 dbe->
book2D(
"rctNIsoEmBitOff",
"Monitoring for Bits Stuck Off",
1845 dbe->
book2D(
"rctNIsoEmBitDiff",
"Monitoring for Bits Difference",
1853 for(
unsigned int i=0;
i<90;++
i) {
1870 for(
int m=0;
m<12;
m++)
1889 char name[80], channel[80]={
""} ;
1891 if(
m==0) strcpy(name,
"(Eemul-Edata)Chnl") ;
1892 if(
m==1) strcpy(name,
"(Eemul-Edata)Chnl") ;
1893 if(
m==2) strcpy(name,
"(Eemul-Edata)Chnl") ;
1894 if(
m==3) strcpy(name,
"EemulChnl") ;
1895 if(
m==4) strcpy(name,
"EemulChnl") ;
1896 if(
m==5) strcpy(name,
"EemulChnl") ;
1897 if(
m==6) strcpy(name,
"EdataChnl") ;
1898 if(
m==7) strcpy(name,
"EdataChnl") ;
1899 if(
m==8) strcpy(name,
"EdataChnl") ;
1900 if(
m==9) strcpy(name,
"EemulChnlEff") ;
1901 if(
m==10) strcpy(name,
"EemulChnlTrig") ;
1902 if(
m==11) strcpy(name,
"EemulChnl") ;
1904 if(
i<10 &&
j<10) sprintf(channel,
"_0%d0%d",
i,
j);
1905 else if(
i<10) sprintf(channel,
"_0%d%d",
i,
j);
1906 else if(
j<10) sprintf(channel,
"_%d0%d",
i,
j);
1907 else sprintf(channel,
"_%d%d",
i,
j);
1908 strcat(name,channel);
1963 std::vector<int> caloFeds;
1965 const std::vector<int> Feds = summary->
m_fed_in;
1966 for(std::vector<int>::const_iterator cf = Feds.begin(); cf != Feds.end(); ++cf){
1968 if(fedNum > 600 && fedNum <724)
1969 caloFeds.push_back(fedNum);
1972 for(
unsigned int i=0;
i<90;++
i) {
1973 std::vector<int>::iterator fv =
std::find(caloFeds.begin(),caloFeds.end(),
crateFED[
i]);
1974 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_
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * rctNisoEmEff2Occ1D_
void beginRun(const edm::Run &, const edm::EventSetup &)
MonitorElement * rctInputTPGHcalOcc_
const unsigned int TPGETABINS
MonitorElement * rctNisoEmEff2oneD_
MonitorElement * rctNisoEmIneff2Occ1D_
MonitorElement * rctBitMatchedTauVeto2D_
const unsigned int ELBINS
MonitorElement * rctBitDataMip2D_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
void rmdir(const std::string &fullpath)
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]
static const int crateFED[90]
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_
const unsigned int HCALBINS
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_
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTPGData_
MonitorElement * rctIsoEmBitOff_
MonitorElement * fedVectorMonitorRUN_
MonitorElement * rctBitEmulMip2D_
MonitorElement * rctIsoEmIneff2_
MonitorElement * rctBitEmulQuiet2D_
MonitorElement * rctNisoEmEmulOcc_
MonitorElement * rctBitEmulHfPlusTau2D_
MonitorElement * triggerAlgoNumbers_
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
void setVerbose(unsigned level)
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_
MonitorElement * rctNIsoEmBitDiff_
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]
return(e1-e2)*(e1-e2)+dp *dp
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]
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
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
T first(std::pair< T, U > const &p)
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_
void setCurrentFolder(const std::string &fullpath)
MonitorElement * rctRegSpIneff1D_
MonitorElement * rctRegSpIneffOcc2D_
MonitorElement * rctRegBitOff_
MonitorElement * rctIsoEmIneff_
MonitorElement * rctRegUnmatchedEmulOcc1D_
MonitorElement * rctBitUnmatchedDataOverFlow2D_
MonitorElement * rctIsoOvereffChannel_[396]
MonitorElement * rctNisoEmEff1_