ATLAS Offline Software
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
AthenaSummarySvc Class Reference

#include <AthenaSummarySvc.h>

Inheritance diagram for AthenaSummarySvc:
Collaboration diagram for AthenaSummarySvc:

Public Member Functions

 AthenaSummarySvc (const std::string &name, ISvcLocator *svc)
 
virtual StatusCode initialize () override
 
virtual StatusCode reinitialize () override
 
virtual StatusCode finalize () override
 
virtual StatusCode createSummary () override
 
virtual void setStatus (int s) override
 
virtual void addListener (const std::string &incident_name) override
 
virtual void addSummary (const std::string &dict_key, const std::string &data) override
 
virtual const std::string & getOutputFile () const override
 

Private Member Functions

void createDict (std::ofstream &)
 
void createASCII (std::ofstream &)
 
virtual void handle (const Incident &inc) override
 

Static Private Member Functions

static void newHandler ()
 

Private Attributes

StringProperty m_summaryFile
 
StringProperty m_summaryFormat
 
StringArrayProperty m_extraInc
 
StringArrayProperty m_keywords
 
ServiceHandle< IIncidentSvc > p_incSvc
 
ILoggedMessageSvcp_logMsg {nullptr}
 
std::list< std::string > m_inputFilesRead
 
std::list< std::string > m_outputFiles
 
std::list< std::string > m_outputFilesError
 
std::map< std::string, std::map< std::string, int > > m_extraIncidents
 
std::vector< std::pair< std::string, std::string > > m_extraInfo
 
std::new_handler m_new {nullptr}
 
int m_status {0}
 
unsigned int m_eventsRead {0}
 
unsigned int m_eventsWritten {0}
 
unsigned int m_eventsSkipped {0}
 
unsigned int m_runs {0}
 

Static Private Attributes

static char *s_block ATLAS_THREAD_SAFE
 
static bool s_badalloc ATLAS_THREAD_SAFE
 

Detailed Description

Definition at line 36 of file AthenaSummarySvc.h.

Constructor & Destructor Documentation

◆ AthenaSummarySvc()

AthenaSummarySvc::AthenaSummarySvc ( const std::string &  name,
ISvcLocator *  svc 
)

Definition at line 119 of file AthenaSummarySvc.cxx.

120  : base_class( name, svc ),
121  p_incSvc("IncidentSvc",name),
122  m_new (std::set_new_handler( &AthenaSummarySvc::newHandler ))
123 {
124 }

Member Function Documentation

◆ addListener()

void AthenaSummarySvc::addListener ( const std::string &  incident_name)
overridevirtual

Definition at line 224 of file AthenaSummarySvc.cxx.

224  {
225 
226  ATH_MSG_DEBUG("now listening to incident " << inc);
227 
228  if (m_extraIncidents.find( inc ) == m_extraIncidents.end()) {
229  p_incSvc->addListener( this, inc, 100, true);
230  m_extraIncidents[inc] = map<string,int>();
231  } else {
232  ATH_MSG_INFO("already listening to Incident " << inc);
233  }
234 
235 }

◆ addSummary()

void AthenaSummarySvc::addSummary ( const std::string &  dict_key,
const std::string &  data 
)
overridevirtual

Definition at line 240 of file AthenaSummarySvc.cxx.

240  {
241 
242  ATH_MSG_DEBUG("adding extra info: " << dict << "/" << info);
243 
244  m_extraInfo.push_back( make_pair(dict,info) );
245 
246 }

◆ createASCII()

void AthenaSummarySvc::createASCII ( std::ofstream &  ofs)
private

Definition at line 373 of file AthenaSummarySvc.cxx.

373  {
374 
375  ATH_MSG_DEBUG("createASCII");
376 
377  list<string>::const_iterator itr;
378 
379  ofs << "Files read: " << m_inputFilesRead.size() << std::endl;
380  for (itr=m_inputFilesRead.begin(); itr != m_inputFilesRead.end(); ++itr) {
381  ofs << " " << *itr << endl;
382  }
383 
384  ofs << "Files written: " << m_outputFiles.size() << std::endl;
385  for (itr=m_outputFiles.begin(); itr != m_outputFiles.end(); ++itr) {
386  ofs << " " << *itr << endl;
387  }
388 
389  ofs << "File Write Error: " << m_outputFilesError.size() << std::endl;
390  for (itr=m_outputFilesError.begin(); itr != m_outputFilesError.end(); ++itr) {
391  ofs << " " << *itr << endl;
392  }
393 
394  ofs << "Events Read: " << m_eventsRead << endl;
395  ofs << "Events Written: " << m_eventsWritten << endl;
396  ofs << "Events Skipped: " << m_eventsSkipped << endl;
397 
398  ofs << "Runs: " << m_runs << endl;
399 
400 
401  ofs << "Message Count: " << endl;
402  ofs << " FATAL: " << msgSvc()->messageCount( MSG::FATAL ) << endl;
403  ofs << " ERROR: " << msgSvc()->messageCount( MSG::ERROR ) << endl;
404  ofs << " WARNING: " << msgSvc()->messageCount( MSG::WARNING ) << endl;
405  ofs << " INFO: " << msgSvc()->messageCount( MSG::INFO ) << endl;
406 
407  if (p_logMsg != nullptr) {
408 
409  IntegerProperty thresh("loggingLevel",MSG::VERBOSE);
410  IProperty *ip = dynamic_cast<IProperty*>( p_logMsg );
411  if (ip != nullptr) {
412  if (ip->getProperty(&thresh).isFailure()) {
413  ATH_MSG_ERROR("could not get loggingLevel property of LoggedMessageSvc");
414  }
415  } else {
416  ATH_MSG_ERROR("could not dcast LoggedMessageSvc to IProperty");
417  }
418 
419 
420 
421  ofs << "Message Log: " << endl;
422  vector<pair<string,string> > msgs;
423  vector<pair<string,string> >::const_iterator mitr;
424  for (unsigned int l=thresh.value(); l < MSG::ALWAYS; l++) {
425  ofs << " " << levelNames[l];
426  msgs = p_logMsg->getMessages( MSG::Level(l) );
427  ofs << " " << msgs.size() << endl;
428  for (mitr=msgs.begin(); mitr != msgs.end(); ++mitr) {
429  ofs << " " << mitr->first << " : " << mitr->second << endl;
430  }
431  }
432 
433  ofs << "Keyword tracked messages: " << endl;
434  for (const auto& msg : p_logMsg->getKeyMessages()) {
435  ofs << " " << levelNames[msg.level]
436  << " " << msg.source
437  << " " << msg.message
438  << endl;
439  }
440 
441  }
442 
443  if (m_extraInfo.size() > 0) {
444  ofs << "Extra Summary Info:" << endl;
445  vector<pair<string,string> >::const_iterator itr (m_extraInfo.begin() );
446  for (; itr != m_extraInfo.end(); ++itr) {
447  ofs << " " << itr->first << " : " << itr->second << endl;
448  }
449  }
450 
451  if (m_extraIncidents.size() > 0) {
452  ofs << "Extra Incident Counts:" << endl;
453  map<string, map<string,int> >::const_iterator itr(m_extraIncidents.begin());
454  for (; itr != m_extraIncidents.end(); ++itr) {
455  ofs << " " << itr->first;
456  if (itr->second.begin() == itr->second.end()) {
457  ofs << " : 0" << endl;
458  } else {
459  for (map<string,int>::const_iterator it=itr->second.begin();
460  it != itr->second.end(); ++it) {
461  ofs << " :: " << it->first << ":" << it->second;
462  }
463  ofs << endl;
464  }
465  }
466  }
467 
468  if (s_badalloc) {
469  ofs << "std::bad_alloc caught: out of memory condition detected"
470  << endl;
471  }
472 
473  ofs << "Exit Status: " << m_status << endl;
474 
475 
476 }

◆ createDict()

void AthenaSummarySvc::createDict ( std::ofstream &  ofd)
private

Definition at line 480 of file AthenaSummarySvc.cxx.

480  {
481 
482  ATH_MSG_DEBUG("createDict");
483 
484  list<string>::const_iterator itr;
485 
486  PD p;
487 
488  PD files;
489  string f;
490  for (itr=m_inputFilesRead.begin(); itr != m_inputFilesRead.end(); ++itr) {
491  if (f.length() > 0) { f += ","; }
492  f += *itr;
493  }
494  files.add("read",f);
495 
496  f.clear();
497  for (itr=m_outputFiles.begin(); itr != m_outputFiles.end(); ++itr) {
498  if (f.length() > 0) { f += ","; }
499  f += *itr;
500  }
501  files.add("write",f);
502 
503  f.clear();
504  for (itr=m_outputFilesError.begin(); itr != m_outputFilesError.end(); ++itr) {
505  if (f.length() > 0) { f += ","; }
506  f += *itr;
507  }
508  files.add("write error",f);
509 
510  p.add("files",files);
511 
512  PD events;
513  events.add("read",m_eventsRead);
514  events.add("write",m_eventsWritten);
515  events.add("skip",m_eventsSkipped);
516 
517  p.add("events",events);
518 
519  p.add("runs",m_runs);
520 
521  PD msg;
522  msg.add("FATAL",msgSvc()->messageCount( MSG::FATAL ));
523  msg.add("ERROR",msgSvc()->messageCount( MSG::ERROR ));
524  msg.add("WARNING",msgSvc()->messageCount( MSG::WARNING ));
525  msg.add("INFO",msgSvc()->messageCount( MSG::INFO ));
526 
527  p.add("message count",msg);
528 
529  if (p_logMsg != nullptr) {
530 
531  IntegerProperty thresh("loggingLevel",MSG::VERBOSE);
532  IProperty *ip = dynamic_cast<IProperty*>( p_logMsg );
533  if (ip != nullptr) {
534  if (ip->getProperty(&thresh).isFailure()) {
535  ATH_MSG_ERROR("could not get loggingLevel property of LoggedMessageSvc");
536  }
537  } else {
538  ATH_MSG_ERROR("could not dcast LoggedMessageSvc to IProperty");
539  }
540 
541  PD mlog;
542  vector<pair<string,string> > msgs;
543  vector<pair<string,string> >::const_iterator mitr;
544  for (unsigned int l=thresh.value(); l < MSG::ALWAYS; l++) {
545  PD slog;
546  msgs = p_logMsg->getMessages( MSG::Level(l) );
547  for (mitr=msgs.begin(); mitr != msgs.end(); ++mitr) {
548  slog.add(mitr->first, mitr->second);
549  }
550  mlog.add(levelNames[l],slog);
551  }
552 
553  p.add("messages",mlog);
554 
555  }
556 
557  if (m_extraInfo.size() > 0) {
558  PD user;
559  vector<pair<string,string> >::const_iterator itr (m_extraInfo.begin() );
560  for (; itr != m_extraInfo.end(); ++itr) {
561  string dat = itr->second;
562  while( dat.find("\n") != string::npos) {
563  dat.erase(dat.find("\n"),1);
564  }
565  user.add(itr->first, dat);
566  }
567  p.add("user data",user);
568  }
569 
570  if (m_extraIncidents.size() > 0) {
571  PD inc;
572  map<string, map<string,int> >::const_iterator itr(m_extraIncidents.begin());
573  for (; itr != m_extraIncidents.end(); ++itr) {
574  if (itr->second.begin() == itr->second.end()) {
575  inc.add(itr->first,0);
576  } else {
577  PD inc2;
578  for (map<string,int>::const_iterator it=itr->second.begin();
579  it != itr->second.end(); ++it) {
580  inc2.add(it->first, it->second);
581  }
582  inc.add(itr->first, inc2);
583  }
584  }
585 
586 // PD inc;
587 // map<string, int>::const_iterator itr(m_extraIncidents.begin());
588 // for (; itr != m_extraIncidents.end(); ++itr) {
589 // inc.add(itr->first, itr->second);
590 // }
591 
592  p.add("extra incidents",inc);
593  }
594 
595  p.add("exit",m_status);
596  p.add("bad_alloc",s_badalloc);
597 
598  ofd << p.dump() << endl;
599 
600 }

◆ createSummary()

StatusCode AthenaSummarySvc::createSummary ( )
overridevirtual

Definition at line 342 of file AthenaSummarySvc.cxx.

342  {
343 
344  ATH_MSG_DEBUG("createSummary");
345 
346  std::ofstream ofs;
347  ofs.open(m_summaryFile.value().c_str());
348  if (!ofs) {
349  ATH_MSG_ERROR("Unable to open output file \"" << m_summaryFile.value() << "\"");
350  return StatusCode::FAILURE;
351  }
352 
353  ATH_MSG_DEBUG("Writing to \"" << m_summaryFile.value() << "\"");
354 
355  if (m_summaryFormat.value() == "ascii" || m_summaryFormat.value() == "both") {
356  createASCII(ofs);
357  }
358 
359  if (m_summaryFormat.value() == "python" || m_summaryFormat.value() == "both") {
360  createDict(ofs);
361  }
362 
363  ofs.close();
364 
365  return StatusCode::SUCCESS;
366 
367 
368 }

◆ finalize()

StatusCode AthenaSummarySvc::finalize ( )
overridevirtual

Definition at line 210 of file AthenaSummarySvc.cxx.

210  {
211 
212  createSummary().ignore();
213 
214  // cleanup
215  delete[] s_block; s_block = nullptr;
216  std::set_new_handler( m_new );
217 
218  return StatusCode::SUCCESS;
219 }

◆ getOutputFile()

virtual const std::string& AthenaSummarySvc::getOutputFile ( ) const
inlineoverridevirtual

Definition at line 60 of file AthenaSummarySvc.h.

61 {this, "SummaryFile", "AthSummary.txt",

◆ handle()

void AthenaSummarySvc::handle ( const Incident &  inc)
overrideprivatevirtual

Definition at line 292 of file AthenaSummarySvc.cxx.

292  {
293 
294  ATH_MSG_DEBUG("handle incident: " << inc.type() << " " << inc.source());
295 
296  string fileName;
297 
298  const FileIncident *fi = dynamic_cast<const FileIncident*>( &inc );
299  if (fi != nullptr) {
300  // FIXME!!! waiting on AthenaPoolKernel-00-00-07
301  ATH_MSG_INFO(" -> file incident: " << fi->fileName() << " [GUID: " << fi->fileGuid() << "]");
302  fileName = fi->fileName();
303  } else {
304  fileName = inc.source();
305  }
306 
307  if (inc.type() == "BeginInputFile" ) {
308  m_inputFilesRead.push_back( fileName );
309  } else if (inc.type() == "BeginOutputFile") {
310  m_outputFiles.push_back( fileName );
311  } else if (inc.type() == "FailOutputFile") {
312  m_outputFilesError.push_back( fileName );
313  } else if (inc.type() == "BeginEvent") {
314  m_eventsRead ++;
315  } else if (inc.type() == "SkipEvent") {
316  m_eventsSkipped ++;
317  } else if (inc.type() == "WriteEvent") {
318  m_eventsWritten ++;
319  } else if (inc.type() == "BeginRun") {
320  m_runs ++;
321  } else if (inc.type() == "EndRun") {
322  }
323 
324  map<std::string, map<string,int> >::iterator itr
325  ( m_extraIncidents.find(inc.type()) );
326 
327  if (itr != m_extraIncidents.end()) {
328  map<string,int>::iterator it = itr->second.find(inc.source());
329  if (it != itr->second.end()) {
330  m_extraIncidents[inc.type()][inc.source()]++;
331  } else {
332  m_extraIncidents[inc.type()][inc.source()] = 1;
333  }
334  }
335 
336 }

◆ initialize()

StatusCode AthenaSummarySvc::initialize ( )
overridevirtual

Definition at line 128 of file AthenaSummarySvc.cxx.

128  {
129 
130  ATH_MSG_DEBUG("Initializing AthenaSummarySvc");
131 
132  int pri=100;
133  p_incSvc->addListener( this, "BeginInputFile", pri, true);
134  p_incSvc->addListener( this, "EndInputFile", pri, true);
135  p_incSvc->addListener( this, "BeginOutputFile", pri, true);
136  p_incSvc->addListener( this, "FailOutputFile", pri, true);
137  p_incSvc->addListener( this, "WroteToOutputFile", pri, true);
138  p_incSvc->addListener( this, "EndOutputFile", pri, true);
139 
140  p_incSvc->addListener( this, "AbortEvent", pri, true);
141 
142  p_incSvc->addListener( this, "BeginEvent", pri, true);
143  p_incSvc->addListener( this, "EndEvent", pri, true);
144  p_incSvc->addListener( this, "BeginRun", pri, true);
145  p_incSvc->addListener( this, "EndRun", pri, true);
146 
147  p_incSvc->addListener( this, "FirstInputFile", pri, true );
148 
149  vector<string>::const_iterator itr;
150  for (itr=m_extraInc.value().begin(); itr != m_extraInc.value().end(); ++itr) {
151  ATH_MSG_DEBUG("Tracking incident \"" << *itr << "\"");
152  addListener(*itr);
153  }
154 
155  p_logMsg = dynamic_cast< ILoggedMessageSvc* > ( msgSvc().get() );
156  if (p_logMsg == nullptr) {
157  ATH_MSG_INFO("unable dcast IMessageSvc to ILoggedMessageSvc: "
158  "not scanning for keywords in logs, or printing logged messages");
159  } else {
160 
161  if (m_keywords.value().size() > 0) {
162  IProperty *ip = dynamic_cast<IProperty*>( p_logMsg );
163  if (ip != nullptr) {
164  if (ip->setProperty(m_keywords).isFailure()) {
165  ATH_MSG_ERROR("could not set keywords property of LoggedMessageSvc");
166  } else {
167  ATH_MSG_INFO("Scanning log for keyword \"" << m_keywords
168  << "\". CAVEAT EMPTOR - THIS IS VERY SLOW!!");
169  }
170  } else {
171  ATH_MSG_ERROR("could not dcast LoggedMessageSvc to IProperty");
172  }
173  }
174  }
175 
176  std::string fmt = m_summaryFormat.value();
177  tolower(fmt);
179 
180  // save some space for the summary output if we run out of memory
181  ATH_MSG_DEBUG("allocating block of 100 pages");
182  const long pageSize = sysconf( _SC_PAGESIZE );
183  if (pageSize < 1 || pageSize > 1024*1024*1024) {
184  ATH_MSG_FATAL ("Bad page size from sysconf");
185  return StatusCode::FAILURE;
186  }
187  s_block = new char[ pageSize * 100 ];
188 
189 
190  return StatusCode(s_block!=nullptr);
191 
192 }

◆ newHandler()

void AthenaSummarySvc::newHandler ( )
staticprivate

Definition at line 252 of file AthenaSummarySvc.cxx.

252  {
253 
254  s_badalloc = true;
255 
256  if ( ! s_block )
257  throw std::bad_alloc(); // default behavior (no print-out)
258 
259  // release our block to create working space for finalize()
260  delete[] s_block; s_block = nullptr;
261 
262  // print onto std::cerr rather than MsgStream, as it's more innocuous
263  std::cerr << "AthenaSummarySvc FATAL out of memory: saving summary ..."
264  << std::endl;
265 
266  SmartIF<IAthenaSummarySvc> ipa(Gaudi::svcLocator()->service("AthenaSummarySvc"));
267 
268  if (ipa) {
269  std::string btrace;
270  if ( System::backTrace(btrace,5,3) ) {
271  ipa->addSummary("badalloc backtrace",btrace);
272  }
273 
274  ipa->setStatus(99);
275  ipa->createSummary().ignore();
276  } else {
277  std::cerr << "AthenaSummarySvc ERROR unable to get hold of myself and print summary"
278  << std::endl;
279  }
280 
281 
282  // in order to abort the job, throw a bad_alloc, which should make its way
283  // through to python, even if the ExceptionSvc is used, and that will shutdown
284  // (finalize/terminate) the application on exit
285  throw std::bad_alloc();
286 
287 }

◆ reinitialize()

StatusCode AthenaSummarySvc::reinitialize ( )
overridevirtual

Definition at line 196 of file AthenaSummarySvc.cxx.

196  {
197 
198  delete[] s_block; s_block = nullptr;
199  long pageSize = sysconf( _SC_PAGESIZE );
200  if (pageSize < 1 || pageSize > 1024*1024*1024) {
201  ATH_MSG_FATAL ("Bad page size from sysconf");
202  return StatusCode::FAILURE;
203  }
204  s_block = new char[ pageSize * 100 ];
205  return s_block ? StatusCode::SUCCESS : StatusCode::FAILURE;
206 
207 }

◆ setStatus()

virtual void AthenaSummarySvc::setStatus ( int  s)
inlineoverridevirtual

Definition at line 57 of file AthenaSummarySvc.h.

61 {this, "SummaryFile", "AthSummary.txt",

Member Data Documentation

◆ ATLAS_THREAD_SAFE [1/2]

char* s_block AthenaSummarySvc::ATLAS_THREAD_SAFE
staticprivate

Definition at line 83 of file AthenaSummarySvc.h.

◆ ATLAS_THREAD_SAFE [2/2]

bool s_badalloc AthenaSummarySvc::ATLAS_THREAD_SAFE
staticprivate

Definition at line 84 of file AthenaSummarySvc.h.

◆ m_eventsRead

unsigned int AthenaSummarySvc::m_eventsRead {0}
private

Definition at line 95 of file AthenaSummarySvc.h.

◆ m_eventsSkipped

unsigned int AthenaSummarySvc::m_eventsSkipped {0}
private

Definition at line 97 of file AthenaSummarySvc.h.

◆ m_eventsWritten

unsigned int AthenaSummarySvc::m_eventsWritten {0}
private

Definition at line 96 of file AthenaSummarySvc.h.

◆ m_extraInc

StringArrayProperty AthenaSummarySvc::m_extraInc
private
Initial value:
{this, "ExtraIncidents", {},
"user incidets to monitor"}

Definition at line 74 of file AthenaSummarySvc.h.

◆ m_extraIncidents

std::map< std::string, std::map<std::string, int> > AthenaSummarySvc::m_extraIncidents
private

Definition at line 90 of file AthenaSummarySvc.h.

◆ m_extraInfo

std::vector< std::pair<std::string, std::string> > AthenaSummarySvc::m_extraInfo
private

Definition at line 91 of file AthenaSummarySvc.h.

◆ m_inputFilesRead

std::list<std::string> AthenaSummarySvc::m_inputFilesRead
private

Definition at line 86 of file AthenaSummarySvc.h.

◆ m_keywords

StringArrayProperty AthenaSummarySvc::m_keywords
private
Initial value:
{this, "keywords", {},
"kewords to scan for in MessageSvc. WARNING: THIS IS VERY SLOW!!!"}

Definition at line 76 of file AthenaSummarySvc.h.

◆ m_new

std::new_handler AthenaSummarySvc::m_new {nullptr}
private

Definition at line 93 of file AthenaSummarySvc.h.

◆ m_outputFiles

std::list<std::string> AthenaSummarySvc::m_outputFiles
private

Definition at line 87 of file AthenaSummarySvc.h.

◆ m_outputFilesError

std::list<std::string> AthenaSummarySvc::m_outputFilesError
private

Definition at line 88 of file AthenaSummarySvc.h.

◆ m_runs

unsigned int AthenaSummarySvc::m_runs {0}
private

Definition at line 98 of file AthenaSummarySvc.h.

◆ m_status

int AthenaSummarySvc::m_status {0}
private

Definition at line 94 of file AthenaSummarySvc.h.

◆ m_summaryFile

StringProperty AthenaSummarySvc::m_summaryFile
private
Initial value:
{this, "SummaryFile", "AthSummary.txt",
"Output File"}

Definition at line 70 of file AthenaSummarySvc.h.

◆ m_summaryFormat

StringProperty AthenaSummarySvc::m_summaryFormat
private
Initial value:
{this, "SummaryFileFormat", "both",
"output format: one of 'ascii', 'python', 'both'"}

Definition at line 72 of file AthenaSummarySvc.h.

◆ p_incSvc

ServiceHandle<IIncidentSvc> AthenaSummarySvc::p_incSvc
private

Definition at line 80 of file AthenaSummarySvc.h.

◆ p_logMsg

ILoggedMessageSvc* AthenaSummarySvc::p_logMsg {nullptr}
private

Definition at line 81 of file AthenaSummarySvc.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:18
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
AthenaSummarySvc::m_summaryFile
StringProperty m_summaryFile
Definition: AthenaSummarySvc.h:70
physval_make_web_display.thresh
thresh
Definition: physval_make_web_display.py:35
AthenaSummarySvc::createASCII
void createASCII(std::ofstream &)
Definition: AthenaSummarySvc.cxx:373
skel.it
it
Definition: skel.GENtoEVGEN.py:407
AthenaSummarySvc::m_extraInc
StringArrayProperty m_extraInc
Definition: AthenaSummarySvc.h:74
AthenaSummarySvc::m_new
std::new_handler m_new
Definition: AthenaSummarySvc.h:93
AthenaSummarySvc::m_extraInfo
std::vector< std::pair< std::string, std::string > > m_extraInfo
Definition: AthenaSummarySvc.h:91
fmt
const char *const fmt
Definition: TripleGaussCollFit.cxx:84
AthenaSummarySvc::m_summaryFormat
StringProperty m_summaryFormat
Definition: AthenaSummarySvc.h:72
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:157
AthenaSummarySvc::m_runs
unsigned int m_runs
Definition: AthenaSummarySvc.h:98
AthenaSummarySvc::m_eventsRead
unsigned int m_eventsRead
Definition: AthenaSummarySvc.h:95
ILoggedMessageSvc
Definition: ILoggedMessageSvc.h:21
python.DataFormatRates.events
events
Definition: DataFormatRates.py:105
AthenaSummarySvc::m_eventsSkipped
unsigned int m_eventsSkipped
Definition: AthenaSummarySvc.h:97
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
python.InDetPriVxFinderConfig.mlog
mlog
Definition: InDetPriVxFinderConfig.py:149
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
TrigConf::MSGTC::ALWAYS
@ ALWAYS
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:29
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
tolower
void tolower(std::string &s)
Definition: AthenaSummarySvc.cxx:108
generateReferenceFile.files
files
Definition: generateReferenceFile.py:12
find_tgc_unfilled_channelids.ip
ip
Definition: find_tgc_unfilled_channelids.py:3
PD
Definition: AthenaSummarySvc.cxx:43
hist_file_dump.f
f
Definition: hist_file_dump.py:140
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
AthenaSummarySvc::p_incSvc
ServiceHandle< IIncidentSvc > p_incSvc
Definition: AthenaSummarySvc.h:80
AthenaSummarySvc::m_status
int m_status
Definition: AthenaSummarySvc.h:94
AthenaSummarySvc::createSummary
virtual StatusCode createSummary() override
Definition: AthenaSummarySvc.cxx:342
ILoggedMessageSvc::getMessages
virtual std::vector< std::pair< std::string, std::string > > getMessages(MSG::Level) const =0
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
AthenaSummarySvc::newHandler
static void newHandler()
Definition: AthenaSummarySvc.cxx:252
WriteBchToCool.user
user
Definition: WriteBchToCool.py:76
AthenaSummarySvc::m_outputFiles
std::list< std::string > m_outputFiles
Definition: AthenaSummarySvc.h:87
AthenaSummarySvc::m_extraIncidents
std::map< std::string, std::map< std::string, int > > m_extraIncidents
Definition: AthenaSummarySvc.h:90
AthenaSummarySvc::m_outputFilesError
std::list< std::string > m_outputFilesError
Definition: AthenaSummarySvc.h:88
AthenaSummarySvc::m_inputFilesRead
std::list< std::string > m_inputFilesRead
Definition: AthenaSummarySvc.h:86
python.Constants.INFO
int INFO
Definition: Control/AthenaCommon/python/Constants.py:15
AthenaSummarySvc::m_keywords
StringArrayProperty m_keywords
Definition: AthenaSummarySvc.h:76
ILoggedMessageSvc::getKeyMessages
virtual std::vector< LoggedMessage > getKeyMessages() const =0
PD::add
void add(const string &a, const char *b)
Definition: AthenaSummarySvc.cxx:48
AthenaSummarySvc::createDict
void createDict(std::ofstream &)
Definition: AthenaSummarySvc.cxx:480
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:13
jobOptions.fileName
fileName
Definition: jobOptions.SuperChic_ALP2.py:39
AthenaSummarySvc::p_logMsg
ILoggedMessageSvc * p_logMsg
Definition: AthenaSummarySvc.h:81
AthenaSummarySvc::addListener
virtual void addListener(const std::string &incident_name) override
Definition: AthenaSummarySvc.cxx:224
AthenaSummarySvc::m_eventsWritten
unsigned int m_eventsWritten
Definition: AthenaSummarySvc.h:96
python.ParticleTypeUtil.info
def info
Definition: ParticleTypeUtil.py:87
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7