ATLAS Offline Software
ManagedMonitorToolTest.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // **********************************************************************
6 // **********************************************************************
7 
8 #include <sstream>
9 
10 #include "GaudiKernel/MsgStream.h"
11 #include "GaudiKernel/StatusCode.h"
12 
15 
16 #include "TH1.h"
17 #include "TH2.h"
18 #include "TGraph.h"
19 #include "TTree.h"
20 #include "TMath.h"
21 
25 
26 
27 // *********************************************************************
28 // Public Methods
29 // *********************************************************************
30 
32 ManagedMonitorToolTest( const std::string & type, const std::string & name,
33  const IInterface* parent )
35  , m_generatorIsInit(false)
36  , m_generatorSeedProp(65539)
37  , m_ensembleMean(0)
38  , m_ensembleRMS(0)
39  , m_ensembleMeanPull(0)
40  , m_ensembleMeanPullDist(0)
41  , m_managedHist0_lowStat(0)
42  , m_managedHist1_lowStat(0)
43  , m_managedHist2_lowStat(0)
44  , m_managedHist_lumiBlock(0)
45  , m_managedHist_eventsBlock(0)
46  , m_managedHist_run(0)
47  , m_Lumi(0)
48  , m_graph(0)
49  , m_managedGraph(0)
50  , m_ntuple(0)
51  , m_managedNtuple(0)
52  , m_counter(0)
53  , m_variable1(0)
54  , m_variable2(0)
55  , m_offset(0)
56  , m_gen(65539)
57  , m_efficiency(0)
58  , m_managedEfficiency(0)
59  , m_managedEfficiencyXLB(0)
60  , m_managedGraphXLB(0)
61 {
62  declareProperty( "GeneratorSeed", m_generatorSeedProp );
63 }
64 
65 
68 {
69 }
70 
71 // Description: Used for rebooking unmanaged histograms
75 {
76 
78  // book histograms that are only made in the online environment...
79  }
80 
82  // book histograms that are only relevant for cosmics data...
83  }
84 
85  if( !m_generatorIsInit ) {
86  m_gen.SetSeed( m_generatorSeedProp );
87  m_generatorIsInit = true;
88  }
89 
90 
91  MonGroup gaussian_ensemble( this, "Stats/Gaussian", lumiBlock, ATTRIB_UNMANAGED );
92  MonGroup gaussian_summary( this, "Stats/Gaussian", lumiBlock, ATTRIB_UNMANAGED );
93 
94  if( newLowStatIntervalFlag() ) { }
95 
96  if( newLumiBlockFlag() ) {
97  m_ensembles.clear();
98 
99  for( int i = 0; i < s_nEnsembles; ++i ) {
100  std::ostringstream hName;
101  std::ostringstream hTitle;
102 
103  hName << "gaus_" << i;
104  hTitle << "A Gaussian Distribution (" << i << ", "
105  << s_ensembleGenMean << ", " << s_ensembleGenSigma << ")";
106  TH1* h = new TH1F( hName.str().c_str(), hTitle.str().c_str(),
109  gaussian_ensemble.regHist( h ).ignore();
110  m_ensembles.push_back( h );
111  }
112 
113 
114  m_ensembleMean = new TH1F( "nthMean", "Means of the Ensembles",
115  s_nEnsembles, 0.0, s_nEnsembles );
116  gaussian_summary.regHist( m_ensembleMean ).ignore();
117 
118 
119  m_ensembleRMS = new TH1F( "nthRMS", "RMSs of the Ensembles",
120  s_nEnsembles, 0.0, s_nEnsembles );
121  gaussian_summary.regHist( m_ensembleRMS ).ignore();
122 
123 
124  m_ensembleMeanPull = new TH1F( "nthMeanPull", "Pulls of the Means of the Ensembles",
125  s_nEnsembles, 0.0, s_nEnsembles );
126  gaussian_summary.regHist( m_ensembleMeanPull ).ignore();
127 
128 
129  m_ensembleMeanPullDist = new TH1F( "meanPull", "Pull Distribution of Means",
130  50, -5.0, 5.0 );
131  gaussian_summary.regHist( m_ensembleMeanPullDist ).ignore();
132 
133  }
134 
135  if( newRunFlag() ) {
136 
137  // Example for TGraph
138  MonGroup space_point( this, "SpacePoint", run, ATTRIB_UNMANAGED );
139  m_graph = new TGraph();
140  m_graph->SetNameTitle("spacepointVsEvent","Space-point vs Event");
141  space_point.regGraph( m_graph ).ignore();
142 
143  // Example for ntuple
144  MonGroup group_ntuple( this, "Ntuple", run, ATTRIB_UNMANAGED );
145  m_ntuple = new TTree("ntupleName","ntupleTitle");
146  m_ntuple->Branch("var1",&m_variable1,"var1/I");
147  m_ntuple->Branch("var2",&m_variable2,"var2/I");
148  group_ntuple.regTree( m_ntuple ).ignore();
149 
150  // Example for TEfficiency
151  MonGroup efficiency( this, "Efficiency", run, ATTRIB_UNMANAGED );
152  m_efficiency = new TEfficiency("Efficiency","Efficiency (Unmanaged)",10,0,10);
153  efficiency.regEfficiency( m_efficiency ).ignore();
154 
155  }
156 
157  return StatusCode::SUCCESS;
158 }
159 
160 // Description: Used for re-booking managed histograms
164 {
165 
167  // book histograms that are only made in the online environment...
168  }
169 
171  // book histograms that are only relevant for cosmics data...
172  }
173 
174  if( !m_generatorIsInit ) {
175  m_gen.SetSeed( m_generatorSeedProp );
176  m_generatorIsInit = true;
177  }
178 
179  // Example for histograms
180  // Create managed histograms ()
181  m_managedHist0_lowStat = new TH1F( "managedHist0_lowStat", "Managed Histogram, regHist Example 0; interval: lowStat", 5, 0.0, 5.0 );
182  m_managedHist1_lowStat = new TH1F ( "managedHist1_lowStat", "Managed Histogram, regHist Example 1; interval: lowStat", 5, 0.0, 5.0 );
183  m_managedHist2_lowStat = new TH1F ( "managedHist2_lowStat", "Managed Histogram, regHist Example 2; interval: lowStat", 5, 0.0, 5.0 );
184 
185  m_managedHist_lumiBlock = new TH1F( "managedHist_lumiBlock", "Managed Histogram; interval: lumiBlock", 5, 0.0, 5.0 );
186  m_managedHist_eventsBlock = new TH1F( "managedHist_eventsBlock", "Managed Histogram; interval: eventBlock", 5, 0.0, 5.0 );
187  m_managedHist_run = new TH1F( "managedHist0_run", "Managed Histogram; interval: run", 5, 0.0, 5.0 );
188 
189  // Create luminosity histogram
190  m_Lumi = new TH1F( "Avg_mu", "Average number of interactions", 100, 0, 100 );
191 
192  // Create MonGroup object for managing managed histograns from same group
193  MonGroup managed_booking_lowStat( this, "Managed/Histograms", lowStat ); // to be re-booked every lowStat interval
194 
195  // Case 1. Use the tool regHist method and pass MonGroup instance.
196  regHist( m_managedHist0_lowStat, managed_booking_lowStat ).ignore();
197 
198  // Case 2. Use the tool regHist method and pass parameters manually.
199  regHist( m_managedHist1_lowStat, "Managed/Histograms", lowStat ).ignore();
200 
201  // Case 3. Use regHist method of the MonGroup instance.
202  managed_booking_lowStat.regHist(m_managedHist2_lowStat).ignore();
203 
204 
205  // Some more histogram examples
206  MonGroup managed_booking_lumiBlock( this, "Managed/Histograms", lumiBlock); // to re-booked every luminosity block
207  regHist( m_managedHist_lumiBlock, managed_booking_lumiBlock ).ignore();
208 
209  MonGroup managed_eventsBlock(this, "Managed/Histograms", eventsBlock); // to re-booked every eventsBlock
210  regHist( m_managedHist_eventsBlock, managed_eventsBlock ).ignore();
211 
212  // Register luminosity histogram
213  regHist( m_Lumi, managed_eventsBlock).ignore();
214 
215  MonGroup managed_booking_run( this, "Managed/Histograms", run); // to be re-booked every run
216  regHist( m_managedHist_run, managed_booking_run ).ignore();
217 
218  // Example for the managed TGraph
219  MonGroup managed_space_point( this, "Managed/SpacePoint", lumiBlock );
220  m_managedGraph = new TGraph();
221  m_managedGraph->SetNameTitle("spacepointVsEvent_managed","Space-point vs Event (Managed)");
222  managed_space_point.regGraph( m_managedGraph ).ignore();
223 
224  // Example for the managed ntuple
225  MonGroup managed_group_ntuple( this, "Managed/managed_Ntuple", lumiBlock );
226  m_managedNtuple = new TTree("managedNtupleName","managedNtupleTitle");
227  m_managedNtuple->Branch("var1",&m_variable1,"var1/I");
228  m_managedNtuple->Branch("var2",&m_variable2,"var2/I");
229  managed_group_ntuple.regTree( m_managedNtuple ).ignore();
230 
231  // Example for the managed TEffficiency
232  MonGroup managed_efficiency( this, "Managed/Efficiency", lumiBlock );
233  m_managedEfficiency = new TEfficiency("ManagedEfficiency","Efficiency (Managed)",10,0,10);
234  managed_efficiency.regEfficiency( m_managedEfficiency ).ignore();
235 
236  // Example for the managed TEfficiency across lumiblocks
237  MonGroup managed_efficiency_xlb( this, "Managed/EfficiencyXLB", run, ATTRIB_X_VS_LB, "", "merge");
238  m_managedEfficiencyXLB = new TEfficiency("ManagedEfficiencyXLB","EfficiencyXLB (Managed)",1200,0,1200);
239  managed_efficiency_xlb.regEfficiency( m_managedEfficiencyXLB ).ignore();
240 
241  // Example for the managed TGraph across lumiblocks
242  MonGroup managed_graph_xlb( this, "Managed/GraphXLB", run, ATTRIB_X_VS_LB, "", "merge");
243  m_managedGraphXLB = new TGraph();
244  m_managedGraphXLB->SetNameTitle("ManagedGraphXLB","GraphXLB (Managed)");
245  managed_graph_xlb.regGraph( m_managedGraphXLB ).ignore();
246 
247  return StatusCode::SUCCESS;
248 }
249 
250 
254 {
255  // Fill average mu per bunch crossing
256  double lumiPerBCID = lbAverageInteractionsPerCrossing();
257  if (lumiPerBCID < 0) {
258  // no luminosity information or EnableLumi is set to False in the config
259  ATH_MSG_INFO("No luminosity information available or EnableLumi = False");
260  } else {
261  m_Lumi->Fill(lumiPerBCID);
262  }
263 
264 
265  std::vector<TH1*>::const_iterator ensembleEnd = m_ensembles.end();
266  for( std::vector<TH1*>::const_iterator i = m_ensembles.begin(); i != ensembleEnd; ++i ) {
267  TH1* h = *i;
268  h->Fill( m_gen.Gaus( s_ensembleGenMean, s_ensembleGenSigma ) );
269  }
270 
271  // TGraph
272  m_counter++;
273  m_event.push_back(m_counter);
274  m_spacepoint.push_back(m_counter%10);
275 
276  // TGraph (managed-rebooking)
277  // Use GetN() method. Otherwise need to handle manually in procHistograms
278  m_managedGraph->SetPoint(m_managedGraph->GetN(), m_counter, m_counter);
279 
280  // Ntuple
283  m_ntuple->Fill();
284 
285  // Ntuple (managed-rebooking)
286  m_managedNtuple->SetBranchAddress("var1",&m_variable1);
287  m_managedNtuple->SetBranchAddress("var2",&m_variable2);
288  m_managedNtuple->Fill();
289 
290  // Fill managed-rebooking histograms
291  m_managedHist0_lowStat->Fill(0);
292  m_managedHist1_lowStat->Fill(1);
293  m_managedHist2_lowStat->Fill(2);
294 
295  // newEventsBlock is a static variable.
296  // It is true when eventsBlock changed.
297  if (newEventsBlockFlag())
298  m_offset += 1;
299 
300  // Fill out different histograms bins
302 
303  m_managedHist_lumiBlock->Fill(0);
304  m_managedHist_run->Fill(0);
305 
306  double a = m_gen.Uniform(10);
307  bool b = m_gen.Rndm() < TMath::Gaus(a,5,4);
308  m_efficiency->Fill(b,a);
309  m_managedEfficiency->Fill(b,a);
310 
312  m_managedEfficiencyXLB->Fill(b,lb);
313 
314  m_managedGraphXLB->SetPoint(m_managedGraphXLB->GetN(), lb, lb);
315 
316  return StatusCode::SUCCESS;
317 }
318 
319 
323 {
324 
325  if( endOfLowStatFlag() || endOfLumiBlockFlag() ) {
326  for( int i = 0; i < s_nEnsembles; ++i ) {
327  TH1* h = m_ensembles[i];
328 
329  double mean = h->GetMean();
330  double mean_err = h->GetMeanError();
331  double rms = h->GetRMS();
332  double rms_err = h->GetRMSError();
333 
334  m_ensembleMean->SetBinContent( i+1, mean );
335  m_ensembleMean->SetBinError( i+1, mean_err );
336 
337  m_ensembleRMS->SetBinContent( i+1, rms );
338  m_ensembleRMS->SetBinError( i+1, rms_err );
339 
340  double meanPull = mean_err > 0 ? (mean-s_ensembleGenMean)/mean_err : 0;
341  m_ensembleMeanPull->SetBinContent( i+1, meanPull );
342  m_ensembleMeanPull->SetBinError( i+1, 1.0 );
343 
344  m_ensembleMeanPullDist->Fill( meanPull );
345  }
346  }
347 
348 
349  if( endOfRunFlag() ) {
350  // fill vectors to TGraph
351  for(unsigned int i=0; i<m_event.size(); i++)
352  m_graph->SetPoint(i, m_event[i], m_spacepoint[i]);
353  }
354 
355  return StatusCode::SUCCESS;
356 }
357 
ManagedMonitorToolTest::m_offset
int m_offset
Definition: ManagedMonitorToolTest.h:66
ManagedMonitorToolTest::m_managedHist1_lowStat
TH1 * m_managedHist1_lowStat
Definition: ManagedMonitorToolTest.h:49
ManagedMonitorToolTest.h
ManagedMonitorToolTest::m_managedEfficiencyXLB
TEfficiency * m_managedEfficiencyXLB
Definition: ManagedMonitorToolTest.h:71
mean
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
Definition: dependence.cxx:254
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
ManagedMonitorToolBase::newEventsBlockFlag
bool newEventsBlockFlag() const
Definition: ManagedMonitorToolBase.h:793
ManagedMonitorToolBase::lumiBlock
@ lumiBlock
Definition: ManagedMonitorToolBase.h:113
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:73
ManagedMonitorToolTest::m_ensembleRMS
TH1 * m_ensembleRMS
Definition: ManagedMonitorToolTest.h:44
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
ManagedMonitorToolTest::m_graph
TGraph * m_graph
Definition: ManagedMonitorToolTest.h:57
ManagedMonitorToolTest::m_managedHist2_lowStat
TH1 * m_managedHist2_lowStat
Definition: ManagedMonitorToolTest.h:50
ManagedMonitorToolTest::m_ensembles
std::vector< TH1 * > m_ensembles
Definition: ManagedMonitorToolTest.h:42
ManagedMonitorToolBase::endOfLumiBlockFlag
bool endOfLumiBlockFlag() const
Definition: ManagedMonitorToolBase.h:796
ManagedMonitorToolTest::bookHistogramsRecurrent
virtual StatusCode bookHistogramsRecurrent()
An inheriting class should either override this function, bookHists() or bookHistograms().
Definition: ManagedMonitorToolTest.cxx:74
AthenaMonManager::cosmics
@ cosmics
Definition: AthenaMonManager.h:58
ManagedMonitorToolTest::m_ensembleMeanPullDist
TH1 * m_ensembleMeanPullDist
Definition: ManagedMonitorToolTest.h:46
ManagedMonitorToolTest::m_managedHist_eventsBlock
TH1 * m_managedHist_eventsBlock
Definition: ManagedMonitorToolTest.h:52
ManagedMonitorToolTest::m_Lumi
TH1 * m_Lumi
Definition: ManagedMonitorToolTest.h:55
ManagedMonitorToolTest::m_managedHist0_lowStat
TH1 * m_managedHist0_lowStat
Definition: ManagedMonitorToolTest.h:48
ManagedMonitorToolTest::m_managedGraphXLB
TGraph * m_managedGraphXLB
Definition: ManagedMonitorToolTest.h:73
ManagedMonitorToolBase::m_dataType
AthenaMonManager::DataType_t m_dataType
Definition: ManagedMonitorToolBase.h:838
ManagedMonitorToolTest::m_variable2
int m_variable2
Definition: ManagedMonitorToolTest.h:64
ManagedMonitorToolBase::MonGroup
A container of information describing a monitoring object.
Definition: ManagedMonitorToolBase.h:137
ManagedMonitorToolTest::bookHistograms
virtual StatusCode bookHistograms()
An inheriting class should either override this function or bookHists().
Definition: ManagedMonitorToolTest.cxx:163
ManagedMonitorToolTest::m_managedHist_run
TH1 * m_managedHist_run
Definition: ManagedMonitorToolTest.h:53
ManagedMonitorToolTest::s_ensembleGenMean
static const double s_ensembleGenMean
Definition: ManagedMonitorToolTest.h:36
efficiency
void efficiency(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
Definition: dependence.cxx:128
python.BunchSpacingUtils.lb
lb
Definition: BunchSpacingUtils.py:88
lumiFormat.i
int i
Definition: lumiFormat.py:85
ManagedMonitorToolTest::m_managedNtuple
TTree * m_managedNtuple
Definition: ManagedMonitorToolTest.h:60
ManagedMonitorToolTest::m_managedGraph
TGraph * m_managedGraph
Definition: ManagedMonitorToolTest.h:58
ManagedMonitorToolTest::s_ensembleGenSigma
static const double s_ensembleGenSigma
Definition: ManagedMonitorToolTest.h:37
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthenaMonManager::online
@ online
Definition: AthenaMonManager.h:49
ManagedMonitorToolTest::procHistograms
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
Definition: ManagedMonitorToolTest.cxx:322
ManagedMonitorToolBase::newLowStatIntervalFlag
bool newLowStatIntervalFlag() const
Flag functions allowing clients to determine when to book new and process old histograms; values are ...
Definition: ManagedMonitorToolBase.h:787
ManagedMonitorToolBase::ATTRIB_UNMANAGED
@ ATTRIB_UNMANAGED
Definition: ManagedMonitorToolBase.h:130
ManagedMonitorToolTest::m_event
std::vector< int > m_event
Definition: ManagedMonitorToolTest.h:62
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ManagedMonitorToolTest::m_ensembleMeanPull
TH1 * m_ensembleMeanPull
Definition: ManagedMonitorToolTest.h:45
ManagedMonitorToolTest::m_managedEfficiency
TEfficiency * m_managedEfficiency
Definition: ManagedMonitorToolTest.h:70
AthenaMonManager.h
run
Definition: run.py:1
ManagedMonitorToolTest::m_efficiency
TEfficiency * m_efficiency
Definition: ManagedMonitorToolTest.h:69
ManagedMonitorToolBase::MonGroup::regHist
StatusCode regHist(TH1 *h)
Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical ...
Definition: ManagedMonitorToolBase.cxx:192
ManagedMonitorToolBase::m_environment
AthenaMonManager::Environment_t m_environment
Definition: ManagedMonitorToolBase.h:839
ManagedMonitorToolTest::m_generatorIsInit
bool m_generatorIsInit
Definition: ManagedMonitorToolTest.h:39
ManagedMonitorToolBase::MonGroup::regEfficiency
StatusCode regEfficiency(TEfficiency *e)
Registers a TEfficiency to be included in the output stream.
Definition: ManagedMonitorToolBase.cxx:228
ManagedMonitorToolBase::endOfLowStatFlag
bool endOfLowStatFlag() const
Definition: ManagedMonitorToolBase.h:795
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
ManagedMonitorToolTest::fillHistograms
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
Definition: ManagedMonitorToolTest.cxx:253
ManagedMonitorToolTest::m_ntuple
TTree * m_ntuple
Definition: ManagedMonitorToolTest.h:59
ManagedMonitorToolTest::m_variable1
int m_variable1
Definition: ManagedMonitorToolTest.h:64
ManagedMonitorToolBase::lowStat
@ lowStat
Definition: ManagedMonitorToolBase.h:114
ManagedMonitorToolTest::m_gen
TRandom3 m_gen
Definition: ManagedMonitorToolTest.h:67
ManagedMonitorToolBase::MonGroup::regGraph
StatusCode regGraph(TGraph *g)
Registers a TGraph to be included in the output stream using logical parameters that describe the his...
Definition: ManagedMonitorToolBase.cxx:238
ManagedMonitorToolTest::s_nEnsembles
static const long s_nEnsembles
Definition: ManagedMonitorToolTest.h:35
a
TList * a
Definition: liststreamerinfos.cxx:10
h
ManagedMonitorToolBase::endOfRunFlag
bool endOfRunFlag() const
Definition: ManagedMonitorToolBase.h:797
ManagedMonitorToolTest::~ManagedMonitorToolTest
virtual ~ManagedMonitorToolTest()
Definition: ManagedMonitorToolTest.cxx:67
ManagedMonitorToolBase::eventsBlock
@ eventsBlock
Definition: ManagedMonitorToolBase.h:113
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
beamspotnt.rms
rms
Definition: bin/beamspotnt.py:1266
ManagedMonitorToolTest::m_generatorSeedProp
unsigned long m_generatorSeedProp
Definition: ManagedMonitorToolTest.h:40
ManagedMonitorToolTest::ManagedMonitorToolTest
ManagedMonitorToolTest(const std::string &type, const std::string &name, const IInterface *parent)
Definition: ManagedMonitorToolTest.cxx:32
ManagedMonitorToolTest::m_managedHist_lumiBlock
TH1 * m_managedHist_lumiBlock
Definition: ManagedMonitorToolTest.h:51
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
AthenaMonManager::lumiBlockNumber
static unsigned int lumiBlockNumber()
Definition: AthenaMonManager.cxx:329
ManagedMonitorToolTest::m_spacepoint
std::vector< int > m_spacepoint
Definition: ManagedMonitorToolTest.h:61
ManagedMonitorToolBase::newLumiBlockFlag
bool newLumiBlockFlag() const
Definition: ManagedMonitorToolBase.h:791
ManagedMonitorToolBase::ATTRIB_X_VS_LB
@ ATTRIB_X_VS_LB
Definition: ManagedMonitorToolBase.h:130
ManagedMonitorToolTest::m_ensembleMean
TH1 * m_ensembleMean
Definition: ManagedMonitorToolTest.h:43
ManagedMonitorToolBase::regHist
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 ...
Definition: ManagedMonitorToolBase.cxx:1346
ManagedMonitorToolTest::m_counter
int m_counter
Definition: ManagedMonitorToolTest.h:63
ManagedMonitorToolBase::MonGroup::regTree
StatusCode regTree(TTree *t)
Registers a TTree to be included in the output stream using logical parameters that describe the hist...
Definition: ManagedMonitorToolBase.cxx:250
ManagedMonitorToolBase::newRunFlag
bool newRunFlag() const
Definition: ManagedMonitorToolBase.h:792
ManagedMonitorToolBase::lbAverageInteractionsPerCrossing
virtual float lbAverageInteractionsPerCrossing(const EventContext &ctx=Gaudi::Hive::currentContext()) const
Average mu, i.e.
Definition: ManagedMonitorToolBase.cxx:1694