LauDaughters.cc
Go to the documentation of this file.
41 LauDaughters::LauDaughters(Int_t codeParent, Int_t code1, Int_t code2, Int_t code3, Bool_t useSquareDP) :
58 kinematics_ = new LauKinematics(this->getMassDaug1(), this->getMassDaug2(), this->getMassDaug3(), this->getMassParent(), useSquareDP, symmetricalDP_, fullySymmetricDP_);
61 LauDaughters::LauDaughters(const TString& nameParent, const TString& name1, const TString& name2, const TString& name3, Bool_t useSquareDP) :
74 kinematics_ = new LauKinematics(this->getMassDaug1(), this->getMassDaug2(), this->getMassDaug3(), this->getMassParent(), useSquareDP, symmetricalDP_, fullySymmetricDP_);
95 kinematics_ = new LauKinematics(this->getMassDaug1(), this->getMassDaug2(), this->getMassDaug3(), this->getMassParent(), rhs.squareDP(), rhs.gotSymmetricalDP(), rhs.gotFullySymmetricDP());
139 for ( std::vector<const LauParticlePDG*>::const_iterator iter = allowedParents_.begin(); iter != allowedParents_.end(); ++iter ) {
143 std::cout<<"INFO in LauDaughters::setParentType : Setting parent to be "<<parent_->string()<<" == "<<parent_->code()<<std::endl;
149 std::cerr<<"ERROR in LauDaughters::setParentType : Couldn't find a valid parent called \""<<nameParent<<"\"."<<std::endl;
154 void LauDaughters::setDaugType(const TString& name1, const TString& name2, const TString& name3)
157 const Int_t codes[3] = { LauDatabasePDG::code( name1 ), LauDatabasePDG::code( name2 ), LauDatabasePDG::code( name3 ) };
163 for ( std::vector<const LauParticlePDG*>::const_iterator iter = allowedDaughters_.begin(); iter != allowedDaughters_.end(); ++iter ) {
167 std::cout<<"INFO in LauDaughters::setDaugType : Setting daughter "<<i+1<<" to be "<<daughters_[i]->string()<<" == "<<daughters_[i]->code()<<std::endl;
172 std::cerr<<"ERROR in LauDaughters::setDaugType : Couldn't find a valid daughter called \""<<names[i]<<"\"."<<std::endl;
192 if ( daughters_[0]->code() == daughters_[1]->code() && daughters_[0]->code() == daughters_[2]->code() ) {
199 std::cerr<<"ERROR in LauDaughters::testDPSymmetry : daughter 1 and daughter 3 are both "<<daughters_[0]->string()<<" but DP can only fold on daughters 1 and 2."<<std::endl;
202 std::cerr<<"ERROR in LauDaughters::testDPSymmetry : daughter 2 and daughter 3 are both "<<daughters_[1]->string()<<" but DP can only fold on daughters 1 and 2."<<std::endl;
205 std::cout<<"INFO in LauDaughters::testDPSymmetry : We have a flavour-conjugate DP. "<<std::endl;
208 std::cerr<<"WARNING in LauDaughters::testDPSymmetry : it looks like we have a flavour-conjugate DP but the "<<daughters_[0]->string()<<" and "<<daughters_[2]->string()<<" are not positioned as daughters 1 and 2." << std::endl;
210 std::cerr<<"WARNING in LauDaughters::testDPSymmetry : it looks like we have a flavour-conjugate DP but the "<<daughters_[1]->string()<<" and "<<daughters_[2]->string()<<" are not positioned as daughters 1 and 2." << std::endl;
221 for ( std::vector<const LauParticlePDG*>::const_iterator iter = daughters_.begin(); iter != daughters_.end(); ++iter ) {
227 std::cerr<<"ERROR in LauDaughters::sanityCheck : Total charge of daughters ("<<totCharge<<") not equal to charge of parent ("<<parent_->charge()<<")."<<std::endl;
232 std::cerr<<"ERROR in LauDaughters::sanityCheck : Total mass of daughters ("<<totMass<<") greater than mass of parent ("<<parent_->mass()<<")."<<std::endl;
TString getNameDaug1() const Get name of the first daughter particle. Definition: LauDaughters.cc:257 Int_t getChargeDaug3() const Get charge of the third daughter particle. Definition: LauDaughters.cc:327 TString getSanitisedNameParent() const Get sanitised name of the parent particle. Definition: LauDaughters.cc:292 Int_t getTypeDaug1() const Get PDG code of the first daughter particle. Definition: LauDaughters.cc:297 Bool_t fullySymmetricDP_ Boolean flag for fully symmetric Dalitz plot. Definition: LauDaughters.hh:210 void setParentType(const TString &nameParent) Set the parent particle type. Definition: LauDaughters.cc:133 LauDaughters(Int_t codeParent, Int_t code1, Int_t code2, Int_t code3, Bool_t useSquareDP=kFALSE) Constructor from PDG codes. Definition: LauDaughters.cc:41 TString getSanitisedNameDaug3() const Get sanitised name of the third daughter particle. Definition: LauDaughters.cc:287 ClassImp(LauAbsCoeffSet) void createParticleLists() Create list of all the allowed parent/daughter particles. Definition: LauDaughters.cc:98 Class that defines the particular 3-body decay under study. Definition: LauDaughters.hh:47 Int_t getCharge(Int_t resPairAmpInt) const Get charge of a particular two-daughter combination. Definition: LauDaughters.cc:337 void testDPSymmetry() Check whether there is a symmetrical Dalitz plot. Definition: LauDaughters.cc:184 File containing declaration of LauDaughters class. Int_t getChargeDaug1() const Get charge of the first daughter particle. Definition: LauDaughters.cc:317 TString getNameDaug2() const Get name of the second daughter particle. Definition: LauDaughters.cc:262 Bool_t squareDP() const Determine to use or not the square Dalitz plot. Definition: LauDaughters.hh:98 File containing declaration of LauKinematics class. TString getSanitisedNameDaug1() const Get sanitised name of the first daughter particle. Definition: LauDaughters.cc:277 TString getSanitisedNameDaug2() const Get sanitised name of the second daughter particle. Definition: LauDaughters.cc:282 Bool_t gotSymmetricalDP() const Is Dalitz plot symmetric, i.e. 2 identical particles. Definition: LauDaughters.hh:80 std::vector< const LauParticlePDG * > daughters_ The daughter particles. Definition: LauDaughters.hh:204 TString stringAlphaNum() const Particle name, containing only alphanumeric characters. Definition: LauParticlePDG.cc:138 Int_t getChargeDaug2() const Get charge of the second daughter particle. Definition: LauDaughters.cc:322 File containing declaration of LauDatabasePDG class. std::vector< const LauParticlePDG * > allowedParents_ All possible parent types. Definition: LauDaughters.hh:198 File containing declaration of LauParticlePDG class. static const LauParticlePDG * particle(Int_t code) Get particle object based on the PDG code. Definition: LauDatabasePDG.cc:78 Int_t getTypeDaug3() const Get PDG code of the third daughter particle. Definition: LauDaughters.cc:307 Int_t getTypeDaug2() const Get PDG code of the second daughter particle. Definition: LauDaughters.cc:302 void setDaugType(const TString &name1, const TString &name2, const TString &name3) Set the three daughter types. Definition: LauDaughters.cc:154 Bool_t gotFullySymmetricDP() const Is Dalitz plot fully symmetric, i.e. 3 identical particles. Definition: LauDaughters.hh:86 std::vector< const LauParticlePDG * > allowedDaughters_ All possible daughter types. Definition: LauDaughters.hh:195 static Int_t code(const TString &string) Method to convert from a particle name string into a PDG code. Definition: LauDatabasePDG.cc:88 TString getNameDaug3() const Get name of the third daughter particle. Definition: LauDaughters.cc:267 static TString string(Int_t code) Method to convert from a PDG code to a particle name string. Definition: LauDatabasePDG.cc:93 Generated by ![]() |