20 fMinEta(0.), fMaxEta(0.),
49 HepMC::GenVertex* Vtx =
new HepMC::GenVertex( HepMC::FourVector(0.,0.,0.));
53 fEvt =
new HepMC::GenEvent() ;
66 int py6PID = HepPID::translatePDTtoPythia( particleID );
71 the = std::acos( -1. + 2.*
pyr_(&dum) );
81 pyjets.p[4][ip-1]=mass;
85 py1ent_(ip, py6PID, ee, the, phi);
89 totPx += pyjets.p[0][ip-1];
90 totPy += pyjets.p[1][ip-1];
91 totPz += pyjets.p[2][ip-1];
92 totE += pyjets.p[3][ip-1];
101 totM =
std::sqrt( totE*totE - (totPx*totPx+totPy*totPy+totPz*totPz) );
112 the = 2.*atan(
exp(-eta));
116 double betaZ = pp/ee *
std::cos(the);
123 double rothe=0, rophi=0.;
125 pyrobo_( first,
last, rothe, rophi, betaX, betaY, betaZ );
130 for (
int i=0;
i<pyjets.n;
i++ )
132 HepMC::FourVector
p(pyjets.p[0][
i],pyjets.p[1][
i],pyjets.p[2][
i],pyjets.p[3][
i]) ;
135 HepPID::translatePythiatoPDT( pyjets.k[1][
i] ),
137 Part->suggest_barcode(
i+1 ) ;
138 Vtx->add_particle_out(Part);
140 fEvt->add_vertex(Vtx);
T getParameter(std::string const &) const
#define DEFINE_FWK_MODULE(type)
Sin< T >::type sin(const T &t)
Cos< T >::type cos(const T &t)
std::vector< int > fPartIDs
void py1ent_(int &ip, int &kf, double &pe, double &the, double &phi)
Pythia6Service * fPy6Service
void pyrobo_(int &, int &, double &, double &, double &, double &, double &)