ATLAS Offline Software
TilePaterMonTool.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 // NAME: TilePaterMonTool.cxx
8 // PACKAGE: TileMonitoring
9 //
10 // AUTHOR: Luca Fiorini (Luca.Fiorini@cern.ch)
11 //
12 // July 2006
13 // ********************************************************************
14 
15 #include "TilePaterMonTool.h"
16 
17 #include "CaloIdentifier/TileID.h"
21 
22 #include "TH1C.h"
23 #include "TH2C.h"
24 #include "TH1S.h"
25 #include "TH2S.h"
26 #include "TH1F.h"
27 #include "TH2F.h"
28 #include "TH1D.h"
29 #include "TH2D.h"
30 #include "TTree.h"
31 #include "TGraph.h"
32 #include "TGraphErrors.h"
33 #include "TGraphAsymmErrors.h"
34 #include "TMultiGraph.h"
35 #include "TProfile.h"
36 #include "TProfile2D.h"
37 #include "TString.h"
38 #include "TDirectory.h"
39 
40 #include "LWHists/TH1I_LW.h"
41 #include "LWHists/TH2I_LW.h"
42 #include "LWHists/TProfile_LW.h"
43 
44 
45 #include <sstream>
46 #include <algorithm>
47 
48 /*---------------------------------------------------------*/
49 // Methods registering historgrams
50 // Ownership passed to Gaudi
51 template <typename T>
52 void TilePaterMonTool::regHist(const std::string& subDir, T* hist, Interval_t interval, MgmtAttr_t attribute, const std::string & trigChain, const std::string & mergeAlgo)
53 {
54 
55  std::string path(m_path);
56  if (!subDir.empty()) path += ("/" + subDir);
57 
58  if(ManagedMonitorToolBase::regHist(hist, path, interval, attribute, trigChain, mergeAlgo).isFailure()) {
59  ATH_MSG_WARNING( "Could not register histogram : " << path + "/" + hist->GetName() );
60  }
61 
62 }
63 
64 template <typename T>
65 void TilePaterMonTool::regGraph(const std::string& subDir, T* graph, Interval_t interval, MgmtAttr_t attribute, const std::string & trigChain, const std::string & mergeAlgo)
66 {
67 
68  std::string path(m_path);
69  if (!subDir.empty()) path += ("/" + subDir);
70 
71  if(ManagedMonitorToolBase::regGraph(graph, path, interval, attribute, trigChain, mergeAlgo).isFailure()) {
72  ATH_MSG_WARNING( "Could not register Graph : " << path + "/" + graph->GetName() );
73  }
74 }
75 
76 
77 /*---------------------------------------------------------*/
78 TilePaterMonTool::TilePaterMonTool(const std::string & type, const std::string & name, const IInterface* parent)
80  , m_tileID(0)
81  , m_tileHWID(0)
82  , m_tileTBID(0)
83  , m_cabling(0)
84 /*---------------------------------------------------------*/
85 {
86  declareInterface<IMonitorToolBase>(this);
87 
88  declareProperty("savePng",m_savePng=false);
89  declareProperty("savePs",m_savePs=false);
90  declareProperty("saveSvg",m_saveSvg=false);
91 
92  declareProperty("FragIDsToIgnoreDMUErrors", m_fragIDsToIgnoreDMUerrors, "List of Tile frag IDs for which ignore DMU errors");
93  declareProperty("FragIDsDemonstrators", m_fragIDsDemonstrators, "List of Tile frag IDs of demonstrators, which have different CIS circuits than the legacy ones");
94 
95  m_path = "/Tile";
96 
97 }
98 
99 /*---------------------------------------------------------*/
101 /*---------------------------------------------------------*/
102 {
103 }
104 
105 /*---------------------------------------------------------*/
107 /*---------------------------------------------------------*/
108 {
109 
113 
115  int runPeriod = m_cabling->runPeriod();
116 
117  if (runPeriod==3) {
118  std::vector<int> v = { 0x10d }; // LBA14 is demonstrator in RUN3
119 
120  if ( m_fragIDsToIgnoreDMUerrors.size() == 0) {
122  }
123 
124  if ( m_fragIDsDemonstrators.size() == 0) {
126  }
127  }
128 
129  if ( m_fragIDsToIgnoreDMUerrors.size() != 0) {
130 
132 
133  std::ostringstream os;
134  for (int fragID : m_fragIDsToIgnoreDMUerrors) {
135  os << " 0x" << std::hex << fragID << std::dec;
136  }
137 
138  ATH_MSG_INFO("Tile DMU errors will be ignored in drawers (frag IDs):" << os.str());
139  }
140 
141  if ( m_fragIDsDemonstrators.size() != 0) {
142 
143  std::sort(m_fragIDsDemonstrators.begin(),m_fragIDsDemonstrators.end());
144 
145  std::ostringstream os;
146  for (int fragID : m_fragIDsDemonstrators) {
147  os << " 0x" << std::hex << fragID << std::dec;
148  }
149 
150  ATH_MSG_INFO("Special settings in histograms for demonstrator modules (frag IDs):" << os.str());
151  }
152 
153  //ToolRootHistSvc();
154  //SetBookStatus(false);
156 
157 
158  return StatusCode::SUCCESS;
159 }
160 
161 /*---------------------------------------------------------*/
162 // Method booking 1D Histograms and storing them in THistSvc
163 // The method return the pointer to the new histogram
164 TH1D * TilePaterMonTool::book1D(std::string subdir, std::string nam, std::string tit,
165  int nx, double xmin, double xmax,
166  Interval_t interval, MgmtAttr_t attribute,
167  std::string trigChain, std::string mergeAlgo)
168 {
169 
170  TH1D* hist = new TH1D(TString(nam), TString(tit), nx, xmin, xmax);
171  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
172  return hist;
173 }
174 
175 TH1F * TilePaterMonTool::book1F(std::string subdir, std::string nam, std::string tit,
176  int nx, double xmin, double xmax,
177  Interval_t interval, MgmtAttr_t attribute,
178  std::string trigChain, std::string mergeAlgo)
179 {
180 
181  TH1F* hist = new TH1F(TString(nam), TString(tit), nx, xmin, xmax);
182  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
183  return hist;
184 }
185 
186 TH1C* TilePaterMonTool::book1C(std::string subdir, std::string nam, std::string tit,
187  int nx, double xmin, double xmax,
188  Interval_t interval, MgmtAttr_t attribute,
189  std::string trigChain, std::string mergeAlgo)
190 {
191 
192  TH1C* hist = new TH1C(TString(nam), TString(tit), nx, xmin, xmax);
193  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
194  return hist;
195 }
196 
197 TH1S * TilePaterMonTool::book1S(std::string subdir, std::string nam, std::string tit,
198  int nx, double xmin, double xmax,
199  Interval_t interval, MgmtAttr_t attribute,
200  std::string trigChain, std::string mergeAlgo)
201 {
202 
203  TH1S* hist = new TH1S(TString(nam), TString(tit), nx, xmin, xmax);
204  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
205  return hist;
206 }
207 
208 TH1S * TilePaterMonTool::book1Sx(std::string subdir, std::string nam, std::string tit,
209  int nx, const Double_t *xlgbins,
210  Interval_t interval, MgmtAttr_t attribute,
211  std::string trigChain, std::string mergeAlgo)
212 {
213 
214  TH1S* hist = new TH1S(TString(nam), TString(tit), nx, xlgbins);
215  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
216  return hist;
217 }
218 
219 TH1I* TilePaterMonTool::book1I(std::string subdir, std::string nam, std::string tit,
220  int nx, double xmin, double xmax,
221  Interval_t interval, MgmtAttr_t attribute,
222  std::string trigChain, std::string mergeAlgo)
223 {
224 
225  TH1I* hist = new TH1I(TString(nam), TString(tit), nx, xmin, xmax);
226  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
227  return hist;
228 }
229 
230 /*---------------------------------------------------------*/
231 // Method booking 2D Histograms and storing them in THistSvc
232 // The method return the pointer to the new histogram
233 TH2D* TilePaterMonTool::book2D(std::string subdir, std::string nam, std::string tit,
234  int nx, double xmin, double xmax,
235  int ny, double ymin, double ymax,
236  Interval_t interval, MgmtAttr_t attribute,
237  std::string trigChain, std::string mergeAlgo)
238 {
239  TH2D* hist = new TH2D(TString(nam), TString(tit), nx, xmin, xmax, ny, ymin, ymax);
240  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
241  return hist;
242 }
243 
244 TH2F* TilePaterMonTool::book2F(std::string subdir, std::string nam, std::string tit,
245  int nx, double xmin, double xmax,
246  int ny, double ymin, double ymax,
247  Interval_t interval, MgmtAttr_t attribute,
248  std::string trigChain, std::string mergeAlgo)
249 {
250  TH2F* hist = new TH2F(TString(nam), TString(tit), nx, xmin, xmax, ny, ymin, ymax);
251  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
252  return hist;
253 }
254 
255 TH2F* TilePaterMonTool::book2F(std::string subdir, std::string nam, std::string tit,
256  int nx, double xmin, double xmax,
257  int ny, const double* ybins,
258  Interval_t interval, MgmtAttr_t attribute,
259  std::string trigChain, std::string mergeAlgo)
260 {
261  TH2F* hist = new TH2F(TString(nam), TString(tit), nx, xmin, xmax, ny, ybins);
262  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
263  return hist;
264 }
265 
266 
267 TH2I* TilePaterMonTool::book2I(std::string subdir, std::string nam, std::string tit,
268  int nx, double xmin, double xmax,
269  int ny, double ymin, double ymax,
270  Interval_t interval, MgmtAttr_t attribute,
271  std::string trigChain, std::string mergeAlgo)
272 {
273  TH2I* hist = new TH2I(TString(nam), TString(tit), nx, xmin, xmax, ny, ymin, ymax);
274  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
275  return hist;
276 }
277 
278 
279 TH2S * TilePaterMonTool::book2S(std::string subdir, std::string nam, std::string tit,
280  int nx, double xmin, double xmax,
281  int ny, double ymin, double ymax,
282  Interval_t interval, MgmtAttr_t attribute,
283  std::string trigChain, std::string mergeAlgo)
284 {
285  TH2S *hist = new TH2S(TString(nam), TString(tit), nx, xmin, xmax, ny, ymin, ymax);
286  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
287  return hist;
288 }
289 
290 TH2C* TilePaterMonTool::book2C(std::string subdir, std::string nam, std::string tit,
291  int nx, double xmin, double xmax,
292  int ny, double ymin, double ymax,
293  Interval_t interval, MgmtAttr_t attribute,
294  std::string trigChain, std::string mergeAlgo)
295 {
296  TH2C* hist = new TH2C(TString(nam), TString(tit), nx, xmin, xmax, ny, ymin, ymax);
297  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
298  return hist;
299 }
300 
301 TProfile* TilePaterMonTool::bookProfile(std::string subdir, std::string nam, std::string tit,
302  int nx, double xmin, double xmax,
303  Interval_t interval, MgmtAttr_t attribute,
304  std::string trigChain, std::string mergeAlgo)
305 {
306  TProfile* hist = new TProfile(TString(nam), TString(tit), nx, xmin, xmax);
307  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
308  return hist;
309 }
310 
311 TProfile* TilePaterMonTool::bookProfile(std::string subdir, std::string nam, std::string tit,
312  int nx, double xmin, double xmax,
313  double ymin, double ymax,
314  Interval_t interval, MgmtAttr_t attribute,
315  std::string trigChain, std::string mergeAlgo)
316 {
317  TProfile* hist = new TProfile(TString(nam), TString(tit), nx, xmin, xmax, ymin, ymax);
318  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
319  return hist;
320 }
321 
322 TProfile* TilePaterMonTool::bookProfile(std::string subdir, std::string nam, std::string tit,
323  int nx, const float* xbins,
324  Interval_t interval, MgmtAttr_t attribute,
325  std::string trigChain, std::string mergeAlgo)
326 {
327  TProfile* hist = new TProfile(TString(nam), TString(tit), nx, xbins);
328  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
329  return hist;
330 }
331 
332 TProfile2D* TilePaterMonTool::bookProfile2D(std::string subdir, std::string nam, std::string tit,
333  int nx, double xmin, double xmax,
334  int ny, double ymin, double ymax,
335  double zmin, double zmax,
336  Interval_t interval, MgmtAttr_t attribute,
337  std::string trigChain, std::string mergeAlgo)
338 {
339 
340  TProfile2D* hist = new TProfile2D(TString(nam), TString(tit), nx, xmin, xmax, ny, ymin, ymax, zmin, zmax);
341  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
342  return hist;
343 }
344 
345 
346 TH1I_LW* TilePaterMonTool::book1ILW(const std::string& subdir, const std::string& nam, const std::string& tit,
347  int nx, double xmin, double xmax,
348  Interval_t interval, MgmtAttr_t attribute,
349  std::string trigChain, std::string mergeAlgo)
350 {
351  TH1I_LW* hist = TH1I_LW::create(TString(nam), TString(tit), nx, xmin, xmax);
352  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
353  return hist;
354 }
355 
356 TH2I_LW* TilePaterMonTool::book2ILW(const std::string& subdir, const std::string& nam, const std::string& tit,
357  int nx, double xmin, double xmax,
358  int ny, double ymin, double ymax,
359  Interval_t interval, MgmtAttr_t attribute,
360  std::string trigChain, std::string mergeAlgo)
361 {
362  TH2I_LW* hist = TH2I_LW::create(TString(nam), TString(tit), nx, xmin, xmax, ny, ymin, ymax);
363  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
364  return hist;
365 }
366 
367 
368 TProfile_LW* TilePaterMonTool::bookProfileLW(const std::string& subdir, const std::string& nam, const std::string& tit,
369  int nx, double xmin, double xmax,
370  double ymin, double ymax,
371  Interval_t interval, MgmtAttr_t attribute,
372  std::string trigChain, std::string mergeAlgo)
373 {
374  TProfile_LW* hist = TProfile_LW::create(TString(nam), TString(tit), nx, xmin, xmax, ymin, ymax);
375  regHist(subdir, hist, interval, attribute, trigChain, mergeAlgo);
376  return hist;
377 }
378 
379 
380 /*-----------------------------------------------------------*/
381 // Method booking TTree and TGraph and storing them in THistSvc
382 // The method return the pointer to the new histogram
383 
384 /*
385 TTree* TilePaterMonTool::bookTree(std::string subdir, std::string nam, std::string tit) {
386  TTree* hist = new TTree(TString(nam), TString(tit));
387  if (m_THistSvc_streamname.size() > 0) {
388  if (m_THistSvc->regTree(m_stem + subdir + "/" + nam, hist).isFailure()) {
389  ATH_MSG_WARNING( "Could not register object : " << m_stem + subdir + "/" + nam );
390  }
391  }
392  return hist;
393 }
394 
395 */
396 
397 
398 //
399 // Terrible hack to register TGraph in THistSvc
400 //
401 
402 //#define private public
403 //#define GAUDISVC_THISTSVC_ICC
404 //#include "THistSvc/THistSvc.h"
405 //#undef GAUDISVC_THISTSVC_ICC
406 //#include "THistSvc/THistSvc.icc"
407 //#undef private
408 
409 class TGraph1: public TGraph {
410  public:
411  TGraph1(int N, float * X, float * Y)
412  : TGraph(N, X, Y), fDirectory(0) {
413  }
414 
415  TDirectory * GetDirectory() { return fDirectory; }
416 
417  void SetDirectory(TDirectory *dir) {
418  if (fDirectory == dir) return;
419  if (fDirectory) fDirectory->GetList()->Remove(this);
420  fDirectory = dir;
421  if (fDirectory) fDirectory->GetList()->Add(this);
422  }
423 
424  private:
425  TDirectory* fDirectory;
426 };
427 
428 TGraph* TilePaterMonTool::bookGraph(const std::string& subdir, const std::string& nam, const std::string& tit, int N, float * X, float * Y) {
429 
430  TGraph1 *hist = new TGraph1(N, X, Y);
431  hist->SetName(TString(nam));
432  hist->SetTitle(TString(tit));
433 
434  regGraph(subdir, hist);
435 
436  return (TGraph*) hist;
437 }
438 
439 class TGraphErrors1: public TGraphErrors {
440  public:
441  TGraphErrors1(int N, float * X, float * Y, float * X_errors, float * Y_errors)
442  : TGraphErrors(N, X, Y, X_errors, Y_errors), fDirectory(0) {
443  }
444 
445  TDirectory * GetDirectory() { return fDirectory; }
446 
447  void SetDirectory(TDirectory *dir) {
448  if (fDirectory == dir) return;
449  if (fDirectory) fDirectory->GetList()->Remove(this);
450  fDirectory = dir;
451  if (fDirectory) fDirectory->GetList()->Add(this);
452  }
453 
454  private:
455  TDirectory * fDirectory;
456 };
457 
458 TGraphErrors * TilePaterMonTool::bookGraphErrors(const std::string& subdir, const std::string& nam, const std::string& tit, int N, float * X, float * Y, float * X_errors, float * Y_errors) {
459 
460  TGraphErrors *hist = new TGraphErrors(N, X, Y, X_errors, Y_errors);
461  hist->SetName(TString(nam));
462  hist->SetTitle(TString(tit));
463 
464  regGraph(subdir, hist);
465  return (TGraphErrors *) hist;
466 }
467 
469  if (obj != 0) {
470  if (obj->IsA()->InheritsFrom("TH1")) {
471  if (deregHist((TH1*) obj).isFailure()) {
472  ATH_MSG_WARNING( "Could not dereg Histogram : " << obj->GetName() );
473  return StatusCode::FAILURE;
474  } else {
475  delete obj;
476  }
477  } else if (obj->IsA()->InheritsFrom("TGraph")) {
478  if (deregGraph((TGraph*) obj) != StatusCode::SUCCESS) {
479  ATH_MSG_WARNING( "Could not dereg Graph : " << obj->GetName() );
480  return StatusCode::FAILURE;
481  } else {
482  delete obj;
483  }
484  } else {
485  ATH_MSG_WARNING( "Asked to remove object " << obj->GetName() << "of unsupported type " << obj->IsA() );
486  return StatusCode::FAILURE;
487  }
488  } else {
489  ATH_MSG_WARNING( "Asked to remove NULL pointer" );
490  return StatusCode::FAILURE;
491  }
492  return StatusCode::SUCCESS;
493 }
494 
495 
496 class TGraphAsymmErrors1: public TGraphAsymmErrors {
497  public:
498  TGraphAsymmErrors1(int N, float * X, float * Y, float * X_errors1, float * X_errors2, float * Y_errors1, float * Y_errors2)
499  : TGraphAsymmErrors(N, X, Y, X_errors1, X_errors2, Y_errors1, Y_errors2), fDirectory(0) {
500  }
501 
502  TDirectory * GetDirectory() { return fDirectory; }
503 
504  void SetDirectory(TDirectory *dir) {
505  if (fDirectory == dir) return;
506  if (fDirectory) fDirectory->GetList()->Remove(this);
507  fDirectory = dir;
508  if (fDirectory) fDirectory->GetList()->Add(this);
509  }
510 
511  private:
512  TDirectory* fDirectory;
513 };
514 
515 TGraphAsymmErrors* TilePaterMonTool::bookGraphAsymmErrors(const std::string& subdir, const std::string& nam, const std::string& tit, int N,
516  float* X, float* Y, float* X_errors1, float* X_errors2,
517  float* Y_errors1, float* Y_errors2)
518 {
519 
520  TGraphAsymmErrors *hist = new TGraphAsymmErrors(N, X, Y, X_errors1, X_errors2, Y_errors1, Y_errors2);
521  hist->SetName(TString(nam));
522  hist->SetTitle(TString(tit));
523 
524  regGraph(subdir, hist);
525  return (TGraphAsymmErrors*) hist;
526 }
527 
528 class TMultiGraph1: public TMultiGraph {
529  public:
531  : TMultiGraph(), fDirectory(0) {
532  }
533 
534  TDirectory* GetDirectory() { return fDirectory; }
535 
536  void SetDirectory(TDirectory *dir) {
537  if (fDirectory == dir) return;
538  if (fDirectory) fDirectory->GetList()->Remove(this);
539  fDirectory = dir;
540  if (fDirectory) fDirectory->GetList()->Add(this);
541  }
542 
543  private:
544  TDirectory* fDirectory;
545 };
546 
547 TMultiGraph* TilePaterMonTool::bookMultiGraph(const std::string& subdir, const std::string& nam, const std::string& tit) {
548 
549  TMultiGraph1* hist = new TMultiGraph1();
550  hist->SetName(TString(nam));
551  hist->SetTitle(TString(tit));
552 
553  regGraph(subdir, (TGraph*) hist);
554  return (TMultiGraph*) hist;
555 }
556 
557 
558 
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
TGraph1::TGraph1
TGraph1(int N, float *X, float *Y)
Definition: TilePaterMonTool.cxx:411
RunTileTBMonitoring.fragID
fragID
Definition: RunTileTBMonitoring.py:212
TilePaterMonTool::removeTObj
StatusCode removeTObj(TObject *obj)
Definition: TilePaterMonTool.cxx:468
TilePaterMonTool::bookGraph
TGraph * bookGraph(const std::string &dir, const std::string &nam, const std::string &tit, int N, float *X, float *Y)
Definition: TilePaterMonTool.cxx:428
TilePaterMonTool::book1F
TH1F * book1F(std::string dir, std::string nam, std::string tit, int nx, double xmin, double xmax, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:175
TGraphAsymmErrors1::GetDirectory
TDirectory * GetDirectory()
Definition: TilePaterMonTool.cxx:502
ManagedMonitorToolBase::Interval_t
Interval_t
An enumeration describing how detailed a particular monitoring object is.
Definition: ManagedMonitorToolBase.h:114
TMultiGraph1::TMultiGraph1
TMultiGraph1()
Definition: TilePaterMonTool.cxx:530
ManagedMonitorToolBase::m_path
std::string m_path
Definition: ManagedMonitorToolBase.h:915
ymin
double ymin
Definition: listroot.cxx:63
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:126
ManagedMonitorToolBase::deregHist
virtual StatusCode deregHist(LWHist *h)
Definition: ManagedMonitorToolBase.cxx:1826
TilePaterMonTool::initialize
virtual StatusCode initialize() override
Definition: TilePaterMonTool.cxx:106
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
TilePaterMonTool::TilePaterMonTool
TilePaterMonTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TilePaterMonTool.cxx:78
ManagedMonitorToolBase::MgmtAttr_t
MgmtAttr_t
An enumeration describing how the class handles the histogram.
Definition: ManagedMonitorToolBase.h:131
TileCablingService::getInstance
static const TileCablingService * getInstance()
get pointer to service instance
Definition: TileCablingService.cxx:24
TilePaterMonTool::bookGraphAsymmErrors
TGraphAsymmErrors * bookGraphAsymmErrors(const std::string &dir, const std::string &nam, const std::string &tit, int N, float *X, float *Y, float *X_errors1, float *X_errors2, float *Y_errors1, float *Y_errors2)
Definition: TilePaterMonTool.cxx:515
TGraphErrors1::fDirectory
TDirectory * fDirectory
Definition: TilePaterMonTool.cxx:455
TH1I
Definition: rootspy.cxx:332
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:74
TH2F
Definition: rootspy.cxx:420
PixelAthClusterMonAlgCfg.zmin
zmin
Definition: PixelAthClusterMonAlgCfg.py:176
TilePaterMonTool::m_fragIDsDemonstrators
std::vector< int > m_fragIDsDemonstrators
Definition: TilePaterMonTool.h:233
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
TilePaterMonTool::m_savePng
bool m_savePng
Definition: TilePaterMonTool.h:228
TilePaterMonTool::regHist
void regHist(const std::string &subDir, T *hist, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, const std::string &trigChain="", const std::string &mergeAlgo="")
Definition: TilePaterMonTool.cxx:52
plotmaker.hist
hist
Definition: plotmaker.py:148
TilePaterMonTool::m_savePs
bool m_savePs
Definition: TilePaterMonTool.h:229
TH1I_LW
Definition: TH1I_LW.h:23
TProfile2D
Definition: rootspy.cxx:531
TH1D
Definition: rootspy.cxx:342
PixelAthClusterMonAlgCfg.ybins
ybins
Definition: PixelAthClusterMonAlgCfg.py:163
TH1I_LW::create
static TH1I_LW * create(const char *name, const char *title, unsigned nbinsx, const double &xlow, const double &xup)
Definition: TH1I_LW.cxx:33
TilePaterMonTool::book1ILW
TH1I_LW * book1ILW(const std::string &dir, const std::string &nam, const std::string &tit, int nx, double xmin, double xmax, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:346
TProfile_LW.h
ManagedMonitorToolBase::regGraph
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...
Definition: ManagedMonitorToolBase.cxx:1693
JetTiledMap::N
@ N
Definition: TiledEtaPhiMap.h:44
TilePaterMonTool::bookProfile2D
TProfile2D * bookProfile2D(std::string dir, std::string nam, std::string tit, int nx, double xmin, double xmax, int ny, double ymin, double ymax, double zmin, double zmax, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:332
TProfile_LW
Definition: TProfile_LW.h:24
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
TilePaterMonTool::book2F
TH2F * book2F(std::string dir, std::string nam, std::string tit, int nx, double xmin, double xmax, int ny, double ymin, double ymax, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:244
TH2S
Definition: rootspy.cxx:400
TileID.h
TGraphAsymmErrors1::TGraphAsymmErrors1
TGraphAsymmErrors1(int N, float *X, float *Y, float *X_errors1, float *X_errors2, float *Y_errors1, float *Y_errors2)
Definition: TilePaterMonTool.cxx:498
Monitored::X
@ X
Definition: HistogramFillerUtils.h:24
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
TilePaterMonTool.h
TGraph1::GetDirectory
TDirectory * GetDirectory()
Definition: TilePaterMonTool.cxx:415
TilePaterMonTool::m_saveSvg
bool m_saveSvg
Definition: TilePaterMonTool.h:230
TileDCSDataPlotter.tit
tit
Definition: TileDCSDataPlotter.py:890
TileTBID.h
TH1C
Definition: rootspy.cxx:352
TileHWID.h
ManagedMonitorToolBase::initialize
virtual StatusCode initialize()
Definition: ManagedMonitorToolBase.cxx:669
ManagedMonitorToolBase::deregGraph
virtual StatusCode deregGraph(TGraph *g)
De-registers a TGraph from the THistSvc, but does NOT delete the object.
Definition: ManagedMonitorToolBase.cxx:1844
TileCablingService.h
TProfile_LW::create
static TProfile_LW * create(const char *name, const char *title, unsigned nbinsx, const double &xlow, const double &xup, const char *option=" ")
Definition: TProfile_LW.cxx:32
TGraphErrors1::GetDirectory
TDirectory * GetDirectory()
Definition: TilePaterMonTool.cxx:445
xmin
double xmin
Definition: listroot.cxx:60
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
TH2I_LW::create
static TH2I_LW * create(const char *name, const char *title, unsigned nbinsx, const double &xmin, const double &xmax, unsigned nbinsy, const double &ymin, const double &ymax)
Definition: TH2I_LW.cxx:33
TMultiGraph1::SetDirectory
void SetDirectory(TDirectory *dir)
Definition: TilePaterMonTool.cxx:536
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TH2I
Definition: rootspy.cxx:410
TGraph1
Definition: TilePaterMonTool.cxx:409
TilePaterMonTool::book2S
TH2S * book2S(std::string dir, std::string nam, std::string tit, int nx, double xmin, double xmax, int ny, double ymin, double ymax, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:279
TGraph1::fDirectory
TDirectory * fDirectory
Definition: TilePaterMonTool.cxx:425
TH1I_LW.h
TH2I_LW.h
TGraph1::SetDirectory
void SetDirectory(TDirectory *dir)
Definition: TilePaterMonTool.cxx:417
getLatestRuns.interval
interval
Definition: getLatestRuns.py:24
PixelAthClusterMonAlgCfg.zmax
zmax
Definition: PixelAthClusterMonAlgCfg.py:176
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TMultiGraph1::GetDirectory
TDirectory * GetDirectory()
Definition: TilePaterMonTool.cxx:534
TilePaterMonTool::book2C
TH2C * book2C(std::string dir, std::string nam, std::string tit, int nx, double xmin, double xmax, int ny, double ymin, double ymax, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:290
TGraphErrors1
Definition: TilePaterMonTool.cxx:439
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
TilePaterMonTool::~TilePaterMonTool
virtual ~TilePaterMonTool()
Definition: TilePaterMonTool.cxx:100
TH2D
Definition: rootspy.cxx:430
TGraphErrors1::TGraphErrors1
TGraphErrors1(int N, float *X, float *Y, float *X_errors, float *Y_errors)
Definition: TilePaterMonTool.cxx:441
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
TilePaterMonTool::book2ILW
TH2I_LW * book2ILW(const std::string &dir, const std::string &nam, const std::string &tit, int nx, double xmin, double xmax, int ny, double ymin, double ymax, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:356
TilePaterMonTool::book1I
TH1I * book1I(std::string dir, std::string nam, std::string tit, int nx, double xmin, double xmax, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:219
beamspotman.dir
string dir
Definition: beamspotman.py:623
TilePaterMonTool::regGraph
void regGraph(const std::string &subDir, T *graph, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, const std::string &trigChain="", const std::string &mergeAlgo="")
Definition: TilePaterMonTool.cxx:65
Monitored::Y
@ Y
Definition: HistogramFillerUtils.h:24
TH2I_LW
Definition: TH2I_LW.h:23
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TMultiGraph1::fDirectory
TDirectory * fDirectory
Definition: TilePaterMonTool.cxx:544
TilePaterMonTool::bookProfile
TProfile * bookProfile(std::string dir, std::string nam, std::string tit, int nx, double xmin, double xmax, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:301
TProfile
Definition: rootspy.cxx:515
TilePaterMonTool::m_fragIDsToIgnoreDMUerrors
std::vector< int > m_fragIDsToIgnoreDMUerrors
Definition: TilePaterMonTool.h:232
TilePaterMonTool::book1S
TH1S * book1S(std::string dir, std::string nam, std::string tit, int nx, double xmin, double xmax, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:197
TGraphAsymmErrors1
Definition: TilePaterMonTool.cxx:496
TilePaterMonTool::bookProfileLW
TProfile_LW * bookProfileLW(const std::string &dir, const std::string &nam, const std::string &tit, int nx, double xmin, double xmax, double ymin, double ymax, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:368
TilePaterMonTool::bookMultiGraph
TMultiGraph * bookMultiGraph(const std::string &dir, const std::string &nam, const std::string &tit)
Definition: TilePaterMonTool.cxx:547
TilePaterMonTool::book2D
TH2D * book2D(const std::string &nam, const std::string &tit, int nx, double xmin, double xmax, int ny, double ymin, double ymax)
Implicit version of book2D.
Definition: TilePaterMonTool.h:76
LArCellBinning.xbins
int xbins
Definition: LArCellBinning.py:163
python.PyAthena.v
v
Definition: PyAthena.py:157
TilePaterMonTool::m_cabling
const TileCablingService * m_cabling
Definition: TilePaterMonTool.h:226
TH1F
Definition: rootspy.cxx:320
TH2C
Definition: rootspy.cxx:390
TH1S
Definition: rootspy.cxx:362
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TH1
Definition: rootspy.cxx:268
TilePaterMonTool::book2I
TH2I * book2I(std::string dir, std::string nam, std::string tit, int nx, double xmin, double xmax, int ny, double ymin, double ymax, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:267
TilePaterMonTool::book1D
TH1D * book1D(const std::string &nam, const std::string &tit, int nx, double xmin, double xmax)
Implicit version of book1D.
Definition: TilePaterMonTool.h:69
xmax
double xmax
Definition: listroot.cxx:61
TilePaterMonTool::bookGraphErrors
TGraphErrors * bookGraphErrors(const std::string &dir, const std::string &nam, const std::string &tit, int N, float *X, float *Y, float *X_errors, float *Y_errors)
Definition: TilePaterMonTool.cxx:458
TilePaterMonTool::m_tileTBID
const TileTBID * m_tileTBID
Definition: TilePaterMonTool.h:225
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
TGraphAsymmErrors1::fDirectory
TDirectory * fDirectory
Definition: TilePaterMonTool.cxx:512
python.LumiCalcRecover.subdir
subdir
Definition: LumiCalcRecover.py:25
TilePaterMonTool::book1C
TH1C * book1C(std::string dir, std::string nam, std::string tit, int nx, double xmin, double xmax, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:186
TilePaterMonTool::m_tileHWID
const TileHWID * m_tileHWID
Definition: TilePaterMonTool.h:224
TileCablingService::runPeriod
int runPeriod() const
Definition: TileCablingService.h:280
python.PyAthena.obj
obj
Definition: PyAthena.py:135
TilePaterMonTool::book1Sx
TH1S * book1Sx(std::string dir, std::string nam, std::string tit, int nx, const Double_t *xlgbins, Interval_t interval=run, MgmtAttr_t attribute=ATTRIB_MANAGED, std::string trigChain="", std::string mergeAlgo="")
Definition: TilePaterMonTool.cxx:208
TMultiGraph1
Definition: TilePaterMonTool.cxx:528
TGraphAsymmErrors1::SetDirectory
void SetDirectory(TDirectory *dir)
Definition: TilePaterMonTool.cxx:504
TGraphErrors1::SetDirectory
void SetDirectory(TDirectory *dir)
Definition: TilePaterMonTool.cxx:447
TilePaterMonTool::m_tileID
const TileID * m_tileID
Definition: TilePaterMonTool.h:223
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:1454
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
ymax
double ymax
Definition: listroot.cxx:64