8 #include "xdata/TableIterator.h"
15 #include "boost/tokenizer.hpp"
82 for(; i<
paths_.size(); i++) {
88 boost::char_separator<char> sep(
",");
89 boost::tokenizer<boost::char_separator<char> > tokens(pathstring, sep);
90 for (
boost::tokenizer<boost::char_separator<char> >::iterator tok_iter = tokens.begin();
91 tok_iter != tokens.end(); ++tok_iter){
92 unsigned int index = 0;
95 if(pos!=std::string::npos){
96 name=tok_iter->substr(0,pos);
97 index = atoi(tok_iter->substr(pos+1).c_str());
101 for(; i<
paths_.size(); i++) {
111 std::vector<edm::ModuleDescription const*>& descs,
117 std::ostringstream ost;
159 ost << i <<
"=" <<
paths_[
i] <<
", ";
168 for(
unsigned int k = 0;
k < descs.size();
k++)
170 if(descs[
k]->moduleLabel() ==
label)
172 if(descs[
k]->moduleName() ==
"HLTLevel1GTSeed")
l1pos_[i] =
j;
173 if(descs[
k]->moduleName() ==
"HLTPrescaler")
pspos_[i] =
j;
183 ost << i <<
"=" <<
paths_[
i] <<
", ";
190 for(
unsigned int j=0;
194 for(
unsigned int k = 0;
k < descs.size();
k++)
196 if(descs[
k]->moduleLabel() ==
label)
198 if(descs[
k]->moduleName() ==
"TriggerResultsFilter")
pspos_[i] =
j;
200 if(descs[
k]->moduleName() ==
"ShmStreamConsumer")
220 std::ostringstream oss;
222 oss<<
"================================="<<
"\n";
223 oss<<
"== BEGINNING OF TRIGGER REPORT =="<<
"\n";
224 oss<<
"================================="<<
"\n";
229 oss<<
"TriggerReport::trigPathSummaries"<<
"\n";
231 oss<<
"tr.trigPathSummaries["<<
i<<
"].bitPosition = "
233 <<
"tr.trigPathSummaries["<<
i<<
"].timesRun = "
235 <<
"tr.trigPathSummaries["<<
i<<
"].timesPassed = "
237 <<
"tr.trigPathSummaries["<<
i<<
"].timesFailed = "
239 <<
"tr.trigPathSummaries["<<
i<<
"].timesExcept = "
241 <<
"tr.trigPathSummaries["<<
i<<
"].name = "
246 oss<<
"tr.trigPathSummaries["<<
i
247 <<
"].moduleInPathSummaries["<<
j<<
"].timesVisited = "
249 <<
"tr.trigPathSummaries["<<
i
250 <<
"].moduleInPathSummaries["<<
j<<
"].timesPassed = "
252 <<
"tr.trigPathSummaries["<<
i
253 <<
"].moduleInPathSummaries["<<
j<<
"].timesFailed = "
255 <<
"tr.trigPathSummaries["<<
i
256 <<
"].moduleInPathSummaries["<<
j<<
"].timesExcept = "
258 <<
"tr.trigPathSummaries["<<
i
259 <<
"].moduleInPathSummaries["<<
j<<
"].moduleLabel = "
266 oss<<
"tr.endPathSummaries["<<
i<<
"].bitPosition = "
268 <<
"tr.endPathSummaries["<<
i<<
"].timesRun = "
270 <<
"tr.endPathSummaries["<<
i<<
"].timesPassed = "
272 <<
"tr.endPathSummaries["<<
i<<
"].timesFailed = "
274 <<
"tr.endPathSummaries["<<
i<<
"].timesExcept = "
276 <<
"tr.endPathSummaries["<<
i<<
"].name = "
281 oss<<
"tr.endPathSummaries["<<
i
282 <<
"].moduleInPathSummaries["<<
j<<
"].timesVisited = "
284 <<
"tr.endPathSummaries["<<
i
285 <<
"].moduleInPathSummaries["<<
j<<
"].timesPassed = "
287 <<
"tr.endPathSummaries["<<
i
288 <<
"].moduleInPathSummaries["<<
j<<
"].timesFailed = "
290 <<
"tr.endPathSummaries["<<
i
291 <<
"].moduleInPathSummaries["<<
j<<
"].timesExcept = "
293 <<
"tr.endPathSummaries["<<
i
294 <<
"].moduleInPathSummaries["<<
j<<
"].moduleLabel = "
301 oss<<
"tr.workerSummaries["<<
i<<
"].timesVisited = "
303 <<
"tr.workerSummaries["<<
i<<
"].timesRun = "
305 <<
"tr.workerSummaries["<<
i<<
"].timesPassed = "
307 <<
"tr.workerSummaries["<<
i<<
"].timesFailed = "
309 <<
"tr.workerSummaries["<<
i<<
"].timesExcept = "
311 <<
"tr.workerSummaries["<<
i<<
"].moduleLabel = "
315 oss<<
"==========================="<<
"\n";
316 oss<<
"== END OF TRIGGER REPORT =="<<
"\n";
317 oss<<
"==========================="<<
"\n";
419 unsigned int datasetIndex = 0;
420 if (sor && countDatasets) {
422 for (
unsigned int i=0;
i<shmOutputsWithDatasets_.size();
i++)
424 std::vector<unsigned int> & outputCounters = shmOutputsWithDatasets_[
i]->getDatasetCounts();
425 for (
unsigned int j=0;
j<outputCounters.size();
j++)
431 shmOutputsWithDatasets_[
i]->clearDatasetCounts();
459 std::cout <<
"WARNING: lumisection index mismatch from subprocess " << trp->lumiSection
466 std::ostringstream ost;
467 ost <<
"trig path summary inconsistency "
474 std::ostringstream ost;
475 ost <<
"trig endpath summary inconsistency "
484 std::ostringstream ost;
485 ost <<
"output module dataset summary inconsistency "
547 std::vector<edm::ModuleDescription const*>& descs,
552 for(
unsigned int j=0;
557 for(
unsigned int k = 0;
k < descs.size();
k++)
559 if(descs[
k]->moduleLabel() ==
label)
561 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]
std::vector< edm::FUShmOutputModule * > & getShmOutputModulesWithDatasets()
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_
static const size_t max_datasets
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_
DatasetSummaryStatic datasetSummaries[max_datasets]
void reset(TriggerReportStatic *)
PathSummaryStatic endPathSummaries[max_endpaths]
std::vector< int > pspos_
void resetPackedTriggerReport()
std::vector< unsigned int > pexcept_
void formatReportTable(edm::TriggerReport &, std::vector< edm::ModuleDescription const * > &, std::string &pathIndexTable, bool noNukeLegenda)
unsigned int prescaleIndex_
OutputModule * get(std::string &name)
void packTriggerReport(edm::TriggerReport &, ShmOutputModuleRegistry *, bool)
xdata::Table triggerReportAsTable_
static const size_t max_paths
std::vector< unsigned int > paccept_
virtual unsigned int getCounts()=0
void sumAndPackTriggerReport(MsgBuf &)
edm::EventSummary eventSummary
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_
unsigned int prescaleIndex