laura is hosted by Hepforge, IPPP Durham
Laura++  v1r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauAbsBkgndDPModel.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2004 - 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_ABS_BKGND_DP_MODEL
22 #define LAU_ABS_BKGND_DP_MODEL
23 
24 #include "Rtypes.h"
25 
26 class LauDaughters;
27 class LauKinematics;
28 class LauFitDataTree;
29 class LauVetoes;
30 
32 
33  public:
35  virtual ~LauAbsBkgndDPModel() {}
36 
38  virtual void initialise() = 0;
39 
41 
44  virtual Bool_t generate() = 0;
45 
47 
51  virtual Double_t getLikelihood(UInt_t iEvt) = 0;
52 
54 
58  virtual Double_t getUnNormValue(UInt_t iEvt) = 0;
59 
61 
64  virtual Double_t getPdfNorm() const = 0;
65 
67 
70  virtual void fillDataTree(const LauFitDataTree& fitDataTree) = 0;
71 
73 
76  const LauDaughters* getDaughters() const {return daughters_;}
77 
79 
83 
85 
88  const LauKinematics* getKinematics() const {return kinematics_;}
89 
91 
95 
97 
100  const LauVetoes* getVetoes() const {return vetoes_;}
101 
103 
107 
108  protected:
110 
114  LauAbsBkgndDPModel(LauDaughters* daughters, LauVetoes* vetoes);
115 
117 
120  virtual void setDataEventNo(UInt_t iEvt) = 0;
121 
122  private:
125 
128 
131 
132  ClassDef(LauAbsBkgndDPModel,0) // Abstract DP background model
133 };
134 
135 #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:33
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.
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:33
Class to store the input fit variables.
virtual Bool_t generate()=0
Generate a toy MC event from the model.