laura is hosted by Hepforge, IPPP Durham
Laura++  v1r0
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 
55  LauDPDepSumPdf(LauAbsPdf* pdf1, LauAbsPdf* pdf2,
56  const LauDaughters* daughters,
57  const TH2* dpHisto, Bool_t upperHalf = kFALSE);
58 
60 
68  LauDPDepSumPdf(LauAbsPdf* pdf1, LauAbsPdf* pdf2,
69  LauParameter* frac,
70  const LauDaughters* daughters,
71  const std::vector<Double_t>& fracCoeffs,
72  DPAxis dpAxis);
73 
75  virtual ~LauDPDepSumPdf();
76 
78  LauDPDepSumPdf(const LauDPDepSumPdf& other);
79 
81 
84  virtual Bool_t isDPDependent() const {return kTRUE;}
85 
87 
90  virtual void cacheInfo(const LauFitDataTree& inputData);
91 
93 
96  virtual void calcLikelihoodInfo(const LauAbscissas& abscissas);
97 
99 
102  virtual void calcLikelihoodInfo(UInt_t iEvt);
103 
105  virtual void checkPositiveness();
106 
108  virtual void calcNorm();
109 
111 
114  virtual void calcPDFHeight( const LauKinematics* kinematics );
115 
116  protected:
118 
121  void scaleFrac( Double_t dpPos );
122 
123  private:
126 
131 
135  Double_t fracVal_;
138 
140  const std::vector<Double_t> fracCoeffs_;
141 
144 
146  std::vector<Double_t> fractions_;
147 
148  ClassDef(LauDPDepSumPdf,0) // Define the sum PDF
149 };
150 
151 #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.
virtual void checkPositiveness()
Check that PDF is positive.
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.
LauParameter * 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.
LauDPDepSumPdf(LauAbsPdf *pdf1, LauAbsPdf *pdf2, const LauDaughters *daughters, const TH2 *dpHisto, Bool_t upperHalf=kFALSE)
Constructor - fraction determined by 2D histogram.
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
Specifies whether or not the PDF is DP dependent.
DPAxis dpAxis_
The DP axis we depend on.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:31
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:40
Class for calculating 3-body kinematic quantities.
LauDaughters * daughters_
Daughter particles.
LauEffModel * dpDependence_
DP dependence.
Class to store the input fit variables.
std::vector< Double_t > LauAbscissas
The type used for containing multiple abscissa values.
Definition: LauAbsPdf.hh:44