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 35 of file AthenaSummarySvc.h.

Constructor & Destructor Documentation

◆ AthenaSummarySvc()

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

Definition at line 122 of file AthenaSummarySvc.cxx.

123  : base_class( name, svc ),
124  p_incSvc("IncidentSvc",name),
125  m_new (std::set_new_handler( &AthenaSummarySvc::newHandler ))
126 {
127 }

Member Function Documentation

◆ addListener()

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

Definition at line 217 of file AthenaSummarySvc.cxx.

217  {
218 
219  ATH_MSG_DEBUG("now listening to incident " << inc);
220 
221  if (m_extraIncidents.find( inc ) == m_extraIncidents.end()) {
222  p_incSvc->addListener( this, inc, 100, true);
223  m_extraIncidents[inc] = map<string,int>();
224  } else {
225  ATH_MSG_INFO("already listening to Incident " << inc);
226  }
227 
228 }

◆ addSummary()

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

Definition at line 233 of file AthenaSummarySvc.cxx.

233  {
234 
235  ATH_MSG_DEBUG("adding extra info: " << dict << "/" << info);
236 
237  m_extraInfo.push_back( make_pair(dict,info) );
238 
239 }

◆ createASCII()

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

Definition at line 366 of file AthenaSummarySvc.cxx.

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

◆ createDict()

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

Definition at line 472 of file AthenaSummarySvc.cxx.

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

◆ createSummary()

StatusCode AthenaSummarySvc::createSummary ( )
overridevirtual

Definition at line 335 of file AthenaSummarySvc.cxx.

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

◆ finalize()

StatusCode AthenaSummarySvc::finalize ( )
overridevirtual

Definition at line 203 of file AthenaSummarySvc.cxx.

203  {
204 
205  createSummary().ignore();
206 
207  // cleanup
208  delete[] s_block; s_block = nullptr;
209  std::set_new_handler( m_new );
210 
211  return StatusCode::SUCCESS;
212 }

◆ getOutputFile()

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

Definition at line 59 of file AthenaSummarySvc.h.

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

◆ handle()

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

Definition at line 285 of file AthenaSummarySvc.cxx.

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

◆ initialize()

StatusCode AthenaSummarySvc::initialize ( )
overridevirtual

Definition at line 131 of file AthenaSummarySvc.cxx.

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

◆ newHandler()

void AthenaSummarySvc::newHandler ( )
staticprivate

Definition at line 245 of file AthenaSummarySvc.cxx.

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

◆ reinitialize()

StatusCode AthenaSummarySvc::reinitialize ( )
overridevirtual

Definition at line 194 of file AthenaSummarySvc.cxx.

194  {
195 
196  delete[] s_block; s_block = nullptr;
197  s_block = new char[ sysconf( _SC_PAGESIZE ) * 100 ];
198  return s_block ? StatusCode::SUCCESS : StatusCode::FAILURE;
199 
200 }

◆ setStatus()

virtual void AthenaSummarySvc::setStatus ( int  s)
inlineoverridevirtual

Definition at line 56 of file AthenaSummarySvc.h.

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

Member Data Documentation

◆ ATLAS_THREAD_SAFE [1/2]

char* s_block AthenaSummarySvc::ATLAS_THREAD_SAFE
staticprivate

Definition at line 82 of file AthenaSummarySvc.h.

◆ ATLAS_THREAD_SAFE [2/2]

bool s_badalloc AthenaSummarySvc::ATLAS_THREAD_SAFE
staticprivate

Definition at line 83 of file AthenaSummarySvc.h.

◆ m_eventsRead

unsigned int AthenaSummarySvc::m_eventsRead {0}
private

Definition at line 94 of file AthenaSummarySvc.h.

◆ m_eventsSkipped

unsigned int AthenaSummarySvc::m_eventsSkipped {0}
private

Definition at line 96 of file AthenaSummarySvc.h.

◆ m_eventsWritten

unsigned int AthenaSummarySvc::m_eventsWritten {0}
private

Definition at line 95 of file AthenaSummarySvc.h.

◆ m_extraInc

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

Definition at line 73 of file AthenaSummarySvc.h.

◆ m_extraIncidents

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

Definition at line 89 of file AthenaSummarySvc.h.

◆ m_extraInfo

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

Definition at line 90 of file AthenaSummarySvc.h.

◆ m_inputFilesRead

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

Definition at line 85 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 75 of file AthenaSummarySvc.h.

◆ m_new

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

Definition at line 92 of file AthenaSummarySvc.h.

◆ m_outputFiles

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

Definition at line 86 of file AthenaSummarySvc.h.

◆ m_outputFilesError

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

Definition at line 87 of file AthenaSummarySvc.h.

◆ m_runs

unsigned int AthenaSummarySvc::m_runs {0}
private

Definition at line 97 of file AthenaSummarySvc.h.

◆ m_status

int AthenaSummarySvc::m_status {0}
private

Definition at line 93 of file AthenaSummarySvc.h.

◆ m_summaryFile

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

Definition at line 69 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 71 of file AthenaSummarySvc.h.

◆ p_incSvc

ServiceHandle<IIncidentSvc> AthenaSummarySvc::p_incSvc
private

Definition at line 79 of file AthenaSummarySvc.h.

◆ p_logMsg

ILoggedMessageSvc* AthenaSummarySvc::p_logMsg {nullptr}
private

Definition at line 80 of file AthenaSummarySvc.h.


The documentation for this class was generated from the following files:
grepfile.info
info
Definition: grepfile.py:38
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
ILoggedMessageSvc::getKeyMessages
virtual const std::vector< LoggedMessage > & getKeyMessages() const =0
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
AthenaSummarySvc::m_summaryFile
StringProperty m_summaryFile
Definition: AthenaSummarySvc.h:69
physval_make_web_display.thresh
thresh
Definition: physval_make_web_display.py:36
AthenaSummarySvc::createASCII
void createASCII(std::ofstream &)
Definition: AthenaSummarySvc.cxx:366
skel.it
it
Definition: skel.GENtoEVGEN.py:396
AthenaSummarySvc::m_extraInc
StringArrayProperty m_extraInc
Definition: AthenaSummarySvc.h:73
AthenaSummarySvc::m_new
std::new_handler m_new
Definition: AthenaSummarySvc.h:92
AthenaSummarySvc::m_extraInfo
std::vector< std::pair< std::string, std::string > > m_extraInfo
Definition: AthenaSummarySvc.h:90
fmt
const char *const fmt
Definition: TripleGaussCollFit.cxx:84
AthenaSummarySvc::m_summaryFormat
StringProperty m_summaryFormat
Definition: AthenaSummarySvc.h:71
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
AthenaSummarySvc::m_runs
unsigned int m_runs
Definition: AthenaSummarySvc.h:97
AthenaSummarySvc::m_eventsRead
unsigned int m_eventsRead
Definition: AthenaSummarySvc.h:94
ILoggedMessageSvc
Definition: ILoggedMessageSvc.h:21
python.DataFormatRates.events
events
Definition: DataFormatRates.py:105
AthenaSummarySvc::m_eventsSkipped
unsigned int m_eventsSkipped
Definition: AthenaSummarySvc.h:96
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
FortranAlgorithmOptions.fileName
fileName
Definition: FortranAlgorithmOptions.py:13
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:139
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:111
generateReferenceFile.files
files
Definition: generateReferenceFile.py:12
find_tgc_unfilled_channelids.ip
ip
Definition: find_tgc_unfilled_channelids.py:3
PD
Definition: AthenaSummarySvc.cxx:46
hist_file_dump.f
f
Definition: hist_file_dump.py:135
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
AthenaSummarySvc::p_incSvc
ServiceHandle< IIncidentSvc > p_incSvc
Definition: AthenaSummarySvc.h:79
AthenaSummarySvc::m_status
int m_status
Definition: AthenaSummarySvc.h:93
AthenaSummarySvc::createSummary
virtual StatusCode createSummary() override
Definition: AthenaSummarySvc.cxx:335
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
AthenaSummarySvc::newHandler
static void newHandler()
Definition: AthenaSummarySvc.cxx:245
WriteBchToCool.user
user
Definition: WriteBchToCool.py:76
AthenaSummarySvc::m_outputFiles
std::list< std::string > m_outputFiles
Definition: AthenaSummarySvc.h:86
AthenaSummarySvc::m_extraIncidents
std::map< std::string, std::map< std::string, int > > m_extraIncidents
Definition: AthenaSummarySvc.h:89
AthenaSummarySvc::m_outputFilesError
std::list< std::string > m_outputFilesError
Definition: AthenaSummarySvc.h:87
fmt
AthenaSummarySvc::m_inputFilesRead
std::list< std::string > m_inputFilesRead
Definition: AthenaSummarySvc.h:85
AthenaSummarySvc::m_keywords
StringArrayProperty m_keywords
Definition: AthenaSummarySvc.h:75
PD::add
void add(const string &a, const char *b)
Definition: AthenaSummarySvc.cxx:51
AthenaSummarySvc::createDict
void createDict(std::ofstream &)
Definition: AthenaSummarySvc.cxx:472
ILoggedMessageSvc::getMessages
virtual const std::vector< std::pair< std::string, std::string > > & getMessages(MSG::Level) const =0
checkFileSG.fi
fi
Definition: checkFileSG.py:65
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
AthenaSummarySvc::p_logMsg
ILoggedMessageSvc * p_logMsg
Definition: AthenaSummarySvc.h:80
AthenaSummarySvc::addListener
virtual void addListener(const std::string &incident_name) override
Definition: AthenaSummarySvc.cxx:217
AthenaSummarySvc::m_eventsWritten
unsigned int m_eventsWritten
Definition: AthenaSummarySvc.h:95
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7