ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
ManagedMonitorToolBase::MonGroup Class Reference

A container of information describing a monitoring object. More...

#include <ManagedMonitorToolBase.h>

Collaboration diagram for ManagedMonitorToolBase::MonGroup:

Public Types

typedef std::map< std::string, TH1 * > HistMap_t
 A mapping of histogram name to histogram object. More...
 
typedef std::map< std::string, LWHist * > HistMapLW_t
 

Public Member Functions

 MonGroup (ManagedMonitorToolBase *tool, const std::string &system, Interval_t interval)
 
 MonGroup (ManagedMonitorToolBase *tool, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt)
 
 MonGroup (ManagedMonitorToolBase *tool, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt, const std::string &chain)
 
 MonGroup (ManagedMonitorToolBase *tool, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt, const std::string &chain, const std::string &merge)
 
StatusCode regHist (TH1 *h)
 Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical parameters that describe the histogram. More...
 
StatusCode getHist (TH1 *&h, const std::string &hName)
 Returns a TH1 via the pointer passed as the first argument. More...
 
StatusCode getHist (TH2 *&h, const std::string &hName)
 Returns a TH2 via the pointer passed as the first argument. More...
 
StatusCode regEfficiency (TEfficiency *e)
 Registers a TEfficiency to be included in the output stream. More...
 
StatusCode regGraph (TGraph *g)
 Registers a TGraph to be included in the output stream using logical parameters that describe the histogram. More...
 
StatusCode regTree (TTree *t)
 Registers a TTree to be included in the output stream using logical parameters that describe the histogram. More...
 
StatusCode writeAndDelete (TH1 *h)
 Write and delete a histogram. More...
 
StatusCode deregHist (TH1 *h)
 De-registers a TH1 from the THistSvc, but does NOT delete the object. More...
 
StatusCode deregGraph (TGraph *g)
 De-registers a TGraph from the THistSvc, but does NOT delete the object (also works for LWHists). More...
 
StatusCode deregObject (const std::string &objName)
 De-registers a TObject from the THistSvc, but does NOT delete the object (also works for LWHists). More...
 
StatusCode deregAll ()
 De-registers all TH1 objects from the THistSvc, but does NOT delete the objects. More...
 
StatusCode regHist (LWHist *h)
 Support for lightweight histograms (NB: The various deReg methods also work, but of course will just prevent the LWHist's from being dereg'ed later). More...
 
StatusCode getHist (LWHist *&h, const std::string &hName)
 
StatusCode deregHist (LWHist *h)
 
const std::string & system () const
 
Interval_t interval () const
 
MgmtAttr_t histo_mgmt () const
 
const std::string & chain () const
 
const std::string & merge () const
 
HistMap_tmap ()
 A map containing all histograms registered with this MonGroup. More...
 
HistMapLW_tmapLW ()
 
 MonGroup (const MonGroup &o)
 
MonGroupoperator= (const MonGroup &o)
 

Static Public Member Functions

static unsigned ncopies ()
 

Private Member Functions

 MonGroup ()
 

Static Private Member Functions

static void badusage ()
 

Private Attributes

ManagedMonitorToolBasem_tool
 
std::string m_system
 
Interval_t m_interval
 
MgmtAttr_t m_histo_mgmt
 
std::string m_chain
 
std::string m_merge
 
HistMap_t m_map
 
HistMapLW_t m_mapLW
 

Detailed Description

A container of information describing a monitoring object.

Definition at line 138 of file ManagedMonitorToolBase.h.

Member Typedef Documentation

◆ HistMap_t

typedef std::map<std::string,TH1*> ManagedMonitorToolBase::MonGroup::HistMap_t

A mapping of histogram name to histogram object.

Definition at line 280 of file ManagedMonitorToolBase.h.

◆ HistMapLW_t

typedef std::map<std::string,LWHist*> ManagedMonitorToolBase::MonGroup::HistMapLW_t

Definition at line 281 of file ManagedMonitorToolBase.h.

Constructor & Destructor Documentation

◆ MonGroup() [1/6]

ManagedMonitorToolBase::MonGroup::MonGroup ( ManagedMonitorToolBase tool,
const std::string &  system,
Interval_t  interval 
)
inline

◆ MonGroup() [2/6]

ManagedMonitorToolBase::MonGroup::MonGroup ( ManagedMonitorToolBase tool,
const std::string &  system,
Interval_t  interval,
MgmtAttr_t  histo_mgmt 
)
inline

Definition at line 145 of file ManagedMonitorToolBase.h.

◆ MonGroup() [3/6]

ManagedMonitorToolBase::MonGroup::MonGroup ( ManagedMonitorToolBase tool,
const std::string &  system,
Interval_t  interval,
MgmtAttr_t  histo_mgmt,
const std::string &  chain 
)
inline

◆ MonGroup() [4/6]

ManagedMonitorToolBase::MonGroup::MonGroup ( ManagedMonitorToolBase tool,
const std::string &  system,
Interval_t  interval,
MgmtAttr_t  histo_mgmt,
const std::string &  chain,
const std::string &  merge 
)
inline

◆ MonGroup() [5/6]

ManagedMonitorToolBase::MonGroup::MonGroup ( const MonGroup o)
inline

Definition at line 293 of file ManagedMonitorToolBase.h.

294  : m_tool(o.m_tool),
295  m_system(o.m_system),
296  //m_level(o.m_level),
297  m_interval(o.m_interval),
298  m_histo_mgmt(o.m_histo_mgmt),
299  m_chain(o.m_chain),
300  m_merge(o.m_merge),
301  m_map(o.m_map),
302  m_mapLW(o.m_mapLW)
303  {
304  badusage();
305  }

◆ MonGroup() [6/6]

ManagedMonitorToolBase::MonGroup::MonGroup ( )
inlineprivate

Definition at line 325 of file ManagedMonitorToolBase.h.

325 { }

Member Function Documentation

◆ badusage()

void ManagedMonitorToolBase::MonGroup::badusage ( )
staticprivate

Definition at line 188 of file ManagedMonitorToolBase.cxx.

188 { ++s_mmtb_mongroup_ncopies; }

◆ chain()

const std::string& ManagedMonitorToolBase::MonGroup::chain ( ) const
inline

Definition at line 273 of file ManagedMonitorToolBase.h.

273 { return m_chain; }

◆ deregAll()

StatusCode ManagedMonitorToolBase::MonGroup::deregAll ( )

De-registers all TH1 objects from the THistSvc, but does NOT delete the objects.

Definition at line 354 of file ManagedMonitorToolBase.cxx.

356 {
357  if( m_tool != 0 ) {
358  bool isSuccess(true);
359  StatusCode sc;
360 
361  typedef HistMap_t::const_iterator MapIter_t;
362  MapIter_t mapEnd = m_map.end();
363  for( MapIter_t i = m_map.begin(); i != mapEnd; ++i ) {
364  sc = m_tool->deregHist( i->second );
365  if( !sc.isSuccess() )
366  isSuccess = false;
367  }
368 
369  typedef HistMapLW_t::const_iterator MapIterLW_t;
370  MapIterLW_t mapEndLW = m_mapLW.end();
371  for( MapIterLW_t i = m_mapLW.begin(); i != mapEndLW; ++i ) {
372  sc = m_tool->deregHist( i->second );
373  if( !sc.isSuccess() )
374  isSuccess = false;
375  }
376 
377  m_map.clear();
378  m_mapLW.clear();
379 
380  if( isSuccess )
381  return StatusCode::SUCCESS;
382  }
383 
384  return StatusCode::FAILURE;
385 }

◆ deregGraph()

StatusCode ManagedMonitorToolBase::MonGroup::deregGraph ( TGraph *  g)

De-registers a TGraph from the THistSvc, but does NOT delete the object (also works for LWHists).

Definition at line 330 of file ManagedMonitorToolBase.cxx.

332 {
333  if( m_tool != 0 ) {
334  return m_tool->deregGraph( g );
335  }
336 
337  return StatusCode::FAILURE;
338 }

◆ deregHist() [1/2]

StatusCode ManagedMonitorToolBase::MonGroup::deregHist ( LWHist h)

Definition at line 317 of file ManagedMonitorToolBase.cxx.

318 {
319  if( m_tool != 0 ) {
320  std::string hName( h->GetName() );
321  m_mapLW.erase( hName );
322  return m_tool->deregHist( h );
323  }
324 
325  return StatusCode::FAILURE;
326 }

◆ deregHist() [2/2]

StatusCode ManagedMonitorToolBase::MonGroup::deregHist ( TH1 h)

De-registers a TH1 from the THistSvc, but does NOT delete the object.

Definition at line 304 of file ManagedMonitorToolBase.cxx.

306 {
307  if( m_tool != 0 ) {
308  std::string hName( h->GetName() );
309  m_map.erase( hName );
310  return m_tool->deregHist( h );
311  }
312 
313  return StatusCode::FAILURE;
314 }

◆ deregObject()

StatusCode ManagedMonitorToolBase::MonGroup::deregObject ( const std::string &  objName)

De-registers a TObject from the THistSvc, but does NOT delete the object (also works for LWHists).

Definition at line 342 of file ManagedMonitorToolBase.cxx.

344 {
345  if( m_tool != 0 ) {
346  return m_tool->deregObject( objName, *this );
347  }
348 
349  return StatusCode::FAILURE;
350 }

◆ getHist() [1/3]

StatusCode ManagedMonitorToolBase::MonGroup::getHist ( LWHist *&  h,
const std::string &  hName 
)

Definition at line 236 of file ManagedMonitorToolBase.cxx.

237 {
238  if( m_tool )
239  return m_tool->getHist( h, hName, *this );
240 
241  return StatusCode::FAILURE;
242 }

◆ getHist() [2/3]

StatusCode ManagedMonitorToolBase::MonGroup::getHist ( TH1 *&  h,
const std::string &  hName 
)

Returns a TH1 via the pointer passed as the first argument.

The histogram name, without the leading path or stream name, must be given as the second argument.

Definition at line 208 of file ManagedMonitorToolBase.cxx.

210 {
211  if( m_tool != 0 ) {
212  return m_tool->getHist( h, hName, *this );
213  }
214 
215  return StatusCode::FAILURE;
216 }

◆ getHist() [3/3]

StatusCode ManagedMonitorToolBase::MonGroup::getHist ( TH2 *&  h,
const std::string &  hName 
)

Returns a TH2 via the pointer passed as the first argument.

The histogram name, without the leading path or stream name, must be given as the second argument.

Definition at line 246 of file ManagedMonitorToolBase.cxx.

248 {
249  if( m_tool != 0 ) {
250  return m_tool->getHist( h, hName, *this );
251  }
252 
253  return StatusCode::FAILURE;
254 }

◆ histo_mgmt()

MgmtAttr_t ManagedMonitorToolBase::MonGroup::histo_mgmt ( ) const
inline

Definition at line 272 of file ManagedMonitorToolBase.h.

272 { return m_histo_mgmt; }

◆ interval()

Interval_t ManagedMonitorToolBase::MonGroup::interval ( ) const
inline

Definition at line 271 of file ManagedMonitorToolBase.h.

271 { return m_interval; }

◆ map()

HistMap_t& ManagedMonitorToolBase::MonGroup::map ( )
inline

A map containing all histograms registered with this MonGroup.

NB: Does not return LWHists (support for this could be added).

Definition at line 289 of file ManagedMonitorToolBase.h.

289 { return m_map; }

◆ mapLW()

HistMapLW_t& ManagedMonitorToolBase::MonGroup::mapLW ( )
inline

Definition at line 290 of file ManagedMonitorToolBase.h.

290 { return m_mapLW; }

◆ merge()

const std::string& ManagedMonitorToolBase::MonGroup::merge ( ) const
inline

Definition at line 274 of file ManagedMonitorToolBase.h.

274 { return m_merge; }

◆ ncopies()

unsigned ManagedMonitorToolBase::MonGroup::ncopies ( )
static

Definition at line 187 of file ManagedMonitorToolBase.cxx.

187 { return s_mmtb_mongroup_ncopies; }

◆ operator=()

MonGroup& ManagedMonitorToolBase::MonGroup::operator= ( const MonGroup o)
inline

Definition at line 307 of file ManagedMonitorToolBase.h.

308  {
309  if (&o != this) {
310  m_tool = o.m_tool;
311  m_system = o.m_system;
312  //m_level = o.m_level;
313  m_interval = o.m_interval;
314  m_histo_mgmt = o.m_histo_mgmt;
315  m_chain = o.m_chain;
316  m_merge = o.m_merge;
317  m_map = o.m_map;
318  m_mapLW = o.m_mapLW;
319  }
320  badusage();
321  return *this;
322  }

◆ regEfficiency()

StatusCode ManagedMonitorToolBase::MonGroup::regEfficiency ( TEfficiency *  e)

Registers a TEfficiency to be included in the output stream.

Definition at line 257 of file ManagedMonitorToolBase.cxx.

257  {
258  if( m_tool != 0 ) {
259  return m_tool->regEfficiency( e, *this );
260  }
261  return StatusCode::FAILURE;
262 }

◆ regGraph()

StatusCode ManagedMonitorToolBase::MonGroup::regGraph ( TGraph *  g)

Registers a TGraph to be included in the output stream using logical parameters that describe the histogram.

The optional 'dqmAlgorithm' parameter may be used to specify an algorithm to automatically check the histogram after it has been filled.

Definition at line 266 of file ManagedMonitorToolBase.cxx.

268 {
269  if( m_tool != 0 ) {
270  return m_tool->regGraph( g, *this );
271  }
272 
273  return StatusCode::FAILURE;
274 }

◆ regHist() [1/2]

StatusCode ManagedMonitorToolBase::MonGroup::regHist ( LWHist h)

Support for lightweight histograms (NB: The various deReg methods also work, but of course will just prevent the LWHist's from being dereg'ed later).

Definition at line 221 of file ManagedMonitorToolBase.cxx.

223 {
224  if( m_tool != 0 ) {
225  std::string hName( h->GetName() );
226  HistMapLW_t::value_type valToInsert( hName, h );//Fixme: Just keep a list of the hists
227  m_mapLW.insert( valToInsert );
228  return m_tool->regHist( h, *this );
229  }
230 
231  return StatusCode::FAILURE;
232 }

◆ regHist() [2/2]

StatusCode ManagedMonitorToolBase::MonGroup::regHist ( TH1 h)

Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical parameters that describe the histogram.

The optional 'dqmAlgorithm' parameter may be used to specify an algorithm to automatically check the histogram after it has been filled.

Definition at line 194 of file ManagedMonitorToolBase.cxx.

196 {
197  if( m_tool != 0 ) {
198  std::string hName( h->GetName() );
199  HistMap_t::value_type valToInsert( hName, h );
200  m_map.insert( valToInsert );
201  return m_tool->regHist( h, *this );
202  }
203 
204  return StatusCode::FAILURE;
205 }

◆ regTree()

StatusCode ManagedMonitorToolBase::MonGroup::regTree ( TTree *  t)

Registers a TTree to be included in the output stream using logical parameters that describe the histogram.

Definition at line 278 of file ManagedMonitorToolBase.cxx.

280 {
281  if( m_tool != 0 ) {
282  return m_tool->regTree( t, *this );
283  }
284 
285  return StatusCode::FAILURE;
286 }

◆ system()

const std::string& ManagedMonitorToolBase::MonGroup::system ( ) const
inline

Definition at line 269 of file ManagedMonitorToolBase.h.

269 { return m_system; }

◆ writeAndDelete()

StatusCode ManagedMonitorToolBase::MonGroup::writeAndDelete ( TH1 h)

Write and delete a histogram.

Definition at line 290 of file ManagedMonitorToolBase.cxx.

292 {
293  if( m_tool != 0 ) {
294  std::string hName( h->GetName() );
295  m_map.erase( hName );
296  return m_tool->writeAndDelete( h, *this );
297  }
298 
299  return StatusCode::FAILURE;
300 }

Member Data Documentation

◆ m_chain

std::string ManagedMonitorToolBase::MonGroup::m_chain
private

Definition at line 331 of file ManagedMonitorToolBase.h.

◆ m_histo_mgmt

MgmtAttr_t ManagedMonitorToolBase::MonGroup::m_histo_mgmt
private

Definition at line 330 of file ManagedMonitorToolBase.h.

◆ m_interval

Interval_t ManagedMonitorToolBase::MonGroup::m_interval
private

Definition at line 329 of file ManagedMonitorToolBase.h.

◆ m_map

HistMap_t ManagedMonitorToolBase::MonGroup::m_map
private

Definition at line 333 of file ManagedMonitorToolBase.h.

◆ m_mapLW

HistMapLW_t ManagedMonitorToolBase::MonGroup::m_mapLW
private

Definition at line 334 of file ManagedMonitorToolBase.h.

◆ m_merge

std::string ManagedMonitorToolBase::MonGroup::m_merge
private

Definition at line 332 of file ManagedMonitorToolBase.h.

◆ m_system

std::string ManagedMonitorToolBase::MonGroup::m_system
private

Definition at line 327 of file ManagedMonitorToolBase.h.

◆ m_tool

ManagedMonitorToolBase* ManagedMonitorToolBase::MonGroup::m_tool
private

Definition at line 326 of file ManagedMonitorToolBase.h.


The documentation for this class was generated from the following files:
ManagedMonitorToolBase::MonGroup::m_chain
std::string m_chain
Definition: ManagedMonitorToolBase.h:331
ManagedMonitorToolBase::MonGroup::m_merge
std::string m_merge
Definition: ManagedMonitorToolBase.h:332
ManagedMonitorToolBase::MonGroup::m_tool
ManagedMonitorToolBase * m_tool
Definition: ManagedMonitorToolBase.h:326
ManagedMonitorToolBase::MonGroup::chain
const std::string & chain() const
Definition: ManagedMonitorToolBase.h:273
ManagedMonitorToolBase::getHist
virtual StatusCode getHist(TH1 *&h, const std::string &hName, const std::string &system, Interval_t interval)
Returns a TH1 via the pointer passed as the first argument.
Definition: ManagedMonitorToolBase.cxx:1589
ManagedMonitorToolBase::MonGroup::m_system
std::string m_system
Definition: ManagedMonitorToolBase.h:327
ManagedMonitorToolBase::MonGroup::m_interval
Interval_t m_interval
Definition: ManagedMonitorToolBase.h:329
ManagedMonitorToolBase::deregHist
virtual StatusCode deregHist(LWHist *h)
Definition: ManagedMonitorToolBase.cxx:1826
ManagedMonitorToolBase::MonGroup::m_mapLW
HistMapLW_t m_mapLW
Definition: ManagedMonitorToolBase.h:334
ManagedMonitorToolBase::MonGroup::interval
Interval_t interval() const
Definition: ManagedMonitorToolBase.h:271
ManagedMonitorToolBase::regTree
virtual StatusCode regTree(TTree *t, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt=ATTRIB_MANAGED, const std::string &chain="", const std::string &merge="")
Registers a TTree to be included in the output stream using logical parameters that describe it.
Definition: ManagedMonitorToolBase.cxx:1749
ManagedMonitorToolBase::writeAndDelete
virtual StatusCode writeAndDelete(TH1 *h, const MonGroup &group)
Write out histogram and delete it.
Definition: ManagedMonitorToolBase.cxx:1804
ManagedMonitorToolBase::regGraph
virtual StatusCode regGraph(TGraph *g, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt=ATTRIB_MANAGED, const std::string &chain="", const std::string &merge="")
Registers a TGraph to be included in the output stream using logical parameters that describe the gra...
Definition: ManagedMonitorToolBase.cxx:1693
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ManagedMonitorToolBase::MonGroup::m_map
HistMap_t m_map
Definition: ManagedMonitorToolBase.h:333
ManagedMonitorToolBase::MonGroup::badusage
static void badusage()
Definition: ManagedMonitorToolBase.cxx:188
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
ManagedMonitorToolBase::deregGraph
virtual StatusCode deregGraph(TGraph *g)
De-registers a TGraph from the THistSvc, but does NOT delete the object.
Definition: ManagedMonitorToolBase.cxx:1844
lumiFormat.i
int i
Definition: lumiFormat.py:92
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ManagedMonitorToolBase::ATTRIB_MANAGED
@ ATTRIB_MANAGED
Definition: ManagedMonitorToolBase.h:131
ManagedMonitorToolBase::regEfficiency
virtual StatusCode regEfficiency(TEfficiency *e, const MonGroup &group)
Registers a TEfficiency to be included in the output stream using logical parameters that describe th...
Definition: ManagedMonitorToolBase.cxx:1648
ManagedMonitorToolBase::MonGroup::system
const std::string & system() const
Definition: ManagedMonitorToolBase.h:269
ManagedMonitorToolBase::MonGroup::histo_mgmt
MgmtAttr_t histo_mgmt() const
Definition: ManagedMonitorToolBase.h:272
AtlCoolConsole.tool
tool
Definition: AtlCoolConsole.py:453
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
h
ManagedMonitorToolBase::deregObject
virtual StatusCode deregObject(const std::string &objName, const std::string &system, Interval_t interval)
De-registers a TObject from the THistSvc, but does NOT delete the object.
Definition: ManagedMonitorToolBase.cxx:1852
ManagedMonitorToolBase::MonGroup::m_histo_mgmt
MgmtAttr_t m_histo_mgmt
Definition: ManagedMonitorToolBase.h:330
ManagedMonitorToolBase::regHist
virtual StatusCode regHist(TH1 *h, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt=ATTRIB_MANAGED, const std::string &chain="", const std::string &merge="")
Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical ...
Definition: ManagedMonitorToolBase.cxx:1454
merge
Definition: merge.py:1