ATLAS Offline Software
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
InDetGlobalManager Class Reference

Top Algorithm of the Inner Detector Global Monitoring. More...

#include <InDetGlobalManager.h>

Inheritance diagram for InDetGlobalManager:
Collaboration diagram for InDetGlobalManager:

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

 InDetGlobalManager (const std::string &name, ISvcLocator *pSvcLocator)
 
virtual StatusCode initialize ()
 
virtual StatusCode execute ()
 
virtual StatusCode finalize ()
 
bool forkedProcess ()
 
virtual StatusCode start ()
 
virtual StatusCode stop ()
 
virtual std::string fileKey () const
 
virtual void passOwnership (TObject *h, const std::string &key)
 Pass ownership of a TObject/LWHist to this manager so that it will be deleted appropriately. More...
 
virtual void passOwnership (LWHist *h, const std::string &key)
 
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 LWHistownedLWHistOfKey (const std::string &key) const
 
virtual LWHistwriteAndDeleteLWHist (const std::string &key, const std::string &streamName)
 
virtual void writeAndDeleteLWHist (LWHist *lwh)
 
virtual LWHistwriteAndResetLWHist (const std::string &key, const std::string &streamName)
 
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
 
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

Gaudi::Property< bool > m_doTopBottom {this,"doTopBottom", false, "Check differences between top and bottom of detector (seems deprecated...)"}
 
Gaudi::Property< bool > m_doPixel {this, "doPixel", true, "Pixel is available in this data"}
 
Gaudi::Property< bool > m_doSCT {this, "doSCT", true, "SCT is available in this data"}
 
Gaudi::Property< bool > m_doTRT {this, "doTRT", true, "TRT is available in this data"}
 
Gaudi::Property< bool > m_doBCM {this, "doBCM", false, "BCM is available in this data"}
 
Gaudi::Property< bool > m_doTiming {this, "doTiming", false, "Timing containers are available (data, not MC)"}
 
Gaudi::Property< bool > m_doTRTPhase {this, "doTRTPhase", false, "TRT Phase Information available (cosmics)"}
 
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
 
storegatenames

Names of objects to retrieve and feed into the monitoring AlgTools

Name of combined inner detector tracks container

SG::ReadHandleKey< TrackCollectionm_CombinedTracksName {this,"CombinedTrackName", "ExtendedTracks", "Combined Track Collection For Monitoring"}
 
SG::ReadHandleKey< InDet::TRT_DriftCircleContainerm_TRT_DriftCircleName {this,"TRT_DriftCircleName", "TRT_DriftCircles", "TRT Drift Circle Collection For Monitoring"}
 Name of trt drift circle container. More...
 
SG::ReadHandleKey< BCM_RDO_Containerm_BCM_RDOs {this, "BCMRDOName", "BCM_RDOs", "BCM Clusters for Monitoring"}
 
SG::ReadHandleKey< PixelRDO_Containerm_PixelRDOs {this, "PixelRDOName", "PixelRDOs", "Pixel Clusters for Monitoring"}
 
SG::ReadHandleKey< SCT_RDO_Containerm_SCT_RDOs {this, "SCTRDOName", "SCT_RDOs", "SCT Clusters for monitoring"}
 
SG::ReadHandleKey< InDetTimeCollectionm_PixelLVL1ID {this, "PixelLVL1IDName", "PixelLVL1ID", "Pixel LVL1 ID for Monitoring"}
 
SG::ReadHandleKey< InDetTimeCollectionm_SCT_LVL1ID {this, "SCTLVL1IDName", "SCT_LVL1ID", "SCT LVL1 ID for Monitoring"}
 
SG::ReadHandleKey< InDetTimeCollectionm_TRT_LVL1ID {this, "TRTLVL1IDName", "TRT_LVL1ID", "TRT LVL1 ID for Monitoring"}
 
SG::ReadHandleKey< InDetTimeCollectionm_PixelBCID {this, "PixelBCIDName", "PixelBCID", "Pixel BCID for Monitoring"}
 
SG::ReadHandleKey< InDetTimeCollectionm_SCT_BCID {this, "SCTBCIDName", "SCT_BCID", "SCT BCID for Monitoring"}
 
SG::ReadHandleKey< InDetTimeCollectionm_TRT_BCID {this, "TRTBCIDName", "TRT_BCID", "TRT BCID For Monitoring"}
 
SG::ReadHandleKey< ComTimem_TRT_Phase {this, "TRTPhaseName", "TRT_Phase", "TRT Phase for Monitoring"}
 

Detailed Description

Top Algorithm of the Inner Detector Global Monitoring.

Definition at line 42 of file InDetGlobalManager.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

◆ InDetGlobalManager()

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

Definition at line 39 of file InDetGlobalManager.cxx.

42  : AthenaMonManager(name, pSvcLocator)
43 {
44 
45 }

Member Function Documentation

◆ dataType()

AthenaMonManager::DataType_t AthenaMonManager::dataType ( )
staticinherited

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

Definition at line 337 of file AthenaMonManager.cxx.

339 {
340  return Imp::s_dataType;
341 }

◆ dataTypeStringToEnum()

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

Converts a string to a DataType_t of the same name.

Definition at line 289 of file AthenaMonManager.cxx.

291 {
292  std::string lcstr( strToLower(str) );
293 
294  if( lcstr == "userdefined" )
295  return userDefined;
296  else if( lcstr == "montecarlo" )
297  return monteCarlo;
298  else if( lcstr == "collisions" )
299  return collisions;
300  else if( lcstr == "cosmics" )
301  return cosmics;
302  else if( lcstr == "heavyioncollisions" )
303  return heavyIonCollisions;
304 
305  if( Imp::s_svcLocator ) {
306  IMessageSvc* ms(0);
307  StatusCode sc = Imp::s_svcLocator.load()->service( "MessageSvc", ms, true );
308  if( sc.isSuccess() ) {
309  MsgStream log( ms, "AthenaMonManager::dataTypeStringToEnum()" );
310  log << MSG::WARNING << "Unknown AthenaMonManager::DataType_t \""
311  << str << "\", returning \"userDefined\"" << endmsg;
312  }
313  }
314 
315  return userDefined;
316 }

◆ 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 ( )
staticinherited

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

Definition at line 320 of file AthenaMonManager.cxx.

322 {
323  return Imp::s_environment;
324 }

◆ envStringToEnum()

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

Converts a string to an Environment_t of the same name.

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

Definition at line 252 of file AthenaMonManager.cxx.

254 {
255  std::string lcstr( strToLower(str) );
256 
257  if( lcstr == "user" )
258  return user;
259  else if( lcstr == "nooutput" )
260  return noOutput;
261  else if( lcstr == "online" )
262  return online;
263  else if( lcstr == "tier0" )
264  return tier0;
265  else if( lcstr == "tier0raw" )
266  return tier0Raw;
267  else if( lcstr == "tier0esd" )
268  return tier0ESD;
269  else if( lcstr == "aod" )
270  return AOD;
271  else if( lcstr == "altprod" )
272  return altprod;
273 
274  if( Imp::s_svcLocator ) {
275  IMessageSvc* ms(0);
276  StatusCode sc = Imp::s_svcLocator.load()->service( "MessageSvc", ms, true );
277  if( sc.isSuccess() ) {
278  MsgStream log( ms, "AthenaMonManager::envStringToEnum()" );
279  log << MSG::WARNING << "Unknown AthenaMonManager::Environment_t \""
280  << str << "\", returning \"user\"" << endmsg;
281  }
282  }
283 
284  return user;
285 }

◆ 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 InDetGlobalManager::execute ( )
virtual

Reimplemented from AthenaMonManager.

Definition at line 113 of file InDetGlobalManager.cxx.

114 {
115  //----------------------------------------------------------------------
116  // Retrieve track collections etc needed by the different monitoring tools
117  // Avoid to retrieve several times the same object in the different
118  // monitoring tools
119  //----------------------------------------------------------------------
120 
122  if (combined_tracks.isValid()){
123  msg(MSG::DEBUG) <<"found combined tracks in StoreGate "
124  <<m_CombinedTracksName.key()<<" "<<combined_tracks->size()<<endmsg;
125  }
126  else{
127  msg(MSG::ERROR) <<"No combined tracks in StoreGate"<<endmsg;
128  return StatusCode::FAILURE;
129  }
130 
131  const BCM_RDO_Container * int_BCM_RDOs;
132 
133  if(m_doBCM){
134 
136  if (bcmRdoContainer.isValid()){
137  msg(MSG::DEBUG) <<"found BCM RDOs in StoreGate "
138  <<endmsg;
139  int_BCM_RDOs = bcmRdoContainer.cptr();
140  }
141  else{
142  msg(MSG::ERROR) <<"No BCM RDOs in StoreGate"<<endmsg;
143  return StatusCode::FAILURE;
144  }
145  }
146 
147  else{
148  int_BCM_RDOs = nullptr;
149  }
150 
151 
152  const PixelRDO_Container * int_Pixel_RDOs;
153  const InDetTimeCollection * int_Pixel_LVL1ID;
154  const InDetTimeCollection * int_Pixel_BCID;
155 
156  if(m_doPixel){
158  if (pixRdoContainer.isValid()){
159  msg(MSG::DEBUG) <<"found Pixel RDOs in StoreGate "
160  <<endmsg;
161  int_Pixel_RDOs = pixRdoContainer.cptr();
162  }
163  else{
164  msg(MSG::ERROR) <<"No Pixel RDOs in StoreGate"<<endmsg;
165  return StatusCode::FAILURE;
166  }
167  if(m_doTiming){
169  if (pixel_LVL1IDColl.isValid()){
170  msg(MSG::DEBUG) <<"found Pixel LVL1ID information in StoreGate "
171  <<endmsg;
172  int_Pixel_LVL1ID = pixel_LVL1IDColl.cptr();
173  }
174  else{
175  msg(MSG::ERROR) <<"No Pixel LVL1ID information in StoreGate"<<endmsg;
176  return StatusCode::FAILURE;
177  }
178 
180  if (pixel_BCIDColl.isValid()){
181  msg(MSG::DEBUG) <<"found Pixel BCID information in StoreGate "
182  <<endmsg;
183  int_Pixel_BCID = pixel_BCIDColl.cptr();
184  }
185  else{
186  msg(MSG::ERROR) <<"No Pixel BCID information in StoreGate"<<endmsg;
187  return StatusCode::FAILURE;
188  }
189  }
190  else{
191  int_Pixel_LVL1ID = nullptr;
192  int_Pixel_BCID = nullptr;
193  }
194  }
195 
196  else{
197  int_Pixel_RDOs = nullptr;
198  int_Pixel_LVL1ID = nullptr;
199  int_Pixel_BCID = nullptr;
200  }
201 
202 
203  const SCT_RDO_Container * int_SCT_RDOs;
204  const InDetTimeCollection * int_SCT_LVL1ID;
205  const InDetTimeCollection * int_SCT_BCID;
206 
207  if(m_doSCT){
209  if (sctRdoContainer.isValid()){
210  msg(MSG::DEBUG) <<"found SCT RDOs in StoreGate "
211  <<endmsg;
212  int_SCT_RDOs = sctRdoContainer.cptr();
213  }
214  else{
215  msg(MSG::ERROR) <<"No SCT RDOs in StoreGate"<<endmsg;
216  return StatusCode::FAILURE;
217  }
218 
219  if(m_doTiming){
221  if (sct_LVL1IDColl.isValid()){
222  msg(MSG::DEBUG) <<"found SCT LVL1ID information in StoreGate "
223  <<endmsg;
224  int_SCT_LVL1ID = sct_LVL1IDColl.cptr();
225  }
226  else{
227  msg(MSG::ERROR) <<"No SCT LVL1ID information in StoreGate"<<endmsg;
228  return StatusCode::FAILURE;
229  }
230 
232  if (sct_BCIDColl.isValid()){
233  msg(MSG::DEBUG) <<"found SCT BCID information in StoreGate "
234  <<endmsg;
235  int_SCT_BCID = sct_BCIDColl.cptr();
236  }
237  else{
238  msg(MSG::ERROR) <<"No SCT BCID information in StoreGate"<<endmsg;
239  return StatusCode::FAILURE;
240  }
241  }
242  else{
243  int_SCT_LVL1ID= nullptr;
244  int_SCT_BCID = nullptr;
245  }
246  }
247 
248  else{
249  int_SCT_RDOs = nullptr;
250  int_SCT_LVL1ID= nullptr;
251  int_SCT_BCID = nullptr;
252  }
253 
254 
255  const InDet::TRT_DriftCircleContainer * int_DriftCircles;
256  const InDetTimeCollection * int_TRT_LVL1ID;
257  const InDetTimeCollection * int_TRT_BCID;
258  const ComTime * int_TRT_Phase;
259 
260  if(m_doTRT){
261 
263  if (driftCircleContainer.isValid()){
264  msg(MSG::DEBUG) <<"found TRT driftcircles in StoreGate "
265  <<endmsg;
266  int_DriftCircles = driftCircleContainer.cptr();
267  }
268  else{
269  msg(MSG::ERROR) <<"No TRT driftcircles in StoreGate"<<endmsg;
270  return StatusCode::FAILURE;
271  }
272 
273  if(m_doTiming){
275  if (trt_LVL1IDColl.isValid()){
276  msg(MSG::DEBUG) <<"found TRT LVL1ID information in StoreGate "
277  <<endmsg;
278  int_TRT_LVL1ID = trt_LVL1IDColl.cptr();
279  }
280  else{
281  msg(MSG::ERROR) <<"No TRT LVL1ID information in StoreGate"<<endmsg;
282  return StatusCode::FAILURE;
283  }
284 
286  if (trt_BCIDColl.isValid()){
287  msg(MSG::DEBUG) <<"found TRT BCID information in StoreGate "
288  <<endmsg;
289  int_TRT_BCID = trt_BCIDColl.cptr();
290  }
291  else{
292  msg(MSG::ERROR) <<"No TRT BCID information in StoreGate"<<endmsg;
293  return StatusCode::FAILURE;
294  }
295  }
296  else{
297  int_TRT_LVL1ID = nullptr;
298  int_TRT_BCID = nullptr;
299  }
300 
301  if(m_doTRTPhase){
303  if (trtPhase.isValid()){
304  msg(MSG::DEBUG) <<"found TRT event phase information in StoreGate "
305  <<endmsg;
306  int_TRT_Phase = trtPhase.cptr();
307  }
308 
309  else{
310  msg(MSG::ERROR) <<"No TRT event phase information in StoreGate"<<endmsg;
311  return StatusCode::FAILURE;
312  }
313  }
314  else int_TRT_Phase = nullptr;
315 }
316 
317  else{
318  int_DriftCircles = nullptr;
319  int_TRT_LVL1ID = nullptr;
320  int_TRT_BCID = nullptr;
321  int_TRT_Phase = nullptr;
322  }
323 
324  //------------------------------------------------------------------
325 
326 
329  i != monToolsEnd; ++i ) {
330  ToolHandle<IMonitorToolBase>& tool = *i;
331  IMonitorToolBase* mon = tool.operator->();
332  InDetGlobalMotherMonTool* managed =
333  dynamic_cast<InDetGlobalMotherMonTool*>( mon );
334 
335  if( managed != nullptr ) {
336  if ( msgLvl(MSG::DEBUG) ) msg(MSG::DEBUG)
337  <<"Loop over InDetGlobalMonTool " <<managed << endmsg;
338  managed->fillTracks(combined_tracks.cptr());
339  managed->fillRDOContainers(int_BCM_RDOs, int_Pixel_RDOs, int_SCT_RDOs, int_DriftCircles);
340  managed->fillTimeContainers( int_Pixel_LVL1ID,int_SCT_LVL1ID,int_TRT_LVL1ID, int_Pixel_BCID, int_SCT_BCID, int_TRT_BCID, int_TRT_Phase );
341  }
342  }
343  return AthenaMonManager::execute();
344 }

◆ 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
virtualinherited

Definition at line 698 of file AthenaMonManager.cxx.

700 {
701  return m_d->m_fileKeyProp;
702 }

◆ fillNumber()

unsigned int AthenaMonManager::fillNumber ( )
staticinherited

Definition at line 375 of file AthenaMonManager.cxx.

377 {
378  return Imp::s_fill;
379 }

◆ finalize()

StatusCode InDetGlobalManager::finalize ( )
virtual

Reimplemented from AthenaMonManager.

Definition at line 347 of file InDetGlobalManager.cxx.

348 {
349  return AthenaMonManager::finalize();
350 }

◆ forkedProcess()

bool AthenaMonManager::forkedProcess ( )
inherited

Definition at line 344 of file AthenaMonManager.cxx.

345  {
346  return m_d->m_forkedProcess;
347 }

◆ getLBsHigStat()

unsigned int AthenaMonManager::getLBsHigStat ( )
staticinherited

Definition at line 332 of file AthenaMonManager.cxx.

332  {
333  return Imp::s_LBsHigStat;
334 }

◆ getLBsLowStat()

unsigned int AthenaMonManager::getLBsLowStat ( )
staticinherited

Definition at line 326 of file AthenaMonManager.cxx.

326  {
327  return Imp::s_LBsLowStat;
328 }

◆ getLBsMedStat()

unsigned int AthenaMonManager::getLBsMedStat ( )
staticinherited

Definition at line 329 of file AthenaMonManager.cxx.

329  {
330  return Imp::s_LBsMedStat;
331 }

◆ initialize()

StatusCode InDetGlobalManager::initialize ( )
virtual

Reimplemented from AthenaMonManager.

Definition at line 48 of file InDetGlobalManager.cxx.

49 {
50 
51  StatusCode sc;
52 
53  const TRT_ID *trtID = nullptr;
54  if (detStore()->retrieve(trtID, "TRT_ID").isFailure()) {
55  msg(MSG::FATAL) << "Could not get Pixel ID helper" << endmsg;
56  return StatusCode::FAILURE;
57  }
58 
59 
60  const SCT_ID *sctID = nullptr;
61  if (detStore()->retrieve(sctID, "SCT_ID").isFailure()) {
62  msg(MSG::FATAL) << "Could not get SCT ID helper" << endmsg;
63  return StatusCode::FAILURE;
64  }
65 
66 
67  const PixelID *pixelID = nullptr;
68  if (detStore()->retrieve(pixelID, "PixelID").isFailure()) {
69  msg(MSG::FATAL) << "Could not get Pixel ID helper" << endmsg;
70  return StatusCode::FAILURE;
71  }
72 
73  //--------------------------------------------------------------
74  // Loop over all MonTools Name
75  // ---> Create monitoring tool for each
76  // ---> Book histograms
77  //--------------------------------------------------------------
78 
80  if( !sc.isSuccess() ) return sc;
81 
84  i != monToolsEnd; ++i ) {
85  ToolHandle<IMonitorToolBase>& tool = *i;
86  IMonitorToolBase* mon = tool.operator->();
87  InDetGlobalMotherMonTool* managed =
88  dynamic_cast<InDetGlobalMotherMonTool*>( mon );
89  if( managed != nullptr ) {
90  managed->fillDetectorManagers(trtID, sctID, pixelID );
91  managed->retrieveTools();
92  }
93  }
94 
95  ATH_CHECK( m_CombinedTracksName.initialize() );
98  ATH_CHECK( m_PixelRDOs.initialize(m_doPixel) );
99  ATH_CHECK( m_SCT_RDOs.initialize(m_doSCT) );
107 
108  return StatusCode::SUCCESS;
109 }

◆ 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 ( )
staticinherited

Definition at line 351 of file AthenaMonManager.cxx.

353 {
354  if (Imp::s_runLBOverridden) {
355  return Imp::s_lumiBlock;
356  } else {
357  return Gaudi::Hive::currentContext().eventID().lumi_block();
358  }
359 }

◆ 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.

◆ ownedLWHistOfKey()

LWHist * AthenaMonManager::ownedLWHistOfKey ( const std::string &  key) const
virtualinherited

Definition at line 725 of file AthenaMonManager.cxx.

727 {
729  return iLW == m_d->m_objMapLW.end() ? 0 : iLW->second;
730 }

◆ passOwnership() [1/2]

void AthenaMonManager::passOwnership ( LWHist h,
const std::string &  key 
)
virtualinherited

Definition at line 715 of file AthenaMonManager.cxx.

717 {
718  Imp::ObjMapLW_t::value_type valToInsert( key, h );
719  m_d->m_objMapLW.insert( valToInsert );
720 }

◆ passOwnership() [2/2]

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

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

Definition at line 706 of file AthenaMonManager.cxx.

708 {
709  Imp::ObjMap_t::value_type valToInsert( key, h );
710  m_d->m_objMap.insert( valToInsert );
711 }

◆ 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 ( )
staticinherited

Definition at line 363 of file AthenaMonManager.cxx.

365 {
366  if (Imp::s_runLBOverridden) {
367  return Imp::s_run;
368  } else {
369  return Gaudi::Hive::currentContext().eventID().run_number();
370  }
371 }

◆ start()

StatusCode AthenaMonManager::start ( )
virtualinherited

Definition at line 662 of file AthenaMonManager.cxx.

664 {
665  Imp::LWHistLeakChecker lc(m_d);
666  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "AthenaMonManager::start():" << endmsg;
667 
668  StatusCode sc;
669 
671  for( ToolHandleArray<IMonitorToolBase>::iterator i = m_monTools.begin(); i != monToolsEnd; ++i ) {
672  ToolHandle<IMonitorToolBase>& tool = *i;
674  AthMonBench bench_tmp;
675  if (m_d->m_doResourceMon)
676  bench_tmp.startMeasurement();
677  sc = tool->bookHists();
678  if (m_d->m_doResourceMon) {
679  bench_tmp.finishMeasurement();
680  Imp::ToolBench* tb = m_d->getToolBench(tool.operator->());
681  tb->m_bench_algexec_bookHists += bench_tmp;
682  }
683  if( !sc.isSuccess() ) {
684  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "IMonitorToolBase::bookHists() unsuccessful" << endmsg;
685  }
686  m_d->toolAudEnd();
687  }
688  if (msgLvl(MSG::DEBUG)) {
689  msg(MSG::DEBUG) << " --> Done calling IMonitorToolBase::bookHists()" << endmsg;
690  msg(MSG::DEBUG) << " --> Exiting successfully" << endmsg;
691  }
692 
693  return StatusCode::SUCCESS;
694 }

◆ stop()

StatusCode AthenaMonManager::stop ( )
virtualinherited

Definition at line 606 of file AthenaMonManager.cxx.

608 {
609  Imp::LWHistLeakChecker lc(m_d);
610  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "AthenaMonManager::finalize():" << endmsg;
611 
612  StatusCode sc;
613 
615  for( ToolHandleArray<IMonitorToolBase>::iterator i = m_monTools.begin(); i != monToolsEnd; ++i ) {
616  ToolHandle<IMonitorToolBase>& tool = *i;
618 
619  sc = tool->runStat();
620  if( !sc.isSuccess() ) {
621  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "IMonitorToolBase::runStat() unsuccessful" << endmsg;
622  }
623 
624  Imp::ToolBench* tb = m_d->m_doResourceMon ? m_d->getToolBench(tool.operator->()) : 0;
625  if (tb)
626  tb->m_bench_algfin_finalHists.startMeasurement();
627  sc = tool->finalHists();
628  if (tb)
629  tb->m_bench_algfin_finalHists.finishMeasurement();
630  if( !sc.isSuccess() ) {
631  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "IMonitorToolBase::finalHists() unsuccessful" << endmsg;
632  }
633  if (tb)
634  tb->m_bench_algfin_checkHists.startMeasurement();
635  sc = tool->checkHists(true);
636  if (tb)
637  tb->m_bench_algfin_checkHists.finishMeasurement();
638  if( !sc.isSuccess() ) {
639  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "IMonitorToolBase::checkHists() unsuccessful" << endmsg;
640  }
641  if (tb)
642  tb->m_bench_algfin_convertLWHists.startMeasurement();
643  sc = tool->convertLWHists();
644  if (tb)
645  tb->m_bench_algfin_convertLWHists.finishMeasurement();
646  if( !sc.isSuccess() ) {
647  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "IMonitorToolBase::convertLWHists() unsuccessful" << endmsg;
648  }
649  if (tb)
650  tb->report(this);
651  m_d->toolAudEnd();
652  }
653  if (msgLvl(MSG::DEBUG)) {
654  msg(MSG::DEBUG) << " --> Done calling IMonitorToolBase::finalHists() and IMonitorToolBase::checkHists()" << endmsg;
655  msg(MSG::DEBUG) << " --> Exiting successfully" << endmsg;
656  }
657  return StatusCode::SUCCESS;
658 }

◆ 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)
virtualinherited

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

Definition at line 869 of file AthenaMonManager.cxx.

871 {
872  // If is owned TObject, we deregister from THistSvc, write it in a
873  // root file, and delete it.
874 
876  if( i != m_d->m_objMap.end() ) {
877  TObject* o = i->second;
878  TH1* h = dynamic_cast<TH1*>( o );
879  if( h != 0 ) {
880  // By default, ROOT does its own bookkeeping of references to
881  // histograms, and this leads to a significant amount of time
882  // spent in the TObject d'tor when there are >= O(1000) TDirectories.
883  // So, turn this bookkeeping off when deleting these histograms.
884  bool doRecursiveReferenceDelete = gROOT->MustClean();
885  gROOT->SetMustClean(false);
886  TDirectory* dir = h->GetDirectory();
887  TDirectory* g = gDirectory;
888  if( dir )
889  dir->cd();
890  h->Write();
891  g->cd();
892 
893  StatusCode sc = m_THistSvc->deReg( h );
894  if( !sc.isSuccess() ) {
895  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "AthenaMonManager::WriteAndDeleteHist(): Failure to deReg( TObject* )" << endmsg;
896  }
897  delete o;
898  gROOT->SetMustClean(doRecursiveReferenceDelete);
899  m_d->m_objMap.erase( key );
900  }
901  }
902 }

◆ writeAndDeleteLWHist() [1/2]

LWHist * AthenaMonManager::writeAndDeleteLWHist ( const std::string &  key,
const std::string &  streamName 
)
virtualinherited

Definition at line 742 of file AthenaMonManager.cxx.

744 {
745 // std::cout<<"writeAndDeleteLWHist... maybe"<<std::endl;
746  //If is owned LWHist we write it in a root file and deletes it + returns it's (now deallocated) address.
747 
749  if( iLW != m_d->m_objMapLW.end() )
750  {
751  //Fixme: add private helper method actualWriteAndDelete(TH1*), to use by both...
752  LWHist * lwhist =iLW->second;
753  TH1 * h = lwhist->getROOTHistBase();
754  if( h != 0 )
755  {
756  //Get correct dir by doing a quick reg/dereg:
757  bool ok(false);
758  if (lwhist->usingROOTBackend())
759  {
760  //Already registered
761  ok = true;
762  }
763  else
764  {
765  //Delayed registration:
766  if (m_THistSvc->regHist( streamName, h ).isSuccess())
767  // if (m_THistSvc->deReg( h ).isSuccess())
768  ok = true;
769  }
770 
771  if (ok)
772  {
773  bool doRecursiveReferenceDelete = gROOT->MustClean();
774  gROOT->SetMustClean(false);
775  TDirectory* dir = h->GetDirectory();
776  TDirectory* g = gDirectory;
777  if(dir)
778  dir->cd();
779  h->Write();
780  g->cd();
781 
782  StatusCode sc = m_THistSvc->deReg( h );
783  if( !sc.isSuccess() )
784  {
785  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "AthenaMonManager::WriteAndDeleteHist(): Failure to deReg( TObject* )" << endmsg;
786  }
787 
788  m_d->m_objMapLW.erase( iLW );
789  lwhist->setOwnsROOTHisto(true);//Since we deregistered
791  lwhist=0;
792  gROOT->SetMustClean(doRecursiveReferenceDelete);//Should be after the deleteLWHist call
793  }
794  return lwhist;
795  }
796  }
797  return 0;
798 }

◆ writeAndDeleteLWHist() [2/2]

void AthenaMonManager::writeAndDeleteLWHist ( LWHist lwh)
virtualinherited

Definition at line 734 of file AthenaMonManager.cxx.

◆ writeAndResetLWHist()

LWHist * AthenaMonManager::writeAndResetLWHist ( const std::string &  key,
const std::string &  streamName 
)
virtualinherited

Definition at line 801 of file AthenaMonManager.cxx.

803 {
804 // std::cout<<"writeAndDeleteLWHist... maybe"<<std::endl;
805  //If is owned LWHist we write it in a root file and deletes it + returns it's (now deallocated) address.
806 
808  if( iLW != m_d->m_objMapLW.end() )
809  {
810  //Fixme: add private helper method actualWriteAndDelete(TH1*), to use by both...
811  LWHist * lwhist =iLW->second;
812  TH1 * h = lwhist->getROOTHistBase();
813  if( h != 0 )
814  {
815  //Get correct dir by doing a quick reg/dereg:
816  bool ok(false);
817  if (lwhist->usingROOTBackend())
818  {
819  //Already registered
820  ok = true;
821  }
822  else
823  {
824  //Delayed registration:
825  if (m_THistSvc->regHist( streamName, h ).isSuccess())
826  // if (m_THistSvc->deReg( h ).isSuccess())
827  ok = true;
828  }
829 
830  if (ok)
831  {
832  bool doRecursiveReferenceDelete = gROOT->MustClean();
833  gROOT->SetMustClean(false);
834  TDirectory* dir = h->GetDirectory();
835  TDirectory* g = gDirectory;
836  if(dir)
837  dir->cd();
838  h->Write();
839  g->cd();
840 
841  StatusCode sc = m_THistSvc->deReg( h );
842  if( !sc.isSuccess() )
843  {
844  if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "AthenaMonManager::WriteAndDeleteHist(): Failure to deReg( TObject* )" << endmsg;
845  }
846 
847  m_d->m_objMapLW.erase( iLW );
848  lwhist->setOwnsROOTHisto(true);//Since we deregistered
849 
850  //LWHistAthMonWrapper::deleteLWHist(lwhist);
851  // Yuriy: commented out this line to make the code properly place histograms
852  // in the offline environament; It has been a bug after I fixed online environment
853  // with a new approach; Basically inherited from writeAndDeletLWHist(...)
854  //LWHistAthMonWrapper::removeCustomData(lwhist);
855 
856  lwhist->Reset();
857 
858  lwhist=0;
859  gROOT->SetMustClean(doRecursiveReferenceDelete);//Should be after the deleteLWHist call
860  }
861  return lwhist;
862  }
863  }
864  return 0;
865 }

Member Data Documentation

◆ m_BCM_RDOs

SG::ReadHandleKey<BCM_RDO_Container> InDetGlobalManager::m_BCM_RDOs {this, "BCMRDOName", "BCM_RDOs", "BCM Clusters for Monitoring"}
private

Definition at line 63 of file InDetGlobalManager.h.

◆ m_CombinedTracksName

SG::ReadHandleKey<TrackCollection> InDetGlobalManager::m_CombinedTracksName {this,"CombinedTrackName", "ExtendedTracks", "Combined Track Collection For Monitoring"}
private

Definition at line 58 of file InDetGlobalManager.h.

◆ m_d

Imp* AthenaMonManager::m_d
privateinherited

Definition at line 130 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_doBCM

Gaudi::Property<bool> InDetGlobalManager::m_doBCM {this, "doBCM", false, "BCM is available in this data"}
private

Definition at line 82 of file InDetGlobalManager.h.

◆ m_doPixel

Gaudi::Property<bool> InDetGlobalManager::m_doPixel {this, "doPixel", true, "Pixel is available in this data"}
private

Definition at line 79 of file InDetGlobalManager.h.

◆ m_doSCT

Gaudi::Property<bool> InDetGlobalManager::m_doSCT {this, "doSCT", true, "SCT is available in this data"}
private

Definition at line 80 of file InDetGlobalManager.h.

◆ m_doTiming

Gaudi::Property<bool> InDetGlobalManager::m_doTiming {this, "doTiming", false, "Timing containers are available (data, not MC)"}
private

Definition at line 83 of file InDetGlobalManager.h.

◆ m_doTopBottom

Gaudi::Property<bool> InDetGlobalManager::m_doTopBottom {this,"doTopBottom", false, "Check differences between top and bottom of detector (seems deprecated...)"}
private

Definition at line 78 of file InDetGlobalManager.h.

◆ m_doTRT

Gaudi::Property<bool> InDetGlobalManager::m_doTRT {this, "doTRT", true, "TRT is available in this data"}
private

Definition at line 81 of file InDetGlobalManager.h.

◆ m_doTRTPhase

Gaudi::Property<bool> InDetGlobalManager::m_doTRTPhase {this, "doTRTPhase", false, "TRT Phase Information available (cosmics)"}
private

Definition at line 84 of file InDetGlobalManager.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
protectedinherited

Definition at line 123 of file AthenaMonManager.h.

◆ m_PixelBCID

SG::ReadHandleKey<InDetTimeCollection> InDetGlobalManager::m_PixelBCID {this, "PixelBCIDName", "PixelBCID", "Pixel BCID for Monitoring"}
private

Definition at line 69 of file InDetGlobalManager.h.

◆ m_PixelLVL1ID

SG::ReadHandleKey<InDetTimeCollection> InDetGlobalManager::m_PixelLVL1ID {this, "PixelLVL1IDName", "PixelLVL1ID", "Pixel LVL1 ID for Monitoring"}
private

Definition at line 66 of file InDetGlobalManager.h.

◆ m_PixelRDOs

SG::ReadHandleKey<PixelRDO_Container> InDetGlobalManager::m_PixelRDOs {this, "PixelRDOName", "PixelRDOs", "Pixel Clusters for Monitoring"}
private

Definition at line 64 of file InDetGlobalManager.h.

◆ m_SCT_BCID

SG::ReadHandleKey<InDetTimeCollection> InDetGlobalManager::m_SCT_BCID {this, "SCTBCIDName", "SCT_BCID", "SCT BCID for Monitoring"}
private

Definition at line 70 of file InDetGlobalManager.h.

◆ m_SCT_LVL1ID

SG::ReadHandleKey<InDetTimeCollection> InDetGlobalManager::m_SCT_LVL1ID {this, "SCTLVL1IDName", "SCT_LVL1ID", "SCT LVL1 ID for Monitoring"}
private

Definition at line 67 of file InDetGlobalManager.h.

◆ m_SCT_RDOs

SG::ReadHandleKey<SCT_RDO_Container> InDetGlobalManager::m_SCT_RDOs {this, "SCTRDOName", "SCT_RDOs", "SCT Clusters for monitoring"}
private

Definition at line 65 of file InDetGlobalManager.h.

◆ m_THistSvc

ITHistSvc* AthenaMonManager::m_THistSvc
protectedinherited

Definition at line 125 of file AthenaMonManager.h.

◆ m_TRT_BCID

SG::ReadHandleKey<InDetTimeCollection> InDetGlobalManager::m_TRT_BCID {this, "TRTBCIDName", "TRT_BCID", "TRT BCID For Monitoring"}
private

Definition at line 71 of file InDetGlobalManager.h.

◆ m_TRT_DriftCircleName

SG::ReadHandleKey<InDet::TRT_DriftCircleContainer> InDetGlobalManager::m_TRT_DriftCircleName {this,"TRT_DriftCircleName", "TRT_DriftCircles", "TRT Drift Circle Collection For Monitoring"}
private

Name of trt drift circle container.

Definition at line 61 of file InDetGlobalManager.h.

◆ m_TRT_LVL1ID

SG::ReadHandleKey<InDetTimeCollection> InDetGlobalManager::m_TRT_LVL1ID {this, "TRTLVL1IDName", "TRT_LVL1ID", "TRT LVL1 ID for Monitoring"}
private

Definition at line 68 of file InDetGlobalManager.h.

◆ m_TRT_Phase

SG::ReadHandleKey<ComTime> InDetGlobalManager::m_TRT_Phase {this, "TRTPhaseName", "TRT_Phase", "TRT Phase for Monitoring"}
private

Definition at line 72 of file InDetGlobalManager.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:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
InDetGlobalMotherMonTool::fillTracks
virtual void fillTracks(const TrackCollection *sct_tracks, const TrackCollection *trt_tracks, const TrackCollection *combined_tracks, const TrackCollection *pix_tracks)
Set the adresses of track collections to those initialized by InDetGlobalManager in all sub-tools.
Definition: InDetGlobalMotherMonTool.h:439
LWHist
Definition: LWHist.h:26
AthenaMonManager::writeAndDeleteLWHist
virtual LWHist * writeAndDeleteLWHist(const std::string &key, const std::string &streamName)
Definition: AthenaMonManager.cxx:743
InDetGlobalManager::m_SCT_LVL1ID
SG::ReadHandleKey< InDetTimeCollection > m_SCT_LVL1ID
Definition: InDetGlobalManager.h:67
InDetGlobalManager::m_SCT_RDOs
SG::ReadHandleKey< SCT_RDO_Container > m_SCT_RDOs
Definition: InDetGlobalManager.h:65
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
InDetGlobalManager::m_doTRT
Gaudi::Property< bool > m_doTRT
Definition: InDetGlobalManager.h:81
InDetGlobalManager::m_BCM_RDOs
SG::ReadHandleKey< BCM_RDO_Container > m_BCM_RDOs
Definition: InDetGlobalManager.h:63
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
AthenaMonManager::cosmics
@ cosmics
Definition: AthenaMonManager.h:58
AthenaMonManager::AOD
@ AOD
Definition: AthenaMonManager.h:49
AthenaMonManager::finalize
virtual StatusCode finalize()
Definition: AthenaMonManager.cxx:600
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:78
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
InDetGlobalManager::m_PixelRDOs
SG::ReadHandleKey< PixelRDO_Container > m_PixelRDOs
Definition: InDetGlobalManager.h:64
AthCommonMsg< Algorithm >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
AthenaMonManager::heavyIonCollisions
@ heavyIonCollisions
Definition: AthenaMonManager.h:58
InDetGlobalManager::m_doSCT
Gaudi::Property< bool > m_doSCT
Definition: InDetGlobalManager.h:80
InDetGlobalManager::m_TRT_BCID
SG::ReadHandleKey< InDetTimeCollection > m_TRT_BCID
Definition: InDetGlobalManager.h:71
InDetGlobalManager::m_doPixel
Gaudi::Property< bool > m_doPixel
Definition: InDetGlobalManager.h:79
InDetGlobalManager::m_PixelBCID
SG::ReadHandleKey< InDetTimeCollection > m_PixelBCID
Definition: InDetGlobalManager.h:69
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
AthenaMonManager::Imp::s_svcLocator
static std::atomic< ISvcLocator * > s_svcLocator
Definition: AthenaMonManager.cxx:178
InDetRawDataContainer
Definition: InDetRawDataContainer.h:27
python.LumiCalcHtml.lc
lc
Definition: LumiCalcHtml.py:579
InDetGlobalManager::m_doTRTPhase
Gaudi::Property< bool > m_doTRTPhase
Definition: InDetGlobalManager.h:84
AthenaMonManager::Imp::toolAudStart
void toolAudStart(const T &tool)
Definition: AthenaMonManager.cxx:127
ComTime
Definition: ComTime.h:17
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
InDetGlobalManager::m_doTiming
Gaudi::Property< bool > m_doTiming
Definition: InDetGlobalManager.h:83
AthenaMonManager::m_d
Imp * m_d
Definition: AthenaMonManager.h:129
InDetGlobalManager::m_SCT_BCID
SG::ReadHandleKey< InDetTimeCollection > m_SCT_BCID
Definition: InDetGlobalManager.h:70
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
InDetGlobalMotherMonTool::fillDetectorManagers
virtual void fillDetectorManagers(const TRT_ID *trtID, const SCT_ID *sctID, const PixelID *pixelID)
Filling the detector managers.
Definition: InDetGlobalMotherMonTool.h:459
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
LWHistAthMonWrapper::streamName
static const std::string & streamName(LWHist *)
LWHist::usingROOTBackend
bool usingROOTBackend() const
Definition: LWHist.h:73
Execution.tb
tb
Definition: Execution.py:15
AthMonBench::finishMeasurement
void finishMeasurement()
Definition: AthMonBench.h:91
AthenaMonManager::tier0ESD
@ tier0ESD
Definition: AthenaMonManager.h:49
InDetGlobalMotherMonTool
This tool derives from InDetGlobalMonitorToolBase The Mother tool interfaces to all subtools.
Definition: InDetGlobalMotherMonTool.h:75
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
LWHistAthMonWrapper::key
static const std::string & key(LWHist *)
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
InDetGlobalMotherMonTool::retrieveTools
virtual void retrieveTools()
Definition: InDetGlobalMotherMonTool.h:498
ParseInputs.gDirectory
gDirectory
Definition: Final2012/ParseInputs.py:133
lumiFormat.i
int i
Definition: lumiFormat.py:92
AthenaMonManager::collisions
@ collisions
Definition: AthenaMonManager.h:58
BCM_RDO_Container
Definition: BCM_RDO_Container.h:27
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
AthenaMonManager::online
@ online
Definition: AthenaMonManager.h:49
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:130
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
AthenaMonManager::m_monTools
ToolHandleArray< IMonitorToolBase > m_monTools
Definition: AthenaMonManager.h:123
InDetGlobalManager::m_TRT_DriftCircleName
SG::ReadHandleKey< InDet::TRT_DriftCircleContainer > m_TRT_DriftCircleName
Name of trt drift circle container.
Definition: InDetGlobalManager.h:61
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
InDetGlobalManager::m_TRT_Phase
SG::ReadHandleKey< ComTime > m_TRT_Phase
Definition: InDetGlobalManager.h:72
InDet::TRT_DriftCircleContainer
Trk::PrepRawDataContainer< TRT_DriftCircleCollection > TRT_DriftCircleContainer
Definition: TRT_DriftCircleContainer.h:27
InDetTimeCollection
std::vector< std::pair< uint32_t, unsigned int > > InDetTimeCollection
Definition: InDetTimeCollection.h:12
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
InDetGlobalManager::m_doBCM
Gaudi::Property< bool > m_doBCM
Definition: InDetGlobalManager.h:82
IMonitorToolBase
Definition: IMonitorToolBase.h:25
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
AthMonBench::startMeasurement
void startMeasurement()
Definition: AthMonBench.h:83
AtlCoolConsole.tool
tool
Definition: AtlCoolConsole.py:453
AthenaMonManager::execute
virtual StatusCode execute()
Definition: AthenaMonManager.cxx:512
AthenaMonManager::Imp::m_fileKeyProp
std::string m_fileKeyProp
Definition: AthenaMonManager.cxx:91
AthenaMonManager::Imp::getToolBench
ToolBench * getToolBench(IMonitorToolBase *t)
Definition: AthenaMonManager.cxx:163
LWHist::setOwnsROOTHisto
void setOwnsROOTHisto(bool b)
Definition: LWHist.h:75
AthenaMonManager::Imp::m_doResourceMon
bool m_doResourceMon
Definition: AthenaMonManager.cxx:134
AthenaMonManager::Imp::m_forkedProcess
bool m_forkedProcess
Definition: AthenaMonManager.cxx:106
LWHist::Reset
virtual void Reset()=0
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
InDetGlobalManager::m_PixelLVL1ID
SG::ReadHandleKey< InDetTimeCollection > m_PixelLVL1ID
Definition: InDetGlobalManager.h:66
AthenaPoolExample_Copy.streamName
string streamName
Definition: AthenaPoolExample_Copy.py:39
TRT_ID
Definition: TRT_ID.h:84
LWHistAthMonWrapper::deleteLWHist
static void deleteLWHist(LWHist *)
a
TList * a
Definition: liststreamerinfos.cxx:10
AthenaMonManager::AthenaMonManager
AthenaMonManager(const std::string &name, ISvcLocator *pSvcLocator)
Definition: AthenaMonManager.cxx:208
h
SCT_ID
Definition: SCT_ID.h:68
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
AthenaMonManager::altprod
@ altprod
Definition: AthenaMonManager.h:49
TH1
Definition: rootspy.cxx:268
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
InDetGlobalManager::m_TRT_LVL1ID
SG::ReadHandleKey< InDetTimeCollection > m_TRT_LVL1ID
Definition: InDetGlobalManager.h:68
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
InDetGlobalMotherMonTool::fillRDOContainers
virtual void fillRDOContainers(const BCM_RDO_Container *bcmRdoContainer, const PixelRDO_Container *pixRdoContainer, const SCT_RDO_Container *sctRdoContainer, const InDet::TRT_DriftCircleContainer *driftCircleContainer)
RDO containers.
Definition: InDetGlobalMotherMonTool.h:469
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
InDetGlobalMotherMonTool::fillTimeContainers
virtual void fillTimeContainers(const InDetTimeCollection *pixLVL1IDContainer, const InDetTimeCollection *sctLVL1IDContainer, const InDetTimeCollection *trtLVL1IDContainer, const InDetTimeCollection *pixel_BCIDColl, const InDetTimeCollection *sct_BCIDColl, const InDetTimeCollection *trt_BCIDColl, const ComTime *trtPhase)
Timing collections (BCID, LVL1ID, TRT event phase)
Definition: InDetGlobalMotherMonTool.h:481
AthenaMonManager::m_THistSvc
ITHistSvc * m_THistSvc
Definition: AthenaMonManager.h:125
str
Definition: BTagTrackIpAccessor.cxx:11
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
AthenaMonManager::Imp::m_objMapLW
ObjMapLW_t m_objMapLW
Definition: AthenaMonManager.cxx:81
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
AthenaMonManager::userDefined
@ userDefined
Definition: AthenaMonManager.h:58
InDetGlobalManager::m_CombinedTracksName
SG::ReadHandleKey< TrackCollection > m_CombinedTracksName
Definition: InDetGlobalManager.h:58
PixelID
Definition: PixelID.h:67
LWHist::getROOTHistBase
virtual TH1 * getROOTHistBase()=0
AthMonBench
Definition: AthMonBench.h:27
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
AthenaMonManager::initialize
virtual StatusCode initialize()
Definition: AthenaMonManager.cxx:384
ServiceHandle< ICondSvc >
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37