laura is hosted by Hepforge, IPPP Durham
Laura++  v2r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauDPDepMapPdf.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 
24 #ifndef LAU_DPDEPMAP_PDF
25 #define LAU_DPDEPMAP_PDF
26 
27 #include <vector>
28 
29 #include "Rtypes.h"
30 
31 #include "LauAbsPdf.hh"
32 
33 class LauDaughters;
34 class Lau2DAbsDP;
35 class LauParameter;
36 class TH2;
37 class TH1;
38 
39 
40 class LauDPDepMapPdf : public LauAbsPdf {
41 
42  public:
44  enum DPAxis {
45  M12,
46  M13,
47  M23,
49  MMIN,
51  };
52 
54 
60  LauDPDepMapPdf( const std::vector<LauAbsPdf*> &pdfs,
61  const LauDaughters* daughters,
62  const TH2* dpHisto, Bool_t upperHalf = kFALSE);
63 
65 
71  LauDPDepMapPdf( const std::vector<LauAbsPdf*> &pdfs,
72  const LauDaughters* daughters,
73  const TH1* dpAxisHisto,
74  DPAxis dpAxis);
75 
77  virtual ~LauDPDepMapPdf();
78 
80  //LauDPDepMapPdf(const LauDPDepMapPdf& other);
81 
83 
86  virtual Bool_t isDPDependent() const {return kTRUE;}
87 
89 
92  virtual void cacheInfo(const LauFitDataTree& inputData);
93 
95 
98  virtual void calcLikelihoodInfo(const LauAbscissas& abscissas);
99 
101 
104  virtual void calcLikelihoodInfo(UInt_t iEvt);
105 
107  virtual void checkPositiveness(); // Nothing to check here.
108 
110  virtual void calcNorm();
111 
113 
116  virtual void calcPDFHeight( const LauKinematics* kinematics );
117 
118  protected:
120 
124  UInt_t determineDPRegion( Double_t m13Sq, Double_t m23Sq ) const;
125 
126  private:
128  LauDPDepMapPdf(const LauDPDepMapPdf& other);
129 
132 
134  std::vector<LauAbsPdf*> pdfs_;
135 
140 
143 
145  std::vector<UInt_t> indices_;
146 
147  ClassDef(LauDPDepMapPdf,0) // Define the sum PDF
148 };
149 
150 #endif
LauDaughters * daughters_
Daughter particles.
Pure abstract base class for defining a variation across a 2D DP.
Definition: Lau2DAbsDP.hh:27
Lau2DAbsDP * dpDependence_
2D histogram - DP
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
UInt_t determineDPRegion(Double_t m13Sq, Double_t m23Sq) const
Determine the DP region.
virtual void calcPDFHeight(const LauKinematics *kinematics)
Calculate the PDF height.
TH1 * dpAxisDependence_
1D histogram - DP axis
virtual ~LauDPDepMapPdf()
Destructor.
virtual Bool_t isDPDependent() const
Copy constructor.
std::vector< LauAbsPdf * > pdfs_
The PDFs.
LauDPDepMapPdf(const std::vector< LauAbsPdf * > &pdfs, const LauDaughters *daughters, const TH2 *dpHisto, Bool_t upperHalf=kFALSE)
Constructor - map described by 2D histogram.
std::vector< UInt_t > indices_
Cached indices values.
virtual void cacheInfo(const LauFitDataTree &inputData)
Cache information from data.
virtual void checkPositiveness()
Check that PDF is positive.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:32
File containing declaration of LauAbsPdf class.
Class for defining the abstract interface for PDF classes.
Definition: LauAbsPdf.hh:40
Class for calculating 3-body kinematic quantities.
virtual void calcLikelihoodInfo(const LauAbscissas &abscissas)
Calculate the likelihood (and intermediate info) for a given abscissa.
virtual void calcNorm()
Calculate the normalisation.
Class to allow having different PDFs in different regions of the DP.
Class to store the input fit variables.
DPAxis dpAxis_
The DP axis we depend on.
std::vector< Double_t > LauAbscissas
The type used for containing multiple abscissa values.
Definition: LauAbsPdf.hh:44
DPAxis
Define possibilties for the DP axes.