|
Laura++
v3r5
A maximum likelihood fitting package for performing Dalitz-plot analysis.
|
Go to the documentation of this file.
34 #include "TDatabasePDG.h"
46 theDatabase_( new TDatabasePDG() ),
58 delete iter->second; iter->second = 0;
104 TParticlePDG* part(0);
105 TParticlePDG* antipart(0);
110 part = theDatabase_->AddParticle( "deuteron", "deuteron", 1.8756134, kTRUE, 0.0, 3, "Nucleus", 1011);
111 antipart = theDatabase_->AddAntiParticle( "anti-deuteron", -1011);
112 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
114 part = theDatabase_->AddParticle( "tritium", "tritium", 2.80925, kTRUE, 0.0, 3, "Nucleus", 1021);
115 antipart = theDatabase_->AddAntiParticle( "anti-tritium", -1021);
116 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
118 part = theDatabase_->AddParticle( "He3", "He3", 2.80923, kTRUE, 0.0, 6, "Nucleus", 1012);
119 antipart = theDatabase_->AddAntiParticle( "anti-He3", -1012);
120 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
122 part = theDatabase_->AddParticle( "alpha", "alpha", 3.727417, kTRUE, 0.0, 3, "Nucleus", 1022);
123 antipart = theDatabase_->AddAntiParticle( "anti-alpha", -1022);
124 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
126 part = theDatabase_->AddParticle( "eta_c(2S)", "eta_c(2S)", 3.628, kTRUE, 0.0195, 0, "Meson", 20441);
128 part = theDatabase_->AddParticle( "psi(3770)", "psi(3770)", 3.7699, kTRUE, 0.0236, 0, "Meson", 40443);
130 part = theDatabase_->AddParticle( "rho(2S)0", "rho(2S)0", 1.46, kTRUE, 0.31, 0, "Meson", 30113);
131 part = theDatabase_->AddParticle( "rho(2S)+", "rho(2S)+", 1.46, kTRUE, 0.31, 3, "Meson", 30213);
132 antipart = theDatabase_->AddAntiParticle( "rho(2S)-", -30213);
133 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
135 part = theDatabase_->AddParticle( "rho(3S)0", "rho(3S)0", 1.46, kTRUE, 0.31, 0, "Meson", 40113);
136 part = theDatabase_->AddParticle( "rho(3S)+", "rho(3S)+", 1.46, kTRUE, 0.31, 3, "Meson", 40213);
137 antipart = theDatabase_->AddAntiParticle( "rho(3S)-", -40213);
138 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
140 part = theDatabase_->AddParticle( "Xsu", "Xsu", 1.6, kTRUE, 0.5, 3, "Meson", 30353);
141 antipart = theDatabase_->AddAntiParticle( "anti-Xsu", -30353);
142 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
144 part = theDatabase_->AddParticle( "Xu0", "Xu0", 1., kTRUE, 0., 0, "Special", 41);
145 part = theDatabase_->AddParticle( "Xu+", "Xu+", 1., kTRUE, 0., 3, "Special", 42);
147 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
149 part = theDatabase_->AddParticle( "Xsd", "Xsd", 1.6, kTRUE, 0.5, 0, "Meson", 30343);
150 antipart = theDatabase_->AddAntiParticle( "anti-Xsd", -30343);
151 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
153 part = theDatabase_->AddParticle( "K'*0", "K'*0", 1.414, kTRUE, 0.232, 0, "Meson", 100313);
154 antipart = theDatabase_->AddAntiParticle( "anti-K'*0", -100313);
155 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
157 part = theDatabase_->AddParticle( "K'*+", "K'*+", 1.414, kTRUE, 0.232, 3, "Meson", 100323);
158 antipart = theDatabase_->AddAntiParticle( "K'*-", -100323);
159 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
161 part = theDatabase_->AddParticle( "K''*0", "K''*0", 1.717, kTRUE, 0.322, 0, "Meson", 30313);
162 antipart = theDatabase_->AddAntiParticle( "anti-K''*0", -30313);
163 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
165 part = theDatabase_->AddParticle( "K''*+", "K''*+", 1.717, kTRUE, 0.322, 3, "Meson", 30323);
166 antipart = theDatabase_->AddAntiParticle( "K''*-", -30323);
167 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
175 LauPDGList::iterator iter = particles_.find(theCode);
183 TParticlePDG* theTParticle = theDatabase_->GetParticle( theCode );
184 if (theTParticle == 0) {
185 cerr<< "ERROR in LauDatabasePDG::createParticle : Invalid PDG code: "<<theCode<<endl;
191 std::pair< LauPDGList::iterator, bool > insertResult = particles_.insert( std::make_pair( theCode, theParticle ) );
192 if ( ! insertResult.second ) {
193 cerr<< "ERROR in LauDatabasePDG::createParticle : Something went wrong inserting particle "<<theCode<< " into the map."<<endl;
199 TParticlePDG* theTAntiParticle = theTParticle->AntiParticle();
202 if ( theTAntiParticle == 0 || theTAntiParticle == theTParticle ) {
206 cout<< "INFO in LauDatabasePDG::createParticle : Created self-conjugate particle "<<theTParticle->GetName()<<endl;
213 Int_t conjCode = antiParticle-> code();
214 insertResult = particles_.insert( std::make_pair( conjCode, antiParticle ) );
215 if ( ! insertResult.second ) {
216 cerr<< "ERROR in LauDatabasePDG::createParticle : Something went wrong inserting anti-particle "<<conjCode<< " into the map."<<endl;
229 cout<< "INFO in LauDatabasePDG::createParticle : Created particle "<<theTParticle->GetName()<< " and its conjugate "<<theTAntiParticle->GetName()<<endl;
237 Int_t theCode = this-> pdgCode(theString);
238 if ( theCode == 0 ) {
239 cerr<< "ERROR in LauDatabasePDG::createParticle : Invalid particle string: "<<theString<<endl;
252 TParticlePDG* theParticle = theDatabase_->GetParticle(theString);
253 if (theParticle == 0) {
254 cerr<< "ERROR in LauDatabasePDG::pdgCode : Invalid particle string: "<<theString<<endl;
257 return theParticle->PdgCode();
262 TParticlePDG* theParticle = theDatabase_->GetParticle(theCode);
263 if (theParticle == 0) {
264 cerr<< "ERROR in LauDatabasePDG::pdgName : Invalid particle code: "<<theCode<<endl;
267 return theParticle->GetName();
TDatabasePDG * theDatabase_ The ROOT database.
Class for storing particle properties.
virtual ~LauDatabasePDG() Destructor.
TString pdgName(Int_t theCode) Get the associated name string for a given pdgCode.
const Bool_t debug_ Debug flag - set in constructor.
LauDatabasePDG() Constructor.
void addMissingParticles() Add particles to the ROOT database that are missing from the default setup.
Singleton class that provides access to particle property records.
File containing declaration of LauDatabasePDG class.
static LauDatabasePDG & get() Get the database instance.
File containing declaration of LauParticlePDG class.
static const LauParticlePDG * particle(Int_t code) Get particle object based on the PDG code.
static LauDatabasePDG * theInstance_ The singleton instance.
const LauParticlePDG * createParticle(Int_t theCode) Create particle in the database for a given PDG code and return the new particle. ...
LauPDGList particles_ The list of particle objects.
void setAntiParticle(const LauParticlePDG *antiPart) Set the antiparticle.
Int_t pdgCode(const TString &theString) Get the associated pdgCode for a given particle name string.
static Int_t code(const TString &string) Method to convert from a particle name string into a PDG code.
Int_t code() const The particle PDG code.
static TString string(Int_t code) Method to convert from a PDG code to a particle name string.
|