laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
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 
47 
49 
50  public:
52 
55  LauWeightedSumEffModel(const LauDaughters* daughters);
56 
59 
61 
67  void addEffModel(const LauAbsEffModel* effModel, Double_t coeff);
68 
70 
76  Double_t calcEfficiency( const LauKinematics* kinematics ) const;
77 
79 
83  Bool_t passVeto( const LauKinematics* kinematics ) const;
84 
86  Bool_t fluctuateEffHisto() const {return fluctuateEffHisto_;}
87 
89  /*
90  \return the LauDaughters object associated with the DP
91  */
92  const LauDaughters* getDaughters() const {return daughters_;}
93 
94  private:
97 
100 
103 
105  std::vector<const LauAbsEffModel*> effModel_;
106 
108  std::vector<Double_t> coeff_;
109 
112 
114  mutable Bool_t lowBinWarningIssued_;
115 
117  mutable Bool_t highBinWarningIssued_;
118 
119  ClassDef(LauWeightedSumEffModel, 0) // Implement the signal efficiency across the DP
120 
121 };
122 
123 #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:47
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.
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.