ATLAS Offline Software
LWHist2D.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Header file for class LWHist2D //
9 // //
10 // Description: Common base for light-weight 2D histograms //
11 // //
12 // //
13 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
14 // Initial version: March 2009 //
15 // //
17 
18 #ifndef LWHIST2D_H
19 #define LWHIST2D_H
20 
21 #include "LWHists/LWHist.h"
22 
23 class TH2;
24 
25 class LWHist2D : public LWHist {
26 public:
27 
28  virtual void Fill(const double& x, const double& y) = 0;
29  virtual void Fill(const double& x, const double& y, const double& w) = 0;
30  virtual unsigned GetNbinsX() const = 0;
31  virtual unsigned GetNbinsY() const = 0;
32 
33  //Using ROOT convention for bins in the calls below:
34  // bin = 0; underflow bin
35  // bin = 1; first bin with low-edge xlow INCLUDED
36  // bin = nbins; last bin with upper-edge xup EXCLUDED
37  // bin = nbins+1; overflow bin
38 
39  virtual double GetBinContent(unsigned binx,unsigned biny) const = 0;
40  virtual double GetBinError(unsigned binx, unsigned biny) const = 0;
41  virtual void SetBinContent(unsigned binx, unsigned biny, const double& ) = 0;
42  virtual void SetBinError(unsigned binx, unsigned biny, const double& ) = 0;
43  virtual void SetBins(unsigned nbinsx,double xmin,double xmax,
44  unsigned nbinsy,double ymin,double ymax) = 0;
45 
46  //Extensions:
47  virtual void GetBinContentAndError(unsigned binx, unsigned biny,double& content, double&error) const = 0;
48  virtual void SetBinContentAndError(unsigned binx, unsigned biny,const double& content, const double& error) = 0;
49  virtual void resetActiveBinLoop() = 0;
50  virtual bool getNextActiveBin(unsigned& binx, unsigned& biny, double& content, double& error) = 0;
51 
52  virtual double getXMin() const = 0;
53  virtual double getXMax() const = 0;
54  virtual double getYMin() const = 0;
55  virtual double getYMax() const = 0;
56 
57  virtual void getSums( double& sumW, double& sumW2,
58  double& sumWX,double& sumWX2,
59  double& sumWY, double& sumWY2,
60  double& sumWXY) const = 0;
61  virtual void setSums( const double& sumW, const double& sumW2,
62  const double& sumWX, const double& sumWX2,
63  const double& sumWY, const double& sumWY2,
64  const double& sumWXY ) = 0;
65 
66  virtual void scaleContentsAndErrors( const double& fact ) = 0;//C.f. comment in LWHist1D.h
67 
68 protected:
69  LWHist2D( const char* n, const char* t, bool rb ) : LWHist(n,t,rb) {}
70  virtual ~LWHist2D() {}
71  friend class LWHist::LWHistAxis;
72  virtual unsigned actualGetNBinsX() const { return GetNbinsX(); }
73  virtual unsigned actualGetNBinsY() const { return GetNbinsY(); }
74 
75  virtual bool apply(TH1*) const;
76 };
77 
78 #endif
LWHist
Definition: LWHist.h:26
ymin
double ymin
Definition: listroot.cxx:63
LWHist2D::GetBinError
virtual double GetBinError(unsigned binx, unsigned biny) const =0
LWHist2D::scaleContentsAndErrors
virtual void scaleContentsAndErrors(const double &fact)=0
LWHist2D::getYMax
virtual double getYMax() const =0
LWHist2D::getXMin
virtual double getXMin() const =0
LWHist2D::SetBins
virtual void SetBins(unsigned nbinsx, double xmin, double xmax, unsigned nbinsy, double ymin, double ymax)=0
WriteCellNoiseToCool.rb
rb
Definition: WriteCellNoiseToCool.py:229
LWHist2D::~LWHist2D
virtual ~LWHist2D()
Definition: LWHist2D.h:70
LWHist2D::Fill
virtual void Fill(const double &x, const double &y)=0
LWHist2D::getNextActiveBin
virtual bool getNextActiveBin(unsigned &binx, unsigned &biny, double &content, double &error)=0
LWHist2D::actualGetNBinsX
virtual unsigned actualGetNBinsX() const
Definition: LWHist2D.h:72
LWHist2D::GetNbinsX
virtual unsigned GetNbinsX() const =0
LWHist2D::SetBinError
virtual void SetBinError(unsigned binx, unsigned biny, const double &)=0
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
LWHist2D::GetNbinsY
virtual unsigned GetNbinsY() const =0
x
#define x
grepfile.content
string content
Definition: grepfile.py:56
LWHist2D::Fill
virtual void Fill(const double &x, const double &y, const double &w)=0
xmin
double xmin
Definition: listroot.cxx:60
beamspotman.n
n
Definition: beamspotman.py:731
LWHist2D::getYMin
virtual double getYMin() const =0
LWHist2D::SetBinContent
virtual void SetBinContent(unsigned binx, unsigned biny, const double &)=0
LWHist2D::resetActiveBinLoop
virtual void resetActiveBinLoop()=0
TH2
Definition: rootspy.cxx:373
LWHist2D::LWHist2D
LWHist2D(const char *n, const char *t, bool rb)
Definition: LWHist2D.h:69
LWHist2D
Definition: LWHist2D.h:25
LWHist::LWHistAxis
Definition: LWHist.h:109
LWHist2D::getXMax
virtual double getXMax() const =0
LWHist2D::GetBinContentAndError
virtual void GetBinContentAndError(unsigned binx, unsigned biny, double &content, double &error) const =0
y
#define y
TH1
Definition: rootspy.cxx:268
LWHist2D::getSums
virtual void getSums(double &sumW, double &sumW2, double &sumWX, double &sumWX2, double &sumWY, double &sumWY2, double &sumWXY) const =0
xmax
double xmax
Definition: listroot.cxx:61
LWHist2D::GetBinContent
virtual double GetBinContent(unsigned binx, unsigned biny) const =0
LWHist2D::SetBinContentAndError
virtual void SetBinContentAndError(unsigned binx, unsigned biny, const double &content, const double &error)=0
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
error
Definition: IImpactPoint3dEstimator.h:70
LWHist.h
LWHist2D::actualGetNBinsY
virtual unsigned actualGetNBinsY() const
Definition: LWHist2D.h:73
LWHist2D::apply
virtual bool apply(TH1 *) const
Definition: LWHist2D.cxx:20
ymax
double ymax
Definition: listroot.cxx:64
LWHist2D::setSums
virtual void setSums(const double &sumW, const double &sumW2, const double &sumWX, const double &sumWX2, const double &sumWY, const double &sumWY2, const double &sumWXY)=0