laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
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 "Rtypes.h"
44 
45 #include <vector>
46 
47 class LauKinematics;
48 
49 class LauVetoes {
50 
51  public:
53  LauVetoes();
54 
56  virtual ~LauVetoes();
57 
59 
62  LauVetoes( const LauVetoes& other );
63 
65 
69  LauVetoes& operator=( const LauVetoes& other );
70 
72 
77  void addMassVeto( const Int_t resPairAmpInt, const Double_t minMass, const Double_t maxMass );
78 
80 
85  void addMassSqVeto( const Int_t resPairAmpInt, const Double_t minMassSq, const Double_t maxMassSq );
86 
88 
92  Bool_t passVeto( const LauKinematics* kinematics ) const;
93 
94  protected:
96 
104  Bool_t passVeto( const Double_t m12Sq,
105  const Double_t m23Sq,
106  const Double_t m13Sq,
107  const Bool_t symmetricDP,
108  const Bool_t fullySymmetricDP ) const;
109 
111 
114  UInt_t getNVetoes() const { return nVetoes_; }
115 
117 
120  const std::vector<Int_t>& getVetoPairs() const { return vetoPair_; }
121 
123 
126  const std::vector<Double_t>& getVetoMinMass() const { return vetoMinMass_; }
127 
129 
132  const std::vector<Double_t>& getVetoMaxMass() const { return vetoMaxMass_; }
133 
134  private:
136  UInt_t nVetoes_;
137 
139  std::vector<Int_t> vetoPair_;
140 
142  std::vector<Double_t> vetoMinMass_;
143 
145  std::vector<Double_t> vetoMaxMass_;
146 
147  ClassDef( LauVetoes, 0 ) // Vetoes in the Dalitz plot
148 };
149 
150 #endif
UInt_t nVetoes_
The number of vetoes.
Definition: LauVetoes.hh:136
const std::vector< Double_t > & getVetoMinMass() const
Retrieve the minimum mass-squared for each veto.
Definition: LauVetoes.hh:126
const std::vector< Double_t > & getVetoMaxMass() const
Retrieve the maximum mass-squared for each veto.
Definition: LauVetoes.hh:132
std::vector< Double_t > vetoMaxMass_
The maximum mass-squared for each veto.
Definition: LauVetoes.hh:145
Bool_t passVeto(const LauKinematics *kinematics) const
Check whether the specified Dalitz plot point passes the vetoes.
Definition: LauVetoes.cc:124
std::vector< Int_t > vetoPair_
The index of the vetoed mass-squared variable for each veto.
Definition: LauVetoes.hh:139
const std::vector< Int_t > & getVetoPairs() const
Retrieve the index of the vetoed mass-squared variable for each veto.
Definition: LauVetoes.hh:120
void addMassSqVeto(const Int_t resPairAmpInt, const Double_t minMassSq, const Double_t maxMassSq)
Add a veto to the Dalitz plot.
Definition: LauVetoes.cc:72
UInt_t getNVetoes() const
Retrieve the number of vetoes.
Definition: LauVetoes.hh:114
LauVetoes()
Constructor.
Definition: LauVetoes.cc:35
Class for defining vetoes within the Dalitz plot.
Definition: LauVetoes.hh:49
void addMassVeto(const Int_t resPairAmpInt, const Double_t minMass, const Double_t maxMass)
Add a veto to the Dalitz plot.
Definition: LauVetoes.cc:63
Class for calculating 3-body kinematic quantities.
virtual ~LauVetoes()
Destructor.
Definition: LauVetoes.cc:40
LauVetoes & operator=(const LauVetoes &other)
Copy assignment operator.
Definition: LauVetoes.cc:52
std::vector< Double_t > vetoMinMass_
The minimum mass-squared for each veto.
Definition: LauVetoes.hh:142