12 using namespace trigger;
15 resetMe_(
true), currentRun_(-99)
17 LogDebug(
"FourVectorHLTriggerOffline") <<
"constructor...." ;
21 LogInfo(
"FourVectorHLTriggerOffline") <<
"unabel to get DQMStore service?";
44 std::vector<edm::ParameterSet>
paths =
45 iConfig.
getParameter<std::vector<edm::ParameterSet> >(
"paths");
46 for(std::vector<edm::ParameterSet>::iterator
47 pathconf = paths.begin() ; pathconf != paths.end();
49 std::pair<std::string, std::string> custompathnamepair;
50 custompathnamepair.first =pathconf->getParameter<
std::string>(
"pathname");
51 custompathnamepair.second = pathconf->getParameter<
std::string>(
"denompathname");
122 using namespace trigger;
124 LogDebug(
"FourVectorHLTriggerOffline")<<
" analyze...." ;
129 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"genParticles not found, "
135 iEvent.
getByLabel(
"iterativeCone5GenJets",genJets);
136 if(!genJets.isValid()) {
137 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"genJets not found, "
144 if(!genMets.isValid()) {
145 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"genMets not found, "
156 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"TriggerResults not found, "
166 if(!triggerObj.isValid()) {
168 iEvent.
getByLabel(triggerSummaryLabelFU,triggerObj);
169 if(!triggerObj.isValid()) {
170 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"TriggerEvent not found, "
178 if(!muonHandle.isValid()) {
179 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"muonHandle not found, ";
187 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"gsfElectrons not found, ";
193 iEvent.
getByLabel(
"caloRecoTauProducer",tauHandle);
194 if(!tauHandle.isValid()) {
195 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"tauHandle not found, ";
201 iEvent.
getByLabel(
"iterativeCone5CaloJets",jetHandle);
202 if(!jetHandle.isValid()) {
203 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"jetHandle not found, ";
210 iEvent.
getByLabel(
"jetProbabilityBJetTags", bTagIPHandle);
211 if (!bTagIPHandle.isValid()) {
212 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"mTagIPHandle trackCountingHighEffJetTags not found, ";
219 iEvent.
getByLabel(
"softMuonBJetTags", bTagMuHandle);
220 if (!bTagMuHandle.isValid()) {
221 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"bTagMuHandle not found, ";
228 if(!metHandle.isValid()) {
229 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"metHandle not found, ";
236 if(!photonHandle.isValid()) {
237 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"photonHandle not found, ";
244 if(!trackHandle.isValid()) {
245 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"trackHandle not found, ";
308 jetMon.setGenJets(
true, genJets);
326 btagIPMon.setGenJets(
true, genJets);
327 btagIPMon.setBJetsFlag(
true);
342 btagMuMon.setGenJets(
true, genJets);
343 btagMuMon.setBJetsFlag(
true);
356 for(PathInfoCollection::iterator
v =
hltPaths_.begin();
360 if (
v->getPath().find(
"BTagIP") != std::string::npos ) btagMon = btagIPMon;
361 else btagMon = btagMuMon;
365 bool denompassed =
false;
366 for(
int i = 0;
i < npath; ++
i) {
367 if (triggerNames.triggerName(
i).find(
v->getDenomPath()) != std::string::npos &&
triggerResults->accept(
i))
388 bool l1accept =
false;
390 const int l1index = triggerObj->filterIndex(l1testTag);
391 if ( l1index >= triggerObj->sizeFilters() ) {
392 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"no index "<< l1index <<
" of that name " <<
v->getl1Path() <<
"\t" <<
"\t" << l1testTag;
396 const trigger::Vids & idtype = triggerObj->filterIds(l1index);
398 l1accept = l1k.size() > 0;
401 eleMon.monitorDenominator(
v, l1accept, idtype, l1k, toc);
402 muoMon.monitorDenominator(
v, l1accept, idtype, l1k, toc);
403 tauMon.monitorDenominator(
v, l1accept, idtype, l1k, toc);
404 phoMon.monitorDenominator(
v, l1accept, idtype, l1k, toc);
405 jetMon.monitorDenominator(
v, l1accept, idtype, l1k, toc);
406 btagMon.monitorDenominator(
v, l1accept, idtype, l1k, toc);
408 eleMon.fillL1Match(
this);
409 muoMon.fillL1Match(
this);
410 tauMon.fillL1Match(
this);
411 phoMon.fillL1Match(
this);
412 jetMon.fillL1Match(
this);
413 btagMon.fillL1Match(
this);
416 bool numpassed =
false;
417 for(
int i = 0;
i < npath; ++
i) {
419 if (triggerNames.triggerName(
i) ==
v->getPath() &&
triggerResults->accept(
i)) numpassed =
true;
427 edm::LogInfo(
"FourVectorHLTriggerOffline") <<
"l1 seed path not accepted for hlt path "<<
v->getPath() <<
"\t" <<
v->getl1Path();
435 if (
v->getLabel() ==
"dummy"){
438 for (std::vector<std::string>::const_iterator labelIter= filterLabels.begin(); labelIter!=filterLabels.end(); labelIter++)
444 int testindex = triggerObj->filterIndex(testTag);
445 if ( !(testindex >= triggerObj->sizeFilters()) ) {
448 filterTag = testTag;
v->setLabel(*labelIter);}
452 const int index = triggerObj->filterIndex(filterTag);
453 if ( index >= triggerObj->sizeFilters() ) {
472 for (trigger::Keys::const_iterator ki = k.begin(); ki !=k.end(); ++ki ) {
474 eleMon.monitorOnline(idtype, l1k, ki, toc, NOn);
475 muoMon.monitorOnline(idtype, l1k, ki, toc, NOn);
476 tauMon.monitorOnline(idtype, l1k, ki, toc, NOn);
477 phoMon.monitorOnline(idtype, l1k, ki, toc, NOn);
478 jetMon.monitorOnline(idtype, l1k, ki, toc, NOn);
479 btagMon.monitorOnline(idtype, l1k, ki, toc, NOn);
483 eleMon.fillOnlineMatch(
this, l1k, toc);
484 muoMon.fillOnlineMatch(
this, l1k, toc);
485 tauMon.fillOnlineMatch(
this, l1k, toc);
486 phoMon.fillOnlineMatch(
this, l1k, toc);
487 jetMon.fillOnlineMatch(
this, l1k, toc);
488 btagMon.fillOnlineMatch(
this, l1k, toc);
490 eleMon.monitorOffline(
this);
491 muoMon.monitorOffline(
this);
492 tauMon.monitorOffline(
this);
493 phoMon.monitorOffline(
this);
494 jetMon.monitorOffline(
this);
495 btagMon.monitorOffline(
this);
497 eleMon.fillOffMatch(
this);
498 muoMon.fillOffMatch(
this);
499 tauMon.fillOffMatch(
this);
500 phoMon.fillOffMatch(
this);
501 jetMon.fillOffMatch(
this);
502 btagMon.fillOffMatch(
this);
540 LogInfo(
"FourVectorHLTriggerOffline") <<
"analyzed " <<
nev_ <<
" events";
548 LogDebug(
"FourVectorHLTriggerOffline") <<
"beginRun, run " << run.
id();
555 LogDebug(
"FourVectorHLTriggerOffline") <<
"HLTConfigProvider failed to initialize.";
575 for (
unsigned int j=0;
j!=
n; ++
j) {
578 for (
unsigned int i=0;
i!=
n; ++
i) {
583 int denomobjectType = 0;
585 if (pathname.find(
"MET") != std::string::npos)
587 if (pathname.find(
"SumET") != std::string::npos)
589 if (pathname.find(
"HT") != std::string::npos)
591 if (pathname.find(
"Jet") != std::string::npos)
593 if (pathname.find(
"Mu") != std::string::npos)
595 if (pathname.find(
"Ele") != std::string::npos)
597 if (pathname.find(
"Photon") != std::string::npos)
599 if (pathname.find(
"Tau") != std::string::npos)
601 if (pathname.find(
"IsoTrack") != std::string::npos)
603 if (pathname.find(
"BTag") != std::string::npos)
607 if (denompathname.find(
"MET") != std::string::npos)
609 if (denompathname.find(
"SumET") != std::string::npos)
611 if (denompathname.find(
"HT") != std::string::npos)
613 if (denompathname.find(
"Jet") != std::string::npos)
615 if (denompathname.find(
"Mu") != std::string::npos)
617 if (denompathname.find(
"Ele") != std::string::npos)
619 if (denompathname.find(
"Photon") != std::string::npos)
621 if (denompathname.find(
"Tau") != std::string::npos)
623 if (denompathname.find(
"IsoTrack") != std::string::npos)
625 if (denompathname.find(
"BTag") != std::string::npos)
634 for(std::vector<std::string>::iterator numpathmodule = numpathmodules.begin();
635 numpathmodule!= numpathmodules.end(); ++numpathmodule ) {
642 l1pathname = *numpathmodule;
652 if (
plotAll_ && denomobjectType == objectType && objectType != 0)
662 for (
unsigned int i=0;
i!=
n; ++
i) {
669 if (pathname.find(
"MET") != std::string::npos)
671 if (pathname.find(
"SumET") != std::string::npos)
673 if (pathname.find(
"HT") != std::string::npos)
675 if (pathname.find(
"Jet") != std::string::npos)
677 if (pathname.find(
"Mu") != std::string::npos)
679 if (pathname.find(
"Ele") != std::string::npos)
681 if (pathname.find(
"Photon") != std::string::npos)
683 if (pathname.find(
"Tau") != std::string::npos)
685 if (pathname.find(
"IsoTrack") != std::string::npos)
687 if (pathname.find(
"BTag") != std::string::npos)
718 for(std::vector<std::string>::iterator numpathmodule = numpathmodules.begin();
719 numpathmodule!= numpathmodules.end(); ++numpathmodule ) {
726 l1pathname = *numpathmodule;
748 if (objectType != 0){
757 if (custompathnamepair->first != custompathnamepair->second)
760 std::string denompathname = custompathnamepair->second;
764 bool foundfirst =
false;
765 bool foundsecond =
false;
766 for (
unsigned int i=0;
i!=
n; ++
i) {
786 if (pathname.find(
"MET") != std::string::npos)
788 if (pathname.find(
"SumET") != std::string::npos)
790 if (pathname.find(
"HT") != std::string::npos)
792 if (pathname.find(
"Jet") != std::string::npos)
794 if (pathname.find(
"Mu") != std::string::npos)
796 if (pathname.find(
"Ele") != std::string::npos)
798 if (pathname.find(
"Photon") != std::string::npos)
800 if (pathname.find(
"Tau") != std::string::npos)
802 if (pathname.find(
"IsoTrack") != std::string::npos)
804 if (pathname.find(
"BTag") != std::string::npos)
813 for(std::vector<std::string>::iterator numpathmodule = numpathmodules.begin();
814 numpathmodule!= numpathmodules.end(); ++numpathmodule ) {
821 l1pathname = *numpathmodule;
855 for(PathInfoCollection::iterator
v =
hltPaths_.begin();
868 MonitorElement *NL1OffUM, *offEtL1OffUM, *offEtavsoffPhiL1OffUM=0;
869 MonitorElement *NOnOffUM, *offEtOnOffUM, *offEtavsoffPhiOnOffUM=0;
874 *offDRL1Off, *offDROnOff, *l1DRL1On=0;
876 labelname =
v->getPath() +
"_wrt_" +
v->getDenomPath();
882 double histEtaMax = 2.5;
916 TString pathfolder =
dirname_ + TString(
"/") +
v->getPath();
919 NOn = dbe->
book1D(histoname.c_str(),
924 histoname = labelname+
"_NMc";
925 title = labelname+
" N Mc";
926 NMc = dbe->
book1D(histoname.c_str(),
931 histoname = labelname+
"_NOff";
932 title = labelname+
" N Off";
933 NOff = dbe->
book1D(histoname.c_str(),
938 histoname = labelname+
"_NL1";
939 title = labelname+
" N L1";
940 NL1 = dbe->
book1D(histoname.c_str(),
945 histoname = labelname+
"_NL1On";
946 title = labelname+
" N L1On";
947 NL1On = dbe->
book1D(histoname.c_str(),
952 histoname = labelname+
"_NL1Off";
953 title = labelname+
" N L1Off";
954 NL1Off = dbe->
book1D(histoname.c_str(),
959 histoname = labelname+
"_NOnOff";
960 title = labelname+
" N OnOff";
961 NOnOff = dbe->
book1D(histoname.c_str(),
966 histoname = labelname+
"_NL1Mc";
967 title = labelname+
" N L1Mc";
968 NL1Mc = dbe->
book1D(histoname.c_str(),
973 histoname = labelname+
"_NOffMc";
974 title = labelname+
" N OffMc";
975 NOffMc = dbe->
book1D(histoname.c_str(),
980 histoname = labelname+
"_NOnMc";
981 title = labelname+
" N OnMc";
982 NOnMc = dbe->
book1D(histoname.c_str(),
987 histoname = labelname+
"_NL1OnUM";
988 title = labelname+
" N L1OnUM";
989 NL1OnUM = dbe->
book1D(histoname.c_str(),
994 histoname = labelname+
"_NL1OffUM";
995 title = labelname+
" N L1OffUM";
996 NL1OffUM = dbe->
book1D(histoname.c_str(),
1001 histoname = labelname+
"_NOnOffUM";
1002 title = labelname+
" N OnOffUM";
1003 NOnOffUM = dbe->
book1D(histoname.c_str(),
1008 histoname = labelname+
"_NL1McUM";
1009 title = labelname+
" N L1McUM";
1010 NL1McUM = dbe->
book1D(histoname.c_str(),
1015 histoname = labelname+
"_NOffMcUM";
1016 title = labelname+
" N OffMcUM";
1017 NOffMcUM = dbe->
book1D(histoname.c_str(),
1022 histoname = labelname+
"_NOnMcUM";
1023 title = labelname+
" N OnMcUM";
1024 NOnMcUM = dbe->
book1D(histoname.c_str(),
1029 histoname = labelname+
"_mcEtMc";
1030 title = labelname+
" mcE_t Mc";
1031 mcEtMc = dbe->
book1D(histoname.c_str(),
1036 histoname = labelname+
"_onEtOn";
1037 title = labelname+
" onE_t online";
1038 onEtOn = dbe->
book1D(histoname.c_str(),
1043 histoname = labelname+
"_offEtOff";
1044 title = labelname+
" offE_t offline";
1045 offEtOff = dbe->
book1D(histoname.c_str(),
1050 histoname = labelname+
"_l1EtL1";
1051 title = labelname+
" l1E_t L1";
1052 l1EtL1 = dbe->
book1D(histoname.c_str(),
1059 histoname = labelname+
"_mcEtamcPhiMc";
1060 title = labelname+
" mc#eta vs mc#phi Mc";
1061 mcEtavsmcPhiMc = dbe->
book2D(histoname.c_str(),
1063 nBins2D,-histEtaMax,histEtaMax,
1066 histoname = labelname+
"_onEtaonPhiOn";
1067 title = labelname+
" on#eta vs on#phi online";
1068 onEtavsonPhiOn = dbe->
book2D(histoname.c_str(),
1070 nBins2D,-histEtaMax,histEtaMax,
1073 histoname = labelname+
"_offEtaoffPhiOff";
1074 title = labelname+
" off#eta vs off#phi offline";
1075 offEtavsoffPhiOff = dbe->
book2D(histoname.c_str(),
1077 nBins2D,-histEtaMax,histEtaMax,
1080 histoname = labelname+
"_l1Etal1PhiL1";
1081 title = labelname+
" l1#eta vs l1#phi L1";
1082 l1Etavsl1PhiL1 = dbe->
book2D(histoname.c_str(),
1084 nBins2D,-histEtaMax,histEtaMax,
1087 histoname = labelname+
"_l1EtL1On";
1088 title = labelname+
" l1E_t L1+online";
1089 l1EtL1On = dbe->
book1D(histoname.c_str(),
1094 histoname = labelname+
"_offEtL1Off";
1095 title = labelname+
" offE_t L1+offline";
1096 offEtL1Off = dbe->
book1D(histoname.c_str(),
1101 histoname = labelname+
"_offEtOnOff";
1102 title = labelname+
" offE_t online+offline";
1103 offEtOnOff = dbe->
book1D(histoname.c_str(),
1108 histoname = labelname+
"_mcEtL1Mc";
1109 title = labelname+
" mcE_t L1+MC truth";
1110 mcEtL1Mc = dbe->
book1D(histoname.c_str(),
1115 histoname = labelname+
"_mcEtOffMc";
1116 title = labelname+
" mcE_t Off+MC truth";
1117 mcEtOffMc = dbe->
book1D(histoname.c_str(),
1122 histoname = labelname+
"_mcEtOnMc";
1123 title = labelname+
" mcE_t online+MC truth";
1124 mcEtOnMc = dbe->
book1D(histoname.c_str(),
1129 histoname = labelname+
"_l1Etal1PhiL1On";
1130 title = labelname+
" l1#eta vs l1#phi L1+online";
1131 l1Etavsl1PhiL1On = dbe->
book2D(histoname.c_str(),
1133 nBins2D,-histEtaMax,histEtaMax,
1136 histoname = labelname+
"_offEtaoffPhiL1Off";
1137 title = labelname+
" off#eta vs off#phi L1+offline";
1138 offEtavsoffPhiL1Off = dbe->
book2D(histoname.c_str(),
1140 nBins2D,-histEtaMax,histEtaMax,
1143 histoname = labelname+
"_offEtaoffPhiOnOff";
1144 title = labelname+
" off#eta vs off#phi online+offline";
1145 offEtavsoffPhiOnOff = dbe->
book2D(histoname.c_str(),
1147 nBins2D,-histEtaMax,histEtaMax,
1150 histoname = labelname+
"_mcEtamcPhiL1Mc";
1151 title = labelname+
" mc#eta vs mc#phi L1+MC truth";
1152 mcEtavsmcPhiL1Mc = dbe->
book2D(histoname.c_str(),
1154 nBins2D,-histEtaMax,histEtaMax,
1157 histoname = labelname+
"_mcEtamcPhiOffMc";
1158 title = labelname+
" mc#eta vs mc#phi Off+MC truth";
1159 mcEtavsmcPhiOffMc = dbe->
book2D(histoname.c_str(),
1161 nBins2D,-histEtaMax,histEtaMax,
1165 histoname = labelname+
"_mcEtamcPhiOnMc";
1166 title = labelname+
" mc#eta vs mc#phi online+MC truth";
1167 mcEtavsmcPhiOnMc = dbe->
book2D(histoname.c_str(),
1169 nBins2D,-histEtaMax,histEtaMax,
1172 histoname = labelname+
"_l1EtL1OnUM";
1173 title = labelname+
" l1E_t L1+onlineUM";
1174 l1EtL1OnUM = dbe->
book1D(histoname.c_str(),
1179 histoname = labelname+
"_offEtL1OffUM";
1180 title = labelname+
" offE_t L1+offlineUM";
1181 offEtL1OffUM = dbe->
book1D(histoname.c_str(),
1186 histoname = labelname+
"_offEtOnOffUM";
1187 title = labelname+
" offE_t online+offlineUM";
1188 offEtOnOffUM = dbe->
book1D(histoname.c_str(),
1193 histoname = labelname+
"_mcEtL1McUM";
1194 title = labelname+
" mcE_t L1+MC truthUM";
1195 mcEtL1McUM = dbe->
book1D(histoname.c_str(),
1200 histoname = labelname+
"_mcEtOffMcUM";
1201 title = labelname+
" mcE_t Off+MC truthUM";
1202 mcEtOffMcUM = dbe->
book1D(histoname.c_str(),
1207 histoname = labelname+
"_mcEtOnMcUM";
1208 title = labelname+
" mcE_t online+MC truthUM";
1209 mcEtOnMcUM = dbe->
book1D(histoname.c_str(),
1214 histoname = labelname+
"_l1Etal1PhiL1OnUM";
1215 title = labelname+
" l1#eta vs l1#phi L1+onlineUM";
1216 l1Etavsl1PhiL1OnUM = dbe->
book2D(histoname.c_str(),
1218 nBins2D,-histEtaMax,histEtaMax,
1221 histoname = labelname+
"_offEtaoffPhiL1OffUM";
1222 title = labelname+
" off#eta vs off#phi L1+offlineUM";
1223 offEtavsoffPhiL1OffUM = dbe->
book2D(histoname.c_str(),
1225 nBins2D,-histEtaMax,histEtaMax,
1228 histoname = labelname+
"_offEtaoffPhiOnOffUM";
1229 title = labelname+
" off#eta vs off#phi online+offlineUM";
1230 offEtavsoffPhiOnOffUM = dbe->
book2D(histoname.c_str(),
1232 nBins2D,-histEtaMax,histEtaMax,
1235 histoname = labelname+
"_mcEtamcPhiL1McUM";
1236 title = labelname+
" mc#eta vs mc#phi L1+MC truthUM";
1237 mcEtavsmcPhiL1McUM = dbe->
book2D(histoname.c_str(),
1239 nBins2D,-histEtaMax,histEtaMax,
1242 histoname = labelname+
"_mcEtamcPhiOffMcUM";
1243 title = labelname+
" mc#eta vs mc#phi Off+MC truthUM";
1244 mcEtavsmcPhiOffMcUM = dbe->
book2D(histoname.c_str(),
1246 nBins2D,-histEtaMax,histEtaMax,
1249 histoname = labelname+
"_mcEtamcPhiOnMcUM";
1250 title = labelname+
" mc#eta vs mc#phi online+MC truthUM";
1251 mcEtavsmcPhiOnMcUM = dbe->
book2D(histoname.c_str(),
1253 nBins2D,-histEtaMax,histEtaMax,
1256 histoname = labelname+
"_l1DRL1On";
1257 title = labelname+
" l1DR L1+online";
1258 l1DRL1On = dbe->
book1D(histoname.c_str(),
1259 title.c_str(),
nBins_, 0, 1.);
1261 histoname = labelname+
"_offDRL1Off";
1262 title = labelname+
" offDR L1+offline";
1263 offDRL1Off = dbe->
book1D(histoname.c_str(),
1264 title.c_str(),
nBins_, 0, 1.);
1266 histoname = labelname+
"_offDROnOff";
1267 title = labelname+
" offDR online+offline";
1268 offDROnOff = dbe->
book1D(histoname.c_str(),
1269 title.c_str(),
nBins_, 0, 1.);
1271 histoname = labelname+
"_mcDRL1Mc";
1272 title = labelname+
" mcDR L1+MC truth";
1273 mcDRL1Mc = dbe->
book1D(histoname.c_str(),
1274 title.c_str(),
nBins_, 0, 1.);
1276 histoname = labelname+
"_mcDROffMc";
1277 title = labelname+
" mcDR Off+MC truth";
1278 mcDROffMc = dbe->
book1D(histoname.c_str(),
1279 title.c_str(),
nBins_, 0, 1.);
1281 histoname = labelname+
"_mcDROnMc";
1282 title = labelname+
" mcDR online+MC truth";
1283 mcDROnMc = dbe->
book1D(histoname.c_str(),
1284 title.c_str(),
nBins_, 0, 1.);
1287 v->setHistos( NMc, mcEtMc, mcEtavsmcPhiMc, NOn, onEtOn, onEtavsonPhiOn, NOff, offEtOff, offEtavsoffPhiOff, NL1, l1EtL1, l1Etavsl1PhiL1, NL1On, l1EtL1On, l1Etavsl1PhiL1On, NL1Off, offEtL1Off, offEtavsoffPhiL1Off, NOnOff, offEtOnOff, offEtavsoffPhiOnOff, NL1Mc, mcEtL1Mc, mcEtavsmcPhiL1Mc, NOffMc, mcEtOffMc, mcEtavsmcPhiOffMc, NOnMc, mcEtOnMc, mcEtavsmcPhiOnMc, NL1OnUM, l1EtL1OnUM, l1Etavsl1PhiL1OnUM, NL1OffUM, offEtL1OffUM, offEtavsoffPhiL1OffUM, NOnOffUM, offEtOnOffUM, offEtavsoffPhiOnOffUM, NL1McUM, mcEtL1McUM, mcEtavsmcPhiL1McUM, NOffMcUM, mcEtOffMcUM, mcEtavsmcPhiOffMcUM, NOnMcUM, mcEtOnMcUM, mcEtavsmcPhiOnMcUM, mcDRL1Mc, mcDROnMc, mcDROffMc, offDRL1Off, offDROnOff, l1DRL1On
1302 LogDebug(
"FourVectorHLTriggerOffline") <<
"endRun, run " << run.
id();
1309 LogDebug(
"FourVectorHLTriggerOffline") <<
"cleanDRMatchSet(mmset& tempSet) " << std::endl;
1310 LogDebug(
"FourVectorHLTriggerOffline") <<
"size of the set (before CLEANED)= " << tempSet.size() <<
" maps." << std::endl;
1312 if(tempSet.size() < 2)
return;
1314 bool cleanedOneMap =
false;
1318 while(! cleanedOneMap && tempSet.size() > 1) {
1320 cleanedOneMap=
false;
1325 for ( mmset::iterator setIter_i = tempSet.begin( ); setIter_i != tempSet.end( ); setIter_i++ )
1328 fimmap tempMap_j = *setIter_i;
1332 for (fimmap::iterator it = tempMap_j.begin(); it != tempMap_j.end(); ++it)
1344 for ( mmset::iterator setIter_i = tempSet.begin( ); setIter_i != tempSet.end( ); setIter_i++ )
1347 fimmap tempMap_i = *setIter_i;
1348 fimmap::iterator it = tempMap_i.begin();
1349 int topValue = (*it).second;
1353 mmset::iterator tempIter_i = setIter_i;
1357 for ( mmset::iterator setIter_j = ++tempIter_i; setIter_j != tempSet.end( ); setIter_j++ )
1360 fimmap tempMap_j = *setIter_j;
1363 for (fimmap::iterator it = tempMap_j.begin(); it != tempMap_j.end(); ++it)
1366 if(topValue == (*it).second)
1370 tempMap_j.erase(it);
1372 cleanedOneMap =
true;
1382 tempSet.erase(setIter_j);
1385 if(! tempMap_j.empty()) tempSet.insert(tempMap_j);
1393 if(cleanedOneMap)
break;
1402 cleanedOneMap=
false;
1418 for ( mmset::iterator setIter_i = tempSet.begin( ); setIter_i != tempSet.end( ); setIter_i++ )
1421 fimmap tempMap_j = *setIter_i;
1426 for (fimmap::iterator it = tempMap_j.begin(); it != tempMap_j.end(); ++it)
unsigned int size() const
number of trigger paths in trigger table
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
const std::string moduleType(const std::string &module) const
C++ class name of module.
void endRun(const edm::Run &run, const edm::EventSetup &c)
EndRun.
FourVectorHLTriggerOffline(const edm::ParameterSet &)
edm::InputTag triggerResultsLabel_
const std::string & triggerName(unsigned int triggerIndex) const
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
void rmdir(const std::string &fullpath)
enum start value shifted to 81 so as to avoid clashes with PDG codes
std::multimap< float, int > fimmap
HLTConfigProvider hltConfig_
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
virtual void analyze(const edm::Event &, const edm::EventSetup &)
std::set< fimmap, std::less< fimmap > > mmset
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
void setReco(edm::Handle< T > offColl)
PathInfoCollection hltPaths_
void setVerbose(unsigned level)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
edm::InputTag triggerSummaryLabel_
void beginRun(const edm::Run &run, const edm::EventSetup &c)
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
std::vector< size_type > Keys
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
~FourVectorHLTriggerOffline()
MonitorElement * scalersSelect
std::vector< std::pair< std::string, std::string > > custompathnamepairs_
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
void setRecoB(edm::Handle< reco::JetTagCollection > offCollB)
void setCurrentFolder(const std::string &fullpath)