ATLAS Offline Software
LWHist1D.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 LWHist1D //
9 // //
10 // Description: Common base for light-weight 1D histograms //
11 // //
12 // //
13 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
14 // Initial version: March 2009 //
15 // //
17 
18 #ifndef LWHIST1D_H
19 #define LWHIST1D_H
20 
21 #include "LWHists/LWHist.h"
22 
23 class LWHist1D : public LWHist {
24 public:
25 
26  virtual void Fill(const double& x) = 0;
27  virtual void Fill(const double& x, const double& w) = 0;
28  virtual unsigned GetNbinsX() const = 0;
29 
30  //Using ROOT convention for bins in the calls below:
31  // bin = 0; underflow bin
32  // bin = 1; first bin with low-edge xlow INCLUDED
33  // bin = nbins; last bin with upper-edge xup EXCLUDED
34  // bin = nbins+1; overflow bin
35 
36  virtual double GetBinContent(unsigned bin) const = 0;
37  virtual double GetBinError(unsigned bin) const = 0;
38  virtual void SetBinContent(unsigned bin, const double& ) = 0;
39  virtual void SetBinError(unsigned bin, const double& ) = 0;
40  virtual void SetBins(unsigned nbins,double xmin,double xmax) = 0;
41 
42  //Extensions:
43  virtual void GetBinContentAndError(unsigned bin,double& content, double&error) const = 0;
44  virtual void SetBinContentAndError(unsigned bin,const double& content, const double& error) = 0;
45  virtual void resetActiveBinLoop() = 0;
46  virtual bool getNextActiveBin(unsigned& bin, double& content, double& error) = 0;
47 
48  virtual double getXMin() const = 0;
49  virtual double getXMax() const = 0;
50  virtual void getSums( double& sumW, double& sumW2,
51  double& sumWX,double& sumWX2 ) const = 0;
52  virtual void setSums( const double& sumW,const double&sumW2,
53  const double& sumWX,const double& sumWX2 ) = 0;
54 
55  virtual void scaleContentsAndErrors( const double& fact ) = 0;//Scales all contents and errors by the
56  //factor (like changing unit on the weights).
57  //Triggers separate bookkeeping of errors if
58  //not already present.
59 
60 protected:
61  LWHist1D( const char* n, const char* t, bool rb ) : LWHist(n,t,rb) {}
62  virtual ~LWHist1D() {}
63  friend class LWHist::LWHistAxis;
64  virtual bool apply(TH1*) const;
65  virtual double actualGetBinCenterY(int) const { return 0; }
66  virtual unsigned actualFindBinY(const double&) const { return 0; }
67  virtual unsigned actualGetNBinsX() const { return GetNbinsX(); }
68  virtual unsigned actualGetNBinsY() const { return 0; }
69 };
70 
71 #endif
LWHist1D::GetBinError
virtual double GetBinError(unsigned bin) const =0
LWHist
Definition: LWHist.h:26
WriteCellNoiseToCool.rb
rb
Definition: WriteCellNoiseToCool.py:229
LWHist1D::Fill
virtual void Fill(const double &x, const double &w)=0
LWHist1D::actualGetNBinsY
virtual unsigned actualGetNBinsY() const
Definition: LWHist1D.h:68
LWHist1D::getXMin
virtual double getXMin() const =0
bin
Definition: BinsDiffFromStripMedian.h:43
LWHist1D::scaleContentsAndErrors
virtual void scaleContentsAndErrors(const double &fact)=0
LWHist1D
Definition: LWHist1D.h:23
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
x
#define x
LWHist1D::SetBinContentAndError
virtual void SetBinContentAndError(unsigned bin, const double &content, const double &error)=0
SCT_CalibAlgs::nbins
@ nbins
Definition: SCT_CalibNumbers.h:10
grepfile.content
string content
Definition: grepfile.py:56
LWHist1D::getNextActiveBin
virtual bool getNextActiveBin(unsigned &bin, double &content, double &error)=0
xmin
double xmin
Definition: listroot.cxx:60
LWHist1D::GetBinContentAndError
virtual void GetBinContentAndError(unsigned bin, double &content, double &error) const =0
beamspotman.n
n
Definition: beamspotman.py:731
LWHist1D::actualFindBinY
virtual unsigned actualFindBinY(const double &) const
Definition: LWHist1D.h:66
LWHist1D::setSums
virtual void setSums(const double &sumW, const double &sumW2, const double &sumWX, const double &sumWX2)=0
LWHist::LWHistAxis
Definition: LWHist.h:109
LWHist1D::actualGetNBinsX
virtual unsigned actualGetNBinsX() const
Definition: LWHist1D.h:67
LWHist1D::resetActiveBinLoop
virtual void resetActiveBinLoop()=0
LWHist1D::~LWHist1D
virtual ~LWHist1D()
Definition: LWHist1D.h:62
LWHist1D::SetBinContent
virtual void SetBinContent(unsigned bin, const double &)=0
LWHist1D::actualGetBinCenterY
virtual double actualGetBinCenterY(int) const
Definition: LWHist1D.h:65
LWHist1D::GetNbinsX
virtual unsigned GetNbinsX() const =0
LWHist1D::GetBinContent
virtual double GetBinContent(unsigned bin) const =0
TH1
Definition: rootspy.cxx:268
xmax
double xmax
Definition: listroot.cxx:61
LWHist1D::getSums
virtual void getSums(double &sumW, double &sumW2, double &sumWX, double &sumWX2) const =0
LWHist1D::LWHist1D
LWHist1D(const char *n, const char *t, bool rb)
Definition: LWHist1D.h:61
LWHist1D::SetBinError
virtual void SetBinError(unsigned bin, const double &)=0
LWHist1D::getXMax
virtual double getXMax() const =0
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
LWHist1D::Fill
virtual void Fill(const double &x)=0
LWHist1D::SetBins
virtual void SetBins(unsigned nbins, double xmin, double xmax)=0
error
Definition: IImpactPoint3dEstimator.h:70
LWHist.h
LWHist1D::apply
virtual bool apply(TH1 *) const
Definition: LWHist1D.cxx:20