639 LogDebug(
"FourVectorHLTOnline") <<
"beginRun, run " << run.
id();
649 LogDebug(
"FourVectorHLTOnline") <<
"HLTConfigProvider failed to initialize.";
670 for (
unsigned int j=0;
j!=
n; ++
j) {
678 for (
unsigned int i=0;
i!=
n; ++
i) {
688 if (
plotAll_ && denomobjectType == objectType && objectType != 0)
690 hltPaths_.push_back(PathInfo(denompathname, pathname, l1pathname, filtername,
processname_, objectType, ptMin, ptMax));
699 for (
unsigned int i=0;
i!=
n; ++
i) {
723 if (objectType != -1 && pathname.find(
"FinalPath") == std::string::npos){
725 hltPaths_.push_back(PathInfo(denompathname, pathname, l1pathname, filtername,
processname_, objectType, ptMin, ptMax));
738 std::string numpathname = custompathnamepair->first;
739 std::string denompathname = custompathnamepair->second;
741 if (numpathname != denompathname) {
744 bool founddenominator =
false;
745 for (
unsigned int k=0;
k!=
n; ++
k) {
749 if (n_pathname.find(denompathname) != std::string::npos) {
751 LogDebug(
"FourVectorHLTOnline") <<
"denompathname is selected to be = " << n_pathname << std::endl;;
752 founddenominator =
true;
759 if (!founddenominator) {
761 edm::LogInfo(
"FourVectorHLTOnline") <<
"denompathname not found, go to the next pair numearator-denominator" << std::endl;
769 bool foundnumerator =
false;
770 for (
unsigned int j=0;
j!=
n; ++
j) {
774 LogDebug(
"FourVectorHLTOnline") <<
"check if path " << pathname <<
" is numpathname = " << numpathname << std::endl;
777 LogDebug(
"FourVectorHLTOnline") <<
"pathname is selected to be = " << denompathname << std::endl;;
778 foundnumerator =
true;
783 if (!foundnumerator) {
809 hltPaths_.push_back(PathInfo(denompathname, pathname, l1pathname, filtername,
processname_, objectType, ptMin, ptMax));
820 std::vector<std::string> muonPaths;
821 std::vector<std::string> egammaPaths;
822 std::vector<std::string> tauPaths;
823 std::vector<std::string> jetmetPaths;
824 std::vector<std::string> restPaths;
825 std::vector<std::string> allPaths;
830 int objectType =
v->getObjectType();
832 std::vector<int> tempCount(5,0);
837 allPaths.push_back(pathName);
839 switch (objectType) {
841 muonPaths.push_back(pathName);
846 egammaPaths.push_back(pathName);
850 tauPaths.push_back(pathName);
855 jetmetPaths.push_back(pathName);
859 restPaths.push_back(pathName);
901 for (
unsigned int i=0;
i<datasetNames.size();
i++) {
948 unsigned int moduleIndex;
951 std::vector<std::string>::const_iterator iDumpModName;
952 for (iDumpModName = moduleNames.begin();iDumpModName != moduleNames.end();iDumpModName++) {
954 moduleName = *iDumpModName;
958 LogTrace (
"FourVectorHLTOnline") <<
"Module " << numModule
959 <<
" is called " << moduleName
960 <<
" , type = " << moduleType
961 <<
" , index = " << moduleIndex
966 if((moduleType.find(
"Filter") != std::string::npos && moduleType.find(
"HLTTriggerTypeFilter") == std::string::npos ) ||
967 (moduleType.find(
"Associator") != std::string::npos) ||
968 (moduleType.find(
"HLTLevel1GTSeed") != std::string::npos) ||
969 (moduleType.find(
"HLTGlobalSumsCaloMET") != std::string::npos) ||
970 (moduleType.find(
"HLTPrescaler") != string::npos) ||
978 v->filtersAndIndices.push_back(make_pair(moduleName,moduleIndex));
989 int nbin_sub =
v->filtersAndIndices.size()+2;
997 for (
unsigned int k=0;
k<datasetNames.size();
k++) {
1003 for (
unsigned int m=0;
m<datasetPaths.size();
m++){
1006 if(datasetPaths[
m]==pathName){
1007 dbe_->setCurrentFolder(datasetFolder.c_str());
1015 "Filters_" +
v->getPath(),
1016 nbin_sub+1, -0.5, 0.5+(double)nbin_sub);
1018 for(
unsigned int filt = 0; filt <
v->filtersAndIndices.size(); filt++){
1020 filters->
setBinLabel(filt+1, (
v->filtersAndIndices[filt]).first);
1027 v->getPath() +
" count per LS",
1031 v->setFilterHistos(filters);
1045 MonitorElement *NL1OffUM, *offEtL1OffUM, *offEtavsoffPhiL1OffUM=0;
1046 MonitorElement *NOnOffUM, *offEtOnOffUM, *offEtavsoffPhiOnOffUM=0;
1051 labelname =
v->getPath() +
"_wrt_" +
v->getDenomPath();
1054 double histEtaMax = 2.5;
1090 TString pathfolder =
dirname_ + TString(
"/") +
v->getPath();
1091 dbe_->setCurrentFolder(pathfolder.Data());
1093 NOn = dbe->book1D(histoname.c_str(),
title.c_str(),10, 0.5, 10.5);
1096 histoname = labelname+
"_NOff";
1097 title = labelname+
" N Off";
1098 NOff = dbe->book1D(histoname.c_str(),
title.c_str(),10, 0.5, 10.5);
1100 histoname = labelname+
"_NL1";
1101 title = labelname+
" N L1";
1102 NL1 = dbe->book1D(histoname.c_str(),
title.c_str(),10, 0.5, 10.5);
1104 histoname = labelname+
"_NL1On";
1105 title = labelname+
" N L1On";
1106 NL1On = dbe->book1D(histoname.c_str(),
title.c_str(),10, 0.5, 10.5);
1108 histoname = labelname+
"_NL1Off";
1109 title = labelname+
" N L1Off";
1110 NL1Off = dbe->book1D(histoname.c_str(),
title.c_str(),10, 0.5, 10.5);
1112 histoname = labelname+
"_NOnOff";
1113 title = labelname+
" N OnOff";
1114 NOnOff = dbe->book1D(histoname.c_str(),
title.c_str(),10, 0.5, 10.5);
1117 histoname = labelname+
"_NL1OnUM";
1118 title = labelname+
" N L1OnUM";
1119 NL1OnUM = dbe->book1D(histoname.c_str(),
title.c_str(),10, 0.5, 10.5);
1121 histoname = labelname+
"_NL1OffUM";
1122 title = labelname+
" N L1OffUM";
1123 NL1OffUM = dbe->book1D(histoname.c_str(),
title.c_str(),10, 0.5, 10.5);
1125 histoname = labelname+
"_NOnOffUM";
1126 title = labelname+
" N OnOffUM";
1127 NOnOffUM = dbe->book1D(histoname.c_str(),
title.c_str(),10, 0.5, 10.5);
1130 histoname = labelname+
"_onEtOn";
1131 title = labelname+
" onE_t online";
1132 onEtOn = dbe->book1D(histoname.c_str(),
title.c_str(),
nBins_,
v->getPtMin(),
v->getPtMax());
1134 histoname = labelname+
"_onOneOverEtOn";
1135 title = labelname+
" 1 / onE_t online";
1139 histoname = labelname+
"_offEtOff";
1140 title = labelname+
" offE_t offline";
1141 offEtOff = dbe->book1D(histoname.c_str(),
title.c_str(),
nBins_,
v->getPtMin(),
v->getPtMax());
1143 histoname = labelname+
"_l1EtL1";
1144 title = labelname+
" l1E_t L1";
1145 l1EtL1 = dbe->book1D(histoname.c_str(),
title.c_str(),
nBins_,
v->getPtMin(),
v->getPtMax());
1150 histoname = labelname+
"_onEtaonPhiOn";
1151 title = labelname+
" on#eta vs on#phi online";
1152 onEtavsonPhiOn = dbe->book2D(histoname.c_str(),
title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-
TMath::Pi(),
TMath::Pi());
1154 histoname = labelname+
"_offEtaoffPhiOff";
1155 title = labelname+
" off#eta vs off#phi offline";
1156 offEtavsoffPhiOff = dbe->book2D(histoname.c_str(),
title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-
TMath::Pi(),
TMath::Pi());
1158 histoname = labelname+
"_l1Etal1PhiL1";
1159 title = labelname+
" l1#eta vs l1#phi L1";
1160 l1Etavsl1PhiL1 = dbe->book2D(histoname.c_str(),
title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-
TMath::Pi(),
TMath::Pi());
1162 histoname = labelname+
"_l1EtL1On";
1163 title = labelname+
" l1E_t L1+online";
1164 l1EtL1On = dbe->book1D(histoname.c_str(),
title.c_str(),
nBins_,
v->getPtMin(),
v->getPtMax());
1166 histoname = labelname+
"_offEtL1Off";
1167 title = labelname+
" offE_t L1+offline";
1168 offEtL1Off = dbe->book1D(histoname.c_str(),
title.c_str(),
nBins_,
v->getPtMin(),
v->getPtMax());
1170 histoname = labelname+
"_offEtOnOff";
1171 title = labelname+
" offE_t online+offline";
1172 offEtOnOff = dbe->book1D(histoname.c_str(),
title.c_str(),
nBins_,
v->getPtMin(),
v->getPtMax());
1174 histoname = labelname+
"_l1Etal1PhiL1On";
1175 title = labelname+
" l1#eta vs l1#phi L1+online";
1176 l1Etavsl1PhiL1On = dbe->book2D(histoname.c_str(),
title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-
TMath::Pi(),
TMath::Pi());
1178 histoname = labelname+
"_offEtaoffPhiL1Off";
1179 title = labelname+
" off#eta vs off#phi L1+offline";
1180 offEtavsoffPhiL1Off = dbe->book2D(histoname.c_str(),
title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-
TMath::Pi(),
TMath::Pi());
1182 histoname = labelname+
"_offEtaoffPhiOnOff";
1183 title = labelname+
" off#eta vs off#phi online+offline";
1184 offEtavsoffPhiOnOff = dbe->book2D(histoname.c_str(),
title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-
TMath::Pi(),
TMath::Pi());
1186 histoname = labelname+
"_l1EtL1OnUM";
1187 title = labelname+
" l1E_t L1+onlineUM";
1188 l1EtL1OnUM = dbe->book1D(histoname.c_str(),
title.c_str(),
nBins_,
v->getPtMin(),
v->getPtMax());
1190 histoname = labelname+
"_offEtL1OffUM";
1191 title = labelname+
" offE_t L1+offlineUM";
1192 offEtL1OffUM = dbe->book1D(histoname.c_str(),
title.c_str(),
nBins_,
v->getPtMin(),
v->getPtMax());
1194 histoname = labelname+
"_offEtOnOffUM";
1195 title = labelname+
" offE_t online+offlineUM";
1196 offEtOnOffUM = dbe->book1D(histoname.c_str(),
title.c_str(),
nBins_,
v->getPtMin(),
v->getPtMax());
1198 histoname = labelname+
"_l1Etal1PhiL1OnUM";
1199 title = labelname+
" l1#eta vs l1#phi L1+onlineUM";
1200 l1Etavsl1PhiL1OnUM = dbe->book2D(histoname.c_str(),
title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-
TMath::Pi(),
TMath::Pi());
1202 histoname = labelname+
"_offEtaoffPhiL1OffUM";
1203 title = labelname+
" off#eta vs off#phi L1+offlineUM";
1204 offEtavsoffPhiL1OffUM = dbe->book2D(histoname.c_str(),
title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-
TMath::Pi(),
TMath::Pi());
1206 histoname = labelname+
"_offEtaoffPhiOnOffUM";
1207 title = labelname+
" off#eta vs off#phi online+offlineUM";
1208 offEtavsoffPhiOnOffUM = dbe->book2D(histoname.c_str(),
title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-
TMath::Pi(),
TMath::Pi());
1213 histoname = labelname+
"_l1DRL1On";
1214 title = labelname+
" l1DR L1+online";
1215 l1DRL1On = dbe->book1D(histoname.c_str(),
title.c_str(),
nBins_, 0, 1.);
1217 histoname = labelname+
"_offDRL1Off";
1218 title = labelname+
" offDR L1+offline";
1219 offDRL1Off = dbe->book1D(histoname.c_str(),
title.c_str(),
nBins_, 0, 1.);
1221 histoname = labelname+
"_offDROnOff";
1222 title = labelname+
" offDR online+offline";
1223 offDROnOff = dbe->book1D(histoname.c_str(),
title.c_str(),
nBins_, 0, 1.);
1226 v->setHistos( NOn, onEtOn, onOneOverEtOn, onEtavsonPhiOn, NOff, offEtOff, offEtavsoffPhiOff, NL1, l1EtL1, l1Etavsl1PhiL1, NL1On, l1EtL1On, l1Etavsl1PhiL1On, NL1Off, offEtL1Off, offEtavsoffPhiL1Off, NOnOff, offEtOnOff, offEtavsoffPhiOnOff, NL1OnUM, l1EtL1OnUM, l1Etavsl1PhiL1OnUM, NL1OffUM, offEtL1OffUM, offEtavsoffPhiL1OffUM, NOnOffUM, offEtOnOffUM, offEtavsoffPhiOnOffUM, offDRL1Off, offDROnOff, l1DRL1On
1236 "HLT_Any count per LS",
unsigned int size() const
number of trigger paths in trigger table
PathInfoCollection hltPathsDiagonal_
const std::string getL1ConditionModuleName(const std::string &pathname)
const std::string moduleType(const std::string &module) const
C++ class name of module.
const std::string & triggerName(unsigned int triggerIndex) const
std::vector< std::pair< std::string, std::vector< int > > > fPathBxTempCountPair
std::string pathsSummaryFolder_
enum start value shifted to 81 so as to avoid clashes with PDG codes
std::vector< std::pair< std::string, std::string > > custompathnamepairs_
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
const std::string moduleEDMType(const std::string &module) const
C++ base class name of module.
std::vector< std::pair< std::string, int > > fPathTempCountPair
std::vector< TPRegexp > filters
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
std::string pathsIndividualHLTPathsPerLSFolder_
PathInfoCollection hltPaths_
std::string moduleName(Provenance const &provenance)
unsigned int moduleIndex(unsigned int trigger, const std::string &module) const
slot position of module on trigger path (0 to size-1)
std::vector< std::pair< std::string, int > > fGroupTempCountPair
unsigned int nBinsOneOverEt_
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
HLTConfigProvider hltConfig_
std::string pathsSummaryFilterCountsFolder_
std::vector< std::string > specialPaths_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
std::vector< std::string > fGroupName
std::vector< std::pair< std::string, std::vector< std::string > > > fGroupNamePathsPair
std::vector< std::pair< std::string, int > > fGroupL1TempCountPair
int getTriggerTypeParsePathName(const std::string &pathname)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
const std::vector< std::string > & datasetNames() const