laura is hosted by Hepforge, IPPP Durham
Laura++  v1r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauEffModel.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 
24 #ifndef LAUEFFMODEL
25 #define LAUEFFMODEL
26 
27 #include "Rtypes.h"
28 
29 class TH2;
30 
31 class LauDaughters;
32 class LauKinematics;
33 class LauVetoes;
34 class Lau2DHistDP;
35 
36 
37 class LauEffModel {
38 
39  public:
41 
45  LauEffModel(const LauDaughters* daughters, const LauVetoes* vetoes);
46 
48  virtual ~LauEffModel();
49 
51 
54  LauEffModel( const LauEffModel& rhs );
55 
57 
68  void setEffHisto(const TH2* effHisto,
69  Bool_t useInterpolation = kTRUE, Bool_t fluctuateBins = kFALSE,
70  Double_t avEff = -1.0, Double_t absError = -1.0,
71  Bool_t useUpperHalfOnly = kFALSE, Bool_t squareDP = kFALSE);
72 
74 
80  Double_t calcEfficiency( const LauKinematics* kinematics ) const;
81 
83 
87  Bool_t passVeto( const LauKinematics* kinematics ) const;
88 
90  Bool_t fluctuateEffHisto() const {return fluctuateEffHisto_;}
91 
92  private:
94 
98  Double_t getEffHistValue(Double_t xVal, Double_t yVal) const;
99 
102 
105 
108 
110  Bool_t squareDP_;
113 
114  ClassDef(LauEffModel, 0) // Implement the signal efficiency across the DP
115 
116 };
117 
118 #endif
LauEffModel(const LauDaughters *daughters, const LauVetoes *vetoes)
Constructor.
Definition: LauEffModel.cc:31
void setEffHisto(const TH2 *effHisto, Bool_t useInterpolation=kTRUE, Bool_t fluctuateBins=kFALSE, Double_t avEff=-1.0, Double_t absError=-1.0, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
Set the efficiency variation across the phase space using a predetermined 2D histogram.
Definition: LauEffModel.cc:60
const LauDaughters * daughters_
The daughters object.
Definition: LauEffModel.hh:101
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
Bool_t fluctuateEffHisto() const
Determine whether the efficiency histogram has had its bins fluctuated within their errors...
Definition: LauEffModel.hh:90
Double_t getEffHistValue(Double_t xVal, Double_t yVal) const
Get the efficiency from a two-dimensional histogram by interpolating in x and y.
Definition: LauEffModel.cc:83
Bool_t passVeto(const LauKinematics *kinematics) const
Determine whether the given DP position is outside the vetoes.
Definition: LauEffModel.cc:134
Double_t calcEfficiency(const LauKinematics *kinematics) const
Determine the efficiency for a given point in the Dalitz plot.
Definition: LauEffModel.cc:95
const LauVetoes * vetoes_
The vetoes object.
Definition: LauEffModel.hh:104
Class that implements the efficiency description across the signal Dalitz plot.
Definition: LauEffModel.hh:37
Bool_t squareDP_
Use of the square Dalitz plot.
Definition: LauEffModel.hh:110
Lau2DHistDP * effHisto_
The efficiency histogram object.
Definition: LauEffModel.hh:107
Class for defining a 2D DP histogram.
Definition: Lau2DHistDP.hh:34
Class for calculating 3-body kinematic quantities.
Bool_t fluctuateEffHisto_
Fluctuate histogram within the error.
Definition: LauEffModel.hh:112
Class for defining vetoes within the Dalitz plot.
Definition: LauVetoes.hh:33
virtual ~LauEffModel()
Destructor.
Definition: LauEffModel.cc:53