laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauWeightedSumEffModel.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2014 University of Warwick
4 
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8 
9  http://www.apache.org/licenses/LICENSE-2.0
10 
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16 */
17 
18 /*
19 Laura++ package authors:
20 John Back
21 Paul Harrison
22 Thomas Latham
23 */
24 
39 #ifndef LAUWEIGHTEDSUMEFFMODEL
40 #define LAUWEIGHTEDSUMEFFMODEL
41 
42 #include "LauAbsEffModel.hh"
43 
44 class LauDaughters;
45 class LauKinematics;
46 
48 
49  public:
51 
54  LauWeightedSumEffModel( const LauDaughters* daughters );
55 
58 
60 
66  void addEffModel( const LauAbsEffModel* effModel, Double_t coeff );
67 
69 
75  Double_t calcEfficiency( const LauKinematics* kinematics ) const;
76 
78 
82  Bool_t passVeto( const LauKinematics* kinematics ) const;
83 
85  Bool_t fluctuateEffHisto() const { return fluctuateEffHisto_; }
86 
88  /*
89  \return the LauDaughters object associated with the DP
90  */
91  const LauDaughters* getDaughters() const { return daughters_; }
92 
93  private:
96 
99 
102 
104  std::vector<const LauAbsEffModel*> effModel_;
105 
107  std::vector<Double_t> coeff_;
108 
111 
113  mutable Bool_t lowBinWarningIssued_;
114 
116  mutable Bool_t highBinWarningIssued_;
117 
118  ClassDef( LauWeightedSumEffModel, 0 ) // Implement the signal efficiency across the DP
119 };
120 
121 #endif
File containing declaration of LauAbsEffModel class.
std::vector< Double_t > coeff_
The efficiency model objects.
const LauDaughters * getDaughters() const
Return the daughters object.
virtual ~LauWeightedSumEffModel()
Destructor.
LauWeightedSumEffModel(const LauDaughters *daughters)
Constructor.
Bool_t highBinWarningIssued_
Flag to track whether a warning has been issued for bin values greater than one.
Class that implements the efficiency description across the signal Dalitz plot.
Bool_t fluctuateEffHisto_
Fluctuate histogram within the error.
std::vector< const LauAbsEffModel * > effModel_
The efficiency model objects.
Bool_t lowBinWarningIssued_
Flag to track whether a warning has been issued for bin values less than zero.
LauWeightedSumEffModel & operator=(const LauWeightedSumEffModel &rhs)
Copy assignment operator - not implemented.
Double_t calcEfficiency(const LauKinematics *kinematics) const
Determine the efficiency for a given point in the Dalitz plot.
void addEffModel(const LauAbsEffModel *effModel, Double_t coeff)
Add an efficiency variation across the phase space using a predetermined LauAbsEffModel object.
Bool_t passVeto(const LauKinematics *kinematics) const
Determine whether the given DP position is outside the vetoes.
LauWeightedSumEffModel(const LauWeightedSumEffModel &rhs)
Copy constructor - not implemented.
const LauDaughters * daughters_
The daughters object.
Class for calculating 3-body kinematic quantities.
Pure abstract base class for defining the efficiency description across the signal Dalitz plot.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:47
Bool_t fluctuateEffHisto() const
Determine whether the efficiency histogram has had its bins fluctuated within their errors.