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
106 rctSourceEmul_( ps.getParameter<
InputTag >(
"rctSourceEmul") ),
107 rctSourceData_( ps.getParameter<
InputTag >(
"rctSourceData") ),
108 ecalTPGData_( ps.getParameter<
InputTag >(
"ecalTPGData") ),
109 hcalTPGData_( ps.getParameter<
InputTag >(
"hcalTPGData") ),
110 gtDigisLabel_( ps.getParameter<
InputTag >(
"gtDigisLabel") ),
111 gtEGAlgoName_ ( ps.getParameter< std::string >(
"gtEGAlgoName") ),
112 doubleThreshold_ ( ps.getParameter< int >(
"doubleThreshold") )
126 std::cout <<
"L1TdeRCT: constructor...." << std::endl;
139 cout <<
"L1T Monitoring histograms will be saved to " <<
184 dbe->
book1D(
"gtTriggerAlgoNumbers",
"gtTriggerAlgoNumbers", 128, -0.5, 127.5);
198 dbe->
book1D(
"rctInputTPGHcalSample",
"rctInputTPGHcalSample", 10, -0.5, 9.5) ;
206 dbe->
book2D(
"trigEffThresh",
"Rank occupancy >= 2x trig thresh",
212 dbe->
book2D(
"trigEffThreshOcc",
"Rank occupancy >= 2x trig thresh",
215 dbe->
book2D(
"trigEffTriggThreshOcc",
"Rank occupancy >= 2x trig thresh, triggered",
225 dbe->
book1D(
"rctIsoEmEff1oneD",
"rctIsoEmEff1oneD",
233 dbe->
book1D(
"rctIsoEmEff2oneD",
"rctIsoEmEff2oneD, energy matching required",
241 dbe->
book1D(
"rctIsoEmIneff2oneD",
"rctIsoEmIneff2oneD, energy matching required",
250 dbe->
book1D(
"rctIsoEmIneff1D",
"rctIsoEmIneff1D",
258 dbe->
book1D(
"rctIsoEmOvereff1D",
"rctIsoEmOvereff1D",
268 dbe->
book1D(
"rctIsoEmDataOcc1D",
"rctIsoEmDataOcc1D",
276 dbe->
book1D(
"rctIsoEmEmulOcc1D",
"rctIsoEmEmulOcc1D",
284 dbe->
book1D(
"rctIsoEmEff1Occ1D",
"rctIsoEmEff1Occ1D",
292 dbe->
book1D(
"rctIsoEmEff2Occ1D",
"rctIsoEmEff2Occ1D",
300 dbe->
book1D(
"rctIsoEmIneff2Occ1D",
"rctIsoEmIneff2Occ1D",
308 dbe->
book1D(
"rctIsoEmIneffOcc1D",
"rctIsoEmIneffOcc1D",
316 dbe->
book1D(
"rctIsoEmOvereffOcc1D",
"rctIsoEmOvereffOcc1D",
326 dbe->
book1D(
"rctNisoEmEff1oneD",
"rctNisoEmEff1oneD",
334 dbe->
book1D(
"rctNisoEmEff2oneD",
"rctNisoEmEff2oneD, energy matching required",
338 dbe->
book2D(
"rctNisoEmIneff2",
"rctNisoEmIneff2, energy matching required",
ETABINS,
ETAMIN,
342 dbe->
book1D(
"rctNisoEmIneff2oneD",
"rctNisoEmIneff2oneD, energy matching required",
351 dbe->
book1D(
"rctNisoEmIneff1D",
"rctNisoEmIneff1D",
359 dbe->
book1D(
"rctNisoEmOvereff1D",
"rctNisoEmOvereff1D",
369 dbe->
book1D(
"rctNisoEmDataOcc1D",
"rctNisoEmDataOcc1D",
377 dbe->
book1D(
"rctNisoEmEmulOcc1D",
"rctNisoEmEmulOcc1D",
385 dbe->
book1D(
"rctNisoEmEff1Occ1D",
"rctNisoEmEff1Occ1D",
393 dbe->
book1D(
"rctNisoEmEff2Occ1D",
"rctNisoEmEff2Occ1D",
401 dbe->
book1D(
"rctNisoEmIneff2Occ1D",
"rctNisoEmIneff2Occ1D",
409 dbe->
book1D(
"rctNisoEmIneffOcc1D",
"rctNisoEmIneffOcc1D",
417 dbe->
book1D(
"rctNisoEmOvereffOcc1D",
"rctNisoEmOvereffOcc1D",
424 dbe->
book1D(
"rctRegEff1D",
"1D region efficiency",
428 dbe->
book1D(
"rctRegIneff1D",
"1D region inefficiency",
432 dbe->
book1D(
"rctRegOvereff1D",
"1D region overefficiency",
436 dbe->
book1D(
"rctRegSpEff1D",
"1D region efficiency, energy matching required",
440 dbe->
book1D(
"rctRegSpIneff1D",
"1D region inefficiency, energy matching required",
444 dbe->
book2D(
"rctRegEff2D",
"2D region efficiency",
448 dbe->
book2D(
"rctRegIneff2D",
"2D region inefficiency",
452 dbe->
book2D(
"rctRegOvereff2D",
"2D region overefficiency",
456 dbe->
book2D(
"rctRegSpEff2D",
"2D region efficiency, energy matching required",
460 dbe->
book2D(
"rctRegSpIneff2D",
"2D region inefficiency, energy matching required",
466 dbe->
book1D(
"rctRegDataOcc1D",
"1D region occupancy from data",
470 dbe->
book1D(
"rctRegEmulOcc1D",
"1D region occupancy from emulator",
474 dbe->
book1D(
"rctRegMatchedOcc1D",
"1D region occupancy for matched hits",
478 dbe->
book1D(
"rctRegUnmatchedDataOcc1D",
"1D region occupancy for unmatched hardware hits",
482 dbe->
book1D(
"rctRegUnmatchedEmulOcc1D",
"1D region occupancy for unmatched emulator hits",
486 dbe->
book1D(
"rctRegSpEffOcc1D",
"1D region occupancy for \\Delta E_{T} efficiency",
490 dbe->
book1D(
"rctRegSpIneffOcc1D",
"1D region occupancy for \\Delta E_{T} efficiency ",
494 dbe->
book2D(
"rctRegDataOcc2D",
"2D region occupancy from hardware",
498 dbe->
book2D(
"rctRegEmulOcc2D",
"2D region occupancy from emulator",
502 dbe->
book2D(
"rctRegMatchedOcc2D",
"2D region occupancy for matched hits",
506 dbe->
book2D(
"rctRegUnmatchedDataOcc2D",
"2D region occupancy for unmatched hardware hits",
510 dbe->
book2D(
"rctRegUnmatchedEmulOcc2D",
"2D region occupancy for unmatched emulator hits",
518 dbe->
book2D(
"rctRegSpEffOcc2D",
"2D region occupancy for \\Delta E_{T} efficiency",
522 dbe->
book2D(
"rctRegSpIneffOcc2D",
"2D region occupancy for \\Delta E_{T} inefficiency",
529 dbe->
book2D(
"rctBitOverFlowEff2D",
"2D overflow bit efficiency",
533 dbe->
book2D(
"rctBitOverFlowIneff2D",
"2D overflow bit inefficiency",
537 dbe->
book2D(
"rctBitOverFlowOvereff2D",
"2D overflow bit overefficiency",
541 dbe->
book2D(
"rctBitTauVetoEff2D",
"2D tau veto bit efficiency",
545 dbe->
book2D(
"rctBitTauVetoIneff2D",
"2D tau veto bit inefficiency",
549 dbe->
book2D(
"rctBitTauVetoOvereff2D",
"2D tau veto bit overefficiency",
553 dbe->
book2D(
"rctBitMipEff2D",
"2D mip bit efficiency",
557 dbe->
book2D(
"rctBitMipIneff2D",
"2D mip bit inefficiency",
561 dbe->
book2D(
"rctBitMipOvereff2D",
"2D mip bit overefficiency",
578 dbe->
book2D(
"rctBitHfPlusTauEff2D",
"2D HfPlusTau bit efficiency",
582 dbe->
book2D(
"rctBitHfPlusTauIneff2D",
"2D HfPlusTau bit inefficiency",
586 dbe->
book2D(
"rctBitHfPlusTauOvereff2D",
"2D HfPlusTau bit overefficiency",
592 dbe->
book2D(
"rctBitEmulOverFlow2D",
"2D overflow bit from emulator",
596 dbe->
book2D(
"rctBitDataOverFlow2D",
"2D overflow bit from hardware",
600 dbe->
book2D(
"rctBitMatchedOverFlow2D",
"2D overflow bit for matched hits",
604 dbe->
book2D(
"rctBitUnmatchedEmulOverFlow2D",
"2D overflow bit for unmatched emulator hits",
608 dbe->
book2D(
"rctBitUnmatchedDataOverFlow2D",
"2D overflow bit for unmatched hardware hits",
612 dbe->
book2D(
"rctBitEmulTauVeto2D",
"2D tau veto bit from emulator",
616 dbe->
book2D(
"rctBitDataTauVeto2D",
"2D tau veto bit from hardware",
620 dbe->
book2D(
"rctBitMatchedTauVeto2D",
"2D tau veto bit for matched hits",
624 dbe->
book2D(
"rctBitUnmatchedEmulTauVeto2D",
"2D tau veto bit for unmatched emulator hits",
628 dbe->
book2D(
"rctBitUnmatchedDataTauVeto2D",
"2D tau veto bit for unmatched hardware hits",
632 dbe->
book2D(
"rctBitEmulMip2D",
"2D mip bit from emulator",
636 dbe->
book2D(
"rctBitDataMip2D",
"2D mip bit from hardware",
640 dbe->
book2D(
"rctBitMatchedMip2D",
"2D mip bit for matched hits",
644 dbe->
book2D(
"rctBitUnmatchedEmulMip2D",
"2D mip bit for unmatched emulator hits",
648 dbe->
book2D(
"rctBitUnmatchedDataMip2D",
"2D mip bit for unmatched hardware hits",
652 dbe->
book2D(
"rctBitEmulQuiet2D",
"2D quiet bit from emulator",
656 dbe->
book2D(
"rctBitDataQuiet2D",
"2D quiet bit from hardware",
660 dbe->
book2D(
"rctBitMatchedQuiet2D",
"2D quiet bit for matched hits",
664 dbe->
book2D(
"rctBitUnmatchedEmulQuiet2D",
"2D quiet bit for unmatched emulator hits",
668 dbe->
book2D(
"rctBitUnmatchedDataQuiet2D",
"2D quiet bit for unmatched hardware hits",
672 dbe->
book2D(
"rctBitEmulHfPlusTau2D",
"2D HfPlusTau bit from emulator",
676 dbe->
book2D(
"rctBitDataHfPlusTau2D",
"2D HfPlusTau bit from hardware",
680 dbe->
book2D(
"rctBitMatchedHfPlusTau2D",
"2D HfPlusTau bit for matched hits",
684 dbe->
book2D(
"rctBitUnmatchedEmulHfPlusTau2D",
"2D HfPlusTau bit for unmatched emulator hits",
688 dbe->
book2D(
"rctBitUnmatchedDataHfPlusTau2D",
"2D HfPlusTau bit for unmatched hardware hits",
696 for(
unsigned int i=0;
i<90;++
i) {
713 for(
int m=0;
m<12;
m++)
732 char name[80], channel[80]={
""} ;
734 if(
m==0) strcpy(name,
"(Eemul-Edata)Chnl") ;
735 if(
m==1) strcpy(name,
"(Eemul-Edata)Chnl") ;
736 if(
m==2) strcpy(name,
"(Eemul-Edata)Chnl") ;
737 if(
m==3) strcpy(name,
"EemulChnl") ;
738 if(
m==4) strcpy(name,
"EemulChnl") ;
739 if(
m==5) strcpy(name,
"EemulChnl") ;
740 if(
m==6) strcpy(name,
"EdataChnl") ;
741 if(
m==7) strcpy(name,
"EdataChnl") ;
742 if(
m==8) strcpy(name,
"EdataChnl") ;
743 if(
m==9) strcpy(name,
"EemulChnlEff") ;
744 if(
m==10) strcpy(name,
"EemulChnlTrig") ;
745 if(
m==11) strcpy(name,
"EemulChnl") ;
747 if(
i<10 &&
j<10) sprintf(channel,
"_0%d0%d",
i,
j);
748 else if(
i<10) sprintf(channel,
"_0%d%d",
i,
j);
749 else if(
j<10) sprintf(channel,
"_%d0%d",
i,
j);
750 else sprintf(channel,
"_%d%d",
i,
j);
751 strcat(name,channel);
797 std::cout <<
"L1TdeRCT: end job...." << std::endl;
798 LogInfo(
"EndJob") <<
"analyzed " <<
nev_ <<
" events";
814 std::cout <<
"L1TdeRCT: analyze...." << std::endl;
829 int effEGThresholdBitNumber = 999;
832 effEGThresholdBitNumber = 46;
836 effEGThresholdBitNumber = 47;
840 effEGThresholdBitNumber = 48;
844 effEGThresholdBitNumber = 49;
848 effEGThresholdBitNumber = 50;
852 effEGThresholdBitNumber = 51;
856 effEGThresholdBitNumber = 52;
859 int algoBitNumber = 0;
860 bool triggered =
false;
861 bool independent_triggered =
false;
862 DecisionWord::const_iterator algoItr;
863 for (algoItr = dWord.begin(); algoItr != dWord.end(); algoItr++)
868 if (algoBitNumber == effEGThresholdBitNumber)
872 if (algoBitNumber <= 45 || algoBitNumber >= 53)
874 independent_triggered =
true;
909 edm::LogInfo(
"TPG DataNotFound") <<
"can't find EcalTrigPrimDigiCollection with label "
919 if(iEcalTp->compressedEt() > 0)
924 if(iEcalTp->id().ieta() > 0)
929 if(
verbose_)
std::cout <<
" ECAL data: Energy: " << iEcalTp->compressedEt() <<
" eta " << iEcalTp->id().ieta() <<
" phi " << iEcalTp->id().iphi() << std::endl ;
934 edm::LogInfo(
"TPG DataNotFound") <<
"can't find HcalTrigPrimDigiCollection with label "
950 for (
int nSample = 0; nSample < 10; nSample++)
952 if (iHcalTp->sample(nSample).compressedEt() != 0)
955 << iHcalTp->sample(nSample).compressedEt()
957 << iHcalTp->sample(nSample).fineGrain()
958 <<
" ieta " << iHcalTp->id().ieta()
959 <<
" iphi " << iHcalTp->id().iphi()
960 <<
" sample " << nSample
962 if (iHcalTp->sample(nSample).compressedEt() > highEt)
964 highSample = nSample;
965 highEt = iHcalTp->sample(nSample).compressedEt() ;
973 if(iHcalTp->id().ieta() > 0)
989 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloRegionCollection with label "
997 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloRegionCollection with label "
1009 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloEmCollection with label "
1018 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloEmCollection with label "
1031 int nelectrIsoData = 0;
1032 int nelectrNisoData = 0;
1033 int nelectrIsoEmul = 0;
1034 int nelectrNisoEmul = 0;
1036 int electronDataRank[2][
PhiEtaMax]={{0}};
1037 int electronDataEta[2][
PhiEtaMax]={{0}};
1038 int electronDataPhi[2][
PhiEtaMax]={{0}};
1039 int electronEmulRank[2][
PhiEtaMax]={{0}};
1040 int electronEmulEta[2][
PhiEtaMax]={{0}};
1041 int electronEmulPhi[2][
PhiEtaMax]={{0}};
1044 int nRegionData = 0;
1045 int nRegionEmul = 0;
1051 bool regionDataOverFlow [
PhiEtaMax] = {
false};
1052 bool regionDataTauVeto [
PhiEtaMax] = {
false};
1053 bool regionDataMip [
PhiEtaMax] = {
false};
1054 bool regionDataQuiet [
PhiEtaMax] = {
false};
1055 bool regionDataHfPlusTau[
PhiEtaMax] = {
false};
1061 bool regionEmulOverFlow [
PhiEtaMax] = {
false};
1062 bool regionEmulTauVeto [
PhiEtaMax] = {
false};
1063 bool regionEmulMip [
PhiEtaMax] = {
false};
1064 bool regionEmulQuiet [
PhiEtaMax] = {
false};
1065 bool regionEmulHfPlusTau[
PhiEtaMax] = {
false};
1075 for (L1CaloEmCollection::const_iterator iem = emEmul->begin();
1076 iem != emEmul->end();
1079 if(iem->rank() >= 1)
1091 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
1093 electronEmulRank[0][nelectrIsoEmul]=iem->rank();
1094 electronEmulEta[0][nelectrIsoEmul]=iem->regionId().ieta();
1095 electronEmulPhi[0][nelectrIsoEmul]=iem->regionId().iphi();
1110 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
1112 electronEmulRank[1][nelectrNisoEmul]=iem->rank();
1113 electronEmulEta[1][nelectrNisoEmul]=iem->regionId().ieta();
1114 electronEmulPhi[1][nelectrNisoEmul]=iem->regionId().iphi();
1120 for (L1CaloEmCollection::const_iterator iem = emData->begin();
1121 iem != emData->end();
1124 if(iem->rank() >= 1)
1126 if (iem->isolated())
1133 iem->regionId().iphi(), 0.01);
1137 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
1143 electronDataRank[0][nelectrIsoData]=iem->rank();
1144 electronDataEta[0][nelectrIsoData]=iem->regionId().ieta();
1145 electronDataPhi[0][nelectrIsoData]=iem->regionId().iphi();
1156 iem->regionId().iphi(), 0.01);
1160 channel=
PHIBINS*iem->regionId().ieta()+iem->regionId().iphi();
1166 electronDataRank[1][nelectrNisoData]=iem->rank();
1167 electronDataEta[1][nelectrNisoData]=iem->regionId().ieta();
1168 electronDataPhi[1][nelectrNisoData]=iem->regionId().iphi();
1175 for(L1CaloRegionCollection::const_iterator ireg = rgnEmul->begin();
1176 ireg != rgnEmul->end();
1192 if(ireg->overFlow()) {
1197 if(ireg->tauVeto()) {
1212 if(ireg->fineGrain()) {
1217 if(ireg->et() > 0) {
1223 nRegionEmul =
PHIBINS * ireg->gctEta() + ireg->gctPhi();
1225 regionEmulRank [nRegionEmul] = ireg->et();
1226 regionEmulEta [nRegionEmul] = ireg->gctEta();
1227 regionEmulPhi [nRegionEmul] = ireg->gctPhi();
1228 regionEmulOverFlow [nRegionEmul] = ireg->overFlow();
1229 regionEmulTauVeto [nRegionEmul] = ireg->tauVeto();
1230 regionEmulMip [nRegionEmul] = ireg->mip();
1231 regionEmulQuiet [nRegionEmul] = ireg->quiet();
1232 regionEmulHfPlusTau[nRegionEmul] = ireg->fineGrain();
1235 for(L1CaloRegionCollection::const_iterator ireg = rgnData->begin();
1236 ireg != rgnData->end();
1264 nRegionData =
PHIBINS * ireg->gctEta() + ireg->gctPhi();
1266 regionDataRank [nRegionData] = ireg->et();
1267 regionDataEta [nRegionData] = ireg->gctEta();
1268 regionDataPhi [nRegionData] = ireg->gctPhi();
1269 regionDataOverFlow [nRegionData] = ireg->overFlow();
1270 regionDataTauVeto [nRegionData] = ireg->tauVeto();
1271 regionDataMip [nRegionData] = ireg->mip();
1272 regionDataQuiet [nRegionData] = ireg->quiet();
1273 regionDataHfPlusTau[nRegionData] = ireg->fineGrain();
1278 std::cout <<
"I found Data! Iso: " << nelectrIsoData <<
" Niso: " << nelectrNisoData << std::endl ;
1279 for(
int i=0;
i<nelectrIsoData;
i++)
1280 std::cout <<
" Iso Energy " << electronDataRank[0][
i] <<
" eta " << electronDataEta[0][
i] <<
" phi " << electronDataPhi[0][
i] << std::endl ;
1281 for(
int i=0;
i<nelectrNisoData;
i++)
1282 std::cout <<
" Niso Energy " << electronDataRank[1][
i] <<
" eta " << electronDataEta[1][
i] <<
" phi " << electronDataPhi[1][
i] << std::endl ;
1284 std::cout <<
"I found Emul! Iso: " << nelectrIsoEmul <<
" Niso: " << nelectrNisoEmul << std::endl ;
1285 for(
int i=0;
i<nelectrIsoEmul;
i++)
1286 std::cout <<
" Iso Energy " << electronEmulRank[0][
i] <<
" eta " << electronEmulEta[0][
i] <<
" phi " << electronEmulPhi[0][
i] << std::endl ;
1287 for(
int i=0;
i<nelectrNisoEmul;
i++)
1288 std::cout <<
" Niso Energy " << electronEmulRank[1][
i] <<
" eta " << electronEmulEta[1][
i] <<
" phi " << electronEmulPhi[1][
i] << std::endl ;
1292 if(regionDataRank[
i] !=0 )
std::cout <<
" Energy " << regionDataRank[
i] <<
" eta " << regionDataEta[
i] <<
" phi " << regionDataPhi[
i] << std::endl ;
1296 if(regionEmulRank[
i] !=0 )
std::cout <<
" Energy " << regionEmulRank[
i] <<
" eta " << regionEmulEta[
i] <<
" phi " << regionEmulPhi[
i] << std::endl ;
1301 for(
int k=0;
k<2;
k++)
1303 int nelectrE, nelectrD;
1307 nelectrE=nelectrIsoEmul;
1308 nelectrD=nelectrIsoData;
1313 nelectrE=nelectrNisoEmul;
1314 nelectrD=nelectrNisoData;
1317 for(
int i = 0;
i < nelectrE;
i++)
1322 int chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
1323 if(
k==1 && independent_triggered) {
1332 if(electronEmulRank[
k][
i]>=trigThresh){
1333 if(
k==1 && independent_triggered) {
1343 Bool_t
found = kFALSE;
1345 for(
int j = 0;
j < nelectrD;
j++)
1347 if(electronEmulEta[
k][
i]==electronDataEta[
k][
j] &&
1348 electronEmulPhi[
k][
i]==electronDataPhi[
k][
j])
1357 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
1361 int energy_difference;
1363 energy_difference=(electronEmulRank[
k][
i] - electronDataRank[
k][
j]);
1367 if(electronEmulRank[
k][i]==electronDataRank[
k][j])
1391 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
1395 int energy_difference;
1397 energy_difference=(electronEmulRank[
k][
i] - electronDataRank[
k][
j]) ;
1401 if(electronEmulRank[
k][i]==electronDataRank[
k][j])
1430 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
1445 chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
1485 for(
int i = 0;
i < nelectrE;
i++)
1487 int chnl=
PHIBINS*electronEmulEta[
k][
i]+electronEmulPhi[
k][
i];
1492 for(
int i = 0;
i < nelectrD;
i++)
1494 Bool_t
found = kFALSE;
1496 for(
int j = 0;
j < nelectrE;
j++)
1498 if(electronEmulEta[
k][
j]==electronDataEta[
k][
i] &&
1499 electronEmulPhi[
k][
j]==electronDataPhi[
k][
i])
1514 chnl=
PHIBINS*electronDataEta[
k][
i]+electronDataPhi[
k][
i];
1530 chnl=
PHIBINS*electronDataEta[
k][
i]+electronDataPhi[
k][
i];
1553 Bool_t regFound = kFALSE;
1554 Bool_t overFlowFound = kFALSE;
1555 Bool_t tauVetoFound = kFALSE;
1556 Bool_t mipFound = kFALSE;
1557 Bool_t quietFound = kFALSE;
1558 Bool_t hfPlusTauFound = kFALSE;
1565 if(regionDataRank[
i] >= 1 && regionEmulRank[
i] >= 1)
1569 chnl =
PHIBINS*regionEmulEta[
i] + regionEmulPhi[
i];
1578 if(regionEmulRank[i] == regionDataRank[i])
1596 if(regionEmulOverFlow[
i] ==
true &&
1597 regionDataOverFlow[
i] ==
true)
1600 overFlowFound = kTRUE;
1603 if(regionEmulTauVeto[
i] ==
true &&
1604 regionDataTauVeto[
i] ==
true)
1607 tauVetoFound = kTRUE;
1610 if (regionEmulMip[
i] ==
true && regionDataMip[
i] ==
true) {
1615 if (regionEmulQuiet[
i] ==
true && regionDataQuiet[
i] ==
true) {
1620 if (regionEmulHfPlusTau[
i] ==
true && regionDataHfPlusTau[
i] ==
true) {
1622 hfPlusTauFound = kTRUE;
1631 if(regFound == kFALSE && regionEmulRank[
i] >= 1 )
1635 chnl =
PHIBINS*regionEmulEta[
i] + regionEmulPhi[
i];
1643 if(overFlowFound == kFALSE && regionEmulOverFlow[
i] ==
true)
1648 if(tauVetoFound == kFALSE && regionEmulTauVeto[
i] ==
true)
1653 if (mipFound == kFALSE && regionEmulMip[
i] ==
true) {
1657 if (quietFound == kFALSE && regionEmulQuiet[
i] ==
true) {
1661 if (hfPlusTauFound == kFALSE && regionEmulHfPlusTau[
i] ==
true ) {
1699 Bool_t regFound = kFALSE;
1700 Bool_t overFlowFound = kFALSE;
1701 Bool_t tauVetoFound = kFALSE;
1702 Bool_t mipFound = kFALSE;
1703 Bool_t quietFound = kFALSE;
1704 Bool_t hfPlusTauFound = kFALSE;
1712 if(regionEmulRank[
i] >= 1 && regionDataRank[
i] >= 1)
1715 if(regionDataOverFlow[
i] ==
true &&
1716 regionEmulOverFlow[
i] ==
true)
1717 overFlowFound = kTRUE;
1719 if(regionDataTauVeto[
i] ==
true &&
1720 regionEmulTauVeto[
i] ==
true)
1721 tauVetoFound = kTRUE;
1723 if (regionDataMip[
i] ==
true && regionEmulMip[
i] ==
true)
1726 if (regionDataQuiet[
i] ==
true && regionEmulQuiet[
i] ==
true)
1729 if (regionDataHfPlusTau[
i] ==
true && regionEmulHfPlusTau[
i] ==
true)
1730 hfPlusTauFound = kTRUE;
1734 if(regFound == kFALSE && regionDataRank[
i] >= 1)
1738 chnl =
PHIBINS*regionDataEta[
i] + regionDataPhi[
i];
1750 if(overFlowFound == kFALSE && regionDataOverFlow[
i] ==
true )
1755 if(tauVetoFound == kFALSE && regionDataTauVeto[
i] ==
true )
1760 if (mipFound == kFALSE && regionDataMip[
i] ==
true ) {
1764 if (quietFound == kFALSE && regionDataQuiet[
i] ==
true ) {
1768 if (hfPlusTauFound == kFALSE && regionDataHfPlusTau[
i] ==
true ) {
1792 TH2F* den = denominator->
getTH2F();
1793 TH2F* res = result->
getTH2F();
1795 res->Divide(num,den,1,1,
"");
1802 TH1F* den = denominator->
getTH1F();
1803 TH1F* res = result->
getTH1F();
1805 res->Divide(num,den,1,1,
"");
1828 std::vector<int> caloFeds;
1830 const std::vector<int> Feds = summary->
m_fed_in;
1831 for(std::vector<int>::const_iterator cf = Feds.begin(); cf != Feds.end(); ++cf){
1833 if(fedNum > 600 && fedNum <724)
1834 caloFeds.push_back(fedNum);
1837 for(
unsigned int i=0;
i<90;++
i) {
1838 std::vector<int>::iterator fv =
std::find(caloFeds.begin(),caloFeds.end(),
crateFED[
i]);
1839 if(fv!=caloFeds.end()) {
MonitorElement * rctBitUnmatchedDataTauVeto2D_
void DivideME2D(MonitorElement *numerator, MonitorElement *denominator, MonitorElement *result)
MonitorElement * rctRegUnmatchedDataOcc1D_
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * rctRegMatchedOcc1D_
MonitorElement * rctNisoEmEmulOcc1D_
MonitorElement * rctNisoEmIneff2oneD_
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
edm::InputTag rctSourceEmul_
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_
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_
MonitorElement * rctBitUnmatchedEmulQuiet2D_
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
MonitorElement * trigEffThreshOcc_
MonitorElement * rctNisoEffChannel_[396]
MonitorElement * rctRegOvereff1D_
std::vector< T >::const_iterator const_iterator
MonitorElement * rctIsoEmEff2_
MonitorElement * rctNisoEmOvereffOcc1D_
MonitorElement * trigEffOcc_[396]
static const int crateFED[90]
MonitorElement * rctRegOvereff2D_
edm::InputTag hcalTPGData_
MonitorElement * rctIsoEmOvereffOcc1D_
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::InputTag rctSourceData_
MonitorElement * rctRegSpEff2D_
MonitorElement * rctBitUnmatchedEmulOverFlow2D_
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_
MonitorElement * rctNisoEmIneff2Occ_
MonitorElement * rctNisoEmOvereffOcc_
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)
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 * fedVectorMonitorRUN_
MonitorElement * rctBitEmulMip2D_
MonitorElement * rctIsoEmIneff2_
MonitorElement * rctBitEmulQuiet2D_
MonitorElement * rctNisoEmEmulOcc_
MonitorElement * rctBitEmulHfPlusTau2D_
MonitorElement * triggerAlgoNumbers_
void setVerbose(unsigned level)
MonitorElement * rctNisoIneffChannel_[396]
MonitorElement * rctRegSpIneff2D_
MonitorElement * rctIsoEmEmulOcc_
MonitorElement * rctIsoEmEff1Occ_
MonitorElement * rctNisoEmOvereff1D_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
MonitorElement * rctNisoEmEff2Occ_
MonitorElement * rctBitUnmatchedEmulHfPlusTau2D_
MonitorElement * rctRegEff1D_
MonitorElement * rctBitMatchedMip2D_
MonitorElement * rctNisoEmEff2_
MonitorElement * rctRegSpEff1D_
MonitorElement * rctIsoEmEff1Occ1D_
MonitorElement * rctIsoEmEff1oneD_
MonitorElement * rctNisoEmIneff_
edm::InputTag gtDigisLabel_
MonitorElement * rctRegSpEffOcc1D_
MonitorElement * rctRegMatchedOcc2D_
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_
edm::InputTag ecalTPGData_
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 * rctIsoIneffChannel_[396]
MonitorElement * rctRegSpEffOcc2D_
MonitorElement * rctIsoEmOvereffOcc_
MonitorElement * rctNisoEmDataOcc1D_
MonitorElement * rctRegIneff1D_
MonitorElement * rctNisoEmEff1Occ1D_
MonitorElement * rctIsoEmDataOcc1D_
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_
MonitorElement * rctNisoOvereffChannel_[396]
MonitorElement * rctNisoEmIneffOcc_
MonitorElement * rctIsoEmEff2oneD_
MonitorElement * rctBitUnmatchedDataQuiet2D_
void setCurrentFolder(const std::string &fullpath)
MonitorElement * rctRegSpIneff1D_
MonitorElement * rctRegSpIneffOcc2D_
MonitorElement * rctIsoEmIneff_
MonitorElement * rctRegUnmatchedEmulOcc1D_
MonitorElement * rctBitUnmatchedDataOverFlow2D_
MonitorElement * rctIsoOvereffChannel_[396]
MonitorElement * rctNisoEmEff1_