19 edm::LogInfo(
"Pythia8Interface") <<
"Creating a SuepShower module";
27 tolerance_ = boost::math::tools::eps_tolerance<double>(128);
33 p_plus_ = (boost::math::tools::bisect(
36 p_minus_ = (boost::math::tools::bisect(
52 std::vector<Pythia8::Vec4> shower;
53 double shower_energy = 0.0;
58 shower_energy += (shower.back()).
e();
64 for (
const auto& daughter : shower) {
70 for (
auto& daughter : shower) {
76 double minscale = 0.0;
77 double maxscale = 2.0;
90 for (
auto& daughter : shower) {
91 daughter.px(daughter.px() *
scale);
92 daughter.py(daughter.py() *
scale);
93 daughter.pz(daughter.pz() *
scale);
119 double U,
V,
X,
Y, E;
159 return daughterFourMomentum;
166 double showerEnergy = 0.0;
167 for (
const auto& daughter : shower) {
const double reballanceFunction(double scale, const std::vector< Pythia8::Vec4 > &shower)
Sin< T >::type sin(const T &t)
Pythia8::Rndm * fRndmPtr_
boost::math::tools::eps_tolerance< double > tolerance_
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t V
Cos< T >::type cos(const T &t)
const double fMaxwellBoltzmannPrime(double p)
Log< level::Info, false > LogInfo
const double logTestFunction(double p)
const Pythia8::Vec4 generateFourVector()
SuepShower(double mass, double temperature, Pythia8::Rndm *rndmPtr)
Geom::Theta< T > theta() const
const double fMaxwellBoltzmann(double p)
std::vector< Pythia8::Vec4 > generateShower(double energy)