ATLAS Offline Software
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
AthenaMonManager Class Reference

An Algorithm that manages a set of modules, each inheriting from ManagedMonitorToolBase, by setting common configuration variables and organizing the output data. More...

#include <AthenaMonManager.h>

Inheritance diagram for AthenaMonManager:
Collaboration diagram for AthenaMonManager:

Classes

class  Imp
 

Public Types

enum  Environment_t {
  user = 0, noOutput, online, tier0,
  tier0Raw, tier0ESD, AOD, altprod
}
 An enumeration of the different types of running environment the monitoring application may be in. More...
 
enum  DataType_t {
  userDefined = 0, monteCarlo, collisions, cosmics,
  heavyIonCollisions
}
 An enumeration of the different types of data the monitoring application may be running over. More...
 

Public Member Functions

 AthenaMonManager (const std::string &name, ISvcLocator *pSvcLocator)
 
virtual ~AthenaMonManager ()
 
bool forkedProcess ()
 
virtual StatusCode initialize ()
 
virtual StatusCode execute ()
 
virtual StatusCode start ()
 
virtual StatusCode stop ()
 
virtual StatusCode finalize ()
 
virtual std::string fileKey () const
 
virtual void passOwnership (TObject *h, const std::string &key)
 Pass ownership of a TObject to this manager so that it will be deleted appropriately. More...
 
virtual void writeAndDelete (const std::string &key)
 If the TObject is owned by this manager, its Write() method is called and it is deleted. More...
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Static Public Member Functions

static Environment_t envStringToEnum (const std::string &str)
 Converts a string to an Environment_t of the same name. More...
 
static DataType_t dataTypeStringToEnum (const std::string &str)
 Converts a string to a DataType_t of the same name. More...
 
static Environment_t environment ()
 Returns the running environment of the monitoring application to help ManagedMonitorToolBase objects determine which histograms to produce. More...
 
static DataType_t dataType ()
 Returns the data type that the monitoring application is running over to help ManagedMonitorToolBase objects determine which histograms to produce. More...
 
static unsigned int lumiBlockNumber ()
 
static unsigned int runNumber ()
 
static unsigned int fillNumber ()
 
static unsigned int getLBsLowStat ()
 
static unsigned int getLBsMedStat ()
 
static unsigned int getLBsHigStat ()
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Protected Attributes

ToolHandleArray< IMonitorToolBasem_monTools
 
ServiceHandle< ITHistSvc > m_THistSvc
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

Impm_d
 
DataObjIDColl m_extendedExtraObjects
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

An Algorithm that manages a set of modules, each inheriting from ManagedMonitorToolBase, by setting common configuration variables and organizing the output data.

It provides all the functionality and behaviour of AthenaMon.

Author
Michael Wilson, CERN, January 2007

Definition at line 34 of file AthenaMonManager.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ DataType_t

An enumeration of the different types of data the monitoring application may be running over.

This can be used to select which histograms to produce, e.g., to prevent the production of colliding-beam histograms when running on cosmic-ray data. Strings of the same names may be given as jobOptions.

Enumerator
userDefined 
monteCarlo 
collisions 
cosmics 
heavyIonCollisions 

Definition at line 58 of file AthenaMonManager.h.

◆ Environment_t

An enumeration of the different types of running environment the monitoring application may be in.

The running environment may be used to select which histograms are produced, and where they are located in the output. For example, the output paths of the histograms are different for the "user", "online" and the various offline flags. The 'tier0Raw' and 'tier0ESD' are used to select sets of histograms for production either during the RAW --> ESD transform or during the ESD --> AOD transform (but not both!) Strings of the same names may be given as jobOptions.

Enumerator
user 
noOutput 
online 
tier0 
tier0Raw 
tier0ESD 
AOD 
altprod 

Definition at line 49 of file AthenaMonManager.h.

Constructor & Destructor Documentation

◆ AthenaMonManager()

AthenaMonManager::AthenaMonManager ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Definition at line 194 of file AthenaMonManager.cxx.

196  : AthAlgorithm( name, pSvcLocator )
197  , m_monTools( this )
198  , m_THistSvc("THistSvc", name)
199  , m_d(new Imp(this, name))
200 {
201  declareProperty( "AthenaMonTools", m_monTools );
202  declareProperty( "CheckEveryNoEvents", m_d->m_everyNevents );
203  declareProperty( "FileKey", m_d->m_fileKeyProp );
204  declareProperty( "ManualDataTypeSetup", m_d->m_manualDataTypeSetupProp );
205  declareProperty( "DataType", m_d->m_dataTypeProp );
206  declareProperty( "Environment", m_d->m_environmentProp );
207  declareProperty( "LBsInLowStatInterval", m_d->m_LBsLowStatProp );
208  declareProperty( "LBsInMediumStatInterval", m_d->m_LBsMedStatProp );
209  declareProperty( "LBsInHighStatInterval", m_d->m_LBsHigStatProp );
210  declareProperty( "ManualRunLBSetup", m_d->m_manualRunLBProp );
211  declareProperty( "Run", m_d->m_runProp );
212  declareProperty( "LumiBlock", m_d->m_lumiBlockProp );
213  declareProperty( "ROOTBackend", m_d->m_rootBackend );
214 
215  if( !Imp::s_svcLocator )
216  Imp::s_svcLocator = pSvcLocator;
217 }

◆ ~AthenaMonManager()

AthenaMonManager::~AthenaMonManager ( )
virtual

Definition at line 220 of file AthenaMonManager.cxx.

222 {
223  delete m_d;
224 
225  // If it is known that ManagedMonitorToolBase objects are deleted _after_ this object,
226  // then one should call setMonManager(0) on each of them.
227 }

Member Function Documentation

◆ dataType()

AthenaMonManager::DataType_t AthenaMonManager::dataType ( )
static

Returns the data type that the monitoring application is running over to help ManagedMonitorToolBase objects determine which histograms to produce.

Definition at line 314 of file AthenaMonManager.cxx.

316 {
317  return Imp::s_dataType;
318 }

◆ dataTypeStringToEnum()

AthenaMonManager::DataType_t AthenaMonManager::dataTypeStringToEnum ( const std::string &  str)
static

Converts a string to a DataType_t of the same name.

Definition at line 267 of file AthenaMonManager.cxx.

269 {
270  std::string lcstr( strToLower(str) );
271 
272  if( lcstr == "userdefined" )
273  return userDefined;
274  else if( lcstr == "montecarlo" )
275  return monteCarlo;
276  else if( lcstr == "collisions" )
277  return collisions;
278  else if( lcstr == "cosmics" )
279  return cosmics;
280  else if( lcstr == "heavyioncollisions" )
281  return heavyIonCollisions;
282 
283  if( Imp::s_svcLocator ) {
284  SmartIF<IMessageSvc> ms{Imp::s_svcLocator.load()->service( "MessageSvc" )};
285  if( ms.isValid() ) {
286  MsgStream log( ms, "AthenaMonManager::dataTypeStringToEnum()" );
287  log << MSG::WARNING << "Unknown AthenaMonManager::DataType_t \""
288  << str << "\", returning \"userDefined\"" << endmsg;
289  }
290  }
291 
292  return userDefined;
293 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ environment()

AthenaMonManager::Environment_t AthenaMonManager::environment ( )
static

Returns the running environment of the monitoring application to help ManagedMonitorToolBase objects determine which histograms to produce.

Definition at line 297 of file AthenaMonManager.cxx.

299 {
300  return Imp::s_environment;
301 }

◆ envStringToEnum()

AthenaMonManager::Environment_t AthenaMonManager::envStringToEnum ( const std::string &  str)
static

Converts a string to an Environment_t of the same name.

static method (shared by all AthenaMonManager instances during run-time)

Definition at line 231 of file AthenaMonManager.cxx.

233 {
234  std::string lcstr( strToLower(str) );
235 
236  if( lcstr == "user" )
237  return user;
238  else if( lcstr == "nooutput" )
239  return noOutput;
240  else if( lcstr == "online" )
241  return online;
242  else if( lcstr == "tier0" )
243  return tier0;
244  else if( lcstr == "tier0raw" )
245  return tier0Raw;
246  else if( lcstr == "tier0esd" )
247  return tier0ESD;
248  else if( lcstr == "aod" )
249  return AOD;
250  else if( lcstr == "altprod" )
251  return altprod;
252 
253  if( Imp::s_svcLocator ) {
254  SmartIF<IMessageSvc> ms{Imp::s_svcLocator.load()->service( "MessageSvc" )};
255  if( ms.isValid() ) {
256  MsgStream log( ms, "AthenaMonManager::envStringToEnum()" );
257  log << MSG::WARNING << "Unknown AthenaMonManager::Environment_t \""
258  << str << "\", returning \"user\"" << endmsg;
259  }
260  }
261 
262  return user;
263 }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode AthenaMonManager::execute ( )
virtual

Definition at line 468 of file AthenaMonManager.cxx.

470 {
471  m_d->m_forkedProcess=false;
472  pid_t currPID=getpid();
473  //m_lastPID 0 means the execute method was not called yet.
474  if (m_d->m_lastPID!=0 && m_d->m_lastPID!=currPID) {
475  m_d->m_forkedProcess=true;
476  ATH_MSG_INFO("Forked event discovered!");
477  }
478  m_d->m_lastPID=currPID;
479 
480  Imp::HistLeakChecker lc(m_d);
481  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "AthenaMonManager::execute():" << endmsg;
482 
483  // This is legacy R2 monitoring.
484  // We only permit serial access (over all slots) to both HLT monitoring AND navigation thinning, as both use the same underlying thread un-safe navigation tool
485  // All of these elements are deprecated for R3 and are in the process of being replaced.
486  std::unique_lock<std::mutex> hltLock(TrigNavigationThinningSvcMutex::s_mutex, std::defer_lock);
487  if (name() == "HLTMonManager") {
488  ATH_MSG_DEBUG("HLTMonManager is obtaining the TrigNavigationThinningSvc lock in slot "
489  << Gaudi::Hive::currentContext().slot() << " for event " << Gaudi::Hive::currentContext().eventID().event_number() );
490  hltLock.lock();
491  }
492 
493  StatusCode sc;
494 
496  for( ToolHandleArray<IMonitorToolBase>::iterator i = m_monTools.begin(); i != monToolsEnd; ++i ) {
497  ToolHandle<IMonitorToolBase>& tool = *i;
499  AthMonBench bench_tmp;
500  if (m_d->m_doResourceMon)
501  bench_tmp.startMeasurement();
502  if( tool->preSelector() ) {
503 
504  sc = tool->fillHists();
505 
506  if( !sc.isSuccess() ) {
507  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "IMonitorToolBase::fillHists() unsuccessful" << endmsg;
508  }
509  }
510 
511 
512  if (m_d->m_doResourceMon) {
513  bench_tmp.finishMeasurement();
514  Imp::ToolBench* tb = m_d->getToolBench(tool.operator->());
515  tb->m_bench_algexec_fillHists += bench_tmp;//fixme: count events and subdivide
516  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " --> m_doResourceMon is True" << endmsg;
517  }
518  m_d->toolAudEnd();
519  }
520  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " --> Done calling IMonitorToolBase::fillHists()" << endmsg;
521 
522  if( m_d->m_eventCounter > 0 ) {
523  m_d->m_eventCounter--;
524  }
525  else if( m_d->m_eventCounter == 0 ) {
526  for( ToolHandleArray<IMonitorToolBase>::iterator i = m_monTools.begin(); i != monToolsEnd; ++i ) {
527  ToolHandle<IMonitorToolBase>& tool = *i;
529  AthMonBench bench_tmp;
530 
531  if (m_d->m_doResourceMon)
532  bench_tmp.startMeasurement();
533  sc = tool->checkHists(false);
534  if (m_d->m_doResourceMon) {
535  bench_tmp.finishMeasurement();
536  Imp::ToolBench* tb = m_d->getToolBench(tool.operator->());
537  tb->m_bench_algexec_checkHists += bench_tmp;//fixme: count events and subdivide
538  }
539  if( !sc.isSuccess() ) {
540  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "IMonitorToolBase::checkHists() unsuccessful" << endmsg;
541  }
542  m_d->toolAudEnd();
543  }
544  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " --> Done calling IMonitorToolBase::checkHists()" << endmsg;
545 
547  }
548  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " --> Exiting successfully" << endmsg;
549 
550  ATH_MSG_DEBUG(name() << " is releasing the TrigNavigationThinningSvc lock");
551  return StatusCode::SUCCESS;
552 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51 {
52  // If we didn't find any symlinks to add, just return the collection
53  // from the base class. Otherwise, return the extended collection.
54  if (!m_extendedExtraObjects.empty()) {
56  }
57  return Algorithm::extraOutputDeps();
58 }

◆ fileKey()

std::string AthenaMonManager::fileKey ( ) const
virtual

Definition at line 647 of file AthenaMonManager.cxx.

649 {
650  return m_d->m_fileKeyProp;
651 }

◆ fillNumber()

unsigned int AthenaMonManager::fillNumber ( )
static

Definition at line 352 of file AthenaMonManager.cxx.

354 {
355  return Imp::s_fill;
356 }

◆ finalize()

StatusCode AthenaMonManager::finalize ( )
virtual

Definition at line 556 of file AthenaMonManager.cxx.

558 {
559  return StatusCode::SUCCESS;
560 }

◆ forkedProcess()

bool AthenaMonManager::forkedProcess ( )

Definition at line 321 of file AthenaMonManager.cxx.

322  {
323  return m_d->m_forkedProcess;
324 }

◆ getLBsHigStat()

unsigned int AthenaMonManager::getLBsHigStat ( )
static

Definition at line 309 of file AthenaMonManager.cxx.

309  {
310  return Imp::s_LBsHigStat;
311 }

◆ getLBsLowStat()

unsigned int AthenaMonManager::getLBsLowStat ( )
static

Definition at line 303 of file AthenaMonManager.cxx.

303  {
304  return Imp::s_LBsLowStat;
305 }

◆ getLBsMedStat()

unsigned int AthenaMonManager::getLBsMedStat ( )
static

Definition at line 306 of file AthenaMonManager.cxx.

306  {
307  return Imp::s_LBsMedStat;
308 }

◆ initialize()

StatusCode AthenaMonManager::initialize ( )
virtual

Definition at line 360 of file AthenaMonManager.cxx.

362 {
363  Imp::HistLeakChecker lc(m_d);
364 
365  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "AthenaMonManager::initialize():" << endmsg;
366 
367  m_d->m_sgAudSvc = Imp::s_svcLocator.load()->service("SGAudSvc", false/*do not create*/);
369 
370  ATH_CHECK( m_THistSvc.retrieve() );
371 
372  if( !Imp::s_staticDataAreInit ) {
373  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " --> Initializing static data" << endmsg;
374 
375  if (msgLvl(MSG::DEBUG)) {
376  msg(MSG::DEBUG) << " * \"ManualDataTypeSetup\" = " << m_d->m_manualDataTypeSetupProp << endmsg;
377  }
378 
379 #if 0 // The two branches of the conditional are identical.
381  Imp::s_dataTypeStr = m_d->m_dataTypeProp;
382  Imp::s_dataType = dataTypeStringToEnum( m_d->m_dataTypeProp );
383  }
384  else
385 #endif
386  {
387  Imp::s_dataTypeStr = m_d->m_dataTypeProp;
388  Imp::s_dataType = dataTypeStringToEnum( m_d->m_dataTypeProp );
389  }
390 
391  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " * \"DataType\" = " << Imp::s_dataType << endmsg;
392 
393  Imp::s_environmentStr = m_d->m_environmentProp;
394  Imp::s_environment = envStringToEnum( m_d->m_environmentProp );
395 
396  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " * \"Environment\" = " << Imp::s_environment << endmsg;
397 
398  Imp::s_LBsLowStat = m_d->m_LBsLowStatProp;
399  Imp::s_LBsMedStat = m_d->m_LBsMedStatProp;
400  Imp::s_LBsHigStat = m_d->m_LBsHigStatProp;
401  if (msgLvl(MSG::DEBUG)) {
402  msg(MSG::DEBUG) << " * \"LBsInLowStatInterval\" = " << Imp::s_LBsLowStat << endmsg;
403  msg(MSG::DEBUG) << " * \"LBsInMediumStatInterval\" = " << Imp::s_LBsMedStat << endmsg;
404  msg(MSG::DEBUG) << " * \"LBsInHighStatInterval\" = " << Imp::s_LBsHigStat << endmsg;
405  }
406 
407  m_d->m_isPrimaryManager = true;
409 
410  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " * \"ManualRunLBSetup\" = " << m_d->m_manualRunLBProp << endmsg;
411 
412  if( m_d->m_manualRunLBProp ) {
413  Imp::s_run = m_d->m_runProp;
414  Imp::s_lumiBlock = m_d->m_lumiBlockProp;
415  Imp::s_runLBOverridden = true;
416  if (msgLvl(MSG::DEBUG))
417  msg(MSG::DEBUG) << " --> using run = " << Imp::s_run << ", lumiBlock = " << Imp::s_lumiBlock << endmsg;
418  } else {
419  if (msgLvl(MSG::DEBUG))
420  msg(MSG::DEBUG) << " --> using run = " << Imp::s_run << ", lumiBlock = " << Imp::s_lumiBlock << endmsg;
421  }
422  }
423 
424  // Ensure consistency among all managers
425  m_d->m_dataTypeProp = Imp::s_dataTypeStr;
426  m_d->m_environmentProp = Imp::s_environmentStr;
427 
428  // Provide a virtual Algorithm with a subset of the properties
429  ServiceHandle<Gaudi::Interfaces::IOptionsSvc> joSvc("JobOptionsSvc", name());
430  ATH_CHECK( joSvc.retrieve() );
431  ATH_MSG_DEBUG(" --> Found service \"JobOptionsSvc\"");
432 
433  const std::string client = name() + std::string("Properties");
434  ATH_MSG_DEBUG(" --> Adding properties under name \"" << client << "\"");
435  joSvc->set( client + ".FileKey", m_d->m_fileKeyProp );
436  joSvc->set( client + ".DataType", m_d->m_dataTypeProp );
437  joSvc->set( client + ".Environment", m_d->m_environmentProp );
438 
439  if( m_monTools.size() > 0 ) {
440  ATH_CHECK( m_monTools.retrieve() );
441  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " --> Retrieved AthenaMonTools" << endmsg;
442  }
443 
445 
447  for( ToolHandleArray<IMonitorToolBase>::iterator i = m_monTools.begin(); i != monToolsEnd; ++i ) {
448  ToolHandle<IMonitorToolBase>& tool = *i;
449  AthMonBench bench_tmp;
450  IMonitorToolBase* mon = tool.operator->();
451  ManagedMonitorToolBase* managed = dynamic_cast<ManagedMonitorToolBase*>( mon );
452  if( managed != 0 ) {
453  managed->setMonManager( this );
454  }
455  if (m_d->m_doResourceMon) {
456  Imp::ToolBench* tb = m_d->getToolBench(mon);
457  tb->m_bench_alginit_retrieve = bench_tmp;
458  }
459 
460  }
461  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " --> Exiting successfully" << endmsg;
462 
463  return StatusCode::SUCCESS;
464 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ lumiBlockNumber()

unsigned int AthenaMonManager::lumiBlockNumber ( )
static

Definition at line 328 of file AthenaMonManager.cxx.

330 {
331  if (Imp::s_runLBOverridden) {
332  return Imp::s_lumiBlock;
333  } else {
334  return Gaudi::Hive::currentContext().eventID().lumi_block();
335  }
336 }

◆ msg() [1/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ passOwnership()

void AthenaMonManager::passOwnership ( TObject *  h,
const std::string &  key 
)
virtual

Pass ownership of a TObject to this manager so that it will be deleted appropriately.

Definition at line 655 of file AthenaMonManager.cxx.

657 {
658  Imp::ObjMap_t::value_type valToInsert( key, h );
659  m_d->m_objMap.insert( valToInsert );
660 }

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ runNumber()

unsigned int AthenaMonManager::runNumber ( )
static

Definition at line 340 of file AthenaMonManager.cxx.

342 {
343  if (Imp::s_runLBOverridden) {
344  return Imp::s_run;
345  } else {
346  return Gaudi::Hive::currentContext().eventID().run_number();
347  }
348 }

◆ start()

StatusCode AthenaMonManager::start ( )
virtual

Definition at line 611 of file AthenaMonManager.cxx.

613 {
614  Imp::HistLeakChecker lc(m_d);
615  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "AthenaMonManager::start():" << endmsg;
616 
617  StatusCode sc;
618 
620  for( ToolHandleArray<IMonitorToolBase>::iterator i = m_monTools.begin(); i != monToolsEnd; ++i ) {
621  ToolHandle<IMonitorToolBase>& tool = *i;
623  AthMonBench bench_tmp;
624  if (m_d->m_doResourceMon)
625  bench_tmp.startMeasurement();
626  sc = tool->bookHists();
627  if (m_d->m_doResourceMon) {
628  bench_tmp.finishMeasurement();
629  Imp::ToolBench* tb = m_d->getToolBench(tool.operator->());
630  tb->m_bench_algexec_bookHists += bench_tmp;
631  }
632  if( !sc.isSuccess() ) {
633  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "IMonitorToolBase::bookHists() unsuccessful" << endmsg;
634  }
635  m_d->toolAudEnd();
636  }
637  if (msgLvl(MSG::DEBUG)) {
638  msg(MSG::DEBUG) << " --> Done calling IMonitorToolBase::bookHists()" << endmsg;
639  msg(MSG::DEBUG) << " --> Exiting successfully" << endmsg;
640  }
641 
642  return StatusCode::SUCCESS;
643 }

◆ stop()

StatusCode AthenaMonManager::stop ( )
virtual

Definition at line 563 of file AthenaMonManager.cxx.

565 {
566  Imp::HistLeakChecker lc(m_d);
567  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "AthenaMonManager::finalize():" << endmsg;
568 
569  StatusCode sc;
570 
572  for( ToolHandleArray<IMonitorToolBase>::iterator i = m_monTools.begin(); i != monToolsEnd; ++i ) {
573  ToolHandle<IMonitorToolBase>& tool = *i;
575 
576  sc = tool->runStat();
577  if( !sc.isSuccess() ) {
578  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "IMonitorToolBase::runStat() unsuccessful" << endmsg;
579  }
580 
581  Imp::ToolBench* tb = m_d->m_doResourceMon ? m_d->getToolBench(tool.operator->()) : 0;
582  if (tb)
583  tb->m_bench_algfin_finalHists.startMeasurement();
584  sc = tool->finalHists();
585  if (tb)
586  tb->m_bench_algfin_finalHists.finishMeasurement();
587  if( !sc.isSuccess() ) {
588  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "IMonitorToolBase::finalHists() unsuccessful" << endmsg;
589  }
590  if (tb)
591  tb->m_bench_algfin_checkHists.startMeasurement();
592  sc = tool->checkHists(true);
593  if (tb)
594  tb->m_bench_algfin_checkHists.finishMeasurement();
595  if( !sc.isSuccess() ) {
596  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "IMonitorToolBase::checkHists() unsuccessful" << endmsg;
597  }
598  if (tb)
599  tb->report(this);
600  m_d->toolAudEnd();
601  }
602  if (msgLvl(MSG::DEBUG)) {
603  msg(MSG::DEBUG) << " --> Done calling IMonitorToolBase::finalHists() and IMonitorToolBase::checkHists()" << endmsg;
604  msg(MSG::DEBUG) << " --> Exiting successfully" << endmsg;
605  }
606  return StatusCode::SUCCESS;
607 }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.

Definition at line 66 of file AthAlgorithm.cxx.

66  {
68 
69  if (sc.isFailure()) {
70  return sc;
71  }
72  ServiceHandle<ICondSvc> cs("CondSvc",name());
73  for (auto h : outputHandles()) {
74  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75  // do this inside the loop so we don't create the CondSvc until needed
76  if ( cs.retrieve().isFailure() ) {
77  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78  return StatusCode::SUCCESS;
79  }
80  if (cs->regHandle(this,*h).isFailure()) {
81  sc = StatusCode::FAILURE;
82  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83  << " with CondSvc");
84  }
85  }
86  }
87  return sc;
88 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

◆ writeAndDelete()

void AthenaMonManager::writeAndDelete ( const std::string &  key)
virtual

If the TObject is owned by this manager, its Write() method is called and it is deleted.

Definition at line 664 of file AthenaMonManager.cxx.

666 {
667  // If is owned TObject, we deregister from THistSvc, write it in a
668  // root file, and delete it.
669 
671  if( i != m_d->m_objMap.end() ) {
672  TObject* o = i->second;
673  TH1* h = dynamic_cast<TH1*>( o );
674  if( h != 0 ) {
675  // By default, ROOT does its own bookkeeping of references to
676  // histograms, and this leads to a significant amount of time
677  // spent in the TObject d'tor when there are >= O(1000) TDirectories.
678  // So, turn this bookkeeping off when deleting these histograms.
679  bool doRecursiveReferenceDelete = gROOT->MustClean();
680  gROOT->SetMustClean(false);
681  TDirectory* dir = h->GetDirectory();
682  TDirectory* g = gDirectory;
683  if( dir )
684  dir->cd();
685  h->Write();
686  g->cd();
687 
688  StatusCode sc = m_THistSvc->deReg( h );
689  if( !sc.isSuccess() ) {
690  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "AthenaMonManager::WriteAndDeleteHist(): Failure to deReg( TObject* )" << endmsg;
691  }
692  delete o;
693  gROOT->SetMustClean(doRecursiveReferenceDelete);
694  m_d->m_objMap.erase( key );
695  }
696  }
697 }

Member Data Documentation

◆ m_d

Imp* AthenaMonManager::m_d
private

Definition at line 123 of file AthenaMonManager.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_monTools

ToolHandleArray<IMonitorToolBase> AthenaMonManager::m_monTools
protected

Definition at line 116 of file AthenaMonManager.h.

◆ m_THistSvc

ServiceHandle<ITHistSvc> AthenaMonManager::m_THistSvc
protected

Definition at line 118 of file AthenaMonManager.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
pid_t
int32_t pid_t
Definition: FPGATrackSimTypes.h:19
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:73
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
AthenaMonManager::Imp::m_eventCounter
long m_eventCounter
Definition: AthenaMonManager.cxx:81
AthenaMonManager::cosmics
@ cosmics
Definition: AthenaMonManager.h:58
AthenaMonManager::AOD
@ AOD
Definition: AthenaMonManager.h:49
AthenaMonManager::Imp::m_everyNevents
long m_everyNevents
Definition: AthenaMonManager.cxx:80
AthenaMonManager::envStringToEnum
static Environment_t envStringToEnum(const std::string &str)
Converts a string to an Environment_t of the same name.
Definition: AthenaMonManager.cxx:232
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthenaMonManager::Imp::m_objMap
ObjMap_t m_objMap
Definition: AthenaMonManager.cxx:73
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
AthCommonMsg< Algorithm >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
AthenaMonManager::Imp::m_sgAudSvc
SmartIF< ISGAudSvc > m_sgAudSvc
Definition: AthenaMonManager.cxx:76
AthenaMonManager::heavyIonCollisions
@ heavyIonCollisions
Definition: AthenaMonManager.h:58
AthenaMonManager::Imp::s_staticDataAreInit
static std::atomic< bool > s_staticDataAreInit
Definition: AthenaMonManager.cxx:167
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
AthenaMonManager::Imp::s_svcLocator
static std::atomic< ISvcLocator * > s_svcLocator
Definition: AthenaMonManager.cxx:165
python.LumiCalcHtml.lc
lc
Definition: LumiCalcHtml.py:579
AthenaMonManager::Imp::toolAudStart
void toolAudStart(const T &tool)
Definition: AthenaMonManager.cxx:116
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
AthenaMonManager::m_d
Imp * m_d
Definition: AthenaMonManager.h:122
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthenaMonManager::Imp::m_runProp
unsigned int m_runProp
Definition: AthenaMonManager.cxx:92
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
AthenaMonManager::Imp::m_isPrimaryManager
bool m_isPrimaryManager
Definition: AthenaMonManager.cxx:78
rerun_display.client
client
Definition: rerun_display.py:31
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
AthenaMonManager::Imp::m_environmentProp
std::string m_environmentProp
Definition: AthenaMonManager.cxx:87
Execution.tb
tb
Definition: Execution.py:15
AthMonBench::finishMeasurement
void finishMeasurement()
Definition: AthMonBench.h:83
AthenaMonManager::Imp::m_dataTypeProp
std::string m_dataTypeProp
Definition: AthenaMonManager.cxx:86
AthenaMonManager::tier0ESD
@ tier0ESD
Definition: AthenaMonManager.h:49
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthenaMonManager::Imp::m_LBsLowStatProp
unsigned int m_LBsLowStatProp
Definition: AthenaMonManager.cxx:88
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
AthenaMonManager::dataTypeStringToEnum
static DataType_t dataTypeStringToEnum(const std::string &str)
Converts a string to a DataType_t of the same name.
Definition: AthenaMonManager.cxx:268
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
ManagedMonitorToolBase::setMonManager
virtual void setMonManager(AthenaMonManager *manager)
Takes a pointer to a managing object to get information from it when needed.
Definition: ManagedMonitorToolBase.cxx:1328
ParseInputs.gDirectory
gDirectory
Definition: Final2012/ParseInputs.py:133
lumiFormat.i
int i
Definition: lumiFormat.py:85
AthenaMonManager::collisions
@ collisions
Definition: AthenaMonManager.h:58
TrigNavigationThinningSvcMutex::s_mutex
static std::mutex s_mutex
Definition: TrigNavigationThinningSvcMutex.h:19
AthenaMonManager::tier0
@ tier0
Definition: AthenaMonManager.h:49
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
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
AthenaMonManager::online
@ online
Definition: AthenaMonManager.h:49
AthenaMonManager::Imp::m_manualDataTypeSetupProp
bool m_manualDataTypeSetupProp
Definition: AthenaMonManager.cxx:85
AthenaMonManager::tier0Raw
@ tier0Raw
Definition: AthenaMonManager.h:49
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
AthenaMonManager::user
@ user
Definition: AthenaMonManager.h:49
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
AthenaMonManager::Imp::toolAudEnd
void toolAudEnd()
Definition: AthenaMonManager.cxx:119
AthenaMonManager::m_monTools
ToolHandleArray< IMonitorToolBase > m_monTools
Definition: AthenaMonManager.h:116
AthenaMonManager::Imp::m_manualRunLBProp
bool m_manualRunLBProp
Definition: AthenaMonManager.cxx:90
beamspotman.dir
string dir
Definition: beamspotman.py:623
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
AthenaMonManager::Imp::m_LBsMedStatProp
unsigned int m_LBsMedStatProp
Definition: AthenaMonManager.cxx:88
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
IMonitorToolBase
Definition: IMonitorToolBase.h:25
AthMonBench::s_resourceMonThreshold
static const MSG::Level s_resourceMonThreshold
Definition: AthMonBench.h:28
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
AthMonBench::startMeasurement
void startMeasurement()
Definition: AthMonBench.h:76
AtlCoolConsole.tool
tool
Definition: AtlCoolConsole.py:453
AthenaMonManager::Imp::m_fileKeyProp
std::string m_fileKeyProp
Definition: AthenaMonManager.cxx:83
AthenaMonManager::Imp::getToolBench
ToolBench * getToolBench(IMonitorToolBase *t)
Definition: AthenaMonManager.cxx:150
AthenaMonManager::Imp::m_doResourceMon
bool m_doResourceMon
Definition: AthenaMonManager.cxx:123
AthenaMonManager::Imp::m_forkedProcess
bool m_forkedProcess
Definition: AthenaMonManager.cxx:97
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
AthenaMonManager::Imp::m_rootBackend
bool m_rootBackend
Definition: AthenaMonManager.cxx:100
a
TList * a
Definition: liststreamerinfos.cxx:10
h
AthenaMonManager::Imp::m_lumiBlockProp
unsigned int m_lumiBlockProp
Definition: AthenaMonManager.cxx:93
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
AthenaMonManager::altprod
@ altprod
Definition: AthenaMonManager.h:49
AthenaMonManager::Imp::m_lastPID
pid_t m_lastPID
Definition: AthenaMonManager.cxx:98
DEBUG
#define DEBUG
Definition: page_access.h:11
plotBeamSpotMon.mon
mon
Definition: plotBeamSpotMon.py:67
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
AthenaMonManager::Imp::m_LBsHigStatProp
unsigned int m_LBsHigStatProp
Definition: AthenaMonManager.cxx:88
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
str
Definition: BTagTrackIpAccessor.cxx:11
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
AthenaMonManager::userDefined
@ userDefined
Definition: AthenaMonManager.h:58
AthMonBench
Definition: AthMonBench.h:25
AthenaMonManager::m_THistSvc
ServiceHandle< ITHistSvc > m_THistSvc
Definition: AthenaMonManager.h:118
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
AthenaMonManager::noOutput
@ noOutput
Definition: AthenaMonManager.h:49
AthenaMonManager::monteCarlo
@ monteCarlo
Definition: AthenaMonManager.h:58
fitman.k
k
Definition: fitman.py:528
ServiceHandle< Gaudi::Interfaces::IOptionsSvc >
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37