]>
Commit | Line | Data |
---|---|---|
63ba5337 | 1 | <html> |
2 | <head> | |
3 | <title>Program Files</title> | |
4 | <link rel="stylesheet" type="text/css" href="pythia.css"/> | |
5 | <link rel="shortcut icon" href="pythia32.gif"/> | |
6 | </head> | |
7 | <body> | |
8 | ||
9 | <h2>Program Files</h2> | |
10 | ||
11 | The code is subdivided into a set of files, mainly by physics | |
12 | task. Each file typically contains one main class, but often | |
13 | with a few related helper classes that are not used elsewhere in | |
14 | the program. Normally the files come in pairs. | |
15 | <ul> | |
16 | <li>A header file, <code>.h</code> in the <code>include</code> | |
17 | subdirectory, where the public interface of the class is declared, | |
18 | and inline methods are defined.</li> | |
19 | <li>A source code file, <code>.cc</code> in the <code>src</code> | |
20 | subdirectory, where most of the methods are implemented.</li> | |
21 | </ul> | |
22 | During compilation, related dependency files, <code>.d</code>, and | |
23 | compiled code, <code>.o</code> are created in the <code>tmp</code> | |
24 | subdirectory. | |
25 | ||
26 | <p/> | |
27 | In part the <code>.xml</code> documentation files in the | |
28 | <code>xmldoc</code> subdirectory have matching names, but the match | |
29 | is broken by the desire to group topics more by user interaction than | |
30 | internal operation. On these pages the function of the different code | |
31 | files is summarized. Currently, each <code>.xml</code> file is also | |
32 | translated into an <code>.html</code> one in the | |
33 | <code>htmldoc</code> subdirectory, to allow easy viewing of the | |
34 | contents in a web browser, and an <code>.php</code> one in | |
35 | <code>phpdoc</code>, for more sophisticated interactivity | |
36 | if that subdirectory is installed on a web server. | |
37 | ||
38 | <p/> | |
39 | Here is the current list of files, ordered alphabetically, with a brief | |
40 | description of contents. | |
41 | ||
42 | <p/><code>file </code><strong> Analysis </strong> <br/> | |
43 | contains routines to analyze events. Currently it can do sphericity, | |
44 | thrust, Lund/Jade/Durham jet clustering, cone-jet finding, and the | |
45 | <i>kT</i>, anti-<i>kT</i> and Cambridge/Aachen algorithms for | |
46 | hadron colliders. | |
47 | ||
48 | ||
49 | <p/><code>file </code><strong> Basics </strong> <br/> | |
50 | contains some basic facilities of general use: a random number | |
51 | generator <code>Rndm</code>, a four-vector class <code>Vec4</code>, and a | |
52 | histogram class <code>Hist</code>. | |
53 | ||
54 | ||
55 | <p/><code>file </code><strong> BeamParticle </strong> <br/> | |
56 | contains information on all partons extracted from one of the two | |
57 | beams. Defines modified parton distributions accordingly during the | |
58 | showering and multiparton interactions processing, thereby extending on | |
59 | the one-particle-inclusive distributions defined by the previous class. | |
60 | Finds the internal structure for a beam remnant. | |
61 | ||
62 | ||
63 | <p/><code>file </code><strong> BeamRemnants </strong> <br/> | |
64 | adds primordial <i>kT</i> to the set of hard subsystems, | |
65 | and combines these subsystems with the two beam remnants to provide | |
66 | the overall energy-momentum picture. Also ties together all the | |
67 | colour lines into consistent singlets. | |
68 | ||
69 | ||
70 | <p/><code>file </code><strong> BeamShape </strong> <br/> | |
71 | generates momentum spread of beams, and spread of collision vertex | |
72 | position. | |
73 | ||
74 | ||
75 | <p/><code>file </code><strong> BoseEinstein </strong> <br/> | |
76 | provides a simple method to impose Bose-Einstein correlations on | |
77 | pairs of identical mesons. | |
78 | ||
79 | ||
80 | <p/><code>file </code><strong> Event </strong> <br/> | |
81 | contains the event record, which basically is a vector of particles. | |
82 | This file also contains the <code>Particle</code> class, used by | |
83 | <code>Event</code>. <code>Pythia</code> uses two <code>Event</code> | |
84 | objects, one for the process-level record (<code>process</code>) and | |
85 | one for the complete event (<code>event</code>). | |
86 | ||
87 | ||
88 | <p/><code>file </code><strong> FragmentationFlavZpT </strong> <br/> | |
89 | contains the classes for describing the fragmentation steps in | |
90 | flavour and in longitudinal and transverse momentum. | |
91 | ||
92 | ||
93 | <p/><code>file </code><strong> FragmentationSystems </strong> <br/> | |
94 | defines some containers of parton systems, for use in | |
95 | the fragmentation routines. | |
96 | ||
97 | ||
98 | <p/><code>file </code><strong> HadronLevel </strong> <br/> | |
99 | turns the parton-level event above into a set of outgoing particles, | |
100 | by applying string fragmentation (with special treatment for low-mass | |
101 | systems) and secondary decays, and optionally Bose-Einstein corrections. | |
102 | ||
103 | ||
104 | <p/><code>file </code><strong> HelicityBasics </strong> <br/> | |
105 | basic classes for the handling of helicities in tau lepton decays. | |
106 | ||
107 | ||
108 | <p/><code>file </code><strong> HelicityMatrixElements </strong> <br/> | |
109 | helicity-dependent decay matrix elements for the tau lepton. | |
110 | ||
111 | ||
112 | <p/><code>file </code><strong> HepMCInterface </strong> <br/> | |
113 | contains an interface to convert the PYTHIA 8 event record into the | |
114 | HepMC format. The <code>HepMCInterface.cc</code> file is located in | |
115 | the subdirectory <code>hepmcinterface</code> and is used to build a | |
116 | separate <code>libhepmcinterface</code> library. | |
117 | ||
118 | ||
119 | <p/><code>file </code><strong> HiddenValleyFragmentation </strong> <br/> | |
120 | hadronization in models with a hidden sector that contains an unbroken | |
121 | <i>SU(N)</i>, which gives confinement. The model and code is largely | |
122 | derived from the normal fragmentation classes. | |
123 | ||
124 | ||
125 | <p/><code>file </code><strong> History </strong> <br/> | |
126 | methods to reconstruct the imagined shower history of a | |
127 | matrix-element-generated multiparton configuration, as part of | |
128 | the CKKW-L matrix element merging. | |
129 | ||
130 | ||
131 | <p/><code>file </code><strong> Info </strong> <br/> | |
132 | is a simple container that gives access to some information on the | |
133 | nature of the current process, such as Mandelstam variables. | |
134 | Also contains a small database for errors and warnings encountered | |
135 | during program execution. | |
136 | ||
137 | ||
138 | <p/><code>file </code><strong> LesHouches </strong> <br/> | |
139 | gives the possibility to feed in parton configurations for the | |
140 | subsequent event generation. One base class is defined, with containers | |
141 | for initialization and event information, that can be read from | |
142 | <code>Pythia</code>. Derived classes allow for a few different cases. | |
143 | ||
144 | ||
145 | <p/><code>file </code><strong> LHAFortran </strong> <br/> | |
146 | is a header file only, for a class derived from the above LesHouches | |
147 | one, to be used for runtime interfacing to Fortran programs, such as | |
148 | PYTHIA 6. | |
149 | ||
150 | ||
151 | <p/><code>file </code><strong> LHAPDFInterface </strong> <br/> | |
152 | is a header file only, with interfaces to the key LHAPDF routines, | |
153 | as needed for a runtime interface. There is a file | |
154 | <code>lhapdfdummy/LHAPDFdummy.cc</code> with matching dummy | |
155 | implementations, however. This file is used to build a separate | |
156 | <code>liblhapdfdummy</code> library, to be linked when the LHAPDF | |
157 | library is not used, so as to avoid problems with undefined references. | |
158 | ||
159 | ||
160 | <p/><code>file </code><strong> MergingHooks </strong> <br/> | |
161 | intercede in the normal shower evolution to construct the relevant | |
162 | Sudakov form factor suppressions as part of the CKKW-L matrix element | |
163 | merging. | |
164 | ||
165 | ||
166 | <p/><code>file </code><strong> MiniStringFragmentation </strong> <br/> | |
167 | performs string fragmentation in cases where the colour singlet | |
168 | subsystem mass is so small that one or at most two primary hadrons | |
169 | should be produced from it. | |
170 | ||
171 | ||
172 | <p/><code>file </code><strong> MultipartonInteractions </strong> <br/> | |
173 | performs multiparton interactions. | |
174 | ||
175 | ||
176 | <p/><code>file </code><strong> ParticleData </strong> <br/> | |
177 | contains a database of all necessary particle data (masses, names, ..) | |
178 | and decay channels. | |
179 | ||
180 | ||
181 | <p/><code>file </code><strong> ParticleDecays </strong> <br/> | |
182 | performs the decays of all normal unstable hadrons and leptons, i.e. | |
183 | in mass up to and including <i>b bbar</i> systems. It is not | |
184 | intended for decays of electroweak resonances, like <i>Z^0</i>. | |
185 | ||
186 | ||
187 | <p/><code>file </code><strong> PartonDistributions </strong> <br/> | |
188 | contains parton distribution functions for the proton and electron. | |
189 | Currently very simple, with only two <i>p</i> parametrizations | |
190 | and one <i>e</i> ditto available, but it is possible to link in | |
191 | external sets. | |
192 | ||
193 | ||
194 | <p/><code>file </code><strong> PartonLevel </strong> <br/> | |
195 | turns the (hard) process above into a complete set of partons, by | |
196 | adding initial- and final-state radiation, multiparton | |
197 | interactions, and beam remnants. | |
198 | ||
199 | ||
200 | <p/><code>file </code><strong> PartonSystems </strong> <br/> | |
201 | keeps track of which partons belong to which partonic subsystem, | |
202 | i.e. one of the multiparton (semi)hard interactions with associated | |
203 | showers. | |
204 | ||
205 | ||
206 | <p/><code>file </code><strong> PhaseSpace </strong> <br/> | |
207 | selects a point in phase space for the hard-process generation, | |
208 | optimized separately for each process to give improved Monte Carlo | |
209 | efficiency. | |
210 | ||
211 | ||
212 | <p/><code>file </code><strong> ProcessContainer </strong> <br/> | |
213 | packages the information on a given subprocess, combining the | |
214 | phase-space selection and cross-section evaluation machineries | |
215 | with some statistics information. Also sets up the list of processes | |
216 | to be studied in a run. | |
217 | ||
218 | ||
219 | <p/><code>file </code><strong> ProcessLevel </strong> <br/> | |
220 | handles the generation of the (hard) process that sets the character | |
221 | of the event. This involves either using internally implemented | |
222 | processes or linking to Les Houches information. The latter can | |
223 | be by runtime interfaces or by reading in a file. This step also | |
224 | includes resonance decays. | |
225 | ||
226 | ||
227 | <p/><code>file </code><strong> Pythia </strong> <br/> | |
228 | is the main class, that administrates the whole event generation | |
229 | process by making use of all the others classes. Objects of most | |
230 | other classes reside (directly or indirectly) inside <code>Pythia</code>, | |
231 | so only a <code>Pythia</code> object needs to be explicitly instantiated | |
232 | and addressed by the user. | |
233 | ||
234 | ||
235 | <p/><code>file </code><strong> PythiaComplex </strong> <br/> | |
236 | is only a <code>.h</code> file, containing a <code>typedef</code> for | |
237 | double precision complex numbers. | |
238 | ||
239 | ||
240 | <p/><code>file </code><strong> PythiaStdlib </strong> <br/> | |
241 | contains most of the <code>Stdlib</code> headers used in PYTHIA 8, | |
242 | with <code>using</code> directives. It defines <code>M_PI</code> if | |
243 | this is not already done. Also a few simple inline methods: | |
244 | <code>pow2(x)</code>, <code>pow3(x)</code>, <code>pow4(x)</code>, | |
245 | <code>pow5(x)</code> and <code>pow6(x)</code> for small integer | |
246 | powers, and <code>sqrtpos(x)</code> where a <code>max(0., x)</code> | |
247 | ensures that one does not take the square root of a negative number. | |
248 | Also non-inlined <code>GammaReal(x)</code> for the <i>Gamma</i> | |
249 | function value of a real argument. | |
250 | ||
251 | ||
252 | <p/><code>file </code><strong> ResonanceDecays </strong> <br/> | |
253 | decays resonances as part of the hard-process stage, in many cases | |
254 | (but not all) including angular correlations between the decay products. | |
255 | ||
256 | ||
257 | <p/><code>file </code><strong> ResonanceWidths </strong> <br/> | |
258 | encodes some properties of resonances, in particular the dynamic | |
259 | calculation of widths. | |
260 | ||
261 | ||
262 | <p/><code>file </code><strong> RHadrons </strong> <br/> | |
263 | handles the production and decay of hadrons formed by long-lived | |
264 | gluinos, stops or sbottoms. | |
265 | ||
266 | ||
267 | <p/><code>file </code><strong> Settings </strong> <br/> | |
268 | contains a database of all flags, modes, parameters and words that | |
269 | determine the performance of the generator. Initial values are obtained | |
270 | from the contents of the <code>.xml</code> files, but these values can | |
271 | then be changed by the user. | |
272 | ||
273 | ||
274 | <p/><code>file </code><strong> SigmaCompositeness </strong> <br/> | |
275 | contains the cross sections and matrix elements for production of | |
276 | some particles in compositeness scenarios, specifically excited | |
277 | fermions. | |
278 | ||
279 | ||
280 | <p/><code>file </code><strong> SigmaEW </strong> <br/> | |
281 | contains the cross sections and matrix elements for electroweak | |
282 | processes involving photons, <i>Z^0</i>'s and <i>W^+-</i>'s. | |
283 | ||
284 | ||
285 | <p/><code>file </code><strong> SigmaExtraDim </strong> <br/> | |
286 | contains the cross sections and matrix elements for processes in | |
287 | scenarios involving extra dimensions. | |
288 | ||
289 | ||
290 | <p/><code>file </code><strong> SigmaGeneric </strong> <br/> | |
291 | contains the cross sections and matrix elements for some generic | |
292 | processes, to be used as building blocks for a few BSM scenarios. | |
293 | ||
294 | ||
295 | <p/><code>file </code><strong> SigmaHiggs </strong> <br/> | |
296 | contains the cross sections and matrix elements for Higgs production. | |
297 | ||
298 | ||
299 | <p/><code>file </code><strong> SigmaLeftRightSym </strong> <br/> | |
300 | contains the cross sections and matrix elements for particle production | |
301 | in left-right-symmetry scenarios, specifically righthanded <i>Z</i> | |
302 | and <i>W</i> bosons and doubly-charged Higgs bosons. | |
303 | ||
304 | ||
305 | <p/><code>file </code><strong> SigmaLeptoquark </strong> <br/> | |
306 | contains the cross sections and matrix elements for leptoquark production. | |
307 | ||
308 | ||
309 | <p/><code>file </code><strong> SigmaNewGaugeBosons </strong> <br/> | |
310 | contains the cross sections and matrix elements for a <i>Z'^0</i>, | |
311 | a <i>W^+-</i> and a horizontal gauge boson <i>R^0</i>. | |
312 | ||
313 | ||
314 | <p/><code>file </code><strong> SigmaOnia </strong> <br/> | |
315 | contains the cross sections and matrix elements for charmonium and | |
316 | bottomonium production. | |
317 | ||
318 | ||
319 | <p/><code>file </code><strong> SigmaProcess </strong> <br/> | |
320 | contains the base class and derived classes for the evaluation of | |
321 | different matrix elements. Also keeps track of allowed incoming | |
322 | parton configurations and their cross sections, including parton | |
323 | densities. In order to keep this file from becoming too big, actual | |
324 | cross sections are found in several separate files of derived classes: | |
325 | <code>SigmaQCD</code>, <code>SigmaEW</code>, <code>SigmaOnia</code>, | |
326 | <code>SigmaHiggs</code>, <code>SigmaSUSY</code>, | |
327 | <code>SigmaNewGaugeBosons</code>, <code>SigmaLeftRightSym</code>, | |
328 | <code>SigmaLeptoquark</code>, <code>SigmaCompositeness</code>, | |
329 | <code>SigmaExtraDim</code> and <code>SigmaGeneric</code>. | |
330 | ||
331 | ||
332 | <p/><code>file </code><strong> SigmaQCD </strong> <br/> | |
333 | contains the cross sections and matrix elements for soft and hard | |
334 | QCD processes. | |
335 | ||
336 | ||
337 | <p/><code>file </code><strong> SigmaSUSY </strong> <br/> | |
338 | contains the cross sections and matrix elements for Supersymmetric | |
339 | processes. | |
340 | ||
341 | ||
342 | <p/><code>file </code><strong> SigmaTotal </strong> <br/> | |
343 | contains parametrizations of total, elastic and diffractive hadronic | |
344 | cross sections. | |
345 | ||
346 | ||
347 | <p/><code>file </code><strong> SpaceShower </strong> <br/> | |
348 | performs spacelike initial-state transverse-momentum-ordered | |
349 | shower evolution. | |
350 | ||
351 | ||
352 | <p/><code>file </code><strong> StandardModel </strong> <br/> | |
353 | contains the running <i>alpha_strong</i>, with <i>Lambda</i> | |
354 | matching at flavour thresholds, the running <i>alpha_em</i>, | |
355 | CKM mixing matrices, and a few other parameters such as | |
356 | <i>sin^2(theta_W)</i>. | |
357 | ||
358 | ||
359 | <p/><code>file </code><strong> StringFragmentation </strong> <br/> | |
360 | performs string fragmentation of a given set of partons. | |
361 | ||
362 | ||
363 | <p/><code>file </code><strong> SusyCouplings </strong> <br/> | |
364 | stores the various couplings used for SUSY cross sections and | |
365 | decays, as calculated from input e.g. based on the SUSY Les Houches | |
366 | Accord. | |
367 | ||
368 | ||
369 | <p/><code>file </code><strong> SusyLesHouches </strong> <br/> | |
370 | contains information on SUSY parameters and particle data as specified | |
371 | by the SUSY Les Houches Accord. | |
372 | ||
373 | ||
374 | <p/><code>file </code><strong> TauDecays </strong> <br/> | |
375 | the main routines for handling tau lepton decays with helicity | |
376 | information. | |
377 | ||
378 | ||
379 | <p/><code>file </code><strong> TimeShower </strong> <br/> | |
380 | performs timelike final-state transverse-momentum-ordered | |
381 | shower evolution. | |
382 | ||
383 | ||
384 | <p/><code>file </code><strong> UserHooks </strong> <br/> | |
385 | Provides a way for a user to study the event at a few intermediate | |
386 | stages of evolution, to reject the event as a whole or to modify | |
387 | its cross-section weight. | |
388 | ||
389 | ||
390 | </body> | |
391 | </html> | |
392 | ||
393 | <!-- Copyright (C) 2012 Torbjorn Sjostrand --> |