55 double phi,
eta, the, ee,
pp;
68 double e1 = 0.5 * (m0 * m0 + m1 * m1 - m2 *
m2) / m0;
69 double e2 = 0.5 * (m0 * m0 + m2 * m2 - m1 * m1) / m0;
70 double pAbs = 0.5 *
sqrt((m0 - m1 - m2) * (m0 + m1 + m2) * (m0 + m1 - m2) * (m0 - m1 + m2)) / m0;
73 double sinTheta =
sqrt(1. - cosTheta * cosTheta);
76 double pX = pAbs * sinTheta *
cos(phi);
77 double pY = pAbs * sinTheta *
sin(phi);
78 double pZ = pAbs * cosTheta;
93 ee =
sqrt(m0 * m0 + pp * pp);
98 the = 2. * atan(
exp(-eta));
102 double betaZ = pp / ee *
std::cos(the);
111 event() = std::make_unique<HepMC::GenEvent>();
const char * classname() const override
#define DEFINE_FWK_MODULE(type)
boost::dynamic_bitset append(const boost::dynamic_bitset<> &bs1, const boost::dynamic_bitset<> &bs2)
this method takes two bitsets bs1 and bs2 and returns result of bs2 appended to the end of bs1 ...
Sin< T >::type sin(const T &t)
bool generatePartonsAndHadronize() override
Exp< T >::type exp(const T &t)
Py8MassGun(edm::ParameterSet const &)
Cos< T >::type cos(const T &t)
std::unique_ptr< HepMC::GenEvent > & event()
std::vector< int > fPartIDs
edm::GeneratorFilter< gen::Py8MassGun, gen::ExternalDecayDriver > Pythia8MassGun
P8RndmEngine & randomEngine()
T getParameter(std::string const &) const
HepMC::Pythia8ToHepMC toHepMC
std::unique_ptr< Pythia8::Pythia > fMasterGen