laura is hosted by Hepforge, IPPP Durham
Laura++  v3r2
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauVetoes.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 
26 #ifndef LAU_VETOES
27 #define LAU_VETOES
28 
29 #include <vector>
30 
31 #include "Rtypes.h"
32 
33 class LauKinematics;
34 
35 
36 class LauVetoes {
37 
38  public:
40  LauVetoes();
41 
43  virtual ~LauVetoes();
44 
46 
49  LauVetoes(const LauVetoes& other);
50 
52 
56  LauVetoes& operator=(const LauVetoes& other);
57 
59 
64  void addMassVeto(const Int_t resPairAmpInt, const Double_t minMass, const Double_t maxMass);
65 
67 
72  void addMassSqVeto(const Int_t resPairAmpInt, const Double_t minMassSq, const Double_t maxMassSq);
73 
75 
79  Bool_t passVeto(const LauKinematics* kinematics) const;
80 
81  protected:
83 
91  Bool_t passVeto(const Double_t m12Sq, const Double_t m23Sq, const Double_t m13Sq, const Bool_t symmetricDP, const Bool_t fullySymmetricDP) const;
92 
94 
97  UInt_t getNVetoes() const {return nVetoes_;}
98 
100 
103  const std::vector<Int_t>& getVetoPairs() const {return vetoPair_;}
104 
106 
109  const std::vector<Double_t>& getVetoMinMass() const {return vetoMinMass_;}
110 
112 
115  const std::vector<Double_t>& getVetoMaxMass() const {return vetoMaxMass_;}
116 
117  private:
119  UInt_t nVetoes_;
120 
122  std::vector<Int_t> vetoPair_;
123 
125  std::vector<Double_t> vetoMinMass_;
126 
128  std::vector<Double_t> vetoMaxMass_;
129 
130  ClassDef(LauVetoes,0) // Vetoes in the Dalitz plot
131 };
132 
133 #endif
std::vector< Double_t > vetoMinMass_
The minimum mass-squared for each veto.
Definition: LauVetoes.hh:125
Bool_t passVeto(const LauKinematics *kinematics) const
Check whether the specified Dalitz plot point passes the vetoes.
Definition: LauVetoes.cc:104
std::vector< Double_t > vetoMaxMass_
The maximum mass-squared for each veto.
Definition: LauVetoes.hh:128
std::vector< Int_t > vetoPair_
The index of the vetoed mass-squared variable for each veto.
Definition: LauVetoes.hh:122
LauVetoes()
Constructor.
Definition: LauVetoes.cc:23
const std::vector< Double_t > & getVetoMaxMass() const
Retrieve the maximum mass-squared for each veto.
Definition: LauVetoes.hh:115
LauVetoes & operator=(const LauVetoes &other)
Copy assignment operator.
Definition: LauVetoes.cc:40
UInt_t nVetoes_
The number of vetoes.
Definition: LauVetoes.hh:119
UInt_t getNVetoes() const
Retrieve the number of vetoes.
Definition: LauVetoes.hh:97
const std::vector< Int_t > & getVetoPairs() const
Retrieve the index of the vetoed mass-squared variable for each veto.
Definition: LauVetoes.hh:103
virtual ~LauVetoes()
Destructor.
Definition: LauVetoes.cc:28
void addMassSqVeto(const Int_t resPairAmpInt, const Double_t minMassSq, const Double_t maxMassSq)
Add a veto to the Dalitz plot.
Definition: LauVetoes.cc:60
const std::vector< Double_t > & getVetoMinMass() const
Retrieve the minimum mass-squared for each veto.
Definition: LauVetoes.hh:109
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:51
Class for defining vetoes within the Dalitz plot.
Definition: LauVetoes.hh:36