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 137 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 255 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 265 of file ManagedMonitorToolBase.h.

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

◆ MonGroup() [6/6]

ManagedMonitorToolBase::MonGroup::MonGroup ( )
inlineprivate

Definition at line 295 of file ManagedMonitorToolBase.h.

295{ }

Member Function Documentation

◆ badusage()

void ManagedMonitorToolBase::MonGroup::badusage ( )
staticprivate

Definition at line 185 of file ManagedMonitorToolBase.cxx.

static std::atomic< unsigned > s_mmtb_mongroup_ncopies

◆ chain()

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

Definition at line 248 of file ManagedMonitorToolBase.h.

248{ 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 312 of file ManagedMonitorToolBase.cxx.

314{
315 if( m_tool != 0 ) {
316 bool isSuccess(true);
318
319 typedef HistMap_t::const_iterator MapIter_t;
320 MapIter_t mapEnd = m_map.end();
321 for( MapIter_t i = m_map.begin(); i != mapEnd; ++i ) {
322 sc = m_tool->deregHist( i->second );
323 if( !sc.isSuccess() )
324 isSuccess = false;
325 }
326
327 m_map.clear();
328
329 if( isSuccess )
330 return StatusCode::SUCCESS;
331 }
332
333 return StatusCode::FAILURE;
334}
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 288 of file ManagedMonitorToolBase.cxx.

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

◆ deregHist()

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

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

Definition at line 274 of file ManagedMonitorToolBase.cxx.

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

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

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

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

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

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

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

◆ histo_mgmt()

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

Definition at line 247 of file ManagedMonitorToolBase.h.

247{ return m_histo_mgmt; }

◆ interval()

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

Definition at line 246 of file ManagedMonitorToolBase.h.

246{ return m_interval; }

◆ map()

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

A map containing all histograms registered with this MonGroup.

Definition at line 262 of file ManagedMonitorToolBase.h.

262{ return m_map; }

◆ merge()

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

Definition at line 249 of file ManagedMonitorToolBase.h.

249{ return m_merge; }

◆ ncopies()

unsigned ManagedMonitorToolBase::MonGroup::ncopies ( )
static

Definition at line 184 of file ManagedMonitorToolBase.cxx.

184{ return s_mmtb_mongroup_ncopies; }

◆ operator=()

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

Definition at line 278 of file ManagedMonitorToolBase.h.

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

◆ regEfficiency()

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

Registers a TEfficiency to be included in the output stream.

Definition at line 227 of file ManagedMonitorToolBase.cxx.

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

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

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

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

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

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

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

◆ system()

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

Definition at line 244 of file ManagedMonitorToolBase.h.

244{ return m_system; }

◆ writeAndDelete()

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

Write and delete a histogram.

Definition at line 260 of file ManagedMonitorToolBase.cxx.

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

Member Data Documentation

◆ m_chain

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

Definition at line 301 of file ManagedMonitorToolBase.h.

◆ m_histo_mgmt

MgmtAttr_t ManagedMonitorToolBase::MonGroup::m_histo_mgmt
private

Definition at line 300 of file ManagedMonitorToolBase.h.

◆ m_interval

Interval_t ManagedMonitorToolBase::MonGroup::m_interval
private

Definition at line 299 of file ManagedMonitorToolBase.h.

◆ m_map

HistMap_t ManagedMonitorToolBase::MonGroup::m_map
private

Definition at line 303 of file ManagedMonitorToolBase.h.

◆ m_merge

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

Definition at line 302 of file ManagedMonitorToolBase.h.

◆ m_system

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

Definition at line 297 of file ManagedMonitorToolBase.h.

◆ m_tool

ManagedMonitorToolBase* ManagedMonitorToolBase::MonGroup::m_tool
private

Definition at line 296 of file ManagedMonitorToolBase.h.


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