|
|
Go to the documentation of this file.
7 #include "Pythia8Plugins/EvtGen.h"
37 fMasterGen->readString(
"ProcessLevel:all = off");
38 fMasterGen->readString(
"ProcessLevel::resonanceDecays=on");
42 fDecayer->readString(
"ProcessLevel:all = off");
43 fDecayer->readString(
"ProcessLevel::resonanceDecays=on");
47 edm::LogInfo(
"Pythia8Interface") <<
"Creating and initializing pythia8 EvtGen plugin";
59 int NPartsBeforeDecays = pythiaEvent->size() - 1;
63 int NPartsAfterDecays =
event().get()->particles_size();
65 if (NPartsAfterDecays == NPartsBeforeDecays)
70 for (
int ipart = NPartsAfterDecays; ipart > NPartsBeforeDecays; ipart--) {
73 if (
part->status() == 1 && (
fDecayer->particleData).canDecay(
part->pdg_id())) {
87 part->generated_mass());
88 HepMC::GenVertex* ProdVtx =
part->production_vertex();
90 ProdVtx->position().x(), ProdVtx->position().y(), ProdVtx->position().z(), ProdVtx->position().t());
91 py8part.tau((
fDecayer->particleData).tau0(
part->pdg_id()));
93 int nentries =
fDecayer->event.size();
94 if (!
fDecayer->event[nentries - 1].mayDecay())
97 int nentries1 =
fDecayer->event.size();
98 if (nentries1 <= nentries)
122 <<
"----------------------" << std::endl;
127 <<
"----------------------" << std::endl;
std::unique_ptr< Pythia8::Pythia > fMasterGen
std::shared_ptr< Pythia8::EvtGenDecays > evtgenDecays
bool initializeForInternalPartons() override
HepMC::IO_AsciiParticles * ascii_io
void statistics() override
void setInternalXSec(const XSec &xsec)
Log< level::Info, false > LogInfo
virtual bool residualDecay()
static const std::string kPythia8
static const std::vector< std::string > p8SharedResources
bool pythiaHepMCVerbosityParticles
std::vector< std::string > evtgenUserFiles
unsigned int pythiaPylistVerbosity
std::string evtgenPdlFile
unsigned int maxEventsToPrint
std::vector< int > fPartIDs
std::unique_ptr< HepMC::GenEvent > & event()
bool pythiaHepMCVerbosity
HepMC::Pythia8ToHepMC toHepMC
T getParameter(std::string const &) const
GenRunInfoProduct & runInfo()
std::unique_ptr< Pythia8::Pythia > fDecayer
void finalizeEvent() override
std::string evtgenDecFile