laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
Lau2DAbsHistDPPdf.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2014 University of Warwick
4 
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8 
9  http://www.apache.org/licenses/LICENSE-2.0
10 
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16 */
17 
18 /*
19 Laura++ package authors:
20 John Back
21 Paul Harrison
22 Thomas Latham
23 */
24 
38 #ifndef LAU_2DABSHIST_DP_PDF
39 #define LAU_2DABSHIST_DP_PDF
40 
41 #include "Lau2DAbsDPPdf.hh"
42 
43 class TH2;
44 class LauKinematics;
45 class LauVetoes;
46 
48 
49  public:
51 
57  Lau2DAbsHistDPPdf(LauKinematics* kinematics, const LauVetoes* vetoes,
58  Bool_t useUpperHalfOnly = kFALSE, Bool_t squareDP = kFALSE);
59 
61  virtual ~Lau2DAbsHistDPPdf();
62 
64 
67  Double_t getMaxHeight() const {return maxHeight_;}
68 
70 
73  virtual Double_t getHistNorm() const=0;
74 
76 
81  virtual Double_t interpolateXY(Double_t x, Double_t y) const=0;
82 
84 
89  virtual Double_t interpolateXYNorm(Double_t x, Double_t y) const=0;
90 
91  protected:
93 
96  const LauKinematics * getKinematics() const {return kinematics_;}
97 
99 
102  const LauVetoes * getVetoes() const {return vetoes_;}
103 
105 
108  void calcMaxHeight(TH2* hist);
109 
111 
114  void doBinFluctuation(TH2* hist);
115 
117 
122  Bool_t withinDPBoundaries(Double_t x, Double_t y) const;
123 
125 
129  void updateKinematics(Double_t x, Double_t y) const;
130 
132 
136  void getUpperHalf(Double_t& x, Double_t& y) const;
137 
138 
139  private:
141  Lau2DAbsHistDPPdf( const Lau2DAbsHistDPPdf& rhs );
142 
145 
148 
151 
153  Double_t maxHeight_;
154 
156  Bool_t upperHalf_;
158  Bool_t squareDP_;
159 
160  ClassDef(Lau2DAbsHistDPPdf,0) // Abstract base class for 2D DP variations based on a histogram
161 };
162 
163 #endif
virtual ~Lau2DAbsHistDPPdf()
Destructor.
Double_t maxHeight_
The maximum height of 2D histogram.
Pure abstract base class for defining a variation across a 2D DP.
Abstract base class for defining a variation across a 2D DP based on a histogram. ...
Bool_t withinDPBoundaries(Double_t x, Double_t y) const
Check whether the given co-ordinates are within the kinematic boundary.
Bool_t squareDP_
Boolean for using square DP variables.
const LauVetoes * getVetoes() const
Get the vetoes object.
void doBinFluctuation(TH2 *hist)
Fluctuate the histogram bin contents in accordance with their errors.
File containing declaration of Lau2DAbsDPPdf class.
const LauVetoes * vetoes_
Vetos within DP.
Lau2DAbsHistDPPdf(LauKinematics *kinematics, const LauVetoes *vetoes, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
Constructor.
Bool_t upperHalf_
Boolean for using the upper half of DP.
Lau2DAbsHistDPPdf & operator=(const Lau2DAbsHistDPPdf &rhs)
Copy assignment operator - not implemented.
void getUpperHalf(Double_t &x, Double_t &y) const
If only using the upper half of the (symmetric) DP then transform into the correct half...
Double_t getMaxHeight() const
Retrieve maximum height of the PDF.
virtual Double_t interpolateXY(Double_t x, Double_t y) const =0
Perform the interpolation (unnormalised)
void calcMaxHeight(TH2 *hist)
Calculate maximum height.
virtual Double_t interpolateXYNorm(Double_t x, Double_t y) const =0
Perform the interpolation and divide by the normalisation.
virtual Double_t getHistNorm() const =0
Retrieve PDF normalisation.
const LauKinematics * getKinematics() const
Get the kinematics object.
Class for calculating 3-body kinematic quantities.
void updateKinematics(Double_t x, Double_t y) const
Update the current co-ordinates in the kinematic space.
Class for defining vetoes within the Dalitz plot.
Definition: LauVetoes.hh:50
LauKinematics * kinematics_
DP kinematics.