57 (
fMasterGen->event).
append(990, -11, 0, 0, 2, 1 + NTotParticles, 0, 0, 0., 0., 0., 15000., 15000.);
60 double phi,
eta, the, ee,
pp;
73 double e1 = 0.5 * (m0 * m0 + m1 * m1 - m2 *
m2) / m0;
74 double e2 = 0.5 * (m0 * m0 + m2 * m2 - m1 * m1) / m0;
75 double pAbs = 0.5 *
sqrt((m0 - m1 - m2) * (m0 + m1 + m2) * (m0 + m1 - m2) * (m0 - m1 + m2)) / m0;
78 double sinTheta =
sqrt(1. - cosTheta * cosTheta);
81 double pX = pAbs * sinTheta *
cos(phi);
82 double pY = pAbs * sinTheta *
sin(phi);
83 double pZ = pAbs * cosTheta;
85 (
fMasterGen->event).
append(
fPartIDs[0], 1, 1, 0, 0, 0, 0, 0, pX, pY, pZ, e1, m1);
86 (
fMasterGen->event).
append(
fPartIDs[1], 1, 1, 0, 0, 0, 0, 0, -pX, -pY, -pZ, e2, m2);
88 (
fMasterGen->event).
append(
fPartIDs[0], 1, 1, 0, 0, 0, 0, 0, 0.0, 0.0, 0.0, m0, m0);
98 ee =
sqrt(m0 * m0 + pp * pp);
103 the = 2. * atan(
exp(-eta));
107 double betaZ = pp / ee *
std::cos(the);
116 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