laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauAbsBkgndDPModel.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2004 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_ABS_BKGND_DP_MODEL
36 #define LAU_ABS_BKGND_DP_MODEL
37 
38 #include "Rtypes.h"
39 
40 class LauDaughters;
41 class LauKinematics;
42 class LauFitDataTree;
43 class LauVetoes;
44 
46 
47  public:
49  virtual ~LauAbsBkgndDPModel() {}
50 
52  virtual void initialise() = 0;
53 
55 
58  virtual Bool_t generate() = 0;
59 
61 
65  virtual Double_t getLikelihood(UInt_t iEvt) = 0;
66 
68 
72  virtual Double_t getUnNormValue(UInt_t iEvt) = 0;
73 
75 
78  virtual Double_t getPdfNorm() const = 0;
79 
81 
84  virtual void fillDataTree(const LauFitDataTree& fitDataTree) = 0;
85 
87 
90  const LauDaughters* getDaughters() const {return daughters_;}
91 
93 
97 
99 
102  const LauKinematics* getKinematics() const {return kinematics_;}
103 
105 
109 
111 
114  const LauVetoes* getVetoes() const {return vetoes_;}
115 
117 
121 
122  protected:
124 
128  LauAbsBkgndDPModel(LauDaughters* daughters, LauVetoes* vetoes);
129 
131 
134  virtual void setDataEventNo(UInt_t iEvt) = 0;
135 
136  private:
139 
142 
145 
148 
151 
152  ClassDef(LauAbsBkgndDPModel,0) // Abstract DP background model
153 };
154 
155 #endif
The abstract interface for a background Dalitz plot model.
virtual Double_t getLikelihood(UInt_t iEvt)=0
Get likelihood for a given event.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
const LauKinematics * getKinematics() const
Get the Dalitz plot kinematics.
LauVetoes * vetoes_
Vetoes within the Dalitz plot.
const LauDaughters * getDaughters() const
Get the daughter particles.
LauAbsBkgndDPModel(LauDaughters *daughters, LauVetoes *vetoes)
Constructor.
LauKinematics * getKinematics()
Get the Dalitz plot kinematics.
virtual ~LauAbsBkgndDPModel()
Destructor.
virtual void initialise()=0
Initialise the model.
const LauVetoes * getVetoes() const
Get vetoes in the Dalitz plot.
virtual void setDataEventNo(UInt_t iEvt)=0
Set data event number.
LauKinematics * kinematics_
Dalitz plot kinematics.
virtual Double_t getPdfNorm() const =0
Get PDF normalisation constant.
LauDaughters * daughters_
The daughter particles.
LauDaughters * getDaughters()
Get the daughter particles.
virtual void fillDataTree(const LauFitDataTree &fitDataTree)=0
Cache the input data and (if appropriate) the per-event likelihood values.
LauAbsBkgndDPModel & operator=(const LauAbsBkgndDPModel &rhs)
Copy assignment operator (not implemented)
virtual Double_t getUnNormValue(UInt_t iEvt)=0
Get unnormalised likelihood for a given event.
LauVetoes * getVetoes()
Get vetoes in the Dalitz plot.
Class for calculating 3-body kinematic quantities.
Class for defining vetoes within the Dalitz plot.
Definition: LauVetoes.hh:50
Class to store the input fit variables.
virtual Bool_t generate()=0
Generate a toy MC event from the model.