9 #ifndef Pythia8_PartonLevel_H
10 #define Pythia8_PartonLevel_H
13 #include "BeamParticle.h"
14 #include "BeamRemnants.h"
17 #include "MergingHooks.h"
18 #include "MultipartonInteractions.h"
19 #include "ParticleData.h"
20 #include "PartonSystems.h"
21 #include "PythiaStdlib.h"
24 #include "SigmaTotal.h"
25 #include "SpaceShower.h"
26 #include "StandardModel.h"
27 #include "TimeShower.h"
28 #include "UserHooks.h"
59 bool resonanceShowers(
Event& process,
Event& event,
bool skipForR);
62 bool hasVetoed()
const {
return doVeto;}
65 void accumulate() {multiPtr->accumulate();}
66 void statistics(
bool reset =
false) {
67 if (doMPI) multiMB.statistics(reset);}
71 void resetStatistics() {
if (doMPI) multiMB.resetStatistics(); }
76 double pTLastInShower(){
return pTLastBranch; }
78 int typeLastInShower(){
return typeLastBranch; }
83 static const int NTRY;
86 bool doMinBias, doDiffraction, doMPI, doMPIMB, doMPISDA, doMPISDB,
87 doMPIinit, doISR, doFSRduringProcess, doFSRafterProcess,
88 doFSRinResonances, doRemnants, doSecondHard, hasLeptonBeams,
89 hasPointLeptons, canVetoPT, canVetoStep, canVetoMPIStep,
91 double mMinDiff, mWidthDiff, pMaxDiff;
95 int nMPI, nISR, nFSRinProc, nFSRinRes, nISRhard, nFSRhard,
96 typeLatest, nVetoStep, typeVetoStep, nVetoMPIStep, iSysNow;
97 double pTsaveMPI, pTsaveISR, pTsaveFSR, pTvetoPT;
100 bool isMinBias, isDiffA, isDiffB, isDiff, isSingleDiff, isDoubleDiff,
101 isResolved, isResolvedA, isResolvedB;
102 int sizeProcess, sizeEvent, nHardDone, nHardDoneRHad;
104 vector<bool> inRHadDecay;
105 vector<int> iPosBefShow;
155 int decideResolvedDiff(
Event& process);
158 bool setupUnresolvedSys(
Event& process,
Event& event);
161 void setupHardSys(
int iHardLoop,
Event& process,
Event& event);
164 void setupResolvedDiff(
int iHardLoop,
Event& process);
167 void leaveResolvedDiff(
int iHardLoop,
Event& event);
179 bool doMergeFirstEmm;
187 #endif // Pythia8_PartonLevel_H