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