ATLAS Offline Software
TProfile2D_LW.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 TProfile2D_LW //
9 // //
10 // Description: LightWeight version of TProfile2D. //
11 // //
12 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13 // Initial version: July 2009 //
14 // //
16 
17 #ifndef TPROFILE2D_LW_H
18 #define TPROFILE2D_LW_H
19 
20 #include "LWHists/LWHist.h"
21 class TProfile2D;
22 class Flex2DProfileHisto;
23 
24 class TProfile2D_LW : public LWHist {
25 public:
26 
27  //To allocate from pool - remember to delete with LWHist::safeDelete(..):
28  static TProfile2D_LW * create( const char* name, const char* title,
29  unsigned nbinsx, const double& xlow, const double& xup,
30  unsigned nbinsy, const double& ylow, const double& yup,
31  const char* option=" " );
32  static TProfile2D_LW * create( const char* name, const char* title,
33  unsigned nbinsx, const double& xlow, const double& xup,
34  unsigned nbinsy, const double& ylow, const double& yup,
35  const double& zlow, const double& zup, const char* option=" " );
36  static TProfile2D_LW * create( const char* name, const char* title,
37  unsigned nbinsx, const double* xbins,
38  unsigned nbinsy, const double& ylow, const double& yup,
39  const char* option=" " );
40  static TProfile2D_LW * create( const char* name, const char* title,
41  unsigned nbinsx, const double& xlow, const double& xup,
42  unsigned nbinsy, const double* ybins, const char* option=" " );
43  static TProfile2D_LW * create( const char* name, const char* title,
44  unsigned nbinsx, const double* xbins,
45  unsigned nbinsy, const double* ybins, const char* option=" " );
46 
47  void Fill(const double& x, const double& y, const double& z );
48  void Fill(const double& x, const double& y, const double& z, const double& w );
49  unsigned GetNbinsX() const;
50  unsigned GetNbinsY() const;
51  // double GetBinEntries(unsigned binx, unsigned biny) const; (not provided in ROOT)
52  double GetBinContent(unsigned binx, unsigned biny) const;
53  double GetBinError(unsigned binx, unsigned biny) const;
54  // void SetBinEntries(unsigned binx, unsigned biny, const double& ); (not provided in ROOT)
55  void SetBinContent(unsigned binx, unsigned biny, const double& );
56  void SetBinError(unsigned binx, unsigned biny, const double& );
57  virtual unsigned GetEntries() const override;
58  virtual void SetEntries(unsigned) override;
59 
60  virtual void Reset() override;
61 
62  double getXMin() const;
63  double getXMax() const;
64  double getYMin() const;
65  double getYMax() const;
66  void GetBinInfo( unsigned binx, unsigned biny,
67  double& entries, double& content, double&error ) const;
68  void SetBinInfo( unsigned binx, unsigned biny,
69  const double& entries,const double& content, const double& error );
70 
71  void SetErrorOption(const char* option);
72  const char* GetErrorOption() const;
73 
74  void getSums( double& sumW, double& sumW2,
75  double& sumWX,double& sumWX2,
76  double& sumWY, double& sumWY2,
77  double& sumWXY,
78  double& sumWZ, double&sumWZ2) const;
79  void setSums( const double& sumW, const double&sumW2,
80  const double& sumWX, const double& sumWX2,
81  const double& sumWY, const double& sumWY2,
82  const double& sumWXY,
83  const double& sumWZ, const double&sumWZ2 );
84 
86  virtual TH1* getROOTHistBase() override;
87 
88  virtual double Integral() const override;
89 private:
90  friend class LWHistInt;
91  friend class LWHistVal;
92  // cppcheck-suppress virtualCallInConstructor
93  virtual void clear() override;
94  virtual const TH1* getROOTHistBaseNoAlloc() const override;
95  virtual TH1* getROOTHistBaseNoAlloc() override;
96  // cppcheck-suppress virtualCallInConstructor
97  virtual void clearKeptROOTHist() override;//Does nothing if root-backend.
98  const float * getVarBinsX() const;//null if fixed bin-widths
99  const float * getVarBinsY() const;//null if fixed bin-widths
100  static TProfile2D_LW * actualcreate( const char* name, const char* title,
101  unsigned nbinsx, const double& xlow, const double& xup, const double* xbins,
102  unsigned nbinsy, const double& ylow, const double& yup, const double* ybins,
103  const double& zlow, const double& zup, const char* option );
104  TProfile2D_LW( const char* name, const char* title,
105  unsigned nbinsx, const double& xlow, const double& xup, const double* xbins,
106  unsigned nbinsy, const double& ylow, const double& yup, const double* ybins,
107  const double& zlow, const double& zup, const char* option, bool rootbackend );
108  virtual ~TProfile2D_LW();
113  virtual double actualGetBinCenterX(int bin) const override;
114  virtual double actualGetBinCenterY(int) const override;
115  virtual unsigned actualFindBinX(const double&) const override;
116  virtual unsigned actualFindBinY(const double&) const override;
117  virtual unsigned actualGetNBinsX() const override { return GetNbinsX(); }
118  virtual unsigned actualGetNBinsY() const override { return GetNbinsY(); }
119 };
120 
121 #endif
LWHist
Definition: LWHist.h:26
TProfile2D_LW::GetBinError
double GetBinError(unsigned binx, unsigned biny) const
Definition: TProfile2D_LW.cxx:268
TProfile2D_LW::getYMax
double getYMax() const
Definition: TProfile2D_LW.cxx:239
TProfile2D_LW::GetEntries
virtual unsigned GetEntries() const override
Definition: TProfile2D_LW.cxx:272
TProfile2D_LW::SetBinInfo
void SetBinInfo(unsigned binx, unsigned biny, const double &entries, const double &content, const double &error)
Definition: TProfile2D_LW.cxx:341
TProfile2D_LW::actualGetBinCenterX
virtual double actualGetBinCenterX(int bin) const override
Definition: TProfile2D_LW.cxx:365
TProfile2D_LW::getXMax
double getXMax() const
Definition: TProfile2D_LW.cxx:226
TProfile2D_LW::actualFindBinX
virtual unsigned actualFindBinX(const double &) const override
Definition: TProfile2D_LW.cxx:353
TProfile2D
Definition: rootspy.cxx:531
TProfile2D_LW::operator=
TProfile2D_LW & operator=(const TProfile2D_LW &)
TProfile2D_LW::TProfile2D_LW
TProfile2D_LW(const char *name, const char *title, unsigned nbinsx, const double &xlow, const double &xup, const double *xbins, unsigned nbinsy, const double &ylow, const double &yup, const double *ybins, const double &zlow, const double &zup, const char *option, bool rootbackend)
Definition: TProfile2D_LW.cxx:106
TProfile2D_LW::GetBinContent
double GetBinContent(unsigned binx, unsigned biny) const
Definition: TProfile2D_LW.cxx:267
PixelAthClusterMonAlgCfg.ybins
ybins
Definition: PixelAthClusterMonAlgCfg.py:163
bin
Definition: BinsDiffFromStripMedian.h:43
TProfile2D_LW::~TProfile2D_LW
virtual ~TProfile2D_LW()
Definition: TProfile2D_LW.cxx:144
TProfile2D_LW::Integral
virtual double Integral() const override
Definition: TProfile2D_LW.cxx:328
TProfile2D_LW::actualcreate
static TProfile2D_LW * actualcreate(const char *name, const char *title, unsigned nbinsx, const double &xlow, const double &xup, const double *xbins, unsigned nbinsy, const double &ylow, const double &yup, const double *ybins, const double &zlow, const double &zup, const char *option)
Definition: TProfile2D_LW.cxx:89
TProfile2D_LW::create
static TProfile2D_LW * create(const char *name, const char *title, unsigned nbinsx, const double &xlow, const double &xup, unsigned nbinsy, const double &ylow, const double &yup, const char *option=" ")
Definition: TProfile2D_LW.cxx:32
TProfile2D_LW::SetEntries
virtual void SetEntries(unsigned) override
Definition: TProfile2D_LW.cxx:279
x
#define x
TProfile2D_LW::getVarBinsX
const float * getVarBinsX() const
Definition: TProfile2D_LW.cxx:377
TProfile2D_LW::Fill
void Fill(const double &x, const double &y, const double &z)
Definition: TProfile2D_LW.cxx:246
TProfile2D_LW::Reset
virtual void Reset() override
Definition: TProfile2D_LW.cxx:204
TProfile2D_LW::actualGetNBinsY
virtual unsigned actualGetNBinsY() const override
Definition: TProfile2D_LW.h:118
LWHistVal
Definition: LWHistVal.h:8
TProfile2D_LW::m_flexHisto
Flex2DProfileHisto * m_flexHisto
Definition: TProfile2D_LW.h:111
grepfile.content
string content
Definition: grepfile.py:56
TProfile2D_LW::actualFindBinY
virtual unsigned actualFindBinY(const double &) const override
Definition: TProfile2D_LW.cxx:359
LWHistInt
Definition: LWHistRootUtils.h:38
TProfile2D_LW::getROOTHistBaseNoAlloc
virtual const TH1 * getROOTHistBaseNoAlloc() const override
Definition: TProfile2D_LW.cxx:153
z
#define z
TProfile2D_LW::TProfile2D_LW
TProfile2D_LW(const TProfile2D_LW &)
Flex2DProfileHisto
Definition: Flex2DProfileHisto.h:30
covarianceTool.title
title
Definition: covarianceTool.py:542
TProfile2D_LW::getXMin
double getXMin() const
Definition: TProfile2D_LW.cxx:219
TProfile2D_LW::clear
virtual void clear() override
Definition: TProfile2D_LW.cxx:179
TProfile2D_LW::SetBinError
void SetBinError(unsigned binx, unsigned biny, const double &)
Definition: TProfile2D_LW.cxx:271
TProfile2D_LW::m_rootHisto
TProfile2D * m_rootHisto
Definition: TProfile2D_LW.h:112
TProfile2D_LW::actualGetBinCenterY
virtual double actualGetBinCenterY(int) const override
Definition: TProfile2D_LW.cxx:371
TProfile2D_LW::setSums
void setSums(const double &sumW, const double &sumW2, const double &sumWX, const double &sumWX2, const double &sumWY, const double &sumWY2, const double &sumWXY, const double &sumWZ, const double &sumWZ2)
Definition: TProfile2D_LW.cxx:306
TProfile2D_LW::getSums
void getSums(double &sumW, double &sumW2, double &sumWX, double &sumWX2, double &sumWY, double &sumWY2, double &sumWXY, double &sumWZ, double &sumWZ2) const
Definition: TProfile2D_LW.cxx:281
TProfile2D_LW::GetNbinsY
unsigned GetNbinsY() const
Definition: TProfile2D_LW.cxx:265
TProfile2D_LW::GetBinInfo
void GetBinInfo(unsigned binx, unsigned biny, double &entries, double &content, double &error) const
Definition: TProfile2D_LW.cxx:329
TProfile2D_LW::GetErrorOption
const char * GetErrorOption() const
Definition: TProfile2D_LW.cxx:217
TProfile2D_LW::getROOTHistBase
virtual TH1 * getROOTHistBase() override
Definition: TProfile2D_LW.cxx:161
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TProfile2D_LW::clearKeptROOTHist
virtual void clearKeptROOTHist() override
Definition: TProfile2D_LW.cxx:188
TProfile2D_LW::getVarBinsY
const float * getVarBinsY() const
Definition: TProfile2D_LW.cxx:383
TProfile2D_LW
Definition: TProfile2D_LW.h:24
TProfile2D_LW::SetErrorOption
void SetErrorOption(const char *option)
Definition: TProfile2D_LW.cxx:216
LArCellBinning.xbins
int xbins
Definition: LArCellBinning.py:163
TProfile2D_LW::GetNbinsX
unsigned GetNbinsX() const
Definition: TProfile2D_LW.cxx:264
TProfile2D_LW::SetBinContent
void SetBinContent(unsigned binx, unsigned biny, const double &)
Definition: TProfile2D_LW.cxx:270
y
#define y
TH1
Definition: rootspy.cxx:268
TProfile2D_LW::actualGetNBinsX
virtual unsigned actualGetNBinsX() const override
Definition: TProfile2D_LW.h:117
entries
double entries
Definition: listroot.cxx:49
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
TProfile2D_LW::getROOTHist
TProfile2D * getROOTHist()
Definition: TProfile2D_LW.cxx:162
error
Definition: IImpactPoint3dEstimator.h:70
LWHist.h
TProfile2D_LW::getYMin
double getYMin() const
Definition: TProfile2D_LW.cxx:232