ATLAS Offline Software
Loading...
Searching...
No Matches
ManagedMonitorToolBase.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 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 IInterface;
33class ISvcLocator;//not needed
34class TGraph;
35class TH1;
36class TH2;
37class TTree;
38class ITHistSvc;
39class TEfficiency;
40namespace Trig {
41 class ITrigDecisionTool;
42}
43class IDQFilterTool;
44
45#include <cctype>
46#include <ctime>
47#include <sstream>
48
49#include "TGraph.h"
50#include "TH1.h"
51#include "TH2.h"
52#include "TTree.h"
53#include "TEfficiency.h"
54//#include "../src/AthMonBench.h"
55
56#include "GaudiKernel/IHistogramSvc.h"
57#include "GaudiKernel/IMessageSvc.h"
58#include "GaudiKernel/ISvcLocator.h"
59#include "GaudiKernel/MsgStream.h"
60
62#include "GaudiKernel/ITHistSvc.h"
63
64
71
73{
74 public:
75
76
94
95 // enum LevelOfDetail_t { summary = 0, runstat = 0, shift, expert, debug, transient };
96
97
108
109
110 // Old version of Interval_t.
111 // Must be removed after testing is done,
112
116
117
118 //enum Interval_t { lowStat, lumiBlock, run};
119
131
132
136
137 class MonGroup {
138 public:
139
143
147
148 inline MonGroup( ManagedMonitorToolBase* tool, const std::string& system,
149 Interval_t interval, MgmtAttr_t histo_mgmt, const std::string& chain )
151
152 inline MonGroup( ManagedMonitorToolBase* tool, const std::string& system,
153 Interval_t interval, MgmtAttr_t histo_mgmt, const std::string& chain,
154 const std::string& merge )
156
157
164 StatusCode regHist( TH1* h );
165
166
172
173 StatusCode getHist( TH1*& h, const std::string& hName );
174
175
181
182 StatusCode getHist( TH2*& h, const std::string& hName );
183
184
188
189 StatusCode regEfficiency( TEfficiency* e );
190
191
198
199 StatusCode regGraph( TGraph* g );
200
201
206
207 StatusCode regTree( TTree* t );
208
212
213 StatusCode writeAndDelete( TH1* h);
214
215
219
220 StatusCode deregHist( TH1* h );
221
222
226
227 StatusCode deregGraph( TGraph* g );
228
229
233
234 StatusCode deregObject( const std::string& objName );
235
236
240
241 StatusCode deregAll();
242
243
244 inline const std::string& system() const { return m_system; }
245 //inline LevelOfDetail_t level() const { return m_level; }
246 inline Interval_t interval() const { return m_interval; }
247 inline MgmtAttr_t histo_mgmt() const { return m_histo_mgmt; }
248 inline const std::string& chain() const { return m_chain; }
249 inline const std::string& merge() const { return m_merge; }
250
254
255 typedef std::map<std::string,TH1*> HistMap_t;
256
257
261
262 inline HistMap_t& map() { return m_map; }
263
264 //Copy and assignment constructors! To forbid eventually, but for now we monitor their usage:
265 MonGroup( const MonGroup & o )
266 : m_tool(o.m_tool),
268 //m_level(o.m_level),
271 m_chain(o.m_chain),
272 m_merge(o.m_merge),
273 m_map(o.m_map)
274 {
275 badusage();
276 }
277
279 {
280 if (&o != this) {
281 m_tool = o.m_tool;
282 m_system = o.m_system;
283 //m_level = o.m_level;
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 }
293 static unsigned ncopies();
294 private:
295 inline MonGroup() { }
297 std::string m_system;
298 //LevelOfDetail_t m_level;
301 std::string m_chain;
302 std::string m_merge;
304 static void badusage();
305 };
306
307
308 template <class T>
310 public:
311 inline MgmtParams(T* templateHist, const MonGroup& group)
312 : m_templateHist(templateHist), m_group(group) { }
313
316
317 };
318
319
324
326 public:
327 virtual ~StreamNameFcn(){};
328
333
334 virtual std::string getStreamName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, bool usePreviousInterval=false ) = 0;
335
339
340 virtual std::string getDirectoryName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, const bool usePreviousInterval ) = 0;
341
356 static void parseString(const std::string& streamName, std::string& root, std::string& rem);
357 };
358
359
363
364 //static std::string levelOfDetailEnumToString( LevelOfDetail_t level, bool useOnlineConventions = false );
365
366
370
371 //static LevelOfDetail_t levelOfDetailStringToEnum( const std::string& str );
372
373
377
378 static std::string intervalEnumToString( Interval_t interval );
379
380
384
385 static Interval_t intervalStringToEnum( const std::string& str );
386
387
388 ManagedMonitorToolBase( const std::string & type, const std::string & name,
389 const IInterface* parent );
390
391 virtual ~ManagedMonitorToolBase();
392
393
397
399
400
401 virtual StatusCode initialize();
402
406
407 virtual StatusCode bookHists();
408
413
414 virtual StatusCode fillHists();
415
419
420 virtual StatusCode finalHists();
421
422
426
427 virtual StatusCode bookHistograms();
428
429
433
434 virtual StatusCode bookHistogramsRecurrent();
435
436
440
441 virtual StatusCode fillHistograms();
442
443
447
448 virtual StatusCode procHistograms( );
449
450
454
455 virtual void setMonManager( AthenaMonManager* manager );
456
457
462 virtual StatusCode regHist( TH1* h, const std::string& system,
463 Interval_t interval, MgmtAttr_t histo_mgmt = ATTRIB_MANAGED, const std::string& chain = "", const std::string& merge = "" );
464
470 virtual StatusCode regHist( TH1* h, const MonGroup& group );
471
472
478
479 virtual StatusCode getHist( TH1*& h, const std::string& hName, const std::string& system, Interval_t interval );
480
486
487 virtual StatusCode getHist( TH1*& h, const std::string& hName, const MonGroup& group );
488
489
495
496 virtual StatusCode getHist( TH2*& h, const std::string& hName, const std::string& system,
497 Interval_t interval );
498
504
505 virtual StatusCode getHist( TH2*& h, const std::string& hName, const MonGroup& group );
506
507
512 virtual StatusCode regEfficiency( TEfficiency* e, const MonGroup& group );
513
514
515
520
521
522 virtual StatusCode regGraph( TGraph* g, const std::string& system,
523 Interval_t interval, MgmtAttr_t histo_mgmt = ATTRIB_MANAGED, const std::string& chain = "", const std::string& merge = "" );
524
529
530 virtual StatusCode regGraph( TGraph* g, const MonGroup& group );
531
532
537
538 virtual StatusCode regTree( TTree* t, const std::string& system,
539 Interval_t interval, MgmtAttr_t histo_mgmt = ATTRIB_MANAGED, const std::string& chain = "", const std::string& merge = "" );
540
545
546 virtual StatusCode regTree( TTree* t, const MonGroup& group );
547
548
552
553 virtual StatusCode writeAndDelete( TH1* h, const MonGroup& group );
554
555
559
560 virtual StatusCode deregHist( TH1* h );
561
562
566
567 virtual StatusCode deregGraph( TGraph* g );
568
569
574
575 virtual StatusCode deregObject( const std::string& objName, const std::string& system, Interval_t interval );
576
577
582
583 virtual StatusCode deregObject( const std::string& objName, const MonGroup& group );
584
585
591
592 virtual StatusCode setupOutputStreams( std::vector<std::string> Mapping
593 = std::vector<std::string>() );
594
595
600
601 virtual StatusCode runStat();
602
603
608
609 virtual StatusCode checkHists( bool calledFromFinalize );
610
611 virtual bool preSelector();
612
613
618 virtual float lbAverageInteractionsPerCrossing (const EventContext& ctx = Gaudi::Hive::currentContext()) const;
619
624 virtual float lbInteractionsPerCrossing (const EventContext& ctx = Gaudi::Hive::currentContext()) const;
625
630 virtual float lbAverageLuminosity (const EventContext& ctx = Gaudi::Hive::currentContext()) const;
631
636 virtual float lbLuminosityPerBCID (const EventContext& ctx = Gaudi::Hive::currentContext()) const;
637
642 virtual double lbDuration (const EventContext& ctx = Gaudi::Hive::currentContext()) const;
643
648 virtual float lbAverageLivefraction (const EventContext& ctx = Gaudi::Hive::currentContext()) const;
649
654 virtual float livefractionPerBCID (const EventContext& ctx = Gaudi::Hive::currentContext()) const;
655
660 virtual double lbLumiWeight (const EventContext& ctx = Gaudi::Hive::currentContext()) const;
661
662
663 protected:
664 std::map< Interval_t, std::vector< MgmtParams<TH1> > > m_templateHistograms;
665 // Runs over the vector of managed histograms, register clonned histogram and saves it to a file.
666 StatusCode regManagedHistograms(std::vector< MgmtParams<TH1> >& templateHistograms);
667
668 std::map< Interval_t, std::vector< MgmtParams<TGraph> > > m_templateGraphs;
669 // Runs over the vector of managed graphs, register clonned graph and saves it to a file.
670 StatusCode regManagedGraphs(std::vector< MgmtParams<TGraph> >& templateGraphs);
671
672 std::map< Interval_t, std::vector< MgmtParams<TTree> > > m_templateTrees;
673 // Runs over the vector of managed trees, register clonned tree and saves it to a file.
674 StatusCode regManagedTrees(std::vector< MgmtParams<TTree> >& templateTrees);
675
676 std::map< Interval_t, std::vector< MgmtParams<TEfficiency> > > m_templateEfficiencies;
677 // Runs over the vector of managed graphs, register clonned graph and saves it to a file.
678 StatusCode regManagedEfficiencies(std::vector< MgmtParams<TEfficiency> >& templateEfficiencies);
679
680 std::vector<std::string> m_vTrigChainNames, m_vTrigGroupNames;
681 StatusCode parseList(const std::string&, std::vector<std::string>&);
682 void updateTriggersForGroups(std::vector<std::string>&);
683
684 StatusCode registerMetadata(const std::string& streamName, const std::string& hName, const MonGroup& group);
685
690 StatusCode THistSvc_deReg_fixTGraph(TFile* file, TGraph* theGraph, std::string& directoryName);
691
692 inline unsigned int get_nEvents() const {
693 return m_nEvents;
694 }
695
696 inline long get_procNEventsProp() const {
697 return m_procNEventsProp;
698 }
699
701 public:
702 OutputMetadata( TTree* metadata );
703 virtual ~OutputMetadata();
706
707 virtual void fill( const std::string& name,
708 //LevelOfDetail_t level,
709 Interval_t interval,
710 std::string trigger,
711 std::string merge );
712
713 protected:
714 void copyString( char* to, const std::string& from );
715 const int m_charArrSize;
718 //char* m_levelData;
722 };
723
724
726 public:
727 DefaultStream( const std::string& fileKey )
728 : m_fileKey(fileKey) { }
729 virtual ~DefaultStream() { }
730 virtual std::string getStreamName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, bool usePreviousInterval=false );
731 virtual std::string getDirectoryName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, const bool usePreviousInterval );
732
733 private:
734 const std::string m_fileKey;
735 };
736
737
739 public:
740 virtual std::string getStreamName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, bool usePreviousInterval=false );
741 virtual std::string getDirectoryName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, const bool usePreviousInterval );
742 };
743
744
746 public:
747 virtual std::string getStreamName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, bool usePreviousInterval=false );
748 virtual std::string getDirectoryName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, const bool usePreviousInterval );
749 };
750
751
753 public:
754 OfflineStream( const std::string& fileKey, AthenaMonManager::DataType_t /*dataType*/,
755 AthenaMonManager::Environment_t /*environment*/ )
756 : m_fileKey(fileKey),
758 m_prev_lumi_block(0) { }
759
760 virtual ~OfflineStream() { }
761 virtual std::string getStreamName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, bool usePreviousInterval=false );
762 virtual std::string getDirectoryName( const ManagedMonitorToolBase* tool, const MonGroup& group, const std::string& objName, const bool usePreviousInterval );
763 void updateRunLB();
764
765 private:
767 const std::string m_fileKey;
768 //AthenaMonManager::DataType_t m_dataType;
769 //AthenaMonManager::Environment_t m_environment;
771 std::set<std::string> m_ebNames;
772 void getLBrange(int*,int*,int,int);
773 };
774
775 virtual bool trigChainsArePassed(std::vector<std::string>&);
776
777 virtual StreamNameFcn* getNewStreamNameFcn() const;
778
779
786
790 bool newLowStatFlag() const { return m_newLowStat; }
791 bool newLumiBlockFlag() const { return m_newLumiBlock; }
792 bool newRunFlag() const { return m_newRun; }
793 bool newEventsBlockFlag() const { return m_newEventsBlock; }
795 bool endOfLowStatFlag() const { return m_endOfLowStat; }
796 bool endOfLumiBlockFlag() const { return m_endOfLumiBlock; }
797 bool endOfRunFlag() const { return m_endOfRun; }
798
799public:
800 // Old-style access via variables.
801 // Make these public to avoid triggering naming convention warnings.
802#ifdef ManagedMonitorToolBase_CXX
803#define MMTB_DEPRECATED(v) bool v
804#else
805#define MMTB_DEPRECATED(v) bool v __attribute__((deprecated("Use " #v "Flag() instead")))
806#endif
807 MMTB_DEPRECATED(newLowStatInterval);
808 MMTB_DEPRECATED(newMedStatInterval);
809 MMTB_DEPRECATED(newHigStatInterval);
810 MMTB_DEPRECATED(newLowStat);
811 MMTB_DEPRECATED(newLumiBlock);
813 MMTB_DEPRECATED(newEventsBlock);
814 MMTB_DEPRECATED(endOfEventsBlock);
815 MMTB_DEPRECATED(endOfLowStat);
816 MMTB_DEPRECATED(endOfLumiBlock);
818
819private:
824
825protected:
826 typedef std::map<std::string,OutputMetadata*> MDMap_t;
828
830
831 std::string m_managerNameProp;
832
833 std::string m_fileKey;
834 std::string m_dataTypeStr;
835 std::string m_environmentStr;
836 unsigned int m_detailLevel;
837
840
842
844 // The TrigDecisionTool, clients normally should not have to set this
845 PublicToolHandle<Trig::ITrigDecisionTool> m_trigDecTool {this, "TrigDecisionTool",""};
846 // The TriggerTranslator
847 PublicToolHandle<ITriggerTranslatorTool> m_trigTranslator {this,"TriggerTranslatorTool",""};
848 // The filter tools, to be specified in jobOptions
849 ToolHandleArray<IDQFilterTool> m_DQFilterTools {this,"FilterTools",{}};
850
852 std::string m_path;
856
858
859 unsigned int m_lastLumiBlock;
860 unsigned int m_lastRun;
862
863 unsigned int m_nEvents;
865 unsigned int m_nLumiBlocks;
867
868
869 private:
875 public:
878 private:
879 TDirectory* m_gd;
880 TFile* m_gf;
881 };
882
883 //bool findStream(const std::string& id, std::string& stream, std::string& rem) const;
884 //std::string dirname(std::string& dir) const;
885
887 {this,"LuminosityCondDataKey","LuminosityCondData","SG Key of LuminosityCondData object"};
889 {this,"LBDurationCondDataKey","LBDurationCondData","SG Key of LBDurationCondData object"};
891 {this,"TrigLiveFractionCondDataKey","TrigLiveFractionCondData","SG Key of TrigLiveFractionCondData object"};
892
897
898 // Use private implementation idiom for more flexible development.
899 class Imp;
901
902};
903
904#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...
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
MMTB_DEPRECATED(newEventsBlock)
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 StatusCode deregGraph(TGraph *g)
De-registers a TGraph from the THistSvc, but does NOT delete the object.
virtual float lbInteractionsPerCrossing(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Instantaneous number of interactions, i.e.
StatusCode parseList(const std::string &, std::vector< std::string > &)
MMTB_DEPRECATED(endOfLumiBlock)
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
virtual float lbAverageLivefraction(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Average luminosity livefraction.
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
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
MMTB_DEPRECATED(newLowStatInterval)
Interval_t
An enumeration describing how detailed a particular monitoring object is.
virtual StatusCode fillHists()
Calls fillHists( bool, bool, bool ); if an eventBlock,lumiBlock, or run has turned over,...
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
virtual float lbAverageLuminosity(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1)
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.
virtual float lbLuminosityPerBCID(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Instantaneous luminosity.
ManagedMonitorToolBase(const std::string &type, const std::string &name, const IInterface *parent)
virtual float livefractionPerBCID(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Livefraction per bunch crossing ID.
SG::ReadCondHandleKey< LBDurationCondData > m_lbDurationDataKey
std::map< std::string, OutputMetadata * > MDMap_t
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 float lbAverageInteractionsPerCrossing(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Average mu, i.e.
virtual double lbLumiWeight(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Average Integrated Luminosity Live Fraction.
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
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 double lbDuration(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Luminosity block time (in seconds)
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 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
Definition run.py:1