CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TriggerReportHelpers.cc
Go to the documentation of this file.
4 #include "TriggerReportHelpers.h"
7 #include "xdata/TableIterator.h"
8 
9 #include <iostream>
10 #include <sstream>
11 #include <algorithm>
12 #include <map>
13 
14 #include "boost/tokenizer.hpp"
15 
16 namespace evf{
17  namespace fuep{
18 const std::string TriggerReportHelpers::columns[5] = {"l1Pass","psPass","pAccept","pExcept","pReject"};
19 void TriggerReportHelpers::triggerReportUpdate(edm::TriggerReport &tr, unsigned int ls, unsigned int ps, bool lumiComplete)
20 {
21  if(adjustLsIndex_)
22  {
24  adjustLsIndex_ = false;
25  }
26  else
28  if(lumiSectionIndex_ != ls)
29  std::cout << getpid() << " WARNING: ls index mismatch " << ls << " should be " << lumiSectionIndex_ << std::endl;
30  prescaleIndex_ = ps;
31 }
32 
34 {
35 
37 
40  for(int i=0; i<trs->trigPathsInMenu; i++) {
42  triggerReportAsTable_.setValueAt(i,columns[0],l1pre_[i]);
43  triggerReportAsTableWithNames_.setValueAt(i,columns[0],l1pre_[i]);
44  pps_[i] += (ps_[i] = trs->trigPathSummaries[i].timesPassedPs);
45  triggerReportAsTable_.setValueAt(i,columns[1],ps_[i]);
46  triggerReportAsTableWithNames_.setValueAt(i,columns[1],ps_[i]);
48  triggerReportAsTable_.setValueAt(i,columns[2], accept_[i]);
49  triggerReportAsTableWithNames_.setValueAt(i,columns[2], accept_[i]);
51  triggerReportAsTable_.setValueAt(i,columns[3], except_[i]);
52  triggerReportAsTableWithNames_.setValueAt(i,columns[3], except_[i]);
54  triggerReportAsTable_.setValueAt(i,columns[4], failed_[i]);
55  triggerReportAsTableWithNames_.setValueAt(i,columns[4], failed_[i]);
56  }
57  for(int i=0; i<trs->endPathsInMenu; i++) {
58  int j = i+trs->trigPathsInMenu;
60  triggerReportAsTable_.setValueAt(j,columns[0],l1pre_[j]);
61  triggerReportAsTableWithNames_.setValueAt(j,columns[0],l1pre_[j]);
62  pps_[j] += (ps_[j] = trs->endPathSummaries[i].timesPassedPs);
63  triggerReportAsTable_.setValueAt(j,columns[1],ps_[j]);
64  triggerReportAsTableWithNames_.setValueAt(j,columns[1],ps_[j]);
66  triggerReportAsTable_.setValueAt(j,columns[2], accept_[j]);
67  triggerReportAsTableWithNames_.setValueAt(j,columns[2], accept_[j]);
69  triggerReportAsTable_.setValueAt(j,columns[3], except_[j]);
70  triggerReportAsTableWithNames_.setValueAt(j,columns[3], except_[j]);
72  triggerReportAsTable_.setValueAt(j,columns[4], failed_[j]);
73  triggerReportAsTableWithNames_.setValueAt(j,columns[4], failed_[j]);
74  }
75 }
76 
77 void TriggerReportHelpers::fillPathIndexTable(std::string &pathstring)
78 {
79  unsigned int i = 0;
80  if(pathstring == ""){
81  for(; i<paths_.size(); i++) {
82  xdata::Table::iterator it = triggerReportAsTableWithNames_.append();
83  it->setField("pathIndex", pathIndexMap_[paths_[i]]=i);
84  }
85  }
86  else{
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;
92  std::string name;
93  std::string::size_type pos = tok_iter->find("=");
94  if(pos!=std::string::npos){
95  name=tok_iter->substr(0,pos);
96  index = atoi(tok_iter->substr(pos+1).c_str());
98  }
99  }
100  for(; i<paths_.size(); i++) {
101  if(pathIndexMap_.find(paths_[i])==pathIndexMap_.end())
102  pathIndexMap_[paths_[i]] = i;
103  xdata::Table::iterator it = triggerReportAsTableWithNames_.append();
104  it->setField("pathIndex",pathIndexMap_[paths_[i]]);
105  }
106  }
107 }
108 
110  std::vector<edm::ModuleDescription const*>& descs,
111  std::string &pathIndexTable,
112  bool noNukeLegenda)
113 {
114 
115  if(tableFormatted_) return;
116  std::ostringstream ost;
117  trp_ = tr;
118  lumiSectionIndex_ = 0;
121 
122  tableFormatted_ = true;
123  paths_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size());
124  //adjust number of trigger- and end-paths in static structure
125  trp->trigPathsInMenu = tr.trigPathSummaries.size();
126  trp->endPathsInMenu = tr.endPathSummaries.size();
128 
129  l1pos_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size(),-1);
130  pspos_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size(),-1);
131  outname_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size());
132  l1pre_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size(),0);
133  ps_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size(),0);
134  accept_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size(),0);
135  except_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size(),0);
136  failed_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size(),0);
137  pl1pre_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size(),0);
138  pps_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size(),0);
139  paccept_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size(),0);
140  pexcept_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size(),0);
141  pfailed_.resize(tr.trigPathSummaries.size()+tr.endPathSummaries.size(),0);
142  triggerReportAsTable_.clear();
144  triggerReportAsTable_.addColumn(columns[0],"unsigned int 32");
145  triggerReportAsTable_.addColumn(columns[1],"unsigned int 32");
146  triggerReportAsTable_.addColumn(columns[2],"unsigned int 32");
147  triggerReportAsTable_.addColumn(columns[3],"unsigned int 32");
148  triggerReportAsTable_.addColumn(columns[4],"unsigned int 32");
150  triggerReportAsTableWithNames_.addColumn("pathIndex","unsigned int 32");
151 
152  unsigned int i=0;
153  for(; i<tr.trigPathSummaries.size(); i++) {
154  triggerReportAsTable_.append();
155  paths_[i] = tr.trigPathSummaries[i].name;
156 
157  ost << i << "=" << paths_[i] << ", ";
158 
159  // reset the l1 and ps positions to pick up modifications of the menu
160  // that result in paths being displaced up and down
161  l1pos_[i] = -1;
162  pspos_[i] = -1;
163 
164  for(unsigned int j=0;j<tr.trigPathSummaries[i].moduleInPathSummaries.size();j++) {
165  std::string label = tr.trigPathSummaries[i].moduleInPathSummaries[j].moduleLabel;
166  for(unsigned int k = 0; k < descs.size(); k++)
167  {
168  if(descs[k]->moduleLabel() == label)
169  {
170  if(descs[k]->moduleName() == "HLTLevel1GTSeed") l1pos_[i] = j;
171  if(descs[k]->moduleName() == "HLTPrescaler") pspos_[i] = j;
172  }
173  }
174 
175  }
176 
177  }
178  for(; i<tr.endPathSummaries.size()+tr.trigPathSummaries.size(); i++) {
179  triggerReportAsTable_.append();
180  paths_[i] = tr.endPathSummaries[i-tr.trigPathSummaries.size()].name;
181  ost << i << "=" << paths_[i] << ", ";
182  // reset the l1 and ps positions to pick up modifications of the menu
183  // that result in paths being displaced up and down
184  l1pos_[i] = -1;
185  pspos_[i] = -1;
186  outname_[i] = "";
187 
188  for(unsigned int j=0;
189  j<tr.endPathSummaries[i-tr.trigPathSummaries.size()].moduleInPathSummaries.size();
190  j++) {
191  std::string label = tr.endPathSummaries[i-tr.trigPathSummaries.size()].moduleInPathSummaries[j].moduleLabel;
192  for(unsigned int k = 0; k < descs.size(); k++)
193  {
194  if(descs[k]->moduleLabel() == label)
195  {
196  if(descs[k]->moduleName() == "TriggerResultsFilter") pspos_[i] = j;
197  // if(descs[k]->moduleName() == "HLTPrescaler") l1pos_[i] = j;
198  if(descs[k]->moduleName() == "ShmStreamConsumer")
199  outname_[i] = descs[k]->moduleLabel();
200  }
201  }
202 
203  }
204  }
205  fillPathIndexTable(pathIndexTable);
206  if(noNukeLegenda) pathLegenda_ = ost.str().c_str();
207 
208 }
209 
211 {
212  std::cout << "report table for LS #" << lumiSectionIndex_ << std::endl;
214  std::cout << std::endl;
215 }
217 {
218  std::ostringstream oss;
219 
220  oss<<"================================="<<"\n";
221  oss<<"== BEGINNING OF TRIGGER REPORT =="<<"\n";
222  oss<<"================================="<<"\n";
223  oss<<"tr.eventSummary.totalEvents= "<<tr.eventSummary.totalEvents<<"\n"
224  <<"tr.eventSummary.totalEventsPassed= "<<tr.eventSummary.totalEventsPassed<<"\n"
225  <<"tr.eventSummary.totalEventsFailed= "<<tr.eventSummary.totalEventsFailed<<"\n";
226 
227  oss<<"TriggerReport::trigPathSummaries"<<"\n";
228  for(unsigned int i=0; i<tr.trigPathSummaries.size(); i++) {
229  oss<<"tr.trigPathSummaries["<<i<<"].bitPosition = "
230  <<tr.trigPathSummaries[i].bitPosition <<"\n"
231  <<"tr.trigPathSummaries["<<i<<"].timesRun = "
232  <<tr.trigPathSummaries[i].timesRun <<"\n"
233  <<"tr.trigPathSummaries["<<i<<"].timesPassed = "
234  <<tr.trigPathSummaries[i].timesPassed <<"\n"
235  <<"tr.trigPathSummaries["<<i<<"].timesFailed = "
236  <<tr.trigPathSummaries[i].timesFailed <<"\n"
237  <<"tr.trigPathSummaries["<<i<<"].timesExcept = "
238  <<tr.trigPathSummaries[i].timesExcept <<"\n"
239  <<"tr.trigPathSummaries["<<i<<"].name = "
240  <<tr.trigPathSummaries[i].name <<"\n";
241 
242  //TriggerReport::trigPathSummaries::moduleInPathSummaries
243  for(unsigned int j=0;j<tr.trigPathSummaries[i].moduleInPathSummaries.size();j++) {
244  oss<<"tr.trigPathSummaries["<<i
245  <<"].moduleInPathSummaries["<<j<<"].timesVisited = "
246  <<tr.trigPathSummaries[i].moduleInPathSummaries[j].timesVisited<<"\n"
247  <<"tr.trigPathSummaries["<<i
248  <<"].moduleInPathSummaries["<<j<<"].timesPassed = "
249  <<tr.trigPathSummaries[i].moduleInPathSummaries[j].timesPassed<<"\n"
250  <<"tr.trigPathSummaries["<<i
251  <<"].moduleInPathSummaries["<<j<<"].timesFailed = "
252  <<tr.trigPathSummaries[i].moduleInPathSummaries[j].timesFailed<<"\n"
253  <<"tr.trigPathSummaries["<<i
254  <<"].moduleInPathSummaries["<<j<<"].timesExcept = "
255  <<tr.trigPathSummaries[i].moduleInPathSummaries[j].timesExcept<<"\n"
256  <<"tr.trigPathSummaries["<<i
257  <<"].moduleInPathSummaries["<<j<<"].moduleLabel = "
258  <<tr.trigPathSummaries[i].moduleInPathSummaries[j].moduleLabel<<"\n";
259  }
260  }
261 
262  //TriggerReport::endPathSummaries
263  for(unsigned int i=0;i<tr.endPathSummaries.size();i++) {
264  oss<<"tr.endPathSummaries["<<i<<"].bitPosition = "
265  <<tr.endPathSummaries[i].bitPosition <<"\n"
266  <<"tr.endPathSummaries["<<i<<"].timesRun = "
267  <<tr.endPathSummaries[i].timesRun <<"\n"
268  <<"tr.endPathSummaries["<<i<<"].timesPassed = "
269  <<tr.endPathSummaries[i].timesPassed <<"\n"
270  <<"tr.endPathSummaries["<<i<<"].timesFailed = "
271  <<tr.endPathSummaries[i].timesFailed <<"\n"
272  <<"tr.endPathSummaries["<<i<<"].timesExcept = "
273  <<tr.endPathSummaries[i].timesExcept <<"\n"
274  <<"tr.endPathSummaries["<<i<<"].name = "
275  <<tr.endPathSummaries[i].name <<"\n";
276 
277  //TriggerReport::endPathSummaries::moduleInPathSummaries
278  for(unsigned int j=0;j<tr.endPathSummaries[i].moduleInPathSummaries.size();j++) {
279  oss<<"tr.endPathSummaries["<<i
280  <<"].moduleInPathSummaries["<<j<<"].timesVisited = "
281  <<tr.endPathSummaries[i].moduleInPathSummaries[j].timesVisited <<"\n"
282  <<"tr.endPathSummaries["<<i
283  <<"].moduleInPathSummaries["<<j<<"].timesPassed = "
284  <<tr.endPathSummaries[i].moduleInPathSummaries[j].timesPassed <<"\n"
285  <<"tr.endPathSummaries["<<i
286  <<"].moduleInPathSummaries["<<j<<"].timesFailed = "
287  <<tr.endPathSummaries[i].moduleInPathSummaries[j].timesFailed <<"\n"
288  <<"tr.endPathSummaries["<<i
289  <<"].moduleInPathSummaries["<<j<<"].timesExcept = "
290  <<tr.endPathSummaries[i].moduleInPathSummaries[j].timesExcept <<"\n"
291  <<"tr.endPathSummaries["<<i
292  <<"].moduleInPathSummaries["<<j<<"].moduleLabel = "
293  <<tr.endPathSummaries[i].moduleInPathSummaries[j].moduleLabel <<"\n";
294  }
295  }
296 
297  //TriggerReport::workerSummaries
298  for(unsigned int i=0; i<tr.workerSummaries.size(); i++) {
299  oss<<"tr.workerSummaries["<<i<<"].timesVisited = "
300  <<tr.workerSummaries[i].timesVisited<<"\n"
301  <<"tr.workerSummaries["<<i<<"].timesRun = "
302  <<tr.workerSummaries[i].timesRun<<"\n"
303  <<"tr.workerSummaries["<<i<<"].timesPassed = "
304  <<tr.workerSummaries[i].timesPassed <<"\n"
305  <<"tr.workerSummaries["<<i<<"].timesFailed = "
306  <<tr.workerSummaries[i].timesFailed <<"\n"
307  <<"tr.workerSummaries["<<i<<"].timesExcept = "
308  <<tr.workerSummaries[i].timesExcept <<"\n"
309  <<"tr.workerSummaries["<<i<<"].moduleLabel = "
310  <<tr.workerSummaries[i].moduleLabel <<"\n";
311  }
312 
313  oss<<"==========================="<<"\n";
314  oss<<"== END OF TRIGGER REPORT =="<<"\n";
315  oss<<"==========================="<<"\n";
316  std::cout << oss.str() << std::endl;
317  // LOG4CPLUS_DEBUG(getApplicationLogger(),oss.str());
318 }
319 
322 {
326  //copy the event summary
327  trp->eventSummary.totalEvents =
333 
334  //get total paths in the menu
337  //traverse the trigger report to get a copy of relevant parts in the static structure
338  // loop on paths
339 
340  for(int i = 0; i < trp->trigPathsInMenu; i++)
341  {
342 
343  trp->trigPathSummaries[i].timesRun =
344  tr.trigPathSummaries[i].timesRun - trp_.trigPathSummaries[i].timesRun;
346  tr.trigPathSummaries[i].timesPassed - trp_.trigPathSummaries[i].timesPassed;
347  if(l1pos_[i]>=0) {
349  tr.trigPathSummaries[i].moduleInPathSummaries[l1pos_[i]].timesPassed -
350  trp_.trigPathSummaries[i].moduleInPathSummaries[l1pos_[i]].timesPassed;
351  }
352  else {
354  tr.trigPathSummaries[i].timesRun - trp_.trigPathSummaries[i].timesRun;
355  }
356  if(pspos_[i]>=0) {
358  tr.trigPathSummaries[i].moduleInPathSummaries[pspos_[i]].timesPassed -
359  trp_.trigPathSummaries[i].moduleInPathSummaries[pspos_[i]].timesPassed;
360  }
361  else if(l1pos_[i]>=0) {
363  tr.trigPathSummaries[i].moduleInPathSummaries[l1pos_[i]].timesPassed -
364  trp_.trigPathSummaries[i].moduleInPathSummaries[l1pos_[i]].timesPassed;
365  }
366  else {
368  tr.trigPathSummaries[i].timesRun - trp_.trigPathSummaries[i].timesRun;
369  }
371  tr.trigPathSummaries[i].timesFailed-trp_.trigPathSummaries[i].timesFailed;
373  tr.trigPathSummaries[i].timesExcept - trp_.trigPathSummaries[i].timesExcept;
374  }
375 
376  for(int i = 0; i < trp->endPathsInMenu; i++)
377  {
378  unsigned int j = i + trp->trigPathsInMenu;
379  edm::FUShmOutputModule *o = sor->get(outname_[j]);
380  if(!o) {
381  // sor->dumpRegistry();
382  continue;
383  }
384  trp->endPathSummaries[i].timesRun =
385  tr.endPathSummaries[i].timesRun - trp_.endPathSummaries[i].timesRun;
387  o->getCounts() - trp_.endPathSummaries[i].timesPassed;
389  (tr.endPathSummaries[i].timesRun - o->getCounts())
390  - trp_.endPathSummaries[i].timesFailed;
392  tr.endPathSummaries[i].timesExcept - trp_.endPathSummaries[i].timesExcept;
393 
394 
395  if(l1pos_[j]>=0) {
397  tr.endPathSummaries[i].moduleInPathSummaries[l1pos_[j]].timesPassed -
398  trp_.endPathSummaries[i].moduleInPathSummaries[l1pos_[j]].timesPassed;
399  }
400  else {
402  }
403  if(pspos_[j]>=0) {
405  tr.endPathSummaries[i].moduleInPathSummaries[pspos_[j]].timesPassed -
406  trp_.endPathSummaries[i].moduleInPathSummaries[pspos_[j]].timesPassed;
407  }
408  else if(l1pos_[j]>=0) {
410  tr.endPathSummaries[i].moduleInPathSummaries[l1pos_[j]].timesPassed -
411  trp_.endPathSummaries[i].moduleInPathSummaries[l1pos_[j]].timesPassed;
412  }
413  else {
415  }
416  }
417  trp_ = tr;
418  for(int i = 0; i < trp->endPathsInMenu; i++)
419  {
421  if(!o) {
422  // sor->dumpRegistry();
423  continue;
424  }
425  trp_.endPathSummaries[i].timesPassed = o->getCounts();
426  trp_.endPathSummaries[i].timesFailed = tr.endPathSummaries[i].timesRun - o->getCounts();
427  }
428 
429 }
430 
431 
433 {
434 
436  TriggerReportStatic *trp = (TriggerReportStatic *)buf->mtext;
437 
438  // add check for LS consistency
439  if(trp->lumiSection != lumiSectionIndex_){
440  std::cout << "WARNING: lumisection index mismatch from subprocess " << trp->lumiSection
441  << " should be " << lumiSectionIndex_ << " will be skipped" << std::endl;
442  return;
443  }
444  //get total paths in the menu
445  if(trs->trigPathsInMenu != trp->trigPathsInMenu)
446  {
447  std::ostringstream ost;
448  ost << "trig path summary inconsistency "
449  << trs->trigPathsInMenu << " vs. " << trp->trigPathsInMenu;
450  std::cout << ost.str() << std::endl;
451  XCEPT_RAISE(evf::Exception,ost.str());
452  }
453  if(trs->endPathsInMenu != trp->endPathsInMenu)
454  {
455  std::ostringstream ost;
456  ost << "trig endpath summary inconsistency "
457  << trs->endPathsInMenu << " vs. " << trp->endPathsInMenu;
458  std::cout << ost.str() << std::endl;
459  XCEPT_RAISE(evf::Exception,ost.str());
460  }
462 
463 }
464 
466 {
467 
469 
470  funcs::reset(trp);
471 
473 }
474 
476 {
477 
478  //copy the event summary
482 
483  for(unsigned int i = 0; i < trp_.trigPathSummaries.size(); i++)
484  {
485  // reset individual path summaries
486  trp_.trigPathSummaries[i].timesRun = 0;
487  trp_.trigPathSummaries[i].timesPassed = 0;
488  trp_.trigPathSummaries[i].timesFailed = 0;
489  trp_.trigPathSummaries[i].timesExcept = 0;
490 
491  //loop over modules in path
492  for(unsigned int j = 0; j<trp_.trigPathSummaries[i].moduleInPathSummaries.size(); j++)
493  {
494  //reset module summaries
495  trp_.trigPathSummaries[i].moduleInPathSummaries[j].timesVisited = 0;
496  trp_.trigPathSummaries[i].moduleInPathSummaries[j].timesPassed = 0;
497  trp_.trigPathSummaries[i].moduleInPathSummaries[j].timesFailed = 0;
498  trp_.trigPathSummaries[i].moduleInPathSummaries[j].timesExcept = 0;
499  }
500  }
501  for(unsigned int i = 0; i < trp_.endPathSummaries.size(); i++)
502  {
503  trp_.endPathSummaries[i].timesRun = 0;
504  trp_.endPathSummaries[i].timesPassed = 0;
505  trp_.endPathSummaries[i].timesFailed = 0;
506  trp_.endPathSummaries[i].timesExcept = 0;
507  for(unsigned int j = 0; j<trp_.endPathSummaries[i].moduleInPathSummaries.size(); j++)
508  {
509  trp_.endPathSummaries[i].moduleInPathSummaries[j].timesVisited = 0;
510  trp_.endPathSummaries[i].moduleInPathSummaries[j].timesPassed = 0;
511  trp_.endPathSummaries[i].moduleInPathSummaries[j].timesFailed = 0;
512  trp_.endPathSummaries[i].moduleInPathSummaries[j].timesExcept = 0;
513  }
514  }
515 
516 }
518  std::vector<edm::ModuleDescription const*>& descs,
519  unsigned int ind,
520  std::string type)
521 {
522  std::string retval;
523  for(unsigned int j=0;
524  j<tr.endPathSummaries[ind].moduleInPathSummaries.size();
525  j++) {
526 
527  std::string label = tr.endPathSummaries[ind].moduleInPathSummaries[j].moduleLabel;
528  for(unsigned int k = 0; k < descs.size(); k++)
529  {
530  if(descs[k]->moduleLabel() == label)
531  {
532  if(descs[k]->moduleName() == type) {retval = label; break;}
533  }
534  }
535  }
536  return retval;
537 }
538 
539 }//end namespace fuep
540 }//end namespace evf
type
Definition: HCALResponse.h:22
std::vector< PathSummary > endPathSummaries
Definition: TriggerReport.h:65
int i
Definition: DBlmapReader.cc:9
std::vector< xdata::UnsignedInteger32 > accept_
const std::string & label
Definition: MVAComputer.cc:186
TriggerReportStatic * getPackedTriggerReportAsStruct()
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_
boost::tokenizer< boost::char_separator< char > > tokenizer
PathSummaryStatic trigPathSummaries[max_paths]
xdata::UnsignedInteger32 eventsProcessed_
#define min(a, b)
Definition: mlp_lapack.h:161
std::vector< unsigned int > pfailed_
void addToReport(TriggerReportStatic *trs, TriggerReportStatic *trp, unsigned int lumisection)
std::vector< WorkerSummary > workerSummaries
Definition: TriggerReport.h:66
std::vector< std::string > outname_
uint16_t size_type
std::vector< unsigned int > pl1pre_
std::vector< xdata::UnsignedInteger32 > l1pre_
void printTriggerReport(edm::TriggerReport &)
std::vector< PathSummary > trigPathSummaries
Definition: TriggerReport.h:64
EventSummary eventSummary
Definition: TriggerReport.h:63
xdata::UnsignedInteger32 eventsAccepted_
std::vector< xdata::UnsignedInteger32 > ps_
void reset(TriggerReportStatic *)
int j
Definition: DBlmapReader.cc:9
PathSummaryStatic endPathSummaries[max_endpaths]
int k[5][pyjets_maxn]
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)
static const size_t max_paths
std::vector< unsigned int > paccept_
tuple cout
Definition: gather_cfg.py:41
edm::EventSummary eventSummary
void packTriggerReport(edm::TriggerReport &, ShmOutputModuleRegistry *)
std::vector< unsigned int > pps_
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
Definition: HLTadd.h:40