laura is hosted by Hepforge, IPPP Durham
Laura++  v3r3
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauDPDepGaussPdf.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_DPDEP_GAUSS_PDF
22 #define LAU_DPDEP_GAUSS_PDF
23 
24 #include <vector>
25 
26 #include "TString.h"
27 
28 #include "LauAbsPdf.hh"
29 
30 class LauDaughters;
31 class LauKinematics;
32 class LauParameter;
33 
34 
35 class LauDPDepGaussPdf : public LauAbsPdf {
36 
37  public:
39  enum DPAxis {
40  M12,
41  M13,
42  M23,
44  MMIN,
46  };
47 
49 
59  LauDPDepGaussPdf(const TString& theVarName, const std::vector<LauAbsRValue*>& params,
60  Double_t minAbscissa, Double_t maxAbscissa,
61  const LauDaughters* daughters,
62  const std::vector<Double_t>& meanCoeffs,
63  const std::vector<Double_t>& sigmaCoeffs,
64  DPAxis dpAxis);
65 
67  virtual ~LauDPDepGaussPdf();
68 
70 
73  virtual Bool_t isDPDependent() const {return kTRUE;}
74 
76 
79  virtual void calcLikelihoodInfo(const LauAbscissas& abscissas);
80 
82 
84  virtual void calcNorm();
85 
87 
90  virtual void calcPDFHeight( const LauKinematics* kinematics );
91 
92  protected:
94 
97  void scalePars( Double_t dpPos );
98 
99  private:
101  LauDPDepGaussPdf(const LauDPDepGaussPdf& other);
102 
105 
108 
113 
115  Double_t meanVal_;
117  Double_t sigmaVal_;
118 
120  const std::vector<Double_t> meanCoeffs_;
122  const std::vector<Double_t> sigmaCoeffs_;
123 
126 
127  ClassDef(LauDPDepGaussPdf,0) // Define the Gaussian PDF
128 };
129 
130 #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:33
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:35
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:41
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:29
std::vector< Double_t > LauAbscissas
The type used for containing multiple abscissa values.
Definition: LauAbsPdf.hh:45