laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauSumPdf.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2006 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 
36 #ifndef LAU_SUM_PDF
37 #define LAU_SUM_PDF
38 
39 #include "LauAbsPdf.hh"
40 
41 #include "Rtypes.h"
42 
43 class LauParameter;
44 
45 class LauSumPdf : public LauAbsPdf {
46 
47  public:
49 
54  LauSumPdf( LauAbsPdf* pdf1, LauAbsPdf* pdf2, LauParameter* frac1 );
55 
57  virtual ~LauSumPdf();
58 
60 
63  UInt_t nInputVars() const { return pdf1_->nInputVars(); }
64 
66 
69  virtual Bool_t isDPDependent() const
70  {
71  return ( pdf1_->isDPDependent() || pdf2_->isDPDependent() );
72  }
73 
75 
78  virtual void cacheInfo( const LauFitDataTree& inputData );
79 
81 
84  virtual void calcLikelihoodInfo( const LauAbscissas& abscissas );
85 
87 
90  virtual void calcLikelihoodInfo( UInt_t iEvt );
91 
93  virtual void calcNorm();
94 
96 
99  virtual void calcPDFHeight( const LauKinematics* kinematics );
100 
101  protected:
102 
103  private:
105  LauSumPdf( const LauSumPdf& rhs );
106 
108  LauSumPdf& operator=( const LauSumPdf& rhs );
109 
112 
115 
118 
119  ClassDef( LauSumPdf, 0 ) // Define the sum PDF
120 };
121 
122 #endif
File containing declaration of LauAbsPdf class.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
virtual void calcNorm()
Calculate the normalisation.
Definition: LauSumPdf.cc:146
LauSumPdf(LauAbsPdf *pdf1, LauAbsPdf *pdf2, LauParameter *frac1)
Constructor.
Definition: LauSumPdf.cc:40
virtual void calcPDFHeight(const LauKinematics *kinematics)
Calculate the PDF height.
Definition: LauSumPdf.cc:152
LauSumPdf & operator=(const LauSumPdf &rhs)
Copy assignment operator (not implemented)
virtual Bool_t isDPDependent() const
Specifies whether or not the PDF is DP dependent.
Definition: LauAbsPdf.hh:129
std::vector< Double_t > LauAbscissas
The type used for containing multiple abscissa values.
Definition: LauAbsPdf.hh:58
virtual ~LauSumPdf()
Destructor.
Definition: LauSumPdf.cc:120
Class to store the input fit variables.
UInt_t nInputVars() const
Returns the number of input variables.
Definition: LauSumPdf.hh:63
virtual Bool_t isDPDependent() const
Boolean for the DP dependence of PDFs in the sum.
Definition: LauSumPdf.hh:69
virtual void cacheInfo(const LauFitDataTree &inputData)
Cache information from data.
Definition: LauSumPdf.cc:190
virtual UInt_t nInputVars() const
Retrieve the number of abscissas.
Definition: LauAbsPdf.hh:121
Class for defining the abstract interface for PDF classes.
Definition: LauAbsPdf.hh:54
LauAbsPdf * pdf1_
First PDF.
Definition: LauSumPdf.hh:111
virtual void calcLikelihoodInfo(const LauAbscissas &abscissas)
Calculate the likelihood (and intermediate info) for a given abscissa.
Definition: LauSumPdf.cc:125
Pure abstract base class for defining a parameter containing an R value.
Definition: LauAbsRValue.hh:45
LauSumPdf(const LauSumPdf &rhs)
Copy constructor (not implemented)
Class for calculating 3-body kinematic quantities.
LauAbsPdf * pdf2_
Second PDF.
Definition: LauSumPdf.hh:114
LauAbsRValue * frac_
Fractional contribution of first PDF to the final PDF.
Definition: LauSumPdf.hh:117
Class for defining a PDF that is the sum of two other PDFs.
Definition: LauSumPdf.hh:45