ATLAS Offline Software
Loading...
Searching...
No Matches
ManagedMonitorToolBase.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ManagedMonitorToolBase_H
6#define ManagedMonitorToolBase_H
7
8#define ManagedMonitorToolBase_Uses_API_201401
9#define ManagedMonitorToolBase_Uses_API_201704
10
11#include <string>
12#include <vector>
13#include <map>
14#include <set>
15
17#include "GaudiKernel/ServiceHandle.h"
18#include "GaudiKernel/ToolHandle.h"
19#include "GaudiKernel/StatusCode.h"
20
25
29
31
32class EventContext;
33class IInterface;
34class ISvcLocator;//not needed
35class TGraph;
36class TH1;
37class TH2;
38class TTree;
39class ITHistSvc;
40class TEfficiency;
41namespace Trig {
42 class ITrigDecisionTool;
43}
44class IDQFilterTool;
45
46#include <cctype>
47#include <ctime>
48#include <sstream>
49
50#include "TGraph.h"
51#include "TH1.h"
52#include "TH2.h"
53#include "TTree.h"
54#include "TEfficiency.h"
55//#include "../src/AthMonBench.h"
56
57#include "GaudiKernel/IHistogramSvc.h"
58#include "GaudiKernel/IMessageSvc.h"
59#include "GaudiKernel/ISvcLocator.h"
60#include "GaudiKernel/MsgStream.h"
61
63#include "GaudiKernel/ITHistSvc.h"
64
65
72
74{
75 public:
76
77
95
96 // enum LevelOfDetail_t { summary = 0, runstat = 0, shift, expert, debug, transient };
97
98
109
110
111 // Old version of Interval_t.
112 // Must be removed after testing is done,
113
117
118
119 //enum Interval_t { lowStat, lumiBlock, run};
120
132
133
137
138 class MonGroup {
139 public:
140
144
148
149 inline MonGroup( ManagedMonitorToolBase* tool, const std::string& system,
150 Interval_t interval, MgmtAttr_t histo_mgmt, const std::string& chain )
152
153 inline MonGroup( ManagedMonitorToolBase* tool, const std::string& system,
154 Interval_t interval, MgmtAttr_t histo_mgmt, const std::string& chain,
155 const std::string& merge )
157
158
165 StatusCode regHist( TH1* h );
166
167
173
174 StatusCode getHist( TH1*& h, const std::string& hName );
175
176
182
183 StatusCode getHist( TH2*& h, const std::string& hName );
184
185
189
190 StatusCode regEfficiency( TEfficiency* e );
191
192
199
200 StatusCode regGraph( TGraph* g );
201
202
207
208 StatusCode regTree( TTree* t );
209
213
214 StatusCode writeAndDelete( TH1* h);
215
216
220
221 StatusCode deregHist( TH1* h );
222
223
227
228 StatusCode deregGraph( TGraph* g );
229
230
234
235 StatusCode deregObject( const std::string& objName );
236
237
241
242 StatusCode deregAll();
243
244
245 inline const std::string& system() const { return m_system; }
246 //inline LevelOfDetail_t level() const { return m_level; }
247 inline Interval_t interval() const { return m_interval; }
248 inline MgmtAttr_t histo_mgmt() const { return m_histo_mgmt; }
249 inline const std::string& chain() const { return m_chain; }
250 inline const std::string& merge() const { return m_merge; }
251
255
256 typedef std::map<std::string,TH1*> HistMap_t;
257
258
262
263 inline HistMap_t& map() { return m_map; }
264
265 //Copy and assignment constructors! To forbid eventually, but for now we monitor their usage:
266 MonGroup( const MonGroup & o )
267 : m_tool(o.m_tool),
269 //m_level(o.m_level),
272 m_chain(o.m_chain),
273 m_merge(o.m_merge),
274 m_map(o.m_map)
275 {
276 badusage();
277 }
278
280 {
281 if (&o != this) {
282 m_tool = o.m_tool;
283 m_system = o.m_system;
284 //m_level = o.m_level;
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 }
294 static unsigned ncopies();
295 private:
296 inline MonGroup() { }
298 std::string m_system;
299 //LevelOfDetail_t m_level;
302 std::string m_chain;
303 std::string m_merge;
305 static void badusage();
306 };
307
308
309 template <class T>
311 public:
312 inline MgmtParams(T* templateHist, const MonGroup& group)
313 : m_templateHist(templateHist), m_group(group) { }
314
317
318 };
319
320
325
327 public:
328 virtual ~StreamNameFcn(){};
329
334
335 virtual std::string getStreamName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, bool usePreviousInterval=false ) = 0;
336
340
341 virtual std::string getDirectoryName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, const bool usePreviousInterval ) = 0;
342
357 static void parseString(const std::string& streamName, std::string& root, std::string& rem);
358 };
359
360
364
365 //static std::string levelOfDetailEnumToString( LevelOfDetail_t level, bool useOnlineConventions = false );
366
367
371
372 //static LevelOfDetail_t levelOfDetailStringToEnum( const std::string& str );
373
374
378
379 static std::string intervalEnumToString( Interval_t interval );
380
381
385
386 static Interval_t intervalStringToEnum( const std::string& str );
387
388
389 ManagedMonitorToolBase( const std::string & type, const std::string & name,
390 const IInterface* parent );
391
392 virtual ~ManagedMonitorToolBase();
393
394
398
400
401
402 virtual StatusCode initialize();
403
407
408 virtual StatusCode bookHists();
409
414
415 virtual StatusCode fillHists(const EventContext& ctx);
416
420
421 virtual StatusCode finalHists();
422
423
427
428 virtual StatusCode bookHistograms();
429
430
434
435 virtual StatusCode bookHistogramsRecurrent();
436
437
441
442 virtual StatusCode fillHistograms(const EventContext& ctx);
443
444
448
449 virtual StatusCode procHistograms( );
450
451
455
456 virtual void setMonManager( AthenaMonManager* manager );
457
458
463 virtual StatusCode regHist( TH1* h, const std::string& system,
464 Interval_t interval, MgmtAttr_t histo_mgmt = ATTRIB_MANAGED, const std::string& chain = "", const std::string& merge = "" );
465
471 virtual StatusCode regHist( TH1* h, const MonGroup& group );
472
473
479
480 virtual StatusCode getHist( TH1*& h, const std::string& hName, const std::string& system, Interval_t interval );
481
487
488 virtual StatusCode getHist( TH1*& h, const std::string& hName, const MonGroup& group );
489
490
496
497 virtual StatusCode getHist( TH2*& h, const std::string& hName, const std::string& system,
498 Interval_t interval );
499
505
506 virtual StatusCode getHist( TH2*& h, const std::string& hName, const MonGroup& group );
507
508
513 virtual StatusCode regEfficiency( TEfficiency* e, const MonGroup& group );
514
515
516
521
522
523 virtual StatusCode regGraph( TGraph* g, const std::string& system,
524 Interval_t interval, MgmtAttr_t histo_mgmt = ATTRIB_MANAGED, const std::string& chain = "", const std::string& merge = "" );
525
530
531 virtual StatusCode regGraph( TGraph* g, const MonGroup& group );
532
533
538
539 virtual StatusCode regTree( TTree* t, const std::string& system,
540 Interval_t interval, MgmtAttr_t histo_mgmt = ATTRIB_MANAGED, const std::string& chain = "", const std::string& merge = "" );
541
546
547 virtual StatusCode regTree( TTree* t, const MonGroup& group );
548
549
553
554 virtual StatusCode writeAndDelete( TH1* h, const MonGroup& group );
555
556
560
561 virtual StatusCode deregHist( TH1* h );
562
563
567
568 virtual StatusCode deregGraph( TGraph* g );
569
570
575
576 virtual StatusCode deregObject( const std::string& objName, const std::string& system, Interval_t interval );
577
578
583
584 virtual StatusCode deregObject( const std::string& objName, const MonGroup& group );
585
586
592
593 virtual StatusCode setupOutputStreams( std::vector<std::string> Mapping
594 = std::vector<std::string>() );
595
596
601
602 virtual StatusCode runStat();
603
604
609
610 virtual StatusCode checkHists( bool calledFromFinalize );
611
612 virtual bool preSelector();
613
614
619 virtual float lbAverageInteractionsPerCrossing (const EventContext& ctx) const;
620
625 virtual float lbInteractionsPerCrossing (const EventContext& ctx) const;
626
631 virtual float lbAverageLuminosity (const EventContext& ctx) const;
632
637 virtual float lbLuminosityPerBCID (const EventContext& ctx) const;
638
643 virtual double lbDuration (const EventContext& ctx) const;
644
649 virtual float lbAverageLivefraction (const EventContext& ctx) const;
650
655 virtual float livefractionPerBCID (const EventContext& ctx) const;
656
661 virtual double lbLumiWeight (const EventContext& ctx) const;
662
663
664 protected:
665 std::map< Interval_t, std::vector< MgmtParams<TH1> > > m_templateHistograms;
666 // Runs over the vector of managed histograms, register clonned histogram and saves it to a file.
667 StatusCode regManagedHistograms(std::vector< MgmtParams<TH1> >& templateHistograms);
668
669 std::map< Interval_t, std::vector< MgmtParams<TGraph> > > m_templateGraphs;
670 // Runs over the vector of managed graphs, register clonned graph and saves it to a file.
671 StatusCode regManagedGraphs(std::vector< MgmtParams<TGraph> >& templateGraphs);
672
673 std::map< Interval_t, std::vector< MgmtParams<TTree> > > m_templateTrees;
674 // Runs over the vector of managed trees, register clonned tree and saves it to a file.
675 StatusCode regManagedTrees(std::vector< MgmtParams<TTree> >& templateTrees);
676
677 std::map< Interval_t, std::vector< MgmtParams<TEfficiency> > > m_templateEfficiencies;
678 // Runs over the vector of managed graphs, register clonned graph and saves it to a file.
679 StatusCode regManagedEfficiencies(std::vector< MgmtParams<TEfficiency> >& templateEfficiencies);
680
681 std::vector<std::string> m_vTrigChainNames, m_vTrigGroupNames;
682 StatusCode parseList(const std::string&, std::vector<std::string>&);
683 void updateTriggersForGroups(std::vector<std::string>&);
684
685 StatusCode registerMetadata(const std::string& streamName, const std::string& hName, const MonGroup& group);
686
691 StatusCode THistSvc_deReg_fixTGraph(TFile* file, TGraph* theGraph, std::string& directoryName);
692
693 inline unsigned int get_nEvents() const {
694 return m_nEvents;
695 }
696
697 inline long get_procNEventsProp() const {
698 return m_procNEventsProp;
699 }
700
702 public:
703 OutputMetadata( TTree* metadata );
704 virtual ~OutputMetadata();
707
708 virtual void fill( const std::string& name,
709 //LevelOfDetail_t level,
710 Interval_t interval,
711 std::string trigger,
712 std::string merge );
713
714 protected:
715 void copyString( char* to, const std::string& from );
716 const int m_charArrSize;
719 //char* m_levelData;
723 };
724
725
727 public:
728 DefaultStream( const std::string& fileKey )
729 : m_fileKey(fileKey) { }
730 virtual ~DefaultStream() { }
731 virtual std::string getStreamName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, bool usePreviousInterval=false );
732 virtual std::string getDirectoryName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, const bool usePreviousInterval );
733
734 private:
735 const std::string m_fileKey;
736 };
737
738
740 public:
741 virtual std::string getStreamName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, bool usePreviousInterval=false );
742 virtual std::string getDirectoryName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, const bool usePreviousInterval );
743 };
744
745
747 public:
748 virtual std::string getStreamName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, bool usePreviousInterval=false );
749 virtual std::string getDirectoryName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, const bool usePreviousInterval );
750 };
751
752
754 public:
755 OfflineStream( const std::string& fileKey, AthenaMonManager::DataType_t /*dataType*/,
756 AthenaMonManager::Environment_t /*environment*/ )
757 : m_fileKey(fileKey),
759 m_prev_lumi_block(0) { }
760
761 virtual ~OfflineStream() { }
762 virtual std::string getStreamName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, bool usePreviousInterval=false );
763 virtual std::string getDirectoryName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, const bool usePreviousInterval );
764 void updateRunLB();
765
766 private:
768 const std::string m_fileKey;
769 //AthenaMonManager::DataType_t m_dataType;
770 //AthenaMonManager::Environment_t m_environment;
772 std::set<std::string> m_ebNames;
773 void getLBrange(int*,int*,int,int);
774 };
775
776 virtual bool trigChainsArePassed(std::vector<std::string>&);
777
778 virtual StreamNameFcn* getNewStreamNameFcn() const;
779
780
787
791 bool newLowStatFlag() const { return m_newLowStat; }
792 bool newLumiBlockFlag() const { return m_newLumiBlock; }
793 bool newRunFlag() const { return m_newRun; }
794 bool newEventsBlockFlag() const { return m_newEventsBlock; }
796 bool endOfLowStatFlag() const { return m_endOfLowStat; }
797 bool endOfLumiBlockFlag() const { return m_endOfLumiBlock; }
798 bool endOfRunFlag() const { return m_endOfRun; }
799
800public:
801 // Old-style access via variables.
802 // Make these public to avoid triggering naming convention warnings.
803#ifdef ManagedMonitorToolBase_CXX
804#define MMTB_DEPRECATED(v) bool v
805#else
806#define MMTB_DEPRECATED(v) bool v __attribute__((deprecated("Use " #v "Flag() instead")))
807#endif
808 MMTB_DEPRECATED(newLowStatInterval);
809 MMTB_DEPRECATED(newMedStatInterval);
810 MMTB_DEPRECATED(newHigStatInterval);
811 MMTB_DEPRECATED(newLowStat);
812 MMTB_DEPRECATED(newLumiBlock);
814 MMTB_DEPRECATED(newEventsBlock);
815 MMTB_DEPRECATED(endOfEventsBlock);
816 MMTB_DEPRECATED(endOfLowStat);
817 MMTB_DEPRECATED(endOfLumiBlock);
819
820private:
825
826protected:
827 typedef std::map<std::string,OutputMetadata*> MDMap_t;
829
831
832 std::string m_managerNameProp;
833
834 std::string m_fileKey;
835 std::string m_dataTypeStr;
836 std::string m_environmentStr;
837 unsigned int m_detailLevel;
838
841
843
845 // The TrigDecisionTool, clients normally should not have to set this
846 PublicToolHandle<Trig::ITrigDecisionTool> m_trigDecTool {this, "TrigDecisionTool",""};
847 // The TriggerTranslator
848 PublicToolHandle<ITriggerTranslatorTool> m_trigTranslator {this,"TriggerTranslatorTool",""};
849 // The filter tools, to be specified in jobOptions
850 ToolHandleArray<IDQFilterTool> m_DQFilterTools {this,"FilterTools",{}};
851
853 std::string m_path;
857
859
860 unsigned int m_lastLumiBlock;
861 unsigned int m_lastRun;
863
864 unsigned int m_nEvents;
866 unsigned int m_nLumiBlocks;
868
869
870 private:
876 public:
879 private:
880 TDirectory* m_gd;
881 TFile* m_gf;
882 };
883
884 //bool findStream(const std::string& id, std::string& stream, std::string& rem) const;
885 //std::string dirname(std::string& dir) const;
886
888 {this,"LuminosityCondDataKey","LuminosityCondData","SG Key of LuminosityCondData object"};
890 {this,"LBDurationCondDataKey","LBDurationCondData","SG Key of LBDurationCondData object"};
892 {this,"TrigLiveFractionCondDataKey","TrigLiveFractionCondData","SG Key of TrigLiveFractionCondData object"};
893
898
899 // Use private implementation idiom for more flexible development.
900 class Imp;
902
903};
904
905#endif
Hold luminosity block duration data produced from /TRIGGER/LUMI/LBLB.
Hold luminosity data produced by LuminosityCondAlg.
Hold live fraction data produced by TrigLiveFractionCondAlg.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Header file for AthHistogramAlgorithm.
An Algorithm that manages a set of modules, each inheriting from ManagedMonitorToolBase,...
DataType_t
An enumeration of the different types of data the monitoring application may be running over.
Environment_t
An enumeration of the different types of running environment the monitoring application may be in.
virtual std::string getStreamName(const ManagedMonitorToolBase *tool, const MonGroup &group, const std::string &objName, bool usePreviousInterval=false)
A function that converts a MonGroup of logical parameters into a physical output stream name.
virtual std::string getDirectoryName(const ManagedMonitorToolBase *tool, const MonGroup &group, const std::string &objName, const bool usePreviousInterval)
A function that returns TDirectory path in a file that corresponds to a given MonGroup and object nam...
MgmtParams(T *templateHist, const MonGroup &group)
A container of information describing a monitoring object.
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 & operator=(const MonGroup &o)
StatusCode deregHist(TH1 *h)
De-registers a TH1 from the THistSvc, but does NOT delete the object.
StatusCode getHist(TH1 *&h, const std::string &hName)
Returns a TH1 via the pointer passed as the first argument.
MonGroup(ManagedMonitorToolBase *tool, const std::string &system, Interval_t interval)
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 ...
StatusCode deregObject(const std::string &objName)
De-registers a TObject from the THistSvc, but does NOT delete the object.
StatusCode writeAndDelete(TH1 *h)
Write and delete a histogram.
HistMap_t & map()
A map containing all histograms registered with this MonGroup.
StatusCode deregAll()
De-registers all TH1 objects from the THistSvc, but does NOT delete the objects.
std::map< std::string, TH1 * > HistMap_t
A mapping of histogram name to histogram object.
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 his...
StatusCode deregGraph(TGraph *g)
De-registers a TGraph from the THistSvc, but does NOT delete the object.
StatusCode regTree(TTree *t)
Registers a TTree to be included in the output stream using logical parameters that describe the hist...
virtual std::string getDirectoryName(const ManagedMonitorToolBase *tool, const MonGroup &group, const std::string &objName, const bool usePreviousInterval)
A function that returns TDirectory path in a file that corresponds to a given MonGroup and object nam...
virtual std::string getStreamName(const ManagedMonitorToolBase *tool, const MonGroup &group, const std::string &objName, bool usePreviousInterval=false)
A function that converts a MonGroup of logical parameters into a physical output stream name.
virtual std::string getDirectoryName(const ManagedMonitorToolBase *tool, const MonGroup &group, const std::string &objName, const bool usePreviousInterval)
A function that returns TDirectory path in a file that corresponds to a given MonGroup and object nam...
OfflineStream(const std::string &fileKey, AthenaMonManager::DataType_t, AthenaMonManager::Environment_t)
virtual std::string getStreamName(const ManagedMonitorToolBase *tool, const MonGroup &group, const std::string &objName, bool usePreviousInterval=false)
A function that converts a MonGroup of logical parameters into a physical output stream name.
virtual std::string getDirectoryName(const ManagedMonitorToolBase *tool, const MonGroup &group, const std::string &objName, const bool usePreviousInterval)
A function that returns TDirectory path in a file that corresponds to a given MonGroup and object nam...
virtual std::string getStreamName(const ManagedMonitorToolBase *tool, const MonGroup &group, const std::string &objName, bool usePreviousInterval=false)
A function that converts a MonGroup of logical parameters into a physical output stream name.
void copyString(char *to, const std::string &from)
OutputMetadata & operator=(const OutputMetadata &)=delete
OutputMetadata(const OutputMetadata &)=delete
A function-object base class allowing the specific implementation of getStreamName to be decided at r...
static void parseString(const std::string &streamName, std::string &root, std::string &rem)
A helper non-virtual function, parses id string.
virtual std::string getStreamName(const ManagedMonitorToolBase *tool, const MonGroup &group, const std::string &objName, bool usePreviousInterval=false)=0
A function that converts a MonGroup of logical parameters into a physical output stream name.
virtual std::string getDirectoryName(const ManagedMonitorToolBase *tool, const MonGroup &group, const std::string &objName, const bool usePreviousInterval)=0
A function that returns TDirectory path in a file that corresponds to a given MonGroup and object nam...
virtual double lbDuration(const EventContext &ctx) const
Luminosity block time (in seconds).
SG::ReadCondHandleKey< LuminosityCondData > m_lumiDataKey
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 ...
StatusCode regManagedTrees(std::vector< MgmtParams< TTree > > &templateTrees)
MMTB_DEPRECATED(newMedStatInterval)
virtual StatusCode writeAndDelete(TH1 *h, const MonGroup &group)
Write out histogram and delete it.
ToolHandleArray< IDQFilterTool > m_DQFilterTools
virtual float lbAverageLivefraction(const EventContext &ctx) const
Average luminosity livefraction.
virtual float lbAverageLuminosity(const EventContext &ctx) const
Average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1).
MMTB_DEPRECATED(newEventsBlock)
virtual StatusCode fillHistograms(const EventContext &ctx)
An inheriting class should either override this function or fillHists().
virtual StatusCode setupOutputStreams(std::vector< std::string > Mapping=std::vector< std::string >())
This implementation does nothing—streams in this class should be managed by the AthenaMonManager.
virtual StatusCode deregHist(TH1 *h)
De-registers a TH1 from the THistSvc, but does NOT delete the object.
virtual float lbInteractionsPerCrossing(const EventContext &ctx) const
Instantaneous number of interactions, i.e.
virtual StatusCode deregGraph(TGraph *g)
De-registers a TGraph from the THistSvc, but does NOT delete the object.
StatusCode parseList(const std::string &, std::vector< std::string > &)
MMTB_DEPRECATED(endOfLumiBlock)
virtual float lbLuminosityPerBCID(const EventContext &ctx) const
Instantaneous luminosity.
SG::ReadCondHandleKey< TrigLiveFractionCondData > m_trigLiveFractionDataKey
MMTB_DEPRECATED(newLumiBlock)
virtual StatusCode bookHistogramsRecurrent()
An inheriting class should either override this function, bookHists() or bookHistograms().
std::set< Interval_t > m_supportedIntervalsForRebooking
StatusCode THistSvc_deReg_fixTGraph(TFile *file, TGraph *theGraph, std::string &directoryName)
Fixes THistSvc->deReg(obj) when obj is TGraph instance.
std::vector< std::string > m_vTrigGroupNames
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.
std::map< Interval_t, std::vector< MgmtParams< TH1 > > > m_templateHistograms
MMTB_DEPRECATED(newLowStatInterval)
Interval_t
An enumeration describing how detailed a particular monitoring object is.
PublicToolHandle< Trig::ITrigDecisionTool > m_trigDecTool
StatusCode regManagedGraphs(std::vector< MgmtParams< TGraph > > &templateGraphs)
std::map< Interval_t, std::vector< MgmtParams< TGraph > > > m_templateGraphs
ServiceHandle< ITHistSvc > m_THistSvc
bool newLowStatIntervalFlag() const
Flag functions allowing clients to determine when to book new and process old histograms; values are ...
MMTB_DEPRECATED(endOfLowStat)
PublicToolHandle< ITriggerTranslatorTool > m_trigTranslator
virtual StatusCode bookHists()
Calls bookHists( true, true, true ) and initializes lumiBlock and run numbers.
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.
virtual StatusCode bookHistograms()
An inheriting class should either override this function or bookHists().
MMTB_DEPRECATED(newHigStatInterval)
MMTB_DEPRECATED(newLowStat)
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.
ManagedMonitorToolBase(const std::string &type, const std::string &name, const IInterface *parent)
SG::ReadCondHandleKey< LBDurationCondData > m_lbDurationDataKey
std::map< std::string, OutputMetadata * > MDMap_t
virtual double lbLumiWeight(const EventContext &ctx) const
Average Integrated Luminosity Live Fraction.
AthenaMonManager::Environment_t m_environment
StatusCode regManagedEfficiencies(std::vector< MgmtParams< TEfficiency > > &templateEfficiencies)
StatusCode registerMetadata(const std::string &streamName, const std::string &hName, const MonGroup &group)
MgmtAttr_t
An enumeration describing how the class handles the histogram.
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...
MMTB_DEPRECATED(endOfEventsBlock)
static Interval_t intervalStringToEnum(const std::string &str)
Converts a string to the corresponding Interval_t.
unsigned int get_nEvents() const
std::vector< std::string > m_vTrigChainNames
std::map< Interval_t, std::vector< MgmtParams< TTree > > > m_templateTrees
virtual StatusCode fillHists(const EventContext &ctx)
Calls fillHists( bool, bool, bool ); if an eventBlock,lumiBlock, or run has turned over,...
static std::string intervalEnumToString(Interval_t interval)
Converts a LevelOfDetail_t to a string of the same name.
virtual StatusCode finalHists()
Calls procHists( true, true, true ).
virtual void setMonManager(AthenaMonManager *manager)
Takes a pointer to a managing object to get information from it when needed.
virtual float livefractionPerBCID(const EventContext &ctx) const
Livefraction per bunch crossing ID.
virtual StreamNameFcn * getNewStreamNameFcn() const
virtual StatusCode checkHists(bool calledFromFinalize)
This implementation does nothing; equivalent functionality may be provided by procHists(....
virtual StreamNameFcn * streamNameFunction()
Returns the function object that converts logical paramters into a physical stream name.
void updateTriggersForGroups(std::vector< std::string > &)
AthenaMonManager::DataType_t m_dataType
virtual float lbAverageInteractionsPerCrossing(const EventContext &ctx) const
Average mu, i.e.
virtual StatusCode runStat()
This implementation does nothing; equivalent functionality may be provided by procHists( true,...
virtual StatusCode regEfficiency(TEfficiency *e, const MonGroup &group)
Registers a TEfficiency to be included in the output stream using logical parameters that describe th...
std::map< Interval_t, std::vector< MgmtParams< TEfficiency > > > m_templateEfficiencies
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
StatusCode regManagedHistograms(std::vector< MgmtParams< TH1 > > &templateHistograms)
virtual bool trigChainsArePassed(std::vector< std::string > &)
The common trigger namespace for trigger analysis tools.
Definition merge.py:1