ATLAS Offline Software
HistVal2D.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 HistVal2D //
9 // //
10 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
11 // Initial version: March 2009 //
12 // //
14 
15 #ifndef HISTVAL2D_H
16 #define HISTVAL2D_H
17 
18 #include "HistValBase.h"
19 
20 template <class TH_2D, class THLW_2D>
21 class HistVal2D : public HistValBase {
22 public:
23  typedef typename THLW_2D::bin_type_t bin_type_t;
24 
25  HistVal2D( bool trigger_conversion_all,
26  const std::string& name, const std::string& title,
27  int nbinsx, const double& xmin, const double& xmax,
28  int nbinsy, const double& ymin, const double& ymax );
29 
30  template <class TFloat>
31  HistVal2D( bool trigger_conversion_all,
32  const std::string& name, const std::string& title,
33  int nbinsx, const TFloat* xbins,
34  int nbinsy, const TFloat* ybins );
35 
36  template <class TFloat>
37  HistVal2D( bool trigger_conversion_all,
38  const std::string& name, const std::string& title,
39  int nbinsx, const TFloat* xbins,
40  int nbinsy, const double& ymin, const double& ymax );
41 
42  template <class TFloat>
43  HistVal2D( bool trigger_conversion_all,
44  const std::string& name, const std::string& title,
45  int nbinsx, const double& xmin, const double& xmax,
46  int nbinsy, const TFloat* ybins );
47 
48  virtual ~HistVal2D();
49 
50  virtual unsigned getXAxis_NBins() const override;
51  virtual unsigned getYAxis_NBins() const override;
52  virtual void setXAxis_BinLabel(unsigned bin, const char* label) override;
53  virtual void setYAxis_BinLabel(unsigned bin, const char* label) override;
54  virtual void setXAxis_LabelSize(float) override;
55  virtual void setYAxis_LabelSize(float) override;
56  virtual void setXAxis_Title(const std::string&) override;
57  virtual void setYAxis_Title(const std::string&) override;
58  void setZAxis_Title(const std::string&);
59  virtual void SetMarkerColor( short c) override;
60  virtual void SetMarkerStyle( short s ) override;
61  virtual void SetMarkerSize( float sz) override;
62  virtual void setMinimum( const double& m = -1111 ) override;
63  virtual void setMaximum( const double& m = -1111 ) override;
64 
65  virtual void setName(const std::string& name) override;
66  virtual void setTitle(const std::string& title) override;
67  virtual void setNameTitle(const std::string& name,
68  const std::string& title) override;
69 
70  //Test various way to fill the histogram:
71  void fill(const double& x, const double& y);
72  void fill(const double& x, const double& y, const double& w);
73  void setBinContent(unsigned, unsigned, const double& content);
74  void setBinError(unsigned, unsigned, const double& error);
75  void setBinContentAndError(unsigned, unsigned, const double& content,const double& error);
76 
77  virtual void compareBinContents() const override;
78  virtual void compareMetaData() override;
79  virtual void compareTH1s() override;
80  virtual void compareFastLoop() override;
81 
82  // cppcheck-suppress virtualCallInConstructor
83  virtual void triggerConversionToROOTHist() override
84  {
87  m_h1->SetName(convertedRootName(m_h1->GetName()).c_str());
88  m_h2->getROOTHist();
89  }
90  }
91 
92 private:
93  TH_2D * m_h1;
94  THLW_2D * m_h2;
95 };
96 
97 #include "HistVal2D.icc"
98 
99 #endif
ymin
double ymin
Definition: listroot.cxx:63
HistVal2D::SetMarkerColor
virtual void SetMarkerColor(short c) override
HistVal2D::setMaximum
virtual void setMaximum(const double &m=-1111) override
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
HistVal2D::compareBinContents
virtual void compareBinContents() const override
fitman.sz
sz
Definition: fitman.py:527
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
HistVal2D::m_h2
THLW_2D * m_h2
Definition: HistVal2D.h:94
HistVal2D::compareTH1s
virtual void compareTH1s() override
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
HistVal2D::setXAxis_Title
virtual void setXAxis_Title(const std::string &) override
PixelAthClusterMonAlgCfg.ybins
ybins
Definition: PixelAthClusterMonAlgCfg.py:163
bin
Definition: BinsDiffFromStripMedian.h:43
HistVal2D::compareMetaData
virtual void compareMetaData() override
HistVal2D::setYAxis_BinLabel
virtual void setYAxis_BinLabel(unsigned bin, const char *label) override
HistVal2D.icc
HistVal2D::setXAxis_BinLabel
virtual void setXAxis_BinLabel(unsigned bin, const char *label) override
x
#define x
HistVal2D::m_h1
TH_2D * m_h1
Definition: HistVal2D.h:93
HistVal2D::SetMarkerStyle
virtual void SetMarkerStyle(short s) override
HistVal2D::~HistVal2D
virtual ~HistVal2D()
HistVal2D
Definition: HistVal2D.h:21
grepfile.content
string content
Definition: grepfile.py:56
HistVal2D::triggerConversionToROOTHist
virtual void triggerConversionToROOTHist() override
Definition: HistVal2D.h:83
HistVal2D::setXAxis_LabelSize
virtual void setXAxis_LabelSize(float) override
HistVal2D::setBinContent
void setBinContent(unsigned, unsigned, const double &content)
HistVal2D::setYAxis_Title
virtual void setYAxis_Title(const std::string &) override
HistVal2D::HistVal2D
HistVal2D(bool trigger_conversion_all, const std::string &name, const std::string &title, int nbinsx, const TFloat *xbins, int nbinsy, const TFloat *ybins)
xmin
double xmin
Definition: listroot.cxx:60
HistVal2D::setBinError
void setBinError(unsigned, unsigned, const double &error)
covarianceTool.title
title
Definition: covarianceTool.py:542
HistVal2D::setNameTitle
virtual void setNameTitle(const std::string &name, const std::string &title) override
HistVal2D::bin_type_t
THLW_2D::bin_type_t bin_type_t
Definition: HistVal2D.h:23
HistValBase.h
HistValBase::convertedRootName
std::string convertedRootName(const std::string &n)
Definition: HistValBase.h:89
HistVal2D::fill
void fill(const double &x, const double &y, const double &w)
HistVal2D::setYAxis_LabelSize
virtual void setYAxis_LabelSize(float) override
HistVal2D::setZAxis_Title
void setZAxis_Title(const std::string &)
HistVal2D::compareFastLoop
virtual void compareFastLoop() override
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
HistVal2D::getXAxis_NBins
virtual unsigned getXAxis_NBins() const override
HistVal2D::HistVal2D
HistVal2D(bool trigger_conversion_all, const std::string &name, const std::string &title, int nbinsx, const double &xmin, const double &xmax, int nbinsy, const TFloat *ybins)
LArCellBinning.xbins
int xbins
Definition: LArCellBinning.py:163
HistVal2D::getYAxis_NBins
virtual unsigned getYAxis_NBins() const override
HistVal2D::fill
void fill(const double &x, const double &y)
y
#define y
xmax
double xmax
Definition: listroot.cxx:61
HistVal2D::HistVal2D
HistVal2D(bool trigger_conversion_all, const std::string &name, const std::string &title, int nbinsx, const double &xmin, const double &xmax, int nbinsy, const double &ymin, const double &ymax)
HistVal2D::setName
virtual void setName(const std::string &name) override
HistVal2D::HistVal2D
HistVal2D(bool trigger_conversion_all, const std::string &name, const std::string &title, int nbinsx, const TFloat *xbins, int nbinsy, const double &ymin, const double &ymax)
HistValBase::m_triggeredConversionToROOTHist
bool m_triggeredConversionToROOTHist
Definition: HistValBase.h:87
HistVal2D::setTitle
virtual void setTitle(const std::string &title) override
HistVal2D::SetMarkerSize
virtual void SetMarkerSize(float sz) override
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
HistVal2D::setBinContentAndError
void setBinContentAndError(unsigned, unsigned, const double &content, const double &error)
error
Definition: IImpactPoint3dEstimator.h:70
python.compressB64.c
def c
Definition: compressB64.py:93
HistVal2D::setMinimum
virtual void setMinimum(const double &m=-1111) override
HistValBase
Definition: HistValBase.h:26
ymax
double ymax
Definition: listroot.cxx:64