laura is hosted by Hepforge, IPPP Durham
Laura++  v2r1
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 Lau2DAbsDP;
35 
36 
37 class LauEffModel {
38 
39  public:
41 
45  LauEffModel(const LauDaughters* daughters, const LauVetoes* vetoes);
46 
48  virtual ~LauEffModel();
49 
51 
64  void setEffHisto(const TH2* effHisto,
65  Bool_t useInterpolation = kTRUE, Bool_t fluctuateBins = kFALSE,
66  Double_t avEff = -1.0, Double_t absError = -1.0,
67  Bool_t useUpperHalfOnly = kFALSE, Bool_t squareDP = kFALSE);
68 
70 
82  void setEffSpline(const TH2* effHisto,
83  Bool_t fluctuateBins = kFALSE,
84  Double_t avEff = -1.0, Double_t absError = -1.0,
85  Bool_t useUpperHalfOnly = kFALSE, Bool_t squareDP = kFALSE);
86 
88 
94  Double_t calcEfficiency( const LauKinematics* kinematics ) const;
95 
97 
101  Bool_t passVeto( const LauKinematics* kinematics ) const;
102 
104  Bool_t fluctuateEffHisto() const {return fluctuateEffHisto_;}
105 
106  private:
108  LauEffModel( const LauEffModel& rhs );
109 
111 
115  Double_t getEffHistValue(Double_t xVal, Double_t yVal) const;
116 
119 
122 
125 
127  Bool_t squareDP_;
130 
132  mutable Bool_t lowBinWarningIssued_;
133 
135  mutable Bool_t highBinWarningIssued_;
136 
137  ClassDef(LauEffModel, 0) // Implement the signal efficiency across the DP
138 
139 };
140 
141 #endif
LauEffModel(const LauDaughters *daughters, const LauVetoes *vetoes)
Constructor.
Definition: LauEffModel.cc:32
Pure abstract base class for defining a variation across a 2D DP.
Definition: Lau2DAbsDP.hh:27
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:63
const LauDaughters * daughters_
The daughters object.
Definition: LauEffModel.hh:118
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
Lau2DAbsDP * effHisto_
The efficiency histogram object.
Definition: LauEffModel.hh:124
Bool_t fluctuateEffHisto() const
Determine whether the efficiency histogram has had its bins fluctuated within their errors...
Definition: LauEffModel.hh:104
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:118
Bool_t passVeto(const LauKinematics *kinematics) const
Determine whether the given DP position is outside the vetoes.
Definition: LauEffModel.cc:183
Double_t calcEfficiency(const LauKinematics *kinematics) const
Determine the efficiency for a given point in the Dalitz plot.
Definition: LauEffModel.cc:130
Bool_t highBinWarningIssued_
Flag to track whether a warning has been issued for bin values greater than one.
Definition: LauEffModel.hh:135
void setEffSpline(const TH2 *effHisto, 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 spline based on a predetermined 2D histog...
Definition: LauEffModel.cc:91
const LauVetoes * vetoes_
The vetoes object.
Definition: LauEffModel.hh:121
Bool_t lowBinWarningIssued_
Flag to track whether a warning has been issued for bin values less than zero.
Definition: LauEffModel.hh:132
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:127
Class for calculating 3-body kinematic quantities.
Bool_t fluctuateEffHisto_
Fluctuate histogram within the error.
Definition: LauEffModel.hh:129
Class for defining vetoes within the Dalitz plot.
Definition: LauVetoes.hh:33
virtual ~LauEffModel()
Destructor.
Definition: LauEffModel.cc:56