laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauVetoes.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2004 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 
40 #ifndef LAU_VETOES
41 #define LAU_VETOES
42 
43 #include <vector>
44 
45 #include "Rtypes.h"
46 
47 class LauKinematics;
48 
49 
50 class LauVetoes {
51 
52  public:
54  LauVetoes();
55 
57  virtual ~LauVetoes();
58 
60 
63  LauVetoes(const LauVetoes& other);
64 
66 
70  LauVetoes& operator=(const LauVetoes& other);
71 
73 
78  void addMassVeto(const Int_t resPairAmpInt, const Double_t minMass, const Double_t maxMass);
79 
81 
86  void addMassSqVeto(const Int_t resPairAmpInt, const Double_t minMassSq, const Double_t maxMassSq);
87 
89 
93  Bool_t passVeto(const LauKinematics* kinematics) const;
94 
95  protected:
97 
105  Bool_t passVeto(const Double_t m12Sq, const Double_t m23Sq, const Double_t m13Sq, const Bool_t symmetricDP, const Bool_t fullySymmetricDP) const;
106 
108 
111  UInt_t getNVetoes() const {return nVetoes_;}
112 
114 
117  const std::vector<Int_t>& getVetoPairs() const {return vetoPair_;}
118 
120 
123  const std::vector<Double_t>& getVetoMinMass() const {return vetoMinMass_;}
124 
126 
129  const std::vector<Double_t>& getVetoMaxMass() const {return vetoMaxMass_;}
130 
131  private:
133  UInt_t nVetoes_;
134 
136  std::vector<Int_t> vetoPair_;
137 
139  std::vector<Double_t> vetoMinMass_;
140 
142  std::vector<Double_t> vetoMaxMass_;
143 
144  ClassDef(LauVetoes,0) // Vetoes in the Dalitz plot
145 };
146 
147 #endif
std::vector< Double_t > vetoMinMass_
The minimum mass-squared for each veto.
Definition: LauVetoes.hh:139
Bool_t passVeto(const LauKinematics *kinematics) const
Check whether the specified Dalitz plot point passes the vetoes.
Definition: LauVetoes.cc:118
std::vector< Double_t > vetoMaxMass_
The maximum mass-squared for each veto.
Definition: LauVetoes.hh:142
std::vector< Int_t > vetoPair_
The index of the vetoed mass-squared variable for each veto.
Definition: LauVetoes.hh:136
LauVetoes()
Constructor.
Definition: LauVetoes.cc:37
const std::vector< Double_t > & getVetoMaxMass() const
Retrieve the maximum mass-squared for each veto.
Definition: LauVetoes.hh:129
LauVetoes & operator=(const LauVetoes &other)
Copy assignment operator.
Definition: LauVetoes.cc:54
UInt_t nVetoes_
The number of vetoes.
Definition: LauVetoes.hh:133
UInt_t getNVetoes() const
Retrieve the number of vetoes.
Definition: LauVetoes.hh:111
const std::vector< Int_t > & getVetoPairs() const
Retrieve the index of the vetoed mass-squared variable for each veto.
Definition: LauVetoes.hh:117
virtual ~LauVetoes()
Destructor.
Definition: LauVetoes.cc:42
void addMassSqVeto(const Int_t resPairAmpInt, const Double_t minMassSq, const Double_t maxMassSq)
Add a veto to the Dalitz plot.
Definition: LauVetoes.cc:74
const std::vector< Double_t > & getVetoMinMass() const
Retrieve the minimum mass-squared for each veto.
Definition: LauVetoes.hh:123
Class for calculating 3-body kinematic quantities.
void addMassVeto(const Int_t resPairAmpInt, const Double_t minMass, const Double_t maxMass)
Add a veto to the Dalitz plot.
Definition: LauVetoes.cc:65
Class for defining vetoes within the Dalitz plot.
Definition: LauVetoes.hh:50