10 #ifndef Pythia8_Merging_H
11 #define Pythia8_Merging_H
13 #include "Pythia8/Basics.h"
14 #include "Pythia8/BeamParticle.h"
15 #include "Pythia8/Event.h"
16 #include "Pythia8/History.h"
17 #include "Pythia8/Info.h"
18 #include "Pythia8/MergingHooks.h"
19 #include "Pythia8/ParticleData.h"
20 #include "Pythia8/PartonLevel.h"
21 #include "Pythia8/PythiaStdlib.h"
22 #include "Pythia8/Settings.h"
23 #include "Pythia8/StandardModel.h"
40 void initPtr( Settings* settingsPtrIn, Info* infoPtrIn,
41 ParticleData* particleDataPtrIn, Rndm* rndmPtrIn,
42 BeamParticle* beamAPtrIn, BeamParticle* beamBPtrIn,
43 MergingHooks* mergingHooksPtrIn, PartonLevel* trialPartonLevelPtrIn,
44 CoupSM* coupSMPtrIn) { settingsPtr = settingsPtrIn; infoPtr = infoPtrIn;
45 particleDataPtr = particleDataPtrIn; rndmPtr = rndmPtrIn;
46 beamAPtr = beamAPtrIn; beamBPtr = beamBPtrIn;
47 trialPartonLevelPtr = trialPartonLevelPtrIn;
48 mergingHooksPtr = mergingHooksPtrIn; coupSMPtr = coupSMPtrIn;
55 virtual void statistics();
58 virtual int mergeProcess(
Event& process);
67 Merging() { settingsPtr = 0; infoPtr = 0; particleDataPtr = 0;
68 rndmPtr = 0; beamAPtr = 0; beamBPtr = 0; trialPartonLevelPtr = 0;
69 mergingHooksPtr = 0; }
75 Settings* settingsPtr;
81 ParticleData* particleDataPtr;
87 PartonLevel* trialPartonLevelPtr;
90 MergingHooks* mergingHooksPtr;
93 BeamParticle* beamAPtr;
94 BeamParticle* beamBPtr;
101 static const double TMSMISMATCH;
104 int mergeProcessCKKWL(
Event& process);
107 int mergeProcessUMEPS(
Event& process);
110 int mergeProcessNL3(
Event& process);
113 int mergeProcessUNLOPS(
Event& process);
116 bool cutOnProcess(
Event& process);
124 #endif // Pythia8_Merging_H