8 #ifndef Pythia8_DireSplittingLibrary_H 9 #define Pythia8_DireSplittingLibrary_H 11 #define DIRE_SPLITTINGLIBRARY_VERSION "2.002" 13 #include "Pythia8/Basics.h" 14 #include "Pythia8/BeamParticle.h" 15 #include "Pythia8/ParticleData.h" 16 #include "Pythia8/PythiaStdlib.h" 17 #include "Pythia8/Settings.h" 18 #include "Pythia8/StandardModel.h" 20 #include "Pythia8/DireSplittings.h" 21 #include "Pythia8/DireSplittingsQCD.h" 22 #include "Pythia8/DireSplittingsQED.h" 23 #include "Pythia8/DireSplittingsEW.h" 24 #include "Pythia8/DireSplittingsU1new.h" 25 #include "Pythia8/DireBasics.h" 26 #include "Pythia8/DireHooks.h" 41 infoPtr(0), settingsPtr(0), particleDataPtr(0),
42 rndmPtr(0), beamAPtr(0), beamBPtr(0), coupSMPtr(0), hooksPtr(0),
43 hasExternalHook(false) {}
47 void init(
Info* infoPtr, BeamParticlePtr beamA, BeamParticlePtr beamB,
53 void setTimesPtr (shared_ptr<DireTimes> fsrIn) {
54 for (unordered_map<string,DireSplitting*>::iterator
55 it = splittings.begin(); it != splittings.end(); ++it )
56 it->second->setTimesPtr(fsrIn);
58 void setTimesDecPtr (shared_ptr<DireTimes> fsrIn) {
59 for (unordered_map<string,DireSplitting*>::iterator
60 it = splittings.begin(); it != splittings.end(); ++it )
61 it->second->setTimesDecPtr(fsrIn);
63 void setSpacePtr (shared_ptr<DireSpace> isrIn) {
64 for (unordered_map<string,DireSplitting*>::iterator
65 it = splittings.begin(); it != splittings.end(); ++it )
66 it->second->setSpacePtr(isrIn);
69 unordered_map< string, DireSplitting* > getSplittings() {
return splittings;}
77 vector<int> getSplittingRadBefID_new(
const Event& event,
int rad,
int emt);
86 void setKernelHooks(
DireHooks* hooks) {hooksPtr = hooks;}
91 fsrQCD_21_to_21_and_21a,
92 fsrQCD_21_to_21_and_21b,
93 fsrQCD_21_to_1_and_1a,
94 fsrQCD_21_to_1_and_1b,
95 fsrQCD_1_to_2_and_1_and_2,
96 fsrQCD_1_to_1_and_1_and_1,
97 fsrQCD_1_to_1_and_21_notPartial,
98 fsrQCD_21_to_21_and_21_notPartial,
99 fsrQCD_21_to_1_and_1_notPartial,
100 fsrQCD_1_to_1_and_21_and_21,
101 fsrQCD_1_to_1_and_1_and_1a,
102 fsrQCD_1_to_1_and_1_and_1b,
103 fsrQCD_1_to_1_and_2_and_2a,
104 fsrQCD_1_to_1_and_2_and_2b,
105 fsrQCD_1_to_1_and_3_and_3a,
106 fsrQCD_1_to_1_and_3_and_3b,
107 fsrQCD_1_to_1_and_4_and_4a,
108 fsrQCD_1_to_1_and_4_and_4b,
109 fsrQCD_1_to_1_and_5_and_5a,
110 fsrQCD_1_to_1_and_5_and_5b,
111 fsrQCD_21_to_21_and_21_and_21,
112 fsrQCD_21_to_21_and_1_and_1a,
113 fsrQCD_21_to_21_and_1_and_1b,
114 fsrQCD_21_to_21_and_2_and_2a,
115 fsrQCD_21_to_21_and_2_and_2b,
116 fsrQCD_21_to_21_and_3_and_3a,
117 fsrQCD_21_to_21_and_3_and_3b,
118 fsrQCD_21_to_21_and_4_and_4a,
119 fsrQCD_21_to_21_and_4_and_4b,
120 fsrQCD_21_to_21_and_5_and_5a,
121 fsrQCD_21_to_21_and_5_and_5b,
122 isrQCD_1_to_1_and_21,
123 isrQCD_21_to_1_and_1,
124 isrQCD_21_to_21_and_21a,
125 isrQCD_21_to_21_and_21b,
126 isrQCD_1_to_21_and_1,
127 isrQCD_1_to_2_and_1_and_2,
128 isrQCD_1_to_1_and_1_and_1;
132 fsrQED_1_to_22_and_1,
133 fsrQED_11_to_11_and_22,
134 fsrQED_11_to_22_and_11,
135 fsrQED_22_to_1_and_1a,
136 fsrQED_22_to_1_and_1b,
137 fsrQED_22_to_2_and_2a,
138 fsrQED_22_to_2_and_2b,
139 fsrQED_22_to_3_and_3a,
140 fsrQED_22_to_3_and_3b,
141 fsrQED_22_to_4_and_4a,
142 fsrQED_22_to_4_and_4b,
143 fsrQED_22_to_5_and_5a,
144 fsrQED_22_to_5_and_5b,
145 fsrQED_22_to_11_and_11a,
146 fsrQED_22_to_11_and_11b,
147 fsrQED_22_to_13_and_13a,
148 fsrQED_22_to_13_and_13b,
149 fsrQED_22_to_15_and_15a,
150 fsrQED_22_to_15_and_15b,
151 fsrQED_1_to_1_and_22_notPartial,
152 fsrQED_11_to_11_and_22_notPartial,
153 isrQED_1_to_1_and_22,
154 isrQED_11_to_11_and_22,
155 isrQED_1_to_22_and_1,
156 isrQED_11_to_22_and_11,
157 isrQED_22_to_1_and_1,
158 isrQED_22_to_11_and_11;
160 ulong fsrEWK_1_to_1_and_23,
161 fsrEWK_1_to_23_and_1,
162 fsrEWK_23_to_1_and_1a,
163 fsrEWK_23_to_1_and_1b,
164 fsrEWK_24_to_1_and_1a,
165 fsrEWK_24_to_1_and_1b,
166 fsrEWK_25_to_24_and_24,
167 fsrEWK_25_to_22_and_22,
168 fsrEWK_25_to_21_and_21,
169 fsrEWK_24_to_24_and_22,
170 isrEWK_1_to_1_and_23;
172 ulong fsrU1N_1_to_1_and_22,
173 fsrU1N_1_to_22_and_1,
174 fsrU1N_11_to_11_and_22,
175 fsrU1N_11_to_22_and_11,
176 fsrU1N_22_to_1_and_1a,
177 fsrU1N_22_to_1_and_1b,
178 fsrU1N_22_to_2_and_2a,
179 fsrU1N_22_to_2_and_2b,
180 fsrU1N_22_to_3_and_3a,
181 fsrU1N_22_to_3_and_3b,
182 fsrU1N_22_to_4_and_4a,
183 fsrU1N_22_to_4_and_4b,
184 fsrU1N_22_to_5_and_5a,
185 fsrU1N_22_to_5_and_5b,
186 fsrU1N_22_to_11_and_11a,
187 fsrU1N_22_to_11_and_11b,
188 fsrU1N_22_to_13_and_13a,
189 fsrU1N_22_to_13_and_13b,
190 fsrU1N_22_to_15_and_15a,
191 fsrU1N_22_to_15_and_15b,
192 fsrU1N_22_to_211_and_211a,
193 fsrU1N_22_to_211_and_211b,
194 isrU1N_1_to_1_and_22,
195 isrU1N_1_to_22_and_1,
196 isrU1N_22_to_1_and_1,
197 isrU1N_11_to_11_and_22,
198 isrU1N_11_to_22_and_11,
199 isrU1N_22_to_11_and_11;
203 unordered_map< string, DireSplitting* > splittings;
208 BeamParticlePtr beamAPtr;
209 BeamParticlePtr beamBPtr;
215 bool hasExternalHook;
void init(Info *infoPtr, BeamParticlePtr beamA, BeamParticlePtr beamB, DireInfo *direInfo, DireHooks *hooks=nullptr)
Initialisation.
Definition: DireSplittingLibrary.cc:30
void clear()
class SplittingLibrary
Definition: DireSplittingLibrary.cc:20
The Event class holds all info on the generated event.
Definition: Event.h:408
ulong fsrQED_1_to_1_and_22
Some string name hashes, to avoid string conparisons.
Definition: DireSplittingLibrary.h:131
ulong fsrQCD_1_to_1_and_21
Some string name hashes, to avoid string conparisons.
Definition: DireSplittingLibrary.h:89
vector< int > getSplittingRadBefID(const Event &event, int rad, int emt)
Generate name for a splitting.
Definition: DireSplittingLibrary.cc:614
Definition: DireBasics.h:374
DireSplitting * operator[](string id)
Overload index operator to access element of splitting vector.
Definition: DireSplittingLibrary.cc:600
Definition: DireSplittings.h:53
int nEmissions(string name)
Check number of particles produced in splitting.
Definition: DireSplittingLibrary.cc:688
Definition: StandardModel.h:135
DireSplittingLibrary()
Constructor and destructor.
Definition: DireSplittingLibrary.h:40
void initISR()
Definition: DireSplittingLibrary.cc:516
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
Hooks is base class for user access to program execution.
Definition: DireHooks.h:20
vector< string > getSplittingName_new(const Event &event, int rad, int emt)
Generate name for a splitting.
Definition: DireSplittingLibrary.cc:638
void initFSR()
Definition: DireSplittingLibrary.cc:173
Definition: DireSplittingLibrary.h:35
vector< string > getSplittingName(const Event &event, int rad, int emt)
Generate name for a splitting.
Definition: DireSplittingLibrary.cc:681
This class holds a map of all ParticleDataEntries.
Definition: ParticleData.h:422
Definition: Settings.h:196