88 Warning(
"SetForceDecay",
"Invalid decay mode: %d",
type);
112 products[2] = 100443;
191 products[1] = 100443;
300 Warning(
"ReadDecayTable",
"No file set");
335 const char* antiName = (anti ? anti->
GetName() :
"");
338 case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
343 case 2101:
case 2103:
case 2203:
344 case 3101:
case 3103:
case 3201:
case 3203:
case 3303:
345 case 4101:
case 4103:
case 4201:
case 4203:
case 4301:
case 4303:
case 4403:
346 case 5101:
case 5103:
case 5201:
case 5203:
case 5301:
case 5303:
case 5401:
347 case 5403:
case 5503:
350 case 1000001:
case 1000002:
case 1000003:
case 1000004:
case 1000005:
355 case 2000001:
case 2000002:
case 2000003:
case 2000004:
case 2000005:
358 case 3000331:
case 3100021:
case 3200111:
case 3100113:
case 3200113:
359 case 3300113:
case 3400113:
362 case 4000001:
case 4000002:
364 case 9900443:
case 9900441:
case 9910441:
case 9900553:
case 9900551:
368 std::cout << std::right
369 <<
" " << std::setw(9) << pdg->
PdgCode()
370 <<
" " << std::left << std::setw(16) << pdg->
GetName()
371 <<
" " << std::setw(16) << antiName
374 << std::setw(3) << color
375 << std::setw(3) << (anti ? 1 : 0)
376 << std::fixed << std::setprecision(5)
377 << std::setw(12) << pdg->
Mass()
378 << std::setw(12) << pdg->
Width()
379 << std::setw(12) << 0
381 <<
" " << std::setw(13) << pdg->
Lifetime()
383 << std::setw(3) << pdg->
Stable()
400 TIter nextDecay(decays);
476 Warning(
"ReadDecayTable",
"No file set");
492 for (
Int_t i = 1; i <= 5; i++)
502 const Int_t kNHadrons = 4;
504 Int_t hadron[kNHadrons] = {411, 421, 431, 4112};
508 Int_t iKstarbar0 = -313;
516 Int_t decayP1[kNHadrons][3] = {
519 {
kKPlus , iKstarbar0, 0 },
522 Int_t decayP2[kNHadrons][3] = {
530 for (
Int_t ihadron = 0; ihadron < kNHadrons; ihadron++) {
536 for (channel = ifirst; channel <= ilast; channel++) {
537 if ((pyth->
GetKFDP(channel,1) == decayP1[ihadron][0] &&
538 pyth->
GetKFDP(channel,2) == decayP1[ihadron][1] &&
539 pyth->
GetKFDP(channel,3) == decayP1[ihadron][2] &&
540 pyth->
GetKFDP(channel,4) == 0) ||
541 (pyth->
GetKFDP(channel,1) == decayP2[ihadron][0] &&
542 pyth->
GetKFDP(channel,2) == decayP2[ihadron][1] &&
543 pyth->
GetKFDP(channel,3) == decayP2[ihadron][2] &&
544 pyth->
GetKFDP(channel,4) == 0)) {
571 for (
Int_t channel= ifirst; channel <= ilast; channel++) {
597 for (
Int_t channel = ifirst; channel <= ilast; channel++) {
599 for (
Int_t i = 0; i < npart; i++)
621 for (
Int_t channel = ifirst; channel <= ilast; channel++) {
An array of clone (identical) objects.
Particle database manager class.
static TDatabasePDG * Instance()
static function
const THashList * ParticleList() const
virtual void ReadPDGTable(const char *filename="")
read list of particles from a file if the particle list does not exist, it is created,...
Description of the decay channel.
virtual TObjArray * GetPrimaries(Option_t *option="")
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
virtual const char * GetName() const
Returns name of object.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
Description of the static properties of a particle.
Double_t Lifetime() const
TParticlePDG * AntiParticle()
This class implements the TVirtualMCDecayer interface.
virtual void Decay(Int_t idpart, TLorentzVector *p)
Decay a particle of type IDPART (PDG code) and momentum P.
Int_t CountProducts(Int_t channel, Int_t particle)
Count number of decay products.
virtual void ForceDecay()
Force a particle decay mode.
void ForceParticleDecay(Int_t particle, Int_t *products, Int_t *mult, Int_t npart)
Force decay of particle into products with multiplicity mult.
virtual void SetForceDecay(Int_t type)
Force a particular decay type.
virtual Float_t GetLifetime(Int_t kf)
Get the life-time of a particle of type KF (a PDG code).
static TPythia6Decayer * fgInstance
Branching ratios.
virtual void ReadDecayTable()
Read in particle data from an ASCII file.
virtual void Init()
Initialize the decayer.
virtual Float_t GetPartialBranchingRatio(Int_t ipart)
Get the partial branching ratio for a particle of type IPART (a PDG code).
void ForceOmega()
Force Omega -> Lambda K- Decay.
virtual void WriteDecayTable()
write particle data to an ASCII file.
TPythia6Decayer()
Constructor.
void ForceHadronicD()
Force golden D decay modes.
static TPythia6Decayer * Instance()
Get the singleton object.
virtual Int_t ImportParticles(TClonesArray *particles)
Get the decay products into the passed PARTICLES TClonesArray of TParticles.
TPythia is an interface class to F77 version of Pythia 6.2
Int_t ImportParticles(TClonesArray *particles, Option_t *option="")
Default primary creation method.
static TPythia6 * Instance()
model of automatic memory cleanup suggested by Jim Kowalkovski: destructor for local static variable ...
void SetMSTJ(int i, int m)
int GetMDCY(int i, int j)
void CloseFortranFile(int lun)
interface with fortran i/o
int GetKFDP(int i, int j)
void SetMDME(int i, int j, int m)
void OpenFortranFile(int lun, char *name)
interface with fortran i/o
void SetMDCY(int i, int j, int m)
void Py1ent(Int_t line, Int_t kf, Double_t pe, Double_t theta, Double_t phi)
Add one entry to the event record, i.e.
void Pyupda(int mupda, int lun)
double GetPMAS(int ip, int i)
const char * Data() const
EvaluateInfo init(std::vector< RooRealProxy > parameters, std::vector< ArrayWrapper * > wrappers, std::vector< double * > arrays, size_t begin, size_t batchSize)