laura is hosted by Hepforge, IPPP Durham
Laura++  v1r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauDaughters.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 
22 #ifndef LAU_DAUGHTERS
23 #define LAU_DAUGHTERS
24 
25 #include <vector>
26 
27 #include "TString.h"
28 
29 #include "LauKinematics.hh"
30 
31 class LauParticlePDG;
32 
33 class LauDaughters {
34 
35  public:
37 
44  LauDaughters(Int_t codeParent, Int_t code1, Int_t code2, Int_t code3, Bool_t useSquareDP = kFALSE);
45 
47 
54  LauDaughters(const TString& nameParent, const TString& name1, const TString& name2, const TString& name3, Bool_t useSquareDP = kFALSE);
55 
57  virtual ~LauDaughters();
58 
60  LauDaughters( const LauDaughters& rhs );
61 
63 
66  Bool_t gotSymmetricalDP() const {return symmetricalDP_;}
67 
69 
72  Bool_t squareDP() const {return kinematics_->squareDP();}
73 
75  Double_t getMassDaug1() const;
77  Double_t getMassDaug2() const;
79  Double_t getMassDaug3() const;
81  Double_t getMassParent() const;
82 
84  TString getNameDaug1() const;
86  TString getNameDaug2() const;
88  TString getNameDaug3() const;
90  TString getNameParent() const;
91 
93  Int_t getTypeDaug1() const;
95  Int_t getTypeDaug2() const;
97  Int_t getTypeDaug3() const;
99  Int_t getTypeParent() const;
100 
102  Int_t getChargeDaug1() const;
104  Int_t getChargeDaug2() const;
106  Int_t getChargeDaug3() const;
108  Int_t getChargeParent() const;
110 
114  Int_t getCharge(Int_t resPairAmpInt) const;
115 
117 
121 
123 
126  const LauKinematics* getKinematics() const {return kinematics_;}
127 
128  protected:
130  void createParticleLists();
131 
133 
136  void setParentType(const TString& nameParent);
137 
139 
144  void setDaugType(const TString& name1, const TString& name2, const TString& name3);
145 
147  void testDPSymmetry();
148 
150  void sanityCheck();
151 
152  private:
155 
157  std::vector<const LauParticlePDG*> allowedDaughters_;
158 
160  std::vector<const LauParticlePDG*> allowedParents_;
161 
164 
166  std::vector<const LauParticlePDG*> daughters_;
167 
170 
171  ClassDef(LauDaughters, 0) // Specify what daughters are allowed
172 
173 };
174 
175 #endif
Double_t getMassParent() const
Get mass of the parent particle.
Class for storing particle properties.
TString getNameDaug1() const
Get name of the first daughter particle.
Int_t getChargeDaug3() const
Get charge of the third daughter particle.
Bool_t squareDP() const
Are the square Dalitz plot co-ordinates being calculated?
Int_t getTypeDaug1() const
Get PDG code of the first daughter particle.
void setParentType(const TString &nameParent)
Set the parent particle type.
virtual ~LauDaughters()
Destructor.
Definition: LauDaughters.cc:62
LauDaughters(Int_t codeParent, Int_t code1, Int_t code2, Int_t code3, Bool_t useSquareDP=kFALSE)
Constructor from PDG codes.
Definition: LauDaughters.cc:30
const LauKinematics * getKinematics() const
Retrieve the Dalitz plot kinematics.
void createParticleLists()
Create list of all the allowed parent/daughter particles.
Definition: LauDaughters.cc:81
const LauParticlePDG * parent_
The parent particle.
Class that defines the particular 3-body decay under study.
Definition: LauDaughters.hh:33
Int_t getTypeParent() const
Get PDG code of the parent particle.
Int_t getCharge(Int_t resPairAmpInt) const
Get charge of a particular two-daughter combination.
void testDPSymmetry()
Check whether there is a symmetrical Dalitz plot.
Int_t getChargeDaug1() const
Get charge of the first daughter particle.
LauKinematics * kinematics_
Dalitz plot kinematics.
Bool_t symmetricalDP_
Boolean flag for symmetrical Dalitz plot.
TString getNameDaug2() const
Get name of the second daughter particle.
Bool_t squareDP() const
Determine to use or not the square Dalitz plot.
Definition: LauDaughters.hh:72
Double_t getMassDaug2() const
Get mass of second daughter particle.
File containing declaration of LauKinematics class.
Bool_t gotSymmetricalDP() const
Is Dalitz plot symmetric.
Definition: LauDaughters.hh:66
std::vector< const LauParticlePDG * > daughters_
The daughter particles.
Int_t getChargeDaug2() const
Get charge of the second daughter particle.
LauKinematics * getKinematics()
Retrieve the Dalitz plot kinematics.
std::vector< const LauParticlePDG * > allowedParents_
All possible parent types.
Int_t getTypeDaug3() const
Get PDG code of the third daughter particle.
Int_t getTypeDaug2() const
Get PDG code of the second daughter particle.
TString getNameParent() const
Get name of the parent particle.
void setDaugType(const TString &name1, const TString &name2, const TString &name3)
Set the three daughter types.
Int_t getChargeParent() const
Get charge of the parent particle.
Double_t getMassDaug1() const
Get mass of first daughter particle.
Class for calculating 3-body kinematic quantities.
void sanityCheck()
Check masses and charges of daughters.
std::vector< const LauParticlePDG * > allowedDaughters_
All possible daughter types.
Double_t getMassDaug3() const
Get mass of third daughter particle.
TString getNameDaug3() const
Get name of the third daughter particle.