ATLAS Offline Software
HistValBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Header file for class HistValBase //
9 // //
10 // Description: ... //
11 // //
12 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13 // Initial version: March 2009 //
14 // //
16 
17 #ifndef HISTVALBASE_H
18 #define HISTVALBASE_H
19 
20 #include "validatefunctions.h"//Not the nicest way to do it (but its just for the tests)
21 #include "LWHistVal.h"
22 #include <string>
23 #include <cassert>
24 #include "LWHists/LWHistControls.h"
25 
26 class HistValBase {
27 public:
28 
29  HistValBase();
30  virtual ~HistValBase();
31 
32  virtual unsigned getXAxis_NBins() const = 0;
33  virtual unsigned getYAxis_NBins() const = 0;
34 
35  virtual void setXAxis_BinLabel(unsigned bin, const char* label) = 0;
36  virtual void setYAxis_BinLabel(unsigned bin, const char* label) = 0;
37 
38  virtual void setXAxis_LabelSize(float) = 0;
39  virtual void setYAxis_LabelSize(float) = 0;
40  virtual void setXAxis_Title(const std::string&) = 0;
41  virtual void setYAxis_Title(const std::string&) = 0;
42 
43  virtual void SetMarkerColor( short c) = 0;
44  virtual void SetMarkerStyle( short s ) = 0;
45  virtual void SetMarkerSize( float sz) = 0;
46 
47  virtual void setName(const std::string& name) = 0;
48  virtual void setTitle(const std::string& title) = 0;
49  virtual void setNameTitle(const std::string& name,
50  const std::string& title) = 0;
51 
52  virtual void setMinimum(const double& m = -1111) = 0;
53  virtual void setMaximum(const double& m = -1111) = 0;
54 
58 
59  virtual void compareBinContents() const = 0;//bin contents (incl. over/underflow)
60  virtual void compareMetaData() = 0;
61  void compareAllContents();//both of the above
62  virtual void compareTH1s() = 0;//compare the TH1 and the TH1
63  //created from the light weight instance
64  //Extend in derived.
65 
66  virtual void compareFastLoop() = 0;
67  void compareAll();//compareAllContents(), compareTH1Fs() and compareFastLoop()
68 
69  virtual void triggerConversionToROOTHist() = 0;
70 
71 protected:
72  //Call in Fill(..), SetBinXXX(..) methods:
73  void binContentsChanged();
74  //Call in SetName/SetTitle/... methods:
75  void titleOrNameWasChanged();
76 
77  static const char* profile_test_erroroption() { return " "; }//" ", "s", "i", "g" (fails for "i" due to numerical problems in ROOT, "g" fails for 2D due to a bug in .22 version of ROOT)
78 
79 private:
80 
81  // Illegal to copy/assign a HistValBase:
84 
86 protected:
88  bool converted() const { return m_triggeredConversionToROOTHist; }
89  std::string convertedRootName(const std::string& n)
90  {
91  static const std::string prefix="::trigger::";
92  //To avoid name clashes
94  return prefix+n;
95  return n;
96  }
97 
98 };
99 
100 #endif
HistValBase::compareFastLoop
virtual void compareFastLoop()=0
validatefunctions.h
HistValBase::setCompareBinContentsOnEachFill
void setCompareBinContentsOnEachFill(bool)
Definition: HistValBase.cxx:58
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
HistValBase::getXAxis_NBins
virtual unsigned getXAxis_NBins() const =0
fitman.sz
sz
Definition: fitman.py:527
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
HistValBase::setMinimum
virtual void setMinimum(const double &m=-1111)=0
HistValBase::~HistValBase
virtual ~HistValBase()
Definition: HistValBase.cxx:25
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
HistValBase::setYAxis_LabelSize
virtual void setYAxis_LabelSize(float)=0
bin
Definition: BinsDiffFromStripMedian.h:43
HistValBase::HistValBase
HistValBase(const HistValBase &)
HistValBase::compareAllContents
void compareAllContents()
Definition: HistValBase.cxx:30
HistValBase::compareTH1s
virtual void compareTH1s()=0
HistValBase::setName
virtual void setName(const std::string &name)=0
HistValBase::compareAll
void compareAll()
Definition: HistValBase.cxx:37
HistValBase::triggerConversionToROOTHist
virtual void triggerConversionToROOTHist()=0
HistValBase::setYAxis_Title
virtual void setYAxis_Title(const std::string &)=0
beamspotman.n
n
Definition: beamspotman.py:731
HistValBase::titleOrNameWasChanged
void titleOrNameWasChanged()
Definition: HistValBase.cxx:52
HistValBase::SetMarkerColor
virtual void SetMarkerColor(short c)=0
covarianceTool.title
title
Definition: covarianceTool.py:542
HistValBase::converted
bool converted() const
Definition: HistValBase.h:88
HistValBase::SetMarkerSize
virtual void SetMarkerSize(float sz)=0
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
HistValBase::setNameTitle
virtual void setNameTitle(const std::string &name, const std::string &title)=0
HistValBase::operator=
HistValBase & operator=(const HistValBase &)
HistValBase::setMaximum
virtual void setMaximum(const double &m=-1111)=0
HistValBase::HistValBase
HistValBase()
Definition: HistValBase.cxx:18
HistValBase::setXAxis_BinLabel
virtual void setXAxis_BinLabel(unsigned bin, const char *label)=0
HistValBase::convertedRootName
std::string convertedRootName(const std::string &n)
Definition: HistValBase.h:89
HistValBase::setXAxis_Title
virtual void setXAxis_Title(const std::string &)=0
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
HistValBase::binContentsChanged
void binContentsChanged()
Definition: HistValBase.cxx:45
HistValBase::setTitle
virtual void setTitle(const std::string &title)=0
HistValBase::compareMetaData
virtual void compareMetaData()=0
HistValBase::setYAxis_BinLabel
virtual void setYAxis_BinLabel(unsigned bin, const char *label)=0
HistValBase::m_compareBinContentsOnEachFill
bool m_compareBinContentsOnEachFill
Definition: HistValBase.h:85
HistValBase::profile_test_erroroption
static const char * profile_test_erroroption()
Definition: HistValBase.h:77
HistValBase::getYAxis_NBins
virtual unsigned getYAxis_NBins() const =0
HistValBase::compareBinContents
virtual void compareBinContents() const =0
HistValBase::setXAxis_LabelSize
virtual void setXAxis_LabelSize(float)=0
LWHistVal.h
HistValBase::compareBinContentsOnEachFill
bool compareBinContentsOnEachFill() const
Definition: HistValBase.h:56
HistValBase::m_triggeredConversionToROOTHist
bool m_triggeredConversionToROOTHist
Definition: HistValBase.h:87
HistValBase::SetMarkerStyle
virtual void SetMarkerStyle(short s)=0
LWHistControls.h
python.compressB64.c
def c
Definition: compressB64.py:93
HistValBase
Definition: HistValBase.h:26