laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauDPDepMapPdf.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2013 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 
38 #ifndef LAU_DPDEPMAP_PDF
39 #define LAU_DPDEPMAP_PDF
40 
41 #include <vector>
42 
43 #include "Rtypes.h"
44 
45 #include "LauAbsPdf.hh"
46 
47 class LauDaughters;
48 class Lau2DAbsDP;
49 class LauParameter;
50 class TH2;
51 class TH1;
52 
53 
54 class LauDPDepMapPdf : public LauAbsPdf {
55 
56  public:
58  enum DPAxis {
59  M12,
60  M13,
61  M23,
63  MMIN,
65  };
66 
68 
74  LauDPDepMapPdf( const std::vector<LauAbsPdf*> &pdfs,
75  const LauDaughters* daughters,
76  const TH2* dpHisto, Bool_t upperHalf = kFALSE);
77 
79 
85  LauDPDepMapPdf( const std::vector<LauAbsPdf*> &pdfs,
86  const LauDaughters* daughters,
87  const TH1* dpAxisHisto,
88  DPAxis dpAxis);
89 
91  virtual ~LauDPDepMapPdf();
92 
94 
97  virtual Bool_t isDPDependent() const {return kTRUE;}
98 
100 
103  virtual void cacheInfo(const LauFitDataTree& inputData);
104 
106 
109  virtual void calcLikelihoodInfo(const LauAbscissas& abscissas);
110 
112 
115  virtual void calcLikelihoodInfo(UInt_t iEvt);
116 
118  virtual void calcNorm();
119 
121 
124  virtual void calcPDFHeight( const LauKinematics* kinematics );
125 
126  protected:
128 
132  UInt_t determineDPRegion( Double_t m13Sq, Double_t m23Sq ) const;
133 
134  private:
136  LauDPDepMapPdf(const LauDPDepMapPdf& other);
137 
139  LauDPDepMapPdf& operator=(const LauDPDepMapPdf& other);
140 
143 
145  std::vector<LauAbsPdf*> pdfs_;
146 
151 
154 
156  std::vector<UInt_t> indices_;
157 
158  ClassDef(LauDPDepMapPdf,0) // Define the sum PDF
159 };
160 
161 #endif
LauDaughters * daughters_
Daughter particles.
Pure abstract base class for defining a variation across a 2D DP.
Definition: Lau2DAbsDP.hh:41
Lau2DAbsDP * dpDependence_
2D histogram - DP
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
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
Specifies whether or not the PDF is DP dependent.
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.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
LauDPDepMapPdf & operator=(const LauDPDepMapPdf &other)
Copy assignment operator - not implemented.
File containing declaration of LauAbsPdf class.
Class for defining the abstract interface for PDF classes.
Definition: LauAbsPdf.hh:55
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:59
DPAxis
Define possibilties for the DP axes.