laura is hosted by Hepforge, IPPP Durham
Laura++  v2r1
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauDPDepSumPdf.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2009 - 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 
21 #ifndef LAU_DPDEPSUM_PDF
22 #define LAU_DPDEPSUM_PDF
23 
24 #include "Rtypes.h"
25 
26 #include "LauAbsPdf.hh"
27 
28 class LauDaughters;
29 class LauEffModel;
30 class LauParameter;
31 class TH2;
32 
33 
34 class LauDPDepSumPdf : public LauAbsPdf {
35 
36  public:
38  enum DPAxis {
39  M12,
40  M13,
41  M23,
43  MMIN,
45  };
46 
48 
56  LauDPDepSumPdf(LauAbsPdf* pdf1, LauAbsPdf* pdf2,
57  const LauDaughters* daughters,
58  const TH2* dpHisto, Bool_t upperHalf = kFALSE,
59  Bool_t useSpline = kFALSE);
60 
62 
70  LauDPDepSumPdf(LauAbsPdf* pdf1, LauAbsPdf* pdf2,
71  LauParameter* frac,
72  const LauDaughters* daughters,
73  const std::vector<Double_t>& fracCoeffs,
74  DPAxis dpAxis);
75 
77  virtual ~LauDPDepSumPdf();
78 
80  //LauDPDepSumPdf(const LauDPDepSumPdf& other);
81 
83 
86  virtual Bool_t isDPDependent() const {return kTRUE;}
87 
89 
92  virtual void cacheInfo(const LauFitDataTree& inputData);
93 
95 
98  virtual void calcLikelihoodInfo(const LauAbscissas& abscissas);
99 
101 
104  virtual void calcLikelihoodInfo(UInt_t iEvt);
105 
107  virtual void calcNorm();
108 
110 
113  virtual void calcPDFHeight( const LauKinematics* kinematics );
114 
115  protected:
117 
120  void scaleFrac( Double_t dpPos );
121 
122  private:
124  LauDPDepSumPdf(const LauDPDepSumPdf& other);
125 
128 
133 
137  Double_t fracVal_;
140 
142  const std::vector<Double_t> fracCoeffs_;
143 
146 
148  std::vector<Double_t> fractions_;
149 
150  ClassDef(LauDPDepSumPdf,0) // Define the sum PDF
151 };
152 
153 #endif
virtual void cacheInfo(const LauFitDataTree &inputData)
Cache information from data.
virtual void calcLikelihoodInfo(const LauAbscissas &abscissas)
Calculate the likelihood (and intermediate info) for a given abscissa.
DPAxis
Define possibilties for the DP axes.
LauDPDepSumPdf(LauAbsPdf *pdf1, LauAbsPdf *pdf2, const LauDaughters *daughters, const TH2 *dpHisto, Bool_t upperHalf=kFALSE, Bool_t useSpline=kFALSE)
Constructor - fraction determined by 2D histogram.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
virtual void calcNorm()
Calculate the normalisation.
LauAbsPdf * pdf2_
Second PDF.
void scaleFrac(Double_t dpPos)
Scale fraction according to DP position.
LauAbsRValue * frac_
Fractional contribution of first PDF to the final PDF.
Class for defining a PDF that is the DP-dependent sum of two other PDFs.
std::vector< Double_t > fractions_
Cached values of fractions.
virtual ~LauDPDepSumPdf()
Destructor.
LauAbsPdf * pdf1_
First PDF.
virtual void calcPDFHeight(const LauKinematics *kinematics)
Calculate the PDF height.
const std::vector< Double_t > fracCoeffs_
Polynomial used to scale fraction.
Double_t fracVal_
Fractional contribution of first PDF to the final PDF.
virtual Bool_t isDPDependent() const
Copy constructor.
DPAxis dpAxis_
The DP axis we depend on.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:33
File containing declaration of LauAbsPdf class.
Class that implements the efficiency description across the signal Dalitz plot.
Definition: LauEffModel.hh:37
Class for defining the abstract interface for PDF classes.
Definition: LauAbsPdf.hh:41
Class for calculating 3-body kinematic quantities.
LauDaughters * daughters_
Daughter particles.
LauEffModel * dpDependence_
DP dependence.
Pure abstract base class for defining a parameter containing an R value.
Definition: LauAbsRValue.hh:29
Class to store the input fit variables.
std::vector< Double_t > LauAbscissas
The type used for containing multiple abscissa values.
Definition: LauAbsPdf.hh:45