Loading [MathJax]/jax/input/TeX/config.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 193 of file AthenaMonManager.cxx.

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

◆ ~AthenaMonManager()

AthenaMonManager::~AthenaMonManager ( )
virtual

Definition at line 219 of file AthenaMonManager.cxx.

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

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 313 of file AthenaMonManager.cxx.

315 {
316  return Imp::s_dataType;
317 }

◆ 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 266 of file AthenaMonManager.cxx.

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

◆ 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 296 of file AthenaMonManager.cxx.

298 {
299  return Imp::s_environment;
300 }

◆ 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 230 of file AthenaMonManager.cxx.

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

◆ 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 467 of file AthenaMonManager.cxx.

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

◆ 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 646 of file AthenaMonManager.cxx.

648 {
649  return m_d->m_fileKeyProp;
650 }

◆ fillNumber()

unsigned int AthenaMonManager::fillNumber ( )
static

Definition at line 351 of file AthenaMonManager.cxx.

353 {
354  return Imp::s_fill;
355 }

◆ finalize()

StatusCode AthenaMonManager::finalize ( )
virtual

Definition at line 555 of file AthenaMonManager.cxx.

557 {
558  return StatusCode::SUCCESS;
559 }

◆ forkedProcess()

bool AthenaMonManager::forkedProcess ( )

Definition at line 320 of file AthenaMonManager.cxx.

321  {
322  return m_d->m_forkedProcess;
323 }

◆ getLBsHigStat()

unsigned int AthenaMonManager::getLBsHigStat ( )
static

Definition at line 308 of file AthenaMonManager.cxx.

308  {
309  return Imp::s_LBsHigStat;
310 }

◆ getLBsLowStat()

unsigned int AthenaMonManager::getLBsLowStat ( )
static

Definition at line 302 of file AthenaMonManager.cxx.

302  {
303  return Imp::s_LBsLowStat;
304 }

◆ getLBsMedStat()

unsigned int AthenaMonManager::getLBsMedStat ( )
static

Definition at line 305 of file AthenaMonManager.cxx.

305  {
306  return Imp::s_LBsMedStat;
307 }

◆ initialize()

StatusCode AthenaMonManager::initialize ( )
virtual

Definition at line 359 of file AthenaMonManager.cxx.

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

◆ 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 327 of file AthenaMonManager.cxx.

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

◆ 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 654 of file AthenaMonManager.cxx.

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

◆ 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 339 of file AthenaMonManager.cxx.

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

◆ start()

StatusCode AthenaMonManager::start ( )
virtual

Definition at line 610 of file AthenaMonManager.cxx.

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

◆ stop()

StatusCode AthenaMonManager::stop ( )
virtual

Definition at line 562 of file AthenaMonManager.cxx.

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

◆ 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 663 of file AthenaMonManager.cxx.

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

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:80
AthenaMonManager::cosmics
@ cosmics
Definition: AthenaMonManager.h:58
AthenaMonManager::AOD
@ AOD
Definition: AthenaMonManager.h:49
AthenaMonManager::Imp::m_everyNevents
long m_everyNevents
Definition: AthenaMonManager.cxx:79
AthenaMonManager::envStringToEnum
static Environment_t envStringToEnum(const std::string &str)
Converts a string to an Environment_t of the same name.
Definition: AthenaMonManager.cxx:231
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:72
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:75
AthenaMonManager::heavyIonCollisions
@ heavyIonCollisions
Definition: AthenaMonManager.h:58
AthenaMonManager::Imp::s_staticDataAreInit
static std::atomic< bool > s_staticDataAreInit
Definition: AthenaMonManager.cxx:166
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
AthenaMonManager::Imp::s_svcLocator
static std::atomic< ISvcLocator * > s_svcLocator
Definition: AthenaMonManager.cxx:164
python.LumiCalcHtml.lc
lc
Definition: LumiCalcHtml.py:579
AthenaMonManager::Imp::toolAudStart
void toolAudStart(const T &tool)
Definition: AthenaMonManager.cxx:115
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:91
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
AthenaMonManager::Imp::m_isPrimaryManager
bool m_isPrimaryManager
Definition: AthenaMonManager.cxx:77
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:86
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:85
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:87
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:267
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:84
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:118
AthenaMonManager::m_monTools
ToolHandleArray< IMonitorToolBase > m_monTools
Definition: AthenaMonManager.h:116
AthenaMonManager::Imp::m_manualRunLBProp
bool m_manualRunLBProp
Definition: AthenaMonManager.cxx:89
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:87
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:240
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:82
AthenaMonManager::Imp::getToolBench
ToolBench * getToolBench(IMonitorToolBase *t)
Definition: AthenaMonManager.cxx:149
AthenaMonManager::Imp::m_doResourceMon
bool m_doResourceMon
Definition: AthenaMonManager.cxx:122
AthenaMonManager::Imp::m_forkedProcess
bool m_forkedProcess
Definition: AthenaMonManager.cxx:96
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
AthenaMonManager::Imp::m_rootBackend
bool m_rootBackend
Definition: AthenaMonManager.cxx:99
a
TList * a
Definition: liststreamerinfos.cxx:10
h
AthenaMonManager::Imp::m_lumiBlockProp
unsigned int m_lumiBlockProp
Definition: AthenaMonManager.cxx:92
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:97
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:629
AthenaMonManager::Imp::m_LBsHigStatProp
unsigned int m_LBsHigStatProp
Definition: AthenaMonManager.cxx:87
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