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) {
65 correction = correction + daughter;
67 correction = correction / shower.size();
70 for (
auto& daughter : shower) {
77 (boost::math::tools::bisect(
81 for (
auto& daughter : shower) {
82 daughter.px(daughter.px() *
scale);
83 daughter.py(daughter.py() *
scale);
84 daughter.pz(daughter.pz() *
scale);
110 double U,
V,
X,
Y, E;
144 theta = acos(2.0 * (
fRndmPtr_->flat()) - 1.0);
147 en =
sqrt(momentum * momentum + darkmeson_mass_ * darkmeson_mass_);
150 return daughterFourMomentum;
157 double showerEnergy = 0.0;
158 for (
const auto& daughter : shower) {
static std::vector< std::string > checklist log
const double reballanceFunction(double scale, const std::vector< Pythia8::Vec4 > &shower)
Sin< T >::type sin(const T &t)
Geom::Theta< T > theta() const
Pythia8::Rndm * fRndmPtr_
Exp< T >::type exp(const T &t)
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()
constexpr float correction(int sizeM1, int q_f, int q_l, uint16_t upper_edge_first_pix, uint16_t lower_edge_last_pix, float lorentz_shift, float theThickness, float cot_angle, float pitch, bool first_is_big, bool last_is_big)
SuepShower(double mass, double temperature, Pythia8::Rndm *rndmPtr)
const double fMaxwellBoltzmann(double p)
std::vector< Pythia8::Vec4 > generateShower(double energy)