6 using namespace Pythia8;
12 fMasterGen.reset(
new Pythia);
13 fDecayer.reset(
new Pythia);
15 fMasterGen->readString(
"Next:numberShowEvent = 0");
16 fDecayer->readString(
"Next:numberShowEvent = 0");
18 fMasterGen->setRndmEnginePtr( &p8RndmEngine_ );
19 fDecayer->setRndmEnginePtr( &p8RndmEngine_ );
25 pythiaHepMCVerbosityParticles = ps.
getUntrackedParameter<
bool>(
"pythiaHepMCVerbosityParticles",
false);
28 if(pythiaHepMCVerbosityParticles)
29 ascii_io =
new HepMC::IO_AsciiParticles(
"cout",
std::ios::out);
32 bool Py8InterfaceBase::readSettings(
int )
38 if (
line->find(
"Random:") != std::string::npos)
39 throw cms::Exception(
"PythiaError") <<
"Attempted to set random number "
40 "using Pythia commands. Please use " "the RandomNumberGeneratorService."
44 <<
"Pythia 8 did not accept \""
45 << *
line <<
"\"." << std::endl;
47 if (
line->find(
"ParticleDecays:") != std::string::npos) {
50 <<
"Pythia 8 Decayer did not accept \""
51 << *
line <<
"\"." << std::endl;
60 bool Py8InterfaceBase::declareStableParticles(
const std::vector<int>& pdgIds )
63 for (
size_t i=0;
i<pdgIds.size();
i++ )
72 std::ostringstream pyCard ;
73 pyCard << PyID <<
":mayDecay=false";
75 if ( fMasterGen->particleData.isParticle( PyID ) ) {
76 fMasterGen->readString( pyCard.str() );
80 <<
"recognize particle id = "
93 bool Py8InterfaceBase:: declareSpecialSettings(
const std::vector<std::string>& settings )
96 for (
unsigned int iss=0; iss<settings.size(); iss++ )
98 if ( settings[iss].
find(
"QED-brem-off") == std::string::npos )
continue;
99 fMasterGen->readString(
"TimeShower:QEDshowerByL=off" );
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
tuple pythiaPylistVerbosity
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
tuple pythiaHepMCVerbosity