4 : idMediator_(iConfig.getParameter<
int>(
"idMediator")),
5 idDark_(iConfig.getParameter<
int>(
"idDark")),
6 temperature_(iConfig.getParameter<double>(
"temperature")) {}
10 bool medDecay = particleDataPtr->mayDecay(
idMediator_);
12 loggerPtr->errorMsg(
"SuepDecay::initAfterBeams",
"mediator decay should be enabled");
27 for (
int i = 0;
i <
event.size(); ++
i) {
29 if (
event[
i].
id() ==
idMediator_ &&
event[
i].daughter1() !=
event[
i].daughter2() &&
event[
i].daughter1() > 0 &&
30 event[
i].daughter2() > 0) {
31 pMediator =
event[
i].p();
36 std::vector<Pythia8::Vec4> suep_shower_fourmomenta =
suep_shower_->generateShower(pMediator.mCalc());
38 int firstDaughter =
event.size();
39 for (
auto& pDark : suep_shower_fourmomenta) {
43 event.append(
idDark_, 91,
i, 0, 0, 0, 0, 0, pDark.px(), pDark.py(), pDark.pz(), pDark.e(),
mDark_);
50 event[
i].daughters(firstDaughter,
event.size() - 1);
bool initAfterBeams() override
SuepDecay(const edm::ParameterSet &iConfig)
std::unique_ptr< SuepShower > suep_shower_
bool doVetoProcessLevel(Pythia8::Event &event) override