122 LogTrace(
"HLTSeedL1LogicScalers") <<
"beginRun, run " << run.
id();
127 bool changed =
false;
131 LogDebug(
"HLTSeedL1LogicScalers") <<
"HLTConfigProvider failed to initialize.";
142 for (
unsigned int j=0;
j!=
n; ++
j) {
149 LogTrace(
"HLTSeedL1LogicScalers") <<
"size of vector of paths to monitor = " <<
fMonitorPaths.size() << endl;
150 for (
unsigned int iPath=0;iPath<
fMonitorPaths.size();iPath++) {
153 LogTrace(
"HLTSeedL1LogicScalers") <<
"monPath = " << monPath << endl;
155 string folderName =
fDQMFolder +
"/" + monPath;
162 LogTrace(
"HLTSeedL1LogicScalers") << endl <<
"size of vector of GTSeedL1LogicalExpression = " << hltL1GTSeed.size() << endl;
165 for (
unsigned int iSeed=0;iSeed<hltL1GTSeed.size();iSeed++) {
167 LogTrace(
"HLTSeedL1LogicScalers") <<
" TechBit_flag = " << hltL1GTSeed[iSeed].first <<
" GTSeedL1LogicalExpression = " << hltL1GTSeed[iSeed].second << endl;;
169 istringstream totalSString( hltL1GTSeed[iSeed].
second );
172 vector<string> l1Algos;
175 while(! hltL1GTSeed[iSeed].
first) {
177 totalSString >> temp_string;
179 if(! l1Algos.empty()) {
181 if(temp_string.compare(l1Algos.back()) == 0)
break;
184 if(temp_string !=
"OR" && temp_string !=
"AND" && temp_string !=
"NOT" && temp_string !=
"(" && temp_string !=
")" && temp_string !=
""){
186 l1Algos.push_back(temp_string);
191 int nL1Algo = l1Algos.size();
196 LogWarning(
"HLTSeedL1LogicScalers") <<
" number of l1 Algos grater than 32. Using only the first 32." << endl ;
200 int nBins = 1 << nL1Algo;
202 for (
unsigned int k=0;
k< l1Algos.size();
k++) {
204 LogTrace(
"HLTSeedL1LogicScalers") <<
" l1 Algo = " << l1Algos[
k] << endl;
212 std::stringstream
title;
213 std::stringstream
name;
215 name << monPath <<
"_Seed_" << iSeed <<
"_L1BitLogic";
216 title << monPath <<
" BitPacked L1Algos of GTSeed " << iSeed <<
": '" << hltL1GTSeed[iSeed].second <<
"'";
221 LogTrace(
"HLTSeedL1LogicScalers") <<
" MonitorElement name = " << name << endl;
222 LogTrace(
"HLTSeedL1LogicScalers") <<
" MonitorElement title = " << title << endl;
223 LogTrace(
"HLTSeedL1LogicScalers") <<
" MonitorElement nBins = " << nBins << endl << endl;
unsigned int size() const
number of trigger paths in trigger table
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.
const std::vector< std::vector< std::pair< bool, std::string > > > & hltL1GTSeeds() const
std::vector< std::pair< MonitorElement *, std::vector< std::string > > > fMapMEL1Algos
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
U second(std::pair< T, U > const &p)
HLTConfigProvider fHLTConfig
std::vector< std::string > fMonitorPaths
std::vector< MonitorElement * > fMonitorPathsME
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)