31 ClassImp(TPythia8Decayer);
36 TPythia8Decayer::TPythia8Decayer():
37 fPythia8(new TPythia8()),
40 fPythia8->Pythia8()->readString(
"SoftQCD:elastic = on");
41 fPythia8->Pythia8()->init();
47 void TPythia8Decayer::Init()
54 void TPythia8Decayer::Decay(Int_t pdg, TLorentzVector* p)
57 AppendParticle(pdg, p);
58 Int_t idPart = fPythia8->Pythia8()->event[0].id();
59 fPythia8->Pythia8()->particleData.mayDecay(idPart,kTRUE);
60 fPythia8->Pythia8()->moreDecays();
61 if (fDebug > 0) fPythia8->EventListing();
67 Int_t TPythia8Decayer::ImportParticles(TClonesArray *particles)
69 return (fPythia8->ImportParticles(particles,
"All"));
75 void TPythia8Decayer::SetForceDecay(Int_t )
77 printf(
"SetForceDecay not yet implemented !\n");
82 void TPythia8Decayer::ForceDecay()
84 printf(
"ForceDecay not yet implemented !\n");
88 Float_t TPythia8Decayer::GetPartialBranchingRatio(Int_t )
95 Float_t TPythia8Decayer::GetLifetime(Int_t pdg)
97 return (fPythia8->Pythia8()->particleData.tau0(pdg) * 3.3333e-12) ;
103 void TPythia8Decayer::ReadDecayTable()
111 void TPythia8Decayer::AppendParticle(Int_t pdg, TLorentzVector* p)
113 fPythia8->Pythia8()->event.append(pdg, 11, 0, 0, p->Px(), p->Py(), p->Pz(), p->E(), p->M());
120 void TPythia8Decayer::ClearEvent()
122 fPythia8->Pythia8()->event.clear();