laura is hosted by Hepforge, IPPP Durham
Laura++  v3r1
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauWeightedSumEffModel.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 
25 #ifndef LAUWEIGHTEDSUMEFFMODEL
26 #define LAUWEIGHTEDSUMEFFMODEL
27 
28 #include "LauAbsEffModel.hh"
29 
30 class LauDaughters;
31 class LauKinematics;
32 
33 
35 
36  public:
38 
41  LauWeightedSumEffModel(const LauDaughters* daughters);
42 
45 
47 
53  void addEffModel(const LauAbsEffModel* effModel, Double_t coeff);
54 
56 
62  Double_t calcEfficiency( const LauKinematics* kinematics ) const;
63 
65 
69  Bool_t passVeto( const LauKinematics* kinematics ) const;
70 
72  Bool_t fluctuateEffHisto() const {return fluctuateEffHisto_;}
73 
75  /*
76  \return the LauDaughters object associated with the DP
77  */
78  const LauDaughters* getDaughters() const {return daughters_;}
79 
81  /*
82  \return kTRUE if the square DP is being used, kFALSE otherwise
83  */
84  Bool_t usingSquareDP() const {return squareDP_;}
85 
86  private:
89 
92 
95 
97  std::vector<const LauAbsEffModel*> effModel_;
98 
100  std::vector<Double_t> coeff_;
101 
103  Bool_t squareDP_;
106 
108  mutable Bool_t lowBinWarningIssued_;
109 
111  mutable Bool_t highBinWarningIssued_;
112 
113  ClassDef(LauWeightedSumEffModel, 0) // Implement the signal efficiency across the DP
114 
115 };
116 
117 #endif
Bool_t highBinWarningIssued_
Flag to track whether a warning has been issued for bin values greater than one.
LauWeightedSumEffModel & operator=(const LauWeightedSumEffModel &rhs)
Copy assignment operator - not implemented.
File containing declaration of LauAbsEffModel class.
Bool_t lowBinWarningIssued_
Flag to track whether a warning has been issued for bin values less than zero.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
const LauDaughters * daughters_
The daughters object.
void addEffModel(const LauAbsEffModel *effModel, Double_t coeff)
Add an efficiency variation across the phase space using a predetermined LauAbsEffModel object...
Pure abstract base class for defining the efficiency description across the signal Dalitz plot...
Bool_t fluctuateEffHisto() const
Determine whether the efficiency histogram has had its bins fluctuated within their errors...
Class that implements the efficiency description across the signal Dalitz plot.
Double_t calcEfficiency(const LauKinematics *kinematics) const
Determine the efficiency for a given point in the Dalitz plot.
std::vector< Double_t > coeff_
The efficiency model objects.
Bool_t squareDP_
Use of the square Dalitz plot.
Bool_t usingSquareDP() const
Determine whether the efficiency histogram is in the square DP.
virtual ~LauWeightedSumEffModel()
Destructor.
const LauDaughters * getDaughters() const
Return the daughters object.
Class for calculating 3-body kinematic quantities.
LauWeightedSumEffModel(const LauDaughters *daughters)
Constructor.
Bool_t passVeto(const LauKinematics *kinematics) const
Determine whether the given DP position is outside the vetoes.
Bool_t fluctuateEffHisto_
Fluctuate histogram within the error.
std::vector< const LauAbsEffModel * > effModel_
The efficiency model objects.