2 #include "HepMC/PythiaWrapper6_4.h"
17 #define PYTHIA6PYDECY pythia6pydecy_
33 pythia.reset(
new Pythia8::Pythia);
34 decayer.reset(
new Pythia8::Pythia);
40 std::cout <<
"WARNING: you are requesting an option which is not available in PythiaDecays::PythiaDecays " << std::endl;
75 Pythia8::Particle py8part( particle.
pid(), 93, 0, 0, 0, 0, 0, 0,
81 py8part.vProd( particle.
X(), particle.
Y(),
82 particle.
Z(), particle.
T() );
83 py8part.tau( (
decayer->particleData).tau0( particle.
pid() ) );
84 decayer->event.append( py8part );
86 int nentries =
decayer->event.size();
89 int nentries1 =
decayer->event.size();
90 if ( nentries1 <= nentries )
return theList;
91 Pythia8::Particle& py8daughter =
decayer->event[nentries];
95 for (
int ipart=nentries+1; ipart<nentries1; ipart++ )
97 py8daughter =
decayer->event[ipart];
98 theList[ipart-nentries-1].SetXYZT( py8daughter.px(), py8daughter.py(), py8daughter.pz(), py8daughter.e() );
99 theList[ipart-nentries-1].setVertex( py8daughter.xProd(),
102 py8daughter.tProd() );
103 theList[ipart-nentries-1].setID( py8daughter.id() );
104 theList[ipart-nentries-1].setMass( py8daughter.m() );
122 pyjets->
p(1,1) = particle.Px();
123 pyjets->
p(1,2) = particle.Py();
124 pyjets->
p(1,3) = particle.Pz();
const DaughterParticleList & particleDaughtersPy6(ParticlePropagator &particle, CLHEP::HepRandomEngine *)
gen::Pythia6Service * pyservice
int pid() const
get the HEP particle ID number
double mass() const
get the MEASURED mass
DaughterParticleList theList
const DaughterParticleList & particleDaughtersPy8(ParticlePropagator &particle, CLHEP::HepRandomEngine *)
const XYZTLorentzVector & momentum() const
the momentum fourvector
double Y() const
y of vertex
double Z() const
z of vertex
std::auto_ptr< Pythia8::Pythia > decayer
std::unique_ptr< gen::P8RndmEngine > p8RndmEngine
double X() const
x of vertex
double T() const
vertex time
std::auto_ptr< Pythia8::Pythia > pythia
PythiaDecays(std::string program)
std::vector< RawParticle > DaughterParticleList