laura is hosted by Hepforge, IPPP Durham
Laura++  v1r2
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 
62  void setEffHisto(const TH2* effHisto,
63  Bool_t useInterpolation = kTRUE, Bool_t fluctuateBins = kFALSE,
64  Double_t avEff = -1.0, Double_t absError = -1.0,
65  Bool_t useUpperHalfOnly = kFALSE, Bool_t squareDP = kFALSE);
66 
68 
78  void setEffSpline(const TH2* effHisto,
79  Bool_t fluctuateBins = kFALSE,
80  Double_t avEff = -1.0, Double_t absError = -1.0,
81  Bool_t useUpperHalfOnly = kFALSE, Bool_t squareDP = kFALSE);
82 
84 
90  Double_t calcEfficiency( const LauKinematics* kinematics ) const;
91 
93 
97  Bool_t passVeto( const LauKinematics* kinematics ) const;
98 
100  Bool_t fluctuateEffHisto() const {return fluctuateEffHisto_;}
101 
102  private:
104  LauEffModel( const LauEffModel& rhs );
105 
107 
111  Double_t getEffHistValue(Double_t xVal, Double_t yVal) const;
112 
115 
118 
121 
123  Bool_t squareDP_;
126 
128  mutable Bool_t lowBinWarningIssued_;
129 
131  mutable Bool_t highBinWarningIssued_;
132 
133  ClassDef(LauEffModel, 0) // Implement the signal efficiency across the DP
134 
135 };
136 
137 #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:114
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
Lau2DAbsDP * effHisto_
The efficiency histogram object.
Definition: LauEffModel.hh:120
Bool_t fluctuateEffHisto() const
Determine whether the efficiency histogram has had its bins fluctuated within their errors...
Definition: LauEffModel.hh:100
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:131
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:117
Bool_t lowBinWarningIssued_
Flag to track whether a warning has been issued for bin values less than zero.
Definition: LauEffModel.hh:128
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:123
Class for calculating 3-body kinematic quantities.
Bool_t fluctuateEffHisto_
Fluctuate histogram within the error.
Definition: LauEffModel.hh:125
Class for defining vetoes within the Dalitz plot.
Definition: LauVetoes.hh:33
virtual ~LauEffModel()
Destructor.
Definition: LauEffModel.cc:56