laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
Lau2DSplineDPPdf.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_2DSPLINE_DP_PDF
39 #define LAU_2DSPLINE_DP_PDF
40 
41 #include "Lau2DAbsHistDPPdf.hh"
42 
43 class TH2;
44 class Lau2DCubicSpline;
45 class LauKinematics;
46 class LauVetoes;
47 
49 
50  public:
52 
62  Lau2DSplineDPPdf( const TH2* hist,
63  LauKinematics* kinematics,
64  const LauVetoes* vetoes,
65  Bool_t fluctuateBins = kFALSE,
66  Bool_t useUpperHalfOnly = kFALSE,
67  Bool_t squareDP = kFALSE );
68 
70  virtual ~Lau2DSplineDPPdf();
71 
73 
76  Double_t getHistNorm() const { return norm_; }
77 
79 
84  Double_t interpolateXY( Double_t x, Double_t y ) const;
85 
87 
92  Double_t interpolateXYNorm( Double_t x, Double_t y ) const;
93 
94  protected:
96  void calcHistNorm();
97 
98  private:
101 
104 
106  Double_t maxHeight_;
107 
109  Double_t norm_;
110 
113 
114  ClassDef( Lau2DSplineDPPdf, 0 ) // 2D Spline utility class for DP analyses
115 };
116 
117 #endif
Class for defining a 2D cubic spline based on an input histogram.
Abstract base class for defining a variation across a 2D DP based on a histogram.
Double_t getHistNorm() const
Retrieve PDF normalisation.
Lau2DSplineDPPdf & operator=(const Lau2DSplineDPPdf &rhs)
Copy assignment operator - not implemented.
Lau2DSplineDPPdf(const Lau2DSplineDPPdf &rhs)
Copy constructor - not implemented.
Double_t maxHeight_
The maximum height of 2D histogram.
Double_t norm_
The histogram normalisation.
Class for defining a 2D DP spline PDF.
Lau2DSplineDPPdf(const TH2 *hist, LauKinematics *kinematics, const LauVetoes *vetoes, Bool_t fluctuateBins=kFALSE, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
Constructor.
Double_t interpolateXYNorm(Double_t x, Double_t y) const
Perform the interpolation and divide by the normalisation.
Double_t interpolateXY(Double_t x, Double_t y) const
Perform the interpolation (unnormalised)
virtual ~Lau2DSplineDPPdf()
Destructor.
Lau2DCubicSpline * spline_
A 2D cubic spline generated from the histogram.
Class for defining vetoes within the Dalitz plot.
Definition: LauVetoes.hh:49
Class for calculating 3-body kinematic quantities.
void calcHistNorm()
Calculate the PDF normalisation.
File containing declaration of Lau2DAbsHistDPPdf class.