laura is hosted by Hepforge, IPPP Durham
Laura++  v1r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
Lau2DHistDP.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2004 - 2013.
3 // Distributed under the Boost Software License, Version 1.0.
4 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 // Authors:
7 // Thomas Latham
8 // John Back
9 // Paul Harrison
10 
25 #ifndef LAU_2DHIST_DP
26 #define LAU_2DHIST_DP
27 
28 #include "Rtypes.h"
29 
30 class TH2;
31 class LauDaughters;
32 class LauKinematics;
33 
34 class Lau2DHistDP {
35 
36  public:
38 
48  Lau2DHistDP(const TH2* hist, const LauDaughters* daughters,
49  Bool_t useInterpolation = kTRUE, Bool_t fluctuateBins = kFALSE,
50  Double_t avEff = -1.0, Double_t avEffError = -1.0, Bool_t useUpperHalfOnly = kFALSE, Bool_t squareDP = kFALSE);
51 
53  Lau2DHistDP( const Lau2DHistDP& rhs );
54 
56  virtual ~Lau2DHistDP();
57 
59 
64  Double_t interpolateXY(Double_t x, Double_t y) const;
65 
66  protected:
68 
73  Double_t getBinHistValue(Int_t xBinNo, Int_t yBinNo) const;
74 
76  void doBinFluctuation();
77 
79 
85  void raiseOrLowerBins(Double_t avEff, Double_t avEffError);
86 
88 
92  Double_t computeAverageContents() const;
93 
94  private:
96  TH2* hist_;
97 
100 
102  Double_t minX_;
104  Double_t maxX_;
106  Double_t minY_;
108  Double_t maxY_;
110  Double_t rangeX_;
112  Double_t rangeY_;
113 
115  Double_t binXWidth_;
117  Double_t binYWidth_;
118 
120  Int_t nBinsX_;
122  Int_t nBinsY_;
123 
127  Bool_t upperHalf_;
129  Bool_t squareDP_;
130 
131  ClassDef(Lau2DHistDP,0) // 2D Histogram utility class for DP analyses
132 };
133 
134 #endif
void raiseOrLowerBins(Double_t avEff, Double_t avEffError)
Rescale the histogram bin contents based on the desired average efficiency and its uncertainty...
Definition: Lau2DHistDP.cc:313
Double_t minY_
The histogram y-axis minimum.
Definition: Lau2DHistDP.hh:106
const LauKinematics * kinematics_
Kinematics used to check events are within DP boundary.
Definition: Lau2DHistDP.hh:99
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
Int_t nBinsY_
The number of bins on the y-axis of the histogram.
Definition: Lau2DHistDP.hh:122
Double_t binYWidth_
The histogram y-axis bin width.
Definition: Lau2DHistDP.hh:117
void doBinFluctuation()
Fluctuate the contents of each histogram bin independently, in accordance with their errors...
Definition: Lau2DHistDP.cc:296
Double_t getBinHistValue(Int_t xBinNo, Int_t yBinNo) const
Get the raw bin content from the histogram.
Definition: Lau2DHistDP.cc:95
Double_t minX_
The histogram x-axis minimum.
Definition: Lau2DHistDP.hh:102
Double_t binXWidth_
The histogram x-axis bin width.
Definition: Lau2DHistDP.hh:115
Double_t computeAverageContents() const
Compute the average bin content for bins within the kinematic boundary.
Definition: Lau2DHistDP.cc:323
Lau2DHistDP(const TH2 *hist, const LauDaughters *daughters, Bool_t useInterpolation=kTRUE, Bool_t fluctuateBins=kFALSE, Double_t avEff=-1.0, Double_t avEffError=-1.0, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
Constructor.
Definition: Lau2DHistDP.cc:30
Double_t interpolateXY(Double_t x, Double_t y) const
Perform the interpolation.
Definition: Lau2DHistDP.cc:113
Bool_t upperHalf_
Boolean for using the upper half of DP.
Definition: Lau2DHistDP.hh:127
Bool_t useInterpolation_
Control boolean for using the linear interpolation.
Definition: Lau2DHistDP.hh:125
Double_t maxX_
The histogram x-axis maximum.
Definition: Lau2DHistDP.hh:104
Double_t maxY_
The histogram y-axis maximum.
Definition: Lau2DHistDP.hh:108
Class for defining a 2D DP histogram.
Definition: Lau2DHistDP.hh:34
virtual ~Lau2DHistDP()
Destructor.
Definition: Lau2DHistDP.cc:89
Class for calculating 3-body kinematic quantities.
Bool_t squareDP_
Boolean for using square DP variables.
Definition: Lau2DHistDP.hh:129
Int_t nBinsX_
The number of bins on the x-axis of the histogram.
Definition: Lau2DHistDP.hh:120
TH2 * hist_
The underlying histogram.
Definition: Lau2DHistDP.hh:96
Double_t rangeX_
The histogram x-axis range.
Definition: Lau2DHistDP.hh:110
Double_t rangeY_
The histogram y-axis range.
Definition: Lau2DHistDP.hh:112