ATLAS Offline Software
Loading...
Searching...
No Matches
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.

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.
StatusCode getHist (TH1 *&h, const std::string &hName)
 Returns a TH1 via the pointer passed as the first argument.
StatusCode getHist (TH2 *&h, const std::string &hName)
 Returns a TH2 via the pointer passed as the first argument.
StatusCode regEfficiency (TEfficiency *e)
 Registers a TEfficiency to be included in the output stream.
StatusCode regGraph (TGraph *g)
 Registers a TGraph to be included in the output stream using logical parameters that describe the histogram.
StatusCode regTree (TTree *t)
 Registers a TTree to be included in the output stream using logical parameters that describe the histogram.
StatusCode writeAndDelete (TH1 *h)
 Write and delete a histogram.
StatusCode deregHist (TH1 *h)
 De-registers a TH1 from the THistSvc, but does NOT delete the object.
StatusCode deregGraph (TGraph *g)
 De-registers a TGraph from the THistSvc, but does NOT delete the object.
StatusCode deregObject (const std::string &objName)
 De-registers a TObject from the THistSvc, but does NOT delete the object.
StatusCode deregAll ()
 De-registers all TH1 objects from the THistSvc, but does NOT delete the objects.
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.
 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

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 256 of file ManagedMonitorToolBase.h.

Constructor & Destructor Documentation

◆ MonGroup() [1/6]

◆ MonGroup() [2/6]

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

◆ 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 266 of file ManagedMonitorToolBase.h.

267 : m_tool(o.m_tool),
268 m_system(o.m_system),
269 //m_level(o.m_level),
270 m_interval(o.m_interval),
271 m_histo_mgmt(o.m_histo_mgmt),
272 m_chain(o.m_chain),
273 m_merge(o.m_merge),
274 m_map(o.m_map)
275 {
276 badusage();
277 }

◆ MonGroup() [6/6]

ManagedMonitorToolBase::MonGroup::MonGroup ( )
inlineprivate

Definition at line 296 of file ManagedMonitorToolBase.h.

296{ }

Member Function Documentation

◆ badusage()

void ManagedMonitorToolBase::MonGroup::badusage ( )
staticprivate

Definition at line 186 of file ManagedMonitorToolBase.cxx.

static std::atomic< unsigned > s_mmtb_mongroup_ncopies

◆ chain()

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

Definition at line 249 of file ManagedMonitorToolBase.h.

249{ 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 313 of file ManagedMonitorToolBase.cxx.

315{
316 if( m_tool != 0 ) {
317 bool isSuccess(true);
319
320 typedef HistMap_t::const_iterator MapIter_t;
321 MapIter_t mapEnd = m_map.end();
322 for( MapIter_t i = m_map.begin(); i != mapEnd; ++i ) {
323 sc = m_tool->deregHist( i->second );
324 if( !sc.isSuccess() )
325 isSuccess = false;
326 }
327
328 m_map.clear();
329
330 if( isSuccess )
331 return StatusCode::SUCCESS;
332 }
333
334 return StatusCode::FAILURE;
335}
static Double_t sc
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ deregGraph()

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

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

Definition at line 289 of file ManagedMonitorToolBase.cxx.

291{
292 if( m_tool != 0 ) {
293 return m_tool->deregGraph( g );
294 }
295
296 return StatusCode::FAILURE;
297}

◆ deregHist()

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

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

Definition at line 275 of file ManagedMonitorToolBase.cxx.

277{
278 if( m_tool != 0 ) {
279 std::string hName( h->GetName() );
280 m_map.erase( hName );
281 return m_tool->deregHist( h );
282 }
283
284 return StatusCode::FAILURE;
285}

◆ deregObject()

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

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

Definition at line 301 of file ManagedMonitorToolBase.cxx.

303{
304 if( m_tool != 0 ) {
305 return m_tool->deregObject( objName, *this );
306 }
307
308 return StatusCode::FAILURE;
309}

◆ getHist() [1/2]

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 205 of file ManagedMonitorToolBase.cxx.

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

◆ getHist() [2/2]

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 217 of file ManagedMonitorToolBase.cxx.

219{
220 if( m_tool != 0 ) {
221 return m_tool->getHist( h, hName, *this );
222 }
223
224 return StatusCode::FAILURE;
225}

◆ histo_mgmt()

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

Definition at line 248 of file ManagedMonitorToolBase.h.

248{ return m_histo_mgmt; }

◆ interval()

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

Definition at line 247 of file ManagedMonitorToolBase.h.

247{ return m_interval; }

◆ map()

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

A map containing all histograms registered with this MonGroup.

Definition at line 263 of file ManagedMonitorToolBase.h.

263{ return m_map; }

◆ merge()

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

Definition at line 250 of file ManagedMonitorToolBase.h.

250{ return m_merge; }

◆ ncopies()

unsigned ManagedMonitorToolBase::MonGroup::ncopies ( )
static

Definition at line 185 of file ManagedMonitorToolBase.cxx.

185{ return s_mmtb_mongroup_ncopies; }

◆ operator=()

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

Definition at line 279 of file ManagedMonitorToolBase.h.

280 {
281 if (&o != this) {
282 m_tool = o.m_tool;
283 m_system = o.m_system;
284 //m_level = o.m_level;
285 m_interval = o.m_interval;
286 m_histo_mgmt = o.m_histo_mgmt;
287 m_chain = o.m_chain;
288 m_merge = o.m_merge;
289 m_map = o.m_map;
290 }
291 badusage();
292 return *this;
293 }

◆ regEfficiency()

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

Registers a TEfficiency to be included in the output stream.

Definition at line 228 of file ManagedMonitorToolBase.cxx.

228 {
229 if( m_tool != 0 ) {
230 return m_tool->regEfficiency( e, *this );
231 }
232 return StatusCode::FAILURE;
233}

◆ 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 237 of file ManagedMonitorToolBase.cxx.

239{
240 if( m_tool != 0 ) {
241 return m_tool->regGraph( g, *this );
242 }
243
244 return StatusCode::FAILURE;
245}

◆ regHist()

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 192 of file ManagedMonitorToolBase.cxx.

194{
195 if( m_tool != 0 ) {
196 std::string hName( h->GetName() );
197 m_map.emplace( hName, h );
198 return m_tool->regHist( h, *this );
199 }
200
201 return StatusCode::FAILURE;
202}

◆ 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 249 of file ManagedMonitorToolBase.cxx.

251{
252 if( m_tool != 0 ) {
253 return m_tool->regTree( t, *this );
254 }
255
256 return StatusCode::FAILURE;
257}

◆ system()

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

Definition at line 245 of file ManagedMonitorToolBase.h.

245{ return m_system; }

◆ writeAndDelete()

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

Write and delete a histogram.

Definition at line 261 of file ManagedMonitorToolBase.cxx.

263{
264 if( m_tool != 0 ) {
265 std::string hName( h->GetName() );
266 m_map.erase( hName );
267 return m_tool->writeAndDelete( h, *this );
268 }
269
270 return StatusCode::FAILURE;
271}

Member Data Documentation

◆ m_chain

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

Definition at line 302 of file ManagedMonitorToolBase.h.

◆ m_histo_mgmt

MgmtAttr_t ManagedMonitorToolBase::MonGroup::m_histo_mgmt
private

Definition at line 301 of file ManagedMonitorToolBase.h.

◆ m_interval

Interval_t ManagedMonitorToolBase::MonGroup::m_interval
private

Definition at line 300 of file ManagedMonitorToolBase.h.

◆ m_map

HistMap_t ManagedMonitorToolBase::MonGroup::m_map
private

Definition at line 304 of file ManagedMonitorToolBase.h.

◆ m_merge

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

Definition at line 303 of file ManagedMonitorToolBase.h.

◆ m_system

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

Definition at line 298 of file ManagedMonitorToolBase.h.

◆ m_tool

ManagedMonitorToolBase* ManagedMonitorToolBase::MonGroup::m_tool
private

Definition at line 297 of file ManagedMonitorToolBase.h.


The documentation for this class was generated from the following files: