laura is hosted by Hepforge, IPPP Durham
Laura++  v3r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauSumPdf.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2006 - 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 
22 #ifndef LAU_SUM_PDF
23 #define LAU_SUM_PDF
24 
25 #include "Rtypes.h"
26 
27 #include "LauAbsPdf.hh"
28 
29 class LauParameter;
30 
31 
32 class LauSumPdf : public LauAbsPdf {
33 
34  public:
36 
41  LauSumPdf(LauAbsPdf* pdf1, LauAbsPdf* pdf2, LauParameter* frac1);
42 
44  virtual ~LauSumPdf();
45 
47 
50  UInt_t nInputVars() const {return pdf1_->nInputVars();}
51 
53 
56  virtual Bool_t isDPDependent() const {return (pdf1_->isDPDependent() || pdf2_->isDPDependent());}
57 
59 
62  virtual void cacheInfo(const LauFitDataTree& inputData);
63 
65 
68  virtual void calcLikelihoodInfo(const LauAbscissas& abscissas);
69 
71 
74  virtual void calcLikelihoodInfo(UInt_t iEvt);
75 
77  virtual void calcNorm();
78 
80 
83  virtual void calcPDFHeight( const LauKinematics* kinematics );
84 
85  protected:
86 
87  private:
89  LauSumPdf(const LauSumPdf& rhs);
90 
92  LauSumPdf& operator=(const LauSumPdf& rhs);
93 
96 
99 
102 
103  ClassDef(LauSumPdf,0) // Define the sum PDF
104 };
105 
106 #endif
UInt_t nInputVars() const
Returns the number of input variables.
Definition: LauSumPdf.hh:50
virtual ~LauSumPdf()
Destructor.
Definition: LauSumPdf.cc:98
LauAbsPdf * pdf1_
First PDF.
Definition: LauSumPdf.hh:95
virtual Bool_t isDPDependent() const
Specifies whether or not the PDF is DP dependent.
Definition: LauAbsPdf.hh:111
virtual void calcNorm()
Calculate the normalisation.
Definition: LauSumPdf.cc:124
Class for defining the fit parameter objects.
Definition: LauParameter.hh:34
File containing declaration of LauAbsPdf class.
LauSumPdf & operator=(const LauSumPdf &rhs)
Copy assignment operator (not implemented)
Class for defining a PDF that is the sum of two other PDFs.
Definition: LauSumPdf.hh:32
virtual void calcLikelihoodInfo(const LauAbscissas &abscissas)
Calculate the likelihood (and intermediate info) for a given abscissa.
Definition: LauSumPdf.cc:103
LauAbsPdf * pdf2_
Second PDF.
Definition: LauSumPdf.hh:98
LauSumPdf(LauAbsPdf *pdf1, LauAbsPdf *pdf2, LauParameter *frac1)
Constructor.
Definition: LauSumPdf.cc:28
LauAbsRValue * frac_
Fractional contribution of first PDF to the final PDF.
Definition: LauSumPdf.hh:101
Class for defining the abstract interface for PDF classes.
Definition: LauAbsPdf.hh:41
virtual void calcPDFHeight(const LauKinematics *kinematics)
Calculate the PDF height.
Definition: LauSumPdf.cc:130
Class for calculating 3-body kinematic quantities.
virtual UInt_t nInputVars() const
Retrieve the number of abscissas.
Definition: LauAbsPdf.hh:104
virtual Bool_t isDPDependent() const
Boolean for the DP dependence of PDFs in the sum.
Definition: LauSumPdf.hh:56
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
virtual void cacheInfo(const LauFitDataTree &inputData)
Cache information from data.
Definition: LauSumPdf.cc:168