9 #ifndef Pythia8_Pythia_H 10 #define Pythia8_Pythia_H 13 #define PYTHIA_VERSION 8.317 14 #define PYTHIA_VERSION_INTEGER 8317 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/ThermalFragmentation.h" 54 #include "Pythia8/TimeShower.h" 55 #include "Pythia8/UserHooks.h" 56 #include "Pythia8/VinciaCommon.h" 57 #include "Pythia8/Weights.h" 77 Pythia(
string xmlDir =
"../share/Pythia8/xmldoc",
bool printBanner =
true);
82 bool printBanner =
true);
85 Pythia( istream& settingsStrings, istream& particleDataStrings,
86 bool printBanner =
true);
100 int subrun = SUBRUNDEFAULT) {
104 inline bool readFile(
string fileName,
bool warn =
true,
105 int subrun = SUBRUNDEFAULT) {
107 inline bool readFile(
string fileName,
int subrun) {
108 return readFile(fileName,
true, subrun);}
109 inline bool readFile(istream& is = cin,
bool warn =
true,
110 int subrun = SUBRUNDEFAULT) {
112 inline bool readFile(istream& is,
int subrun) {
116 inline bool setPDFPtr(PDFPtr pdfAPtrIn, PDFPtr pdfBPtrIn,
117 PDFPtr pdfHardAPtrIn =
nullptr, PDFPtr pdfHardBPtrIn =
nullptr,
118 PDFPtr pdfPomAPtrIn =
nullptr, PDFPtr pdfPomBPtrIn =
nullptr,
119 PDFPtr pdfGamAPtrIn =
nullptr, PDFPtr pdfGamBPtrIn =
nullptr,
120 PDFPtr pdfHardGamAPtrIn =
nullptr, PDFPtr pdfHardGamBPtrIn =
nullptr,
121 PDFPtr pdfUnresAPtrIn =
nullptr, PDFPtr pdfUnresBPtrIn =
nullptr,
122 PDFPtr pdfUnresGamAPtrIn =
nullptr, PDFPtr pdfUnresGamBPtrIn =
nullptr,
123 PDFPtr pdfVMDAPtrIn =
nullptr, PDFPtr pdfVMDBPtrIn =
nullptr) {
124 return beamSetup.
setPDFPtr( pdfAPtrIn, pdfBPtrIn, pdfHardAPtrIn,
125 pdfHardBPtrIn, pdfPomAPtrIn, pdfPomBPtrIn, pdfGamAPtrIn, pdfGamBPtrIn,
126 pdfHardGamAPtrIn, pdfHardGamBPtrIn, pdfUnresAPtrIn, pdfUnresBPtrIn,
127 pdfUnresGamAPtrIn, pdfUnresGamBPtrIn, pdfVMDAPtrIn, pdfVMDBPtrIn); }
128 inline bool setPDFAPtr( PDFPtr pdfAPtrIn ) {
130 inline bool setPDFBPtr( PDFPtr pdfBPtrIn ) {
139 lhaUpPtr = lhaUpPtrIn;
145 vector<int> handledParticlesIn = {}) {
146 decayHandlePtr = decayHandlePtrIn;
147 handledParticles = handledParticlesIn.size() == 0 ?
148 decayHandlePtrIn->handledParticles() : handledParticlesIn;
return true;}
156 userHooksPtr = userHooksPtrIn;
return true;}
160 if ( !userHooksPtrIn )
return false;
162 shared_ptr<UserHooksVector> uhv =
164 if ( !uhv ) { uhv = make_shared<UserHooksVector>();
165 uhv->
hooks.push_back(userHooksPtr); userHooksPtr = uhv; }
166 uhv->hooks.push_back(userHooksPtrIn);
return true;}
170 if ( !userHooksPtrIn || !userHooksPtr )
return false;
171 shared_ptr<UserHooksVector> uhv =
173 if ( !uhv || idx < 0 || idx > (
int)uhv->hooks.size() )
return false;
174 uhv->
hooks.insert(uhv->hooks.begin() + idx, userHooksPtrIn);
return true;}
191 PhaseSpacePtr phaseSpacePtrIn =
nullptr) {
192 sigmaPtrs.resize(0), phaseSpacePtrs.resize(0);
193 sigmaPtrs.push_back(sigmaPtrIn);
194 phaseSpacePtrs.push_back(phaseSpacePtrIn);
return true;}
198 PhaseSpacePtr phaseSpacePtrIn =
nullptr) {
199 sigmaPtrs.push_back(sigmaPtrIn);
200 phaseSpacePtrs.push_back(phaseSpacePtrIn);
return true;}
205 PhaseSpacePtr phaseSpacePtrIn =
nullptr) {
206 if (idx < 0 || idx > (
int)sigmaPtrs.size())
return false;
207 sigmaPtrs.insert(sigmaPtrs.begin() + idx, sigmaPtrIn);
208 phaseSpacePtrs.insert(phaseSpacePtrs.begin() + idx, phaseSpacePtrIn);
213 resonancePtrs.resize(0);
214 resonancePtrs.push_back( resonancePtrIn);
return true;}
218 resonancePtrs.push_back( resonancePtrIn);
return true;}
222 if (idx < 0 || idx > (
int)resonancePtrs.size())
return false;
223 resonancePtrs.insert( resonancePtrs.begin() + idx, resonancePtrIn);
228 showerModelPtr = showerModelPtrIn;
return true;}
233 fragPtrs.push_back(fragmentationPtrIn);
return true;}
237 fragPtrs.push_back(fragmentationPtrIn);
return true;}
241 FragmentationModelPtr fragmentationPtrIn) {
242 if (idx < 0 || idx > (
int)fragPtrs.size())
return false;
243 fragPtrs.insert( fragPtrs.begin() + idx, fragmentationPtrIn);
270 partonVertexPtr = partonVertexPtrIn;
return true;}
277 bool next(
int procTypeIn);
286 double pxBIn,
double pyBIn,
double pzBIn);
291 int nBranchMax = 0) {
293 logger.ERROR_MSG(
"Pythia is not properly initialized");
297 infoPrivate.setScalup( 0, pTmax);
298 return timesDecPtr->shower(iBeg, iEnd,
event, pTmax, nBranchMax);}
306 bool moreDecays(
int index,
bool allowPartons =
false) {
307 return hadronLevel.
decay(index,
event, allowPartons);}
315 logger.ERROR_MSG(
"Pythia is not properly initialized");
return false; }
320 return getSigmaTotal(beamSetup.idA, beamSetup.idB, beamSetup.eCM, 0);}
322 return getSigmaTotal(beamSetup.idA, beamSetup.idB, eCM12, mixLoHi);}
327 inline double getSigmaTotal(
int id1,
int id2,
double eCM12,
double m1,
328 double m2,
int mixLoHi = 0) {
330 logger.ERROR_MSG(
"Pythia is not properly initialized");
return 0.; }
331 return sigmaCmb.
sigmaTotal(id1, id2, eCM12, m1, m2, mixLoHi); }
340 beamSetup.idA, beamSetup.idB, eCM12, procTypeIn, mixLoHi); }
341 inline double getSigmaPartial(
int id1,
int id2,
double eCM12,
int procTypeIn,
344 inline double getSigmaPartial(
int id1,
int id2,
double eCM12,
double m1,
345 double m2,
int procTypeIn,
int mixLoHi = 0) {
347 logger.ERROR_MSG(
"Pythia is not properly initialized");
return 0.;}
349 id1, id2, eCM12, m1, m2, procTypeIn, mixLoHi);}
352 inline PDFPtr
getPDFPtr(
int idIn,
int sequence = 1,
string beam =
"A",
353 bool resolved =
true) {
354 return beamSetup.
getPDFPtr( idIn, sequence, beam, resolved); }
357 inline void LHAeventList() {
if (lhaUpPtr != 0) lhaUpPtr->listEvent();}
361 if (lhaUpPtr != 0)
return lhaUpPtr->skipEvent(nSkip);
369 int mode(
string key) {
return settings.mode(key);}
370 double parm(
string key) {
return settings.parm(key);}
371 string word(
string key) {
return settings.word(key);}
439 Info infoPrivate = {};
456 if (find(physicsPtrs.begin(), physicsPtrs.end(), &pb) != physicsPtrs.end())
459 physicsPtrs.push_back(&pb);
467 static const double VERSIONNUMBERHEAD, VERSIONNUMBERCODE;
470 static const int NTRY = 10;
474 bool doProcessLevel = {}, doPartonLevel = {}, doHadronLevel = {},
475 doLowEnergy = {}, doSoftQCDall = {}, doSoftQCDinel = {},
476 doCentralDiff = {}, doDiffraction = {}, doSoftQCD = {},
477 doHardDiff = {}, doResDec = {}, doFSRinRes = {}, decayRHadrons = {},
478 doPartonVertex = {}, abortIfVeto = {}, checkEvent = {},
479 checkHistory = {}, doNonPert = {};
481 double epTolErr = {}, epTolWarn = {}, mTolErr = {}, mTolWarn = {};
484 bool isConstructed = {}, isInit = {}, showSaV = {}, showMaD = {},
485 doReconnect = {}, forceHadronLevelCR = {};
486 int nCount = {}, nShowLHA = {}, nShowInfo = {}, nShowProc = {},
487 nShowEvt = {}, reconnectMode = {};
491 vector<int> iErrId = {}, iErrCol = {}, iErrEpm = {}, iErrNan = {},
498 bool doHardProc =
false;
500 bool useNewLHA =
false;
501 LHAupPtr lhaUpPtr = {};
504 DecayHandlerPtr decayHandlePtr = {};
505 vector<int> handledParticles = {};
508 UserHooksPtr userHooksPtr = {};
509 bool doVetoProcess = {}, doVetoPartons = {},
510 retryPartonLevel = {}, canVetoHadronization = {};
513 BeamShapePtr beamShapePtr = {};
514 bool doVertexSpread = {};
515 double eMinPert = {}, eWidthPert = {};
518 vector<SigmaProcessPtr> sigmaPtrs = {};
522 vector<PhaseSpacePtr> phaseSpacePtrs = {};
525 vector<ResonanceWidthsPtr> resonancePtrs = {};
532 ShowerModelPtr showerModelPtr = {};
533 TimeShowerPtr timesDecPtr = {};
534 TimeShowerPtr timesPtr = {};
535 SpaceShowerPtr spacePtr = {};
538 vector<FragmentationModelPtr> fragPtrs = {};
541 PartonVertexPtr partonVertexPtr;
556 StringIntPtr stringInteractionsPtr;
559 ColRecPtr colourReconnectionPtr = {};
574 LundFragmentationPtr fragPtr{};
577 RHadronsPtr rHadronsPtr{};
580 bool hasHeavyIons = {}, doHeavyIons = {};
586 void checkSettings();
589 bool nextNonPert(
int procTypeIn = 0);
592 bool doRHadronDecays();
599 stringstream particleDataBuffer;
602 vector<PhysicsBase*> physicsPtrs = {};
Event process
The event record for the parton-level central process.
Definition: Pythia.h:374
HeavyIonsPtr getHeavyIonsPtr()
Definition: Pythia.h:257
bool doLowEnergyProcess(int i1, int i2, int procTypeIn)
Do a low-energy collision between two hadrons in the event record.
Definition: Pythia.h:313
bool setRndmEnginePtr(RndmEnginePtr rndmEnginePtrIn)
Possibility to pass in pointer for external random number generation.
Definition: Pythia.h:151
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 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:266
bool flag(string keyIn)
Give back current value, with check that key exists.
Definition: Settings.cc:1615
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:352
Definition: PhysicsBase.h:26
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:392
bool LHAeventSkip(int nSkip)
Skip a number of Les Houches events at input.
Definition: Pythia.h:360
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:99
ParticleData particleData
ParticleData: the particle data table/database.
Definition: Pythia.h:389
The Event class holds all info on the generated event.
Definition: Event.h:408
Definition: BeamParticle.h:133
bool addResonancePtr(ResonanceWidthsPtr resonancePtrIn)
Possibility to add further pointers to allow for multiple resonances.
Definition: Pythia.h:217
Definition: Weights.h:468
Definition: SigmaLowEnergy.h:135
bool moreDecays(Event &event, bool allowPartons=false)
Special routine to allow more decays if on/off switches changed.
Definition: HadronLevel.cc:341
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:212
Definition: SLHAinterface.h:27
vector< shared_ptr< UserHooks > > hooks
The vector of user hooks.
Definition: UserHooks.h:766
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:144
bool setPhotonFluxPtr(PDFPtr photonFluxAIn, PDFPtr photonFluxBIn)
Set photon fluxes externally. Used with option "PDF:lepton2gammaSet = 2".
Definition: BeamSetup.h:53
Definition: JunctionSplitting.h:30
bool setFragmentationPtr(FragmentationModelPtr fragmentationPtrIn)
Possibility to pass in pointer for external fragmentation model.
Definition: Pythia.h:231
Class for doing Pythia runs in parallel.
Definition: PythiaParallel.h:18
bool checkVersion()
Check consistency of version numbers (called by constructors).
Definition: Pythia.cc:385
Settings settings
Settings: databases of flags/modes/parms/words to control run.
Definition: Pythia.h:386
bool forceRHadronDecays()
Special routine to force R-hadron decay when not done before.
Definition: Pythia.h:310
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:138
HIUserHooksPtr hiHooksPtr
Pointer to a HIUserHooks object to modify heavy ion modelling.
Definition: Pythia.h:417
bool setKinematics(double eCMIn)
Switch beam kinematics.
Definition: Pythia.cc:1387
Event event
The event record for the complete event history.
Definition: Pythia.h:377
bool init()
Initialize.
Definition: Pythia.cc:422
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:116
bool setMergingPtr(MergingPtr mergingPtrIn)
Possibility to pass in pointer for full merging class.
Definition: Pythia.h:177
bool moreDecays(bool allowPartons=false)
Special routine to allow more decays if on/off switches changed.
Definition: Pythia.h:304
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
const BeamParticle & beamA
The two incoming beams.
Definition: Pythia.h:423
~Pythia()
Destructor.
Definition: Pythia.h:89
SLHAinterface slhaInterface
SLHA Interface.
Definition: Pythia.h:401
bool insertResonancePtr(int idx, ResonanceWidthsPtr resonancePtrIn)
Possibility to insert further pointers to allow for multiple resonances.
Definition: Pythia.h:221
bool insertUserHooksPtr(int idx, UserHooksPtr userHooksPtrIn)
Possibility to insert a user hook.
Definition: Pythia.h:169
HeavyIonsPtr heavyIonsPtr
Pointer to a HeavyIons object for generating heavy ion collisions.
Definition: Pythia.h:414
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:269
BeamShapePtr getBeamShapePtr()
Possibility to access the pointer to the BeamShape object.
Definition: Pythia.h:260
CoupSUSY coupSUSY
SUSY couplings.
Definition: Pythia.h:398
bool readFile(string fileName, bool warn=true, int subrun=SUBRUNDEFAULT)
Read in updates from a user-defined file.
Definition: Settings.cc:701
bool addFragmentationPtr(FragmentationModelPtr fragmentationPtrIn)
Possibility to allow for multiple external fragmentation models.
Definition: Pythia.h:236
bool setBeamIDs(int idAin, int idBin=0)
Switch to new beam particle identities; for similar hadrons only.
Definition: Pythia.cc:1365
bool decay(int iDec, Event &event, bool allowPartons=true)
Definition: HadronLevel.h:68
CoupSM coupSM
Standard Model couplings, including alphaS and alphaEM.
Definition: Pythia.h:395
BeamParticle beamA
The two incoming beams.
Definition: BeamSetup.h:131
Definition: HadronLevel.h:44
PartonSystems partonSystems
The partonic content of each subcollision system (auxiliary to event).
Definition: Pythia.h:404
ShowerModelPtr getShowerModelPtr()
Possibility to get the pointer to the parton-shower model.
Definition: Pythia.h:263
bool insertFragmentationPtr(int idx, FragmentationModelPtr fragmentationPtrIn)
Possibility to insert external fragmentation model, in specific position.
Definition: Pythia.h:240
bool setBeamShapePtr(BeamShapePtr beamShapePtrIn)
Possibility to pass in pointer for beam shape.
Definition: Pythia.h:185
Definition: PartonLevel.h:45
Status
Enumerate the different status codes the event generation can have.
Definition: PhysicsBase.h:31
Definition: HadronWidths.h:22
bool setMergingHooksPtr(MergingHooksPtr mergingHooksPtrIn)
Possibility to pass in pointer for merging hooks.
Definition: Pythia.h:181
MergingHooksPtr mergingHooksPtr
Definition: Pythia.h:411
void stat()
Main routine to provide final statistics on generation.
Definition: Pythia.cc:1705
bool doLowEnergyProcess(int i1, int i2, int procTypeIn, Event &event)
Special routine to do a low-energy hadron-hadron scattering.
Definition: HadronLevel.h:83
bool addSigmaPtr(SigmaProcessPtr sigmaPtrIn, PhaseSpacePtr phaseSpacePtrIn=nullptr)
Possibility to add further pointers to allow for multiple cross sections.
Definition: Pythia.h:197
bool setHeavyIonsPtr(HeavyIonsPtr heavyIonsPtrIn)
Possibility to pass in pointer for modelling of heavy ion collisions.
Definition: Pythia.h:247
bool setLHAupPtr(LHAupPtr lhaUpPtrIn)
Possibility to pass in pointer to external LHA-interfaced generator.
Definition: BeamSetup.h:59
Definition: StandardModel.h:142
bool forceHadronLevel(bool findJunctions=true)
Generate only the hadronization/decay stage.
Definition: Pythia.cc:1490
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:104
HadronWidths hadronWidths
HadronWidths: the hadron widths data table/database.
Definition: Pythia.h:420
double getSigmaTotal()
Get total cross section for two hadrons in the event record or standalone.
Definition: Pythia.h:319
double m2(const Vec4 &v1)
The squared invariant mass of one or more four-vectors.
Definition: Basics.cc:597
bool setUserHooksPtr(UserHooksPtr userHooksPtrIn)
Possibility to pass in pointer for user hooks.
Definition: Pythia.h:155
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:159
bool setShowerModelPtr(ShowerModelPtr showerModelPtrIn)
Possibility to pass in pointer for external showers.
Definition: Pythia.h:227
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:72
double getSigmaPartial(int procTypeIn)
Definition: Pythia.h:335
UserHooksVector implements a vector of UserHooks and is itself a UserHooks.
Definition: UserHooks.h:319
const Info & info
Public information and statistic on the generation.
Definition: Pythia.h:380
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:276
BeamShapePtr getBeamShapePtr()
Possibility to access the pointer to the BeamShape object.
Definition: BeamSetup.h:81
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:134
int forceTimeShower(int iBeg, int iEnd, double pTmax, int nBranchMax=0)
Generate only a single timelike shower as in a decay.
Definition: Pythia.h:290
bool insertSigmaPtr(int idx, SigmaProcessPtr sigmaPtrIn, PhaseSpacePtr phaseSpacePtrIn=nullptr)
Definition: Pythia.h:204
void LHAeventList()
List the current Les Houches event.
Definition: Pythia.h:357
MergingPtr mergingPtr
Merging object as wrapper for matrix element merging routines.
Definition: Pythia.h:407
This class holds a map of all ParticleDataEntries.
Definition: ParticleData.h:423
bool setSigmaPtr(SigmaProcessPtr sigmaPtrIn, PhaseSpacePtr phaseSpacePtrIn=nullptr)
Definition: Pythia.h:190
Logger logger
Logger: for diagnostic messages, errors, statistics, etc.
Definition: Pythia.h:383
bool flag(string key)
Read in settings values: shorthand, not new functionality.
Definition: Pythia.h:368
bool setBeamShapePtr(BeamShapePtr beamShapePtrIn)
Possibility to pass in pointer for beam shape.
Definition: BeamSetup.h:77
bool setHIHooks(HIUserHooksPtr hiHooksPtrIn)
Definition: Pythia.h:252
Definition: SusyCouplings.h:27
Definition: Settings.h:196
void clear()
Reset system list to empty.
Definition: PartonSystems.h:50