37 HepMC::GenVertex* Vtx =
new HepMC::GenVertex(HepMC::FourVector(0., 0., 0.));
45 int py6PID = HepPID::translatePDTtoPythia(
fPartonID);
47 double pt = 0, mom = 0, ee = 0, the = 0,
eta = 0;
53 pyjets.p[4][ip - 1] =
mass;
59 the = 2. * atan(
exp(-
eta));
64 ee =
sqrt(mom * mom + mass * mass);
66 py1ent_(ip, py6PID, ee, the, phi);
68 double px = pyjets.p[0][ip - 1];
69 double py = pyjets.p[1][ip - 1];
70 double pz = pyjets.p[2][ip - 1];
72 HepMC::FourVector
p(px, py, pz, ee);
74 Part->suggest_barcode(ip);
75 Vtx->add_particle_out(Part);
81 Vtx->add_particle_out(APart);
88 double qmax = 2. * ee;
92 fEvt->add_vertex(Vtx);
T getParameter(std::string const &) const
Sin< T >::type sin(const T &t)
HepMC::GenParticle * addAntiParticle(int &, int &, double &, double &, double &)
#define DEFINE_FWK_MODULE(type)
~Pythia6PartonPtGun() override
void joinPartons(double qmax)
void generateEvent(CLHEP::HepRandomEngine *) override
void py1ent_(int &ip, int &kf, double &pe, double &the, double &phi)
Pythia6Service * fPy6Service