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_t & map ()
 A map containing all histograms registered with this MonGroup.
 MonGroup (const MonGroup &o)
MonGroup & operator= (const MonGroup &o)

Static Public Member Functions

static unsigned ncopies ()

Private Member Functions

 MonGroup ()

Static Private Member Functions

static void badusage ()

Private Attributes

ManagedMonitorToolBase * m_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 82 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 199 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 209 of file ManagedMonitorToolBase.h.

210 : m_tool(o.m_tool),
211 m_system(o.m_system),
212 //m_level(o.m_level),
213 m_interval(o.m_interval),
214 m_histo_mgmt(o.m_histo_mgmt),
215 m_chain(o.m_chain),
216 m_merge(o.m_merge),
217 m_map(o.m_map)
218 {
219 badusage();
220 }

◆ MonGroup() [6/6]

ManagedMonitorToolBase::MonGroup::MonGroup ( )
inlineprivate

Definition at line 239 of file ManagedMonitorToolBase.h.

239{ }

Member Function Documentation

◆ badusage()

void ManagedMonitorToolBase::MonGroup::badusage ( )
staticprivate

Definition at line 184 of file ManagedMonitorToolBase.cxx.

static std::atomic< unsigned > s_mmtb_mongroup_ncopies

◆ chain()

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

Definition at line 192 of file ManagedMonitorToolBase.h.

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

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

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

◆ deregHist()

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

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

Definition at line 273 of file ManagedMonitorToolBase.cxx.

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

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

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

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

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

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

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

◆ histo_mgmt()

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

Definition at line 191 of file ManagedMonitorToolBase.h.

191{ return m_histo_mgmt; }

◆ interval()

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

Definition at line 190 of file ManagedMonitorToolBase.h.

190{ return m_interval; }

◆ map()

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

A map containing all histograms registered with this MonGroup.

Definition at line 206 of file ManagedMonitorToolBase.h.

206{ return m_map; }

◆ merge()

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

Definition at line 193 of file ManagedMonitorToolBase.h.

193{ return m_merge; }

◆ ncopies()

unsigned ManagedMonitorToolBase::MonGroup::ncopies ( )
static

Definition at line 183 of file ManagedMonitorToolBase.cxx.

183{ return s_mmtb_mongroup_ncopies; }

◆ operator=()

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

Definition at line 222 of file ManagedMonitorToolBase.h.

223 {
224 if (&o != this) {
225 m_tool = o.m_tool;
226 m_system = o.m_system;
227 //m_level = o.m_level;
228 m_interval = o.m_interval;
229 m_histo_mgmt = o.m_histo_mgmt;
230 m_chain = o.m_chain;
231 m_merge = o.m_merge;
232 m_map = o.m_map;
233 }
234 badusage();
235 return *this;
236 }

◆ regEfficiency()

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

Registers a TEfficiency to be included in the output stream.

Definition at line 226 of file ManagedMonitorToolBase.cxx.

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

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

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

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

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

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

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

◆ system()

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

Definition at line 189 of file ManagedMonitorToolBase.h.

189{ return m_system; }

◆ writeAndDelete()

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

Write and delete a histogram.

Definition at line 259 of file ManagedMonitorToolBase.cxx.

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

Member Data Documentation

◆ m_chain

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

Definition at line 244 of file ManagedMonitorToolBase.h.

◆ m_histo_mgmt

MgmtAttr_t ManagedMonitorToolBase::MonGroup::m_histo_mgmt
private

Definition at line 243 of file ManagedMonitorToolBase.h.

◆ m_interval

Interval_t ManagedMonitorToolBase::MonGroup::m_interval
private

Definition at line 242 of file ManagedMonitorToolBase.h.

◆ m_map

HistMap_t ManagedMonitorToolBase::MonGroup::m_map
private

Definition at line 246 of file ManagedMonitorToolBase.h.

◆ m_merge

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

Definition at line 245 of file ManagedMonitorToolBase.h.

◆ m_system

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

Definition at line 241 of file ManagedMonitorToolBase.h.

◆ m_tool

ManagedMonitorToolBase* ManagedMonitorToolBase::MonGroup::m_tool
private

Definition at line 240 of file ManagedMonitorToolBase.h.


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