9 #ifndef Pythia8_ProcessLevel_H 10 #define Pythia8_ProcessLevel_H 12 #include "Pythia8/Basics.h" 13 #include "Pythia8/BeamParticle.h" 14 #include "Pythia8/Event.h" 15 #include "Pythia8/Info.h" 16 #include "Pythia8/ParticleData.h" 17 #include "Pythia8/PartonDistributions.h" 18 #include "Pythia8/PhysicsBase.h" 19 #include "Pythia8/ProcessContainer.h" 20 #include "Pythia8/PythiaStdlib.h" 21 #include "Pythia8/ResonanceDecays.h" 22 #include "Pythia8/Settings.h" 23 #include "Pythia8/SigmaTotal.h" 24 #include "Pythia8/SusyCouplings.h" 25 #include "Pythia8/SLHAinterface.h" 26 #include "Pythia8/StandardModel.h" 27 #include "Pythia8/UserHooks.h" 48 vector<SigmaProcessPtr>& sigmaPtrs, vector<PhaseSpacePtr>& phaseSpacePtrs);
51 void setLHAPtr( LHAupPtr lhaUpPtrIn) {lhaUpPtr = lhaUpPtrIn;
52 if (iLHACont >= 0) containerPtrs[iLHACont]->setLHAPtr(lhaUpPtr);}
58 bool next(
Event& process,
int procTypeIn = 0);
80 bool nextDecays(
Event& process) {
return resonanceDecays.
next( process);}
92 static const int MAXLOOP;
95 bool doVarEcm, allowIDAswitch, doSecondHard, doSameCuts, allHardSame,
96 noneHardSame, someHardSame, cutsAgree, cutsOverlap, doResDecays,
97 doISR, doMPI, doWt2, switchedID, switchedEcm, useHVcols;
98 int startColTag, procType;
99 double maxPDFreweight, mHatMin1, mHatMax1, pTHatMin1, pTHatMax1, mHatMin2,
100 mHatMax2, pTHatMin2, pTHatMax2, sigmaND, eCMold;
107 vector<ProcessContainer*> containerPtrs;
108 int iContainer, iLHACont = -1;
112 vector<ProcessContainer*> container2Ptrs;
132 bool nextOne(
Event& process);
135 bool nextTwo(
Event& process);
138 bool roomForRemnants();
141 void combineProcessRecords(
Event& process,
Event& process2);
144 bool checkColours(
Event& process);
147 void statistics2(
bool reset);
bool init(bool doLHAin, SLHAinterface *slhaInterfacePtrIn, vector< SigmaProcessPtr > &sigmaPtrs, vector< PhaseSpacePtr > &phaseSpacePtrs)
Initialization.
Definition: ProcessLevel.cc:44
Settings * settingsPtr
Pointer to the settings database.
Definition: PhysicsBase.h:81
Definition: PhysicsBase.h:27
void registerSubObject(PhysicsBase &pb)
Register a sub object that should have its information in sync with this.
Definition: PhysicsBase.cc:56
The Event class holds all info on the generated event.
Definition: Event.h:453
bool next(Event &process, int procTypeIn=0)
Generate the next "hard" process.
Definition: ProcessLevel.cc:383
Definition: ProcessContainer.h:39
Definition: SLHAinterface.h:27
virtual void onInitInfoPtr() override
Definition: ProcessLevel.h:84
Rndm * rndmPtr
Pointer to the random number generator.
Definition: PhysicsBase.h:93
Definition: ProcessLevel.h:36
void resetStatistics()
Reset statistics.
Definition: ProcessLevel.cc:626
void initDecays(LHAupPtr lhaUpPtrIn)
Initialize and call resonance decays separately.
Definition: ProcessLevel.h:76
~ProcessLevel()
Destructor to delete processes in containers.
Definition: ProcessLevel.cc:28
ParticleData * particleDataPtr
Pointer to the particle data table.
Definition: PhysicsBase.h:84
ProcessLevel()=default
Constructor.
void setLHAPtr(LHAupPtr lhaUpPtrIn, ParticleData *particleDataPtrIn=0, Settings *settingsPtrIn=0, Rndm *rndmPtrIn=0)
Store or replace Les Houches pointer.
Definition: ProcessContainer.h:66
void findJunctions(Event &junEvent)
Add any junctions to the process event record list.
Definition: ProcessLevel.cc:1228
void statistics(bool reset=false)
Print statistics on cross sections and number of events.
Definition: ProcessLevel.cc:510
Class to sample the virtuality and transverse momentum of emitted photons.
Definition: GammaKinematics.h:23
void setLHAPtr(LHAupPtr lhaUpPtrIn)
Store or replace Les Houches pointer.
Definition: ProcessLevel.h:51
void accumulate(bool doAccumulate=true)
Accumulate and update statistics (after possible user veto).
Definition: ProcessLevel.cc:422
void updateBeamIDs()
Switch to new beam particle identities; for similar hadrons only.
Definition: ProcessLevel.cc:366
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
Definition: ResonanceDecays.h:28
bool next(Event &process, int iDecNow=0)
Generate the next decay sequence.
Definition: ResonanceDecays.cc:48
bool nextLHAdec(Event &process)
Special case: LHA input of resonance decay only.
Definition: ProcessLevel.cc:402