7 #include "xdata/TableIterator.h"
14 #include "boost/tokenizer.hpp"
81 for(; i<
paths_.size(); i++) {
87 boost::char_separator<char> sep(
",");
88 boost::tokenizer<boost::char_separator<char> >
tokens(pathstring, sep);
89 for (
boost::tokenizer<boost::char_separator<char> >::iterator tok_iter = tokens.begin();
90 tok_iter != tokens.end(); ++tok_iter){
91 unsigned int index = 0;
94 if(pos!=std::string::npos){
95 name=tok_iter->substr(0,pos);
96 index = atoi(tok_iter->substr(pos+1).c_str());
100 for(; i<
paths_.size(); i++) {
110 std::vector<edm::ModuleDescription const*>& descs,
111 std::string &pathIndexTable,
116 std::ostringstream ost;
157 ost << i <<
"=" <<
paths_[
i] <<
", ";
166 for(
unsigned int k = 0;
k < descs.size();
k++)
170 if(descs[
k]->moduleName() ==
"HLTLevel1GTSeed")
l1pos_[i] =
j;
171 if(descs[
k]->moduleName() ==
"HLTPrescaler")
pspos_[i] =
j;
181 ost << i <<
"=" <<
paths_[
i] <<
", ";
188 for(
unsigned int j=0;
192 for(
unsigned int k = 0;
k < descs.size();
k++)
196 if(descs[
k]->moduleName() ==
"TriggerResultsFilter")
pspos_[i] =
j;
198 if(descs[
k]->moduleName() ==
"ShmStreamConsumer")
218 std::ostringstream oss;
220 oss<<
"================================="<<
"\n";
221 oss<<
"== BEGINNING OF TRIGGER REPORT =="<<
"\n";
222 oss<<
"================================="<<
"\n";
227 oss<<
"TriggerReport::trigPathSummaries"<<
"\n";
229 oss<<
"tr.trigPathSummaries["<<
i<<
"].bitPosition = "
231 <<
"tr.trigPathSummaries["<<
i<<
"].timesRun = "
233 <<
"tr.trigPathSummaries["<<
i<<
"].timesPassed = "
235 <<
"tr.trigPathSummaries["<<
i<<
"].timesFailed = "
237 <<
"tr.trigPathSummaries["<<
i<<
"].timesExcept = "
239 <<
"tr.trigPathSummaries["<<
i<<
"].name = "
244 oss<<
"tr.trigPathSummaries["<<
i
245 <<
"].moduleInPathSummaries["<<
j<<
"].timesVisited = "
247 <<
"tr.trigPathSummaries["<<
i
248 <<
"].moduleInPathSummaries["<<
j<<
"].timesPassed = "
250 <<
"tr.trigPathSummaries["<<
i
251 <<
"].moduleInPathSummaries["<<
j<<
"].timesFailed = "
253 <<
"tr.trigPathSummaries["<<
i
254 <<
"].moduleInPathSummaries["<<
j<<
"].timesExcept = "
256 <<
"tr.trigPathSummaries["<<
i
257 <<
"].moduleInPathSummaries["<<
j<<
"].moduleLabel = "
264 oss<<
"tr.endPathSummaries["<<
i<<
"].bitPosition = "
266 <<
"tr.endPathSummaries["<<
i<<
"].timesRun = "
268 <<
"tr.endPathSummaries["<<
i<<
"].timesPassed = "
270 <<
"tr.endPathSummaries["<<
i<<
"].timesFailed = "
272 <<
"tr.endPathSummaries["<<
i<<
"].timesExcept = "
274 <<
"tr.endPathSummaries["<<
i<<
"].name = "
279 oss<<
"tr.endPathSummaries["<<
i
280 <<
"].moduleInPathSummaries["<<
j<<
"].timesVisited = "
282 <<
"tr.endPathSummaries["<<
i
283 <<
"].moduleInPathSummaries["<<
j<<
"].timesPassed = "
285 <<
"tr.endPathSummaries["<<
i
286 <<
"].moduleInPathSummaries["<<
j<<
"].timesFailed = "
288 <<
"tr.endPathSummaries["<<
i
289 <<
"].moduleInPathSummaries["<<
j<<
"].timesExcept = "
291 <<
"tr.endPathSummaries["<<
i
292 <<
"].moduleInPathSummaries["<<
j<<
"].moduleLabel = "
299 oss<<
"tr.workerSummaries["<<
i<<
"].timesVisited = "
301 <<
"tr.workerSummaries["<<
i<<
"].timesRun = "
303 <<
"tr.workerSummaries["<<
i<<
"].timesPassed = "
305 <<
"tr.workerSummaries["<<
i<<
"].timesFailed = "
307 <<
"tr.workerSummaries["<<
i<<
"].timesExcept = "
309 <<
"tr.workerSummaries["<<
i<<
"].moduleLabel = "
313 oss<<
"==========================="<<
"\n";
314 oss<<
"== END OF TRIGGER REPORT =="<<
"\n";
315 oss<<
"==========================="<<
"\n";
440 std::cout <<
"WARNING: lumisection index mismatch from subprocess " << trp->lumiSection
447 std::ostringstream ost;
448 ost <<
"trig path summary inconsistency "
455 std::ostringstream ost;
456 ost <<
"trig endpath summary inconsistency "
518 std::vector<edm::ModuleDescription const*>& descs,
523 for(
unsigned int j=0;
528 for(
unsigned int k = 0;
k < descs.size();
k++)
532 if(descs[
k]->moduleName() ==
type) {retval =
label;
break;}
std::vector< PathSummary > endPathSummaries
xdata::Table triggerReportAsTableWithNames_
void fillPathIndexTable(std::string &)
std::vector< xdata::UnsignedInteger32 > accept_
unsigned int lumiSectionIndex_
TriggerReportStatic * getPackedTriggerReportAsStruct()
void resetTriggerReport()
static const std::string columns[5]
std::string findLabelOfModuleTypeInEndPath(edm::TriggerReport &, std::vector< edm::ModuleDescription const * > &, unsigned int, std::string)
std::map< std::string, xdata::UnsignedInteger32 > pathIndexMap_
xdata::String pathLegenda_
boost::tokenizer< boost::char_separator< char > > tokenizer
PathSummaryStatic trigPathSummaries[max_paths]
xdata::UnsignedInteger32 eventsProcessed_
std::vector< unsigned int > pfailed_
void addToReport(TriggerReportStatic *trs, TriggerReportStatic *trp, unsigned int lumisection)
std::vector< int > l1pos_
std::vector< WorkerSummary > workerSummaries
std::vector< std::string > outname_
std::vector< unsigned int > pl1pre_
std::vector< xdata::UnsignedInteger32 > l1pre_
void printTriggerReport(edm::TriggerReport &)
std::vector< PathSummary > trigPathSummaries
EventSummary eventSummary
xdata::UnsignedInteger32 eventsAccepted_
std::vector< xdata::UnsignedInteger32 > ps_
void reset(TriggerReportStatic *)
PathSummaryStatic endPathSummaries[max_endpaths]
std::vector< int > pspos_
void resetPackedTriggerReport()
std::vector< unsigned int > pexcept_
edm::FUShmOutputModule * get(std::string &name)
void formatReportTable(edm::TriggerReport &, std::vector< edm::ModuleDescription const * > &, std::string &pathIndexTable, bool noNukeLegenda)
unsigned int prescaleIndex_
xdata::Table triggerReportAsTable_
static const size_t max_paths
std::vector< unsigned int > paccept_
void sumAndPackTriggerReport(MsgBuf &)
edm::EventSummary eventSummary
void packTriggerReport(edm::TriggerReport &, ShmOutputModuleRegistry *)
std::vector< unsigned int > pps_
void packedTriggerReportToTable()
static const size_t max_endpaths
std::vector< xdata::UnsignedInteger32 > failed_
std::vector< std::string > paths_
void triggerReportUpdate(edm::TriggerReport &, unsigned int, unsigned int, bool=true)
std::vector< xdata::UnsignedInteger32 > except_
const std::string * moduleLabel() const
unsigned int prescaleIndex