ATLAS Offline Software
TProfile_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 TProfile_LW //
9 // //
10 // Description: LightWeight version of TProfile. //
11 // //
12 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13 // Initial version: July 2009 //
14 // //
16 
17 #ifndef TPROFILE_LW_H
18 #define TPROFILE_LW_H
19 
20 #include "LWHists/LWHist.h"
21 class TProfile;
22 class Flex1DProfileHisto;
23 
24 class TProfile_LW : public LWHist {
25 public:
26 
27  //To allocate from pool - remember to delete with LWHist::safeDelete(..):
28  static TProfile_LW * create( const char* name, const char* title,unsigned nbinsx,
29  const double& xlow, const double& xup, const char* option=" " );
30  static TProfile_LW * create( const char* name, const char* title,unsigned nbinsx,
31  const double& xlow, const double& xup,
32  const double& ylow, const double& yup, const char* option=" ");
33  static TProfile_LW * create( const char* name, const char* title,unsigned nbinsx,
34  const float* xbins, const char* option=" ");
35  static TProfile_LW * create( const char* name, const char* title,unsigned nbinsx,
36  const double* xbins, const char* option=" ");
37  static TProfile_LW * create( const char* name, const char* title,unsigned nbinsx,
38  const double* xbins,
39  const double& ylow, const double& yup, const char* option=" ");
40 
41  void Fill(const double& x, const double& y );
42  void Fill(const double& x, const double& y, const double& w );
43  unsigned GetNbinsX() const;
44  double GetBinEntries(unsigned bin) const;
45  double GetBinContent(unsigned bin) const;
46  double GetBinError(unsigned bin) const;
47  void SetBinEntries(unsigned bin, const double& );
48  void SetBinContent(unsigned bin, const double& );
49  void SetBinError(unsigned bin, const double& );
50  virtual unsigned GetEntries() const override;
51  virtual void SetEntries(unsigned) override;
52 
53  virtual void Reset() override;
54 
55  double getXMin() const;
56  double getXMax() const;
57  void GetBinInfo(unsigned bin,double& entries, double& content, double&error) const;
58  void SetBinInfo(unsigned bin, const double& entries, const double& content, const double& error);
59 
60  void SetErrorOption(const char* option);
61  const char* GetErrorOption() const;
62 
63  void getSums( double& sumW, double& sumW2,
64  double& sumWX, double& sumWX2,
65  double& sumWY, double&sumWY2 ) const;
66  void setSums( const double& sumW, const double&sumW2,
67  const double& sumWX, const double& sumWX2,
68  const double& sumWY, const double& sumWY2 );
69 
71  virtual TH1* getROOTHistBase() override;
72 
73 
74  virtual double Integral() const override;
75 private:
76  friend class LWHistInt;
77  friend class LWHistVal;
78  // cppcheck-suppress virtualCallInConstructor
79  virtual void clear() override;
80  virtual const TH1* getROOTHistBaseNoAlloc() const override;
81  virtual TH1* getROOTHistBaseNoAlloc() override;
82  // cppcheck-suppress virtualCallInConstructor
83  virtual void clearKeptROOTHist() override;//Does nothing if root-backend.
84  const float * getVarBins() const;//null if fixed bin-widths
85  float * getVarBins();//null if fixed bin-widths
86 
87  static TProfile_LW * actualcreate( const char* name, const char* title,
88  unsigned nbinsx, const double& xlow, const double& xup,
89  const double& ylow, const double& yup,
90  const float* xbins_flt, const double* xbins_dbl,
91  const char* option);
92  TProfile_LW( const char* name, const char* title,
93  unsigned nbinsx, const double& xlow, const double& xup,
94  const double& ylow, const double& yup,
95  const float* xbins_flt, const double* xbins_dbl, const char* option,bool rootbackend );
96 
97  virtual ~TProfile_LW();
102  virtual double actualGetBinCenterX(int bin) const override;
103  virtual double actualGetBinCenterY(int) const override { return 0; }
104  virtual unsigned actualFindBinX(const double&) const override;
105  virtual unsigned actualFindBinY(const double&) const override { return 0; }
106  virtual unsigned actualGetNBinsX() const override { return GetNbinsX(); }
107  virtual unsigned actualGetNBinsY() const override { return 0; }
108 
109 };
110 
111 #endif
LWHist
Definition: LWHist.h:26
TProfile_LW::getROOTHistBase
virtual TH1 * getROOTHistBase() override
Definition: TProfile_LW.cxx:139
TProfile_LW::m_rootHisto
TProfile * m_rootHisto
Definition: TProfile_LW.h:101
TProfile_LW::GetBinContent
double GetBinContent(unsigned bin) const
Definition: TProfile_LW.cxx:243
TProfile_LW::actualcreate
static TProfile_LW * actualcreate(const char *name, const char *title, unsigned nbinsx, const double &xlow, const double &xup, const double &ylow, const double &yup, const float *xbins_flt, const double *xbins_dbl, const char *option)
Definition: TProfile_LW.cxx:67
TProfile_LW::clearKeptROOTHist
virtual void clearKeptROOTHist() override
Definition: TProfile_LW.cxx:166
TProfile_LW::getXMax
double getXMax() const
Definition: TProfile_LW.cxx:216
TProfile_LW::GetNbinsX
unsigned GetNbinsX() const
Definition: TProfile_LW.cxx:241
TProfile_LW::GetBinError
double GetBinError(unsigned bin) const
Definition: TProfile_LW.cxx:244
TProfile_LW::~TProfile_LW
virtual ~TProfile_LW()
Definition: TProfile_LW.cxx:122
TProfile_LW::setSums
void setSums(const double &sumW, const double &sumW2, const double &sumWX, const double &sumWX2, const double &sumWY, const double &sumWY2)
Definition: TProfile_LW.cxx:275
TProfile_LW::SetBinContent
void SetBinContent(unsigned bin, const double &)
Definition: TProfile_LW.cxx:246
bin
Definition: BinsDiffFromStripMedian.h:43
TProfile_LW::GetEntries
virtual unsigned GetEntries() const override
Definition: TProfile_LW.cxx:248
TProfile_LW::getROOTHist
TProfile * getROOTHist()
Definition: TProfile_LW.cxx:140
TProfile_LW::SetBinEntries
void SetBinEntries(unsigned bin, const double &)
Definition: TProfile_LW.cxx:245
TProfile_LW::actualFindBinX
virtual unsigned actualFindBinX(const double &) const override
Definition: TProfile_LW.cxx:324
TProfile_LW::SetEntries
virtual void SetEntries(unsigned) override
Definition: TProfile_LW.cxx:255
TProfile_LW
Definition: TProfile_LW.h:24
x
#define x
TProfile_LW::getROOTHistBaseNoAlloc
virtual const TH1 * getROOTHistBaseNoAlloc() const override
Definition: TProfile_LW.cxx:131
TProfile_LW::Reset
virtual void Reset() override
Definition: TProfile_LW.cxx:182
TProfile_LW::getSums
void getSums(double &sumW, double &sumW2, double &sumWX, double &sumWX2, double &sumWY, double &sumWY2) const
Definition: TProfile_LW.cxx:257
TProfile_LW::SetBinInfo
void SetBinInfo(unsigned bin, const double &entries, const double &content, const double &error)
Definition: TProfile_LW.cxx:303
LWHistVal
Definition: LWHistVal.h:8
grepfile.content
string content
Definition: grepfile.py:56
TProfile_LW::getVarBins
const float * getVarBins() const
Definition: TProfile_LW.cxx:197
TProfile_LW::actualGetBinCenterX
virtual double actualGetBinCenterX(int bin) const override
Definition: TProfile_LW.cxx:315
LWHistInt
Definition: LWHistRootUtils.h:38
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
TProfile_LW::GetErrorOption
const char * GetErrorOption() const
Definition: TProfile_LW.cxx:195
TProfile_LW::SetBinError
void SetBinError(unsigned bin, const double &)
Definition: TProfile_LW.cxx:247
covarianceTool.title
title
Definition: covarianceTool.py:542
TProfile_LW::GetBinInfo
void GetBinInfo(unsigned bin, double &entries, double &content, double &error) const
Definition: TProfile_LW.cxx:291
TProfile_LW::operator=
TProfile_LW & operator=(const TProfile_LW &)
TProfile_LW::Fill
void Fill(const double &x, const double &y)
Definition: TProfile_LW.cxx:223
TProfile_LW::actualFindBinY
virtual unsigned actualFindBinY(const double &) const override
Definition: TProfile_LW.h:105
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TProfile
Definition: rootspy.cxx:515
LArCellBinning.xbins
int xbins
Definition: LArCellBinning.py:163
TProfile_LW::SetErrorOption
void SetErrorOption(const char *option)
Definition: TProfile_LW.cxx:194
TProfile_LW::actualGetBinCenterY
virtual double actualGetBinCenterY(int) const override
Definition: TProfile_LW.h:103
TProfile_LW::GetBinEntries
double GetBinEntries(unsigned bin) const
Definition: TProfile_LW.cxx:242
y
#define y
TH1
Definition: rootspy.cxx:268
TProfile_LW::actualGetNBinsX
virtual unsigned actualGetNBinsX() const override
Definition: TProfile_LW.h:106
TProfile_LW::actualGetNBinsY
virtual unsigned actualGetNBinsY() const override
Definition: TProfile_LW.h:107
TProfile_LW::getXMin
double getXMin() const
Definition: TProfile_LW.cxx:209
entries
double entries
Definition: listroot.cxx:49
Flex1DProfileHisto
Definition: Flex1DProfileHisto.h:30
TProfile_LW::TProfile_LW
TProfile_LW(const char *name, const char *title, unsigned nbinsx, const double &xlow, const double &xup, const double &ylow, const double &yup, const float *xbins_flt, const double *xbins_dbl, const char *option, bool rootbackend)
Definition: TProfile_LW.cxx:84
TProfile_LW::m_flexHisto
Flex1DProfileHisto * m_flexHisto
Definition: TProfile_LW.h:100
TProfile_LW::clear
virtual void clear() override
Definition: TProfile_LW.cxx:157
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
error
Definition: IImpactPoint3dEstimator.h:70
LWHist.h
TProfile_LW::Integral
virtual double Integral() const override
Definition: TProfile_LW.cxx:290
TProfile_LW::TProfile_LW
TProfile_LW(const TProfile_LW &)