laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauDPDepGaussPdf.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2009 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 
35 #ifndef LAU_DPDEP_GAUSS_PDF
36 #define LAU_DPDEP_GAUSS_PDF
37 
38 #include <vector>
39 
40 #include "TString.h"
41 
42 #include "LauAbsPdf.hh"
43 
44 class LauDaughters;
45 class LauKinematics;
46 class LauParameter;
47 
48 
49 class LauDPDepGaussPdf : public LauAbsPdf {
50 
51  public:
53  enum DPAxis {
54  M12,
55  M13,
56  M23,
58  MMIN,
60  };
61 
63 
73  LauDPDepGaussPdf(const TString& theVarName, const std::vector<LauAbsRValue*>& params,
74  Double_t minAbscissa, Double_t maxAbscissa,
75  const LauDaughters* daughters,
76  const std::vector<Double_t>& meanCoeffs,
77  const std::vector<Double_t>& sigmaCoeffs,
78  DPAxis dpAxis);
79 
81  virtual ~LauDPDepGaussPdf();
82 
84 
87  virtual Bool_t isDPDependent() const {return kTRUE;}
88 
90 
93  virtual void calcLikelihoodInfo(const LauAbscissas& abscissas);
94 
96 
98  virtual void calcNorm();
99 
101 
104  virtual void calcPDFHeight( const LauKinematics* kinematics );
105 
106  protected:
108 
111  void scalePars( Double_t dpPos );
112 
113  private:
115  LauDPDepGaussPdf(const LauDPDepGaussPdf& other);
116 
119 
122 
127 
129  Double_t meanVal_;
131  Double_t sigmaVal_;
132 
134  const std::vector<Double_t> meanCoeffs_;
136  const std::vector<Double_t> sigmaCoeffs_;
137 
140 
141  ClassDef(LauDPDepGaussPdf,0) // Define the Gaussian PDF
142 };
143 
144 #endif
Double_t sigmaVal_
Gaussian sigma.
LauDPDepGaussPdf & operator=(const LauDPDepGaussPdf &other)
Copy assignment operator (not implemented)
virtual ~LauDPDepGaussPdf()
Destructor.
virtual Bool_t isDPDependent() const
Specifies whether or not the PDF is DP dependent.
DPAxis dpAxis_
The DP axis we depend on.
DPAxis
Define possibilties for the DP axes.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
LauDPDepGaussPdf(const TString &theVarName, const std::vector< LauAbsRValue * > &params, Double_t minAbscissa, Double_t maxAbscissa, const LauDaughters *daughters, const std::vector< Double_t > &meanCoeffs, const std::vector< Double_t > &sigmaCoeffs, DPAxis dpAxis)
Constructor.
virtual void calcNorm()
Calculate the normalisation.
const std::vector< Double_t > sigmaCoeffs_
Coefficients of Gaussian sigma.
const std::vector< Double_t > meanCoeffs_
Coefficients of Gaussian mean.
LauAbsRValue * mean_
Gaussian mean.
Double_t meanVal_
Gaussian mean.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
virtual void calcPDFHeight(const LauKinematics *kinematics)
Calculate the PDF height.
File containing declaration of LauAbsPdf class.
virtual void calcLikelihoodInfo(const LauAbscissas &abscissas)
Calculate the likelihood (and intermediate info) for a given abscissa.
virtual void calcLikelihoodInfo(const LauAbscissas &abscissas)=0
Calculate the likelihood (and all associated information) given value(s) of the abscissa(s) ...
Class for defining the abstract interface for PDF classes.
Definition: LauAbsPdf.hh:55
Class for calculating 3-body kinematic quantities.
const LauKinematics * kinematics_
The current DP kinematics.
void scalePars(Double_t dpPos)
Scale parameters by their dependence on the DP position.
Class for defining a Gaussian PDF (DP dependent).
LauAbsRValue * sigma_
Gaussian sigma.
Pure abstract base class for defining a parameter containing an R value.
Definition: LauAbsRValue.hh:43
std::vector< Double_t > LauAbscissas
The type used for containing multiple abscissa values.
Definition: LauAbsPdf.hh:59