9 #ifndef Pythia8_Pythia_H 10 #define Pythia8_Pythia_H 13 #define PYTHIA_VERSION 8.314 14 #define PYTHIA_VERSION_INTEGER 8314 17 #include "Pythia8/Analysis.h" 18 #include "Pythia8/Basics.h" 19 #include "Pythia8/BeamParticle.h" 20 #include "Pythia8/BeamSetup.h" 21 #include "Pythia8/Event.h" 22 #include "Pythia8/FragmentationFlavZpT.h" 23 #include "Pythia8/HadronLevel.h" 24 #include "Pythia8/HadronWidths.h" 25 #include "Pythia8/Info.h" 26 #include "Pythia8/JunctionSplitting.h" 27 #include "Pythia8/LesHouches.h" 28 #include "Pythia8/Logger.h" 29 #include "Pythia8/SigmaLowEnergy.h" 30 #include "Pythia8/Merging.h" 31 #include "Pythia8/MergingHooks.h" 32 #include "Pythia8/PartonLevel.h" 33 #include "Pythia8/ParticleData.h" 34 #include "Pythia8/PartonDistributions.h" 35 #include "Pythia8/PartonSystems.h" 36 #include "Pythia8/PartonVertex.h" 37 #include "Pythia8/PhysicsBase.h" 38 #include "Pythia8/ProcessLevel.h" 39 #include "Pythia8/PythiaStdlib.h" 40 #include "Pythia8/ResonanceWidths.h" 41 #include "Pythia8/RHadrons.h" 42 #include "Pythia8/Ropewalk.h" 43 #include "Pythia8/Settings.h" 44 #include "Pythia8/ShowerModel.h" 45 #include "Pythia8/SigmaTotal.h" 46 #include "Pythia8/SimpleSpaceShower.h" 47 #include "Pythia8/SimpleTimeShower.h" 48 #include "Pythia8/SpaceShower.h" 49 #include "Pythia8/StandardModel.h" 50 #include "Pythia8/StringInteractions.h" 51 #include "Pythia8/SusyCouplings.h" 52 #include "Pythia8/SLHAinterface.h" 53 #include "Pythia8/TimeShower.h" 54 #include "Pythia8/UserHooks.h" 55 #include "Pythia8/VinciaCommon.h" 56 #include "Pythia8/Weights.h" 76 Pythia(
string xmlDir =
"../share/Pythia8/xmldoc",
bool printBanner =
true);
81 bool printBanner =
true);
84 Pythia( istream& settingsStrings, istream& particleDataStrings,
85 bool printBanner =
true);
99 int subrun = SUBRUNDEFAULT) {
103 inline bool readFile(
string fileName,
bool warn =
true,
104 int subrun = SUBRUNDEFAULT) {
106 inline bool readFile(
string fileName,
int subrun) {
107 return readFile(fileName,
true, subrun);}
108 inline bool readFile(istream& is = cin,
bool warn =
true,
109 int subrun = SUBRUNDEFAULT) {
111 inline bool readFile(istream& is,
int subrun) {
115 inline bool setPDFPtr(PDFPtr pdfAPtrIn, PDFPtr pdfBPtrIn,
116 PDFPtr pdfHardAPtrIn =
nullptr, PDFPtr pdfHardBPtrIn =
nullptr,
117 PDFPtr pdfPomAPtrIn =
nullptr, PDFPtr pdfPomBPtrIn =
nullptr,
118 PDFPtr pdfGamAPtrIn =
nullptr, PDFPtr pdfGamBPtrIn =
nullptr,
119 PDFPtr pdfHardGamAPtrIn =
nullptr, PDFPtr pdfHardGamBPtrIn =
nullptr,
120 PDFPtr pdfUnresAPtrIn =
nullptr, PDFPtr pdfUnresBPtrIn =
nullptr,
121 PDFPtr pdfUnresGamAPtrIn =
nullptr, PDFPtr pdfUnresGamBPtrIn =
nullptr,
122 PDFPtr pdfVMDAPtrIn =
nullptr, PDFPtr pdfVMDBPtrIn =
nullptr) {
123 return beamSetup.
setPDFPtr( pdfAPtrIn, pdfBPtrIn, pdfHardAPtrIn,
124 pdfHardBPtrIn, pdfPomAPtrIn, pdfPomBPtrIn, pdfGamAPtrIn, pdfGamBPtrIn,
125 pdfHardGamAPtrIn, pdfHardGamBPtrIn, pdfUnresAPtrIn, pdfUnresBPtrIn,
126 pdfUnresGamAPtrIn, pdfUnresGamBPtrIn, pdfVMDAPtrIn, pdfVMDBPtrIn); }
127 inline bool setPDFAPtr( PDFPtr pdfAPtrIn ) {
129 inline bool setPDFBPtr( PDFPtr pdfBPtrIn ) {
138 lhaUpPtr = lhaUpPtrIn;
144 vector<int> handledParticlesIn = {}) {
145 decayHandlePtr = decayHandlePtrIn;
146 handledParticles = handledParticlesIn.size() == 0 ?
147 decayHandlePtrIn->handledParticles() : handledParticlesIn;
return true;}
155 userHooksPtr = userHooksPtrIn;
return true;}
159 if ( !userHooksPtrIn )
return false;
161 shared_ptr<UserHooksVector> uhv =
163 if ( !uhv ) { uhv = make_shared<UserHooksVector>();
164 uhv->
hooks.push_back(userHooksPtr); userHooksPtr = uhv; }
165 uhv->hooks.push_back(userHooksPtrIn);
return true;}
169 if ( !userHooksPtrIn || !userHooksPtr )
return false;
170 shared_ptr<UserHooksVector> uhv =
172 if ( !uhv || idx < 0 || idx > (
int)uhv->hooks.size() )
return false;
173 uhv->
hooks.insert(uhv->hooks.begin() + idx, userHooksPtrIn);
return true;}
190 PhaseSpacePtr phaseSpacePtrIn =
nullptr) {
191 sigmaPtrs.resize(0), phaseSpacePtrs.resize(0);
192 sigmaPtrs.push_back(sigmaPtrIn);
193 phaseSpacePtrs.push_back(phaseSpacePtrIn);
return true;}
197 PhaseSpacePtr phaseSpacePtrIn =
nullptr) {
198 sigmaPtrs.push_back(sigmaPtrIn);
199 phaseSpacePtrs.push_back(phaseSpacePtrIn);
return true;}
204 PhaseSpacePtr phaseSpacePtrIn =
nullptr) {
205 if (idx < 0 || idx > (
int)sigmaPtrs.size())
return false;
206 sigmaPtrs.insert(sigmaPtrs.begin() + idx, sigmaPtrIn);
207 phaseSpacePtrs.insert(phaseSpacePtrs.begin() + idx, phaseSpacePtrIn);
212 resonancePtrs.resize(0);
213 resonancePtrs.push_back( resonancePtrIn);
return true;}
217 resonancePtrs.push_back( resonancePtrIn);
return true;}
221 if (idx < 0 || idx > (
int)resonancePtrs.size())
return false;
222 resonancePtrs.insert( resonancePtrs.begin() + idx, resonancePtrIn);
227 showerModelPtr = showerModelPtrIn;
return true;}
232 fragPtrs.push_back(fragmentationPtrIn);
return true;}
236 fragPtrs.push_back(fragmentationPtrIn);
return true;}
240 FragmentationModelPtr fragmentationPtrIn) {
241 if (idx < 0 || idx > (
int)fragPtrs.size())
return false;
242 fragPtrs.insert( fragPtrs.begin() + idx, fragmentationPtrIn);
269 partonVertexPtr = partonVertexPtrIn;
return true;}
276 bool next(
int procTypeIn);
285 double pxBIn,
double pyBIn,
double pzBIn);
290 int nBranchMax = 0) {
292 logger.ERROR_MSG(
"Pythia is not properly initialized");
296 infoPrivate.setScalup( 0, pTmax);
297 return timesDecPtr->shower(iBeg, iEnd,
event, pTmax, nBranchMax);}
312 logger.ERROR_MSG(
"Pythia is not properly initialized");
return false; }
317 return getSigmaTotal(beamSetup.idA, beamSetup.idB, beamSetup.eCM, 0);}
319 return getSigmaTotal(beamSetup.idA, beamSetup.idB, eCM12, mixLoHi);}
324 inline double getSigmaTotal(
int id1,
int id2,
double eCM12,
double m1,
325 double m2,
int mixLoHi = 0) {
327 logger.ERROR_MSG(
"Pythia is not properly initialized");
return 0.; }
328 return sigmaCmb.
sigmaTotal(id1, id2, eCM12, m1, m2, mixLoHi); }
337 beamSetup.idA, beamSetup.idB, eCM12, procTypeIn, mixLoHi); }
338 inline double getSigmaPartial(
int id1,
int id2,
double eCM12,
int procTypeIn,
341 inline double getSigmaPartial(
int id1,
int id2,
double eCM12,
double m1,
342 double m2,
int procTypeIn,
int mixLoHi = 0) {
344 logger.ERROR_MSG(
"Pythia is not properly initialized");
return 0.;}
346 id1, id2, eCM12, m1, m2, procTypeIn, mixLoHi);}
349 inline PDFPtr
getPDFPtr(
int idIn,
int sequence = 1,
string beam =
"A",
350 bool resolved =
true) {
351 return beamSetup.
getPDFPtr( idIn, sequence, beam, resolved); }
354 inline void LHAeventList() {
if (lhaUpPtr != 0) lhaUpPtr->listEvent();}
358 if (lhaUpPtr != 0)
return lhaUpPtr->skipEvent(nSkip);
366 int mode(
string key) {
return settings.mode(key);}
367 double parm(
string key) {
return settings.parm(key);}
368 string word(
string key) {
return settings.word(key);}
421 BeamParticlePtr beamBPtr;
435 Info infoPrivate = {};
449 if (find(physicsPtrs.begin(), physicsPtrs.end(), &pb) != physicsPtrs.end())
452 physicsPtrs.push_back(&pb);
460 static const double VERSIONNUMBERHEAD, VERSIONNUMBERCODE;
463 static const int NTRY = 10;
467 bool doProcessLevel = {}, doPartonLevel = {}, doHadronLevel = {},
468 doLowEnergy = {}, doSoftQCDall = {}, doSoftQCDinel = {},
469 doCentralDiff = {}, doDiffraction = {}, doSoftQCD = {},
470 doHardDiff = {}, doResDec = {}, doFSRinRes = {}, decayRHadrons = {},
471 doPartonVertex = {}, abortIfVeto = {}, checkEvent = {},
472 checkHistory = {}, doNonPert = {};
474 double epTolErr = {}, epTolWarn = {}, mTolErr = {}, mTolWarn = {};
477 bool isConstructed = {}, isInit = {}, showSaV = {}, showMaD = {},
478 doReconnect = {}, forceHadronLevelCR = {};
479 int nCount = {}, nShowLHA = {}, nShowInfo = {}, nShowProc = {},
480 nShowEvt = {}, reconnectMode = {};
484 vector<int> iErrId = {}, iErrCol = {}, iErrEpm = {}, iErrNan = {},
492 bool useNewLHA =
false;
493 LHAupPtr lhaUpPtr = {};
496 DecayHandlerPtr decayHandlePtr = {};
497 vector<int> handledParticles = {};
500 UserHooksPtr userHooksPtr = {};
501 bool doVetoProcess = {}, doVetoPartons = {},
502 retryPartonLevel = {}, canVetoHadronization = {};
505 BeamShapePtr beamShapePtr = {};
506 bool doVertexSpread = {};
507 double eMinPert = {}, eWidthPert = {};
510 vector<SigmaProcessPtr> sigmaPtrs = {};
514 vector<PhaseSpacePtr> phaseSpacePtrs = {};
517 vector<ResonanceWidthsPtr> resonancePtrs = {};
524 ShowerModelPtr showerModelPtr = {};
525 TimeShowerPtr timesDecPtr = {};
526 TimeShowerPtr timesPtr = {};
527 SpaceShowerPtr spacePtr = {};
530 vector<FragmentationModelPtr> fragPtrs = {};
533 PartonVertexPtr partonVertexPtr;
548 StringIntPtr stringInteractionsPtr;
551 ColRecPtr colourReconnectionPtr = {};
566 LundFragmentationPtr fragPtr{};
569 RHadronsPtr rHadronsPtr{};
572 bool hasHeavyIons = {}, doHeavyIons = {};
578 void checkSettings();
581 bool nextNonPert(
int procTypeIn = 0);
584 bool doRHadronDecays();
591 stringstream particleDataBuffer;
594 vector<PhysicsBase*> physicsPtrs = {};
Event process
The event record for the parton-level central process.
Definition: Pythia.h:371
HeavyIonsPtr getHeavyIonsPtr()
Definition: Pythia.h:256
bool doLowEnergyProcess(int i1, int i2, int procTypeIn)
Do a low-energy collision between two hadrons in the event record.
Definition: Pythia.h:310
BeamParticlePtr beamAPtr
The two incoming beams.
Definition: Pythia.h:420
bool setRndmEnginePtr(RndmEnginePtr rndmEnginePtrIn)
Possibility to pass in pointer for external random number generation.
Definition: Pythia.h:150
double sigmaPartial(int id1, int id2, double eCM12, double m1, double m2, int type, int mixLoHi=0)
Get partial cross sections.
Definition: SigmaLowEnergy.cc:1563
bool moreDecays(Event &event)
Special routine to allow more decays if on/off switches changed.
Definition: HadronLevel.cc:339
bool setPDFAPtr(PDFPtr pdfAPtrIn)
Routine to pass in pointers to PDF's. Usage optional.
Definition: BeamSetup.cc:105
LHAupPtr getLHAupPtr()
Possibility to get the pointer to the LHA accessor.
Definition: Pythia.h:265
bool flag(string keyIn)
Give back current value, with check that key exists.
Definition: Settings.cc:1601
Definition: NucleonExcitations.h:23
PDFPtr getPDFPtr(int idIn, int sequence=1, string beam="A", bool resolved=true)
Return a parton density set among list of possibilities.
Definition: Pythia.h:349
Definition: PhysicsBase.h:27
bool rndmEnginePtr(RndmEnginePtr rndmEngPtrIn)
Possibility to pass in pointer for external random number generation.
Definition: Basics.cc:27
Definition: BeamSetup.h:33
Rndm rndm
Random number generator.
Definition: Pythia.h:389
bool LHAeventSkip(int nSkip)
Skip a number of Les Houches events at input.
Definition: Pythia.h:357
bool readString(string line, bool warn=true, int subrun=SUBRUNDEFAULT)
Read in one update for a setting or particle data from a single line.
Definition: Pythia.h:98
ParticleData particleData
ParticleData: the particle data table/database.
Definition: Pythia.h:386
The Event class holds all info on the generated event.
Definition: Event.h:408
bool addResonancePtr(ResonanceWidthsPtr resonancePtrIn)
Possibility to add further pointers to allow for multiple resonances.
Definition: Pythia.h:216
Definition: Weights.h:433
Definition: SigmaLowEnergy.h:135
PDFPtr getPDFPtr(int idIn, int sequence=1, string beam="A", bool resolved=true)
Return a parton density set among list of possibilities.
Definition: BeamSetup.cc:1146
bool setResonancePtr(ResonanceWidthsPtr resonancePtrIn)
Possibility to pass in pointer for external resonance.
Definition: Pythia.h:211
Definition: SLHAinterface.h:27
vector< shared_ptr< UserHooks > > hooks
The vector of user hooks.
Definition: UserHooks.h:738
Definition: SigmaTotal.h:141
bool setDecayPtr(DecayHandlerPtr decayHandlePtrIn, vector< int > handledParticlesIn={})
Possibility to pass in pointer for external handling of some decays.
Definition: Pythia.h:143
bool setPhotonFluxPtr(PDFPtr photonFluxAIn, PDFPtr photonFluxBIn)
Set photon fluxes externally. Used with option "PDF:lepton2gammaSet = 2".
Definition: BeamSetup.h:62
Definition: JunctionSplitting.h:30
bool setFragmentationPtr(FragmentationModelPtr fragmentationPtrIn)
Possibility to pass in pointer for external fragmentation model.
Definition: Pythia.h:230
Class for doing Pythia runs in parallel.
Definition: PythiaParallel.h:18
bool checkVersion()
Check consistency of version numbers (called by constructors).
Definition: Pythia.cc:374
Settings settings
Settings: databases of flags/modes/parms/words to control run.
Definition: Pythia.h:383
bool forceRHadronDecays()
Special routine to force R-hadron decay when not done before.
Definition: Pythia.h:307
void initInfoPtr(Info &infoPtrIn)
This function is called from above for physics objects used in a run.
Definition: PhysicsBase.cc:21
Definition: ProcessLevel.h:36
Gets cross sections for hadron-hadron collisions at low energies.
Definition: SigmaLowEnergy.h:22
bool setLHAupPtr(LHAupPtr lhaUpPtrIn)
Possibility to pass in pointer to external LHA-interfaced generator.
Definition: Pythia.h:137
HIUserHooksPtr hiHooksPtr
Pointer to a HIUserHooks object to modify heavy ion modelling.
Definition: Pythia.h:414
bool setKinematics(double eCMIn)
Switch beam kinematics.
Definition: Pythia.cc:1344
Event event
The event record for the complete event history.
Definition: Pythia.h:374
bool init()
Initialize.
Definition: Pythia.cc:411
bool setPDFPtr(PDFPtr pdfAPtrIn, PDFPtr pdfBPtrIn, PDFPtr pdfHardAPtrIn=nullptr, PDFPtr pdfHardBPtrIn=nullptr, PDFPtr pdfPomAPtrIn=nullptr, PDFPtr pdfPomBPtrIn=nullptr, PDFPtr pdfGamAPtrIn=nullptr, PDFPtr pdfGamBPtrIn=nullptr, PDFPtr pdfHardGamAPtrIn=nullptr, PDFPtr pdfHardGamBPtrIn=nullptr, PDFPtr pdfUnresAPtrIn=nullptr, PDFPtr pdfUnresBPtrIn=nullptr, PDFPtr pdfUnresGamAPtrIn=nullptr, PDFPtr pdfUnresGamBPtrIn=nullptr, PDFPtr pdfVMDAPtrIn=nullptr, PDFPtr pdfVMDBPtrIn=nullptr)
Possibility to pass in pointers to PDF's.
Definition: Pythia.h:115
bool setMergingPtr(MergingPtr mergingPtrIn)
Possibility to pass in pointer for full merging class.
Definition: Pythia.h:176
bool setPDFPtr(PDFPtr pdfAPtrIn, PDFPtr pdfBPtrIn, PDFPtr pdfHardAPtrIn=nullptr, PDFPtr pdfHardBPtrIn=nullptr, PDFPtr pdfPomAPtrIn=nullptr, PDFPtr pdfPomBPtrIn=nullptr, PDFPtr pdfGamAPtrIn=nullptr, PDFPtr pdfGamBPtrIn=nullptr, PDFPtr pdfHardGamAPtrIn=nullptr, PDFPtr pdfHardGamBPtrIn=nullptr, PDFPtr pdfUnresAPtrIn=nullptr, PDFPtr pdfUnresBPtrIn=nullptr, PDFPtr pdfUnresGamAPtrIn=nullptr, PDFPtr pdfUnresGamBPtrIn=nullptr, PDFPtr pdfVMDAPtrIn=nullptr, PDFPtr pdfVMDBPtrIn=nullptr)
Possibility to pass in pointers to PDF's.
Definition: BeamSetup.cc:21
~Pythia()
Destructor.
Definition: Pythia.h:88
SLHAinterface slhaInterface
SLHA Interface.
Definition: Pythia.h:398
bool insertResonancePtr(int idx, ResonanceWidthsPtr resonancePtrIn)
Possibility to insert further pointers to allow for multiple resonances.
Definition: Pythia.h:220
bool insertUserHooksPtr(int idx, UserHooksPtr userHooksPtrIn)
Possibility to insert a user hook.
Definition: Pythia.h:168
HeavyIonsPtr heavyIonsPtr
Pointer to a HeavyIons object for generating heavy ion collisions.
Definition: Pythia.h:411
bool readString(string line, bool warn=true, int subrun=SUBRUNDEFAULT)
Read in one update from a single line.
Definition: Settings.cc:384
bool setPartonVertexPtr(PartonVertexPtr partonVertexPtrIn)
Possibility to pass in pointer for setting of parton space-time vertices.
Definition: Pythia.h:268
BeamShapePtr getBeamShapePtr()
Possibility to access the pointer to the BeamShape object.
Definition: Pythia.h:259
CoupSUSY coupSUSY
SUSY couplings.
Definition: Pythia.h:395
bool readFile(string fileName, bool warn=true, int subrun=SUBRUNDEFAULT)
Read in updates from a user-defined file.
Definition: Settings.cc:698
bool addFragmentationPtr(FragmentationModelPtr fragmentationPtrIn)
Possibility to allow for multiple external fragmentation models.
Definition: Pythia.h:235
bool setBeamIDs(int idAin, int idBin=0)
Switch to new beam particle identities; for similar hadrons only.
Definition: Pythia.cc:1322
CoupSM coupSM
Standard Model couplings, including alphaS and alphaEM.
Definition: Pythia.h:392
Definition: HadronLevel.h:44
PartonSystems partonSystems
The partonic content of each subcollision system (auxiliary to event).
Definition: Pythia.h:401
bool moreDecays()
Special routine to allow more decays if on/off switches changed.
Definition: Pythia.h:303
ShowerModelPtr getShowerModelPtr()
Possibility to get the pointer to the parton-shower model.
Definition: Pythia.h:262
bool insertFragmentationPtr(int idx, FragmentationModelPtr fragmentationPtrIn)
Possibility to insert external fragmentation model, in specific position.
Definition: Pythia.h:239
bool setBeamShapePtr(BeamShapePtr beamShapePtrIn)
Possibility to pass in pointer for beam shape.
Definition: Pythia.h:184
Definition: PartonLevel.h:45
Status
Enumerate the different status codes the event generation can have.
Definition: PhysicsBase.h:32
Definition: HadronWidths.h:22
bool setMergingHooksPtr(MergingHooksPtr mergingHooksPtrIn)
Possibility to pass in pointer for merging hooks.
Definition: Pythia.h:180
MergingHooksPtr mergingHooksPtr
Definition: Pythia.h:408
void stat()
Main routine to provide final statistics on generation.
Definition: Pythia.cc:1672
bool doLowEnergyProcess(int i1, int i2, int procTypeIn, Event &event)
Special routine to do a low-energy hadron-hadron scattering.
Definition: HadronLevel.h:81
bool addSigmaPtr(SigmaProcessPtr sigmaPtrIn, PhaseSpacePtr phaseSpacePtrIn=nullptr)
Possibility to add further pointers to allow for multiple cross sections.
Definition: Pythia.h:196
bool setHeavyIonsPtr(HeavyIonsPtr heavyIonsPtrIn)
Possibility to pass in pointer for modelling of heavy ion collisions.
Definition: Pythia.h:246
bool setLHAupPtr(LHAupPtr lhaUpPtrIn)
Possibility to pass in pointer to external LHA-interfaced generator.
Definition: BeamSetup.h:68
Definition: StandardModel.h:135
bool forceHadronLevel(bool findJunctions=true)
Generate only the hadronization/decay stage.
Definition: Pythia.cc:1461
bool readFile(string fileName, bool warn=true, int subrun=SUBRUNDEFAULT)
Read in updates for settings or particle data from user-defined file.
Definition: Pythia.h:103
HadronWidths hadronWidths
HadronWidths: the hadron widths data table/database.
Definition: Pythia.h:417
double getSigmaTotal()
Get total cross section for two hadrons in the event record or standalone.
Definition: Pythia.h:316
double m2(const Vec4 &v1)
The squared invariant mass of one or more four-vectors.
Definition: Basics.cc:598
bool setUserHooksPtr(UserHooksPtr userHooksPtrIn)
Possibility to pass in pointer for user hooks.
Definition: Pythia.h:154
bool setPDFBPtr(PDFPtr pdfBPtrIn)
Routine to pass in pointers to PDF's. Usage optional.
Definition: BeamSetup.cc:129
bool addUserHooksPtr(UserHooksPtr userHooksPtrIn)
Possibility to add further pointers to allow multiple user hooks.
Definition: Pythia.h:158
bool setShowerModelPtr(ShowerModelPtr showerModelPtrIn)
Possibility to pass in pointer for external showers.
Definition: Pythia.h:226
The PartonSystems class describes the whole set of subcollisions.
Definition: PartonSystems.h:42
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
The Pythia class contains the top-level routines to generate an event.
Definition: Pythia.h:71
double getSigmaPartial(int procTypeIn)
Definition: Pythia.h:332
UserHooksVector implements a vector of UserHooks and is itself a UserHooks.
Definition: UserHooks.h:313
const Info & info
Public information and statistic on the generation.
Definition: Pythia.h:377
Pythia(string xmlDir="../share/Pythia8/xmldoc", bool printBanner=true)
Constructor. (See Pythia.cc file.)
Definition: Pythia.cc:33
bool next()
Generate the next event.
Definition: Pythia.h:275
BeamShapePtr getBeamShapePtr()
Possibility to access the pointer to the BeamShape object.
Definition: BeamSetup.h:90
double sigmaTotal(int id1, int id2, double eCM12, double m1, double m2, int mixLoHi=0)
Get total cross section.
Definition: SigmaLowEnergy.cc:1526
bool setPhotonFluxPtr(PDFPtr photonFluxAIn, PDFPtr photonFluxBIn)
Set photon fluxes externally. Used with option "PDF:lepton2gammaSet = 2".
Definition: Pythia.h:133
int forceTimeShower(int iBeg, int iEnd, double pTmax, int nBranchMax=0)
Generate only a single timelike shower as in a decay.
Definition: Pythia.h:289
bool insertSigmaPtr(int idx, SigmaProcessPtr sigmaPtrIn, PhaseSpacePtr phaseSpacePtrIn=nullptr)
Definition: Pythia.h:203
void LHAeventList()
List the current Les Houches event.
Definition: Pythia.h:354
MergingPtr mergingPtr
Merging object as wrapper for matrix element merging routines.
Definition: Pythia.h:404
This class holds a map of all ParticleDataEntries.
Definition: ParticleData.h:422
bool setSigmaPtr(SigmaProcessPtr sigmaPtrIn, PhaseSpacePtr phaseSpacePtrIn=nullptr)
Definition: Pythia.h:189
bool decay(int iDec, Event &event)
Try to decay the specified particle. Returns false if decay failed.
Definition: HadronLevel.h:66
Logger logger
Logger: for diagnostic messages, errors, statistics, etc.
Definition: Pythia.h:380
bool flag(string key)
Read in settings values: shorthand, not new functionality.
Definition: Pythia.h:365
bool setBeamShapePtr(BeamShapePtr beamShapePtrIn)
Possibility to pass in pointer for beam shape.
Definition: BeamSetup.h:86
bool setHIHooks(HIUserHooksPtr hiHooksPtrIn)
Definition: Pythia.h:251
Definition: SusyCouplings.h:27
Definition: Settings.h:196
void clear()
Reset system list to empty.
Definition: PartonSystems.h:50