1 | <html> |
---|
2 | <head> |
---|
3 | <title>Sample Main Programs</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>Sample Main Programs</h2> |
---|
10 | |
---|
11 | Descriptions of available classes, methods and settings are all |
---|
12 | very good and useful. Ultimately they are necessary for you to |
---|
13 | be able to fine-tune your runs to the task at hand. To get going, |
---|
14 | however, nothing helps like having explicit examples to study. |
---|
15 | This is what is provided in the <code>examples</code> subdirectory, |
---|
16 | along with instructions how they should be run: |
---|
17 | <ul> |
---|
18 | |
---|
19 | <li><code>main00.cc</code> : does not exist, but it has been defined |
---|
20 | in the <code>Makefile</code>, so this name could be used for a simple |
---|
21 | first test run. |
---|
22 | |
---|
23 | <li><code>main01.cc</code> : a simple study of the charged multiplicity |
---|
24 | for jet events at the LHC. (Brief example fitting on one slide.)</li> |
---|
25 | |
---|
26 | <li><code>main02.cc</code> : a simple study of the <i>pT</i> spectrum |
---|
27 | of Z bosons at the Tevatron. (Brief example fitting on one slide.)</li> |
---|
28 | |
---|
29 | <li><code>main03.cc</code> : a simple study of several different kinds |
---|
30 | of events, with the choice to be made in the <code>main03.cmnd</code> |
---|
31 | "cards file".</li> |
---|
32 | |
---|
33 | <li><code>main04.cc</code> : tests of cross sections, multiplicities and |
---|
34 | average transverse momenta for elastic, diffractive and nondiffractive |
---|
35 | topologies, using <code>main04.cmnd</code> to pick processes.</li> |
---|
36 | |
---|
37 | <li><code>main05.cc</code> : generation of QCD jet events at the LHC, |
---|
38 | with jet analysis using the <code>SlowJet</code> inclusive anti-<i>kT</i> |
---|
39 | sequential-recombination finder and the <code>CellJet</code> |
---|
40 | cone-jet finder.</li> |
---|
41 | |
---|
42 | <li><code>main06.cc</code> : generation of LEP1 hadronic events, i.e. |
---|
43 | <i>e^+e^- -> gamma*/Z^0 -> q qbar</i>, with charged multiplicity, |
---|
44 | sphericity, thrust and jet analysis.</li> |
---|
45 | |
---|
46 | <li><code>main07.cc</code> : set up a fictitious production process |
---|
47 | to a generic resonance, where you easily can compose your own list |
---|
48 | of (two-body) decay modes to a variety of final states. Also traces |
---|
49 | decay chains down to truly stable particles: gamma, e+-, p/pbar and |
---|
50 | neutrinos. Suitable for astroparticle applications, like neutralino |
---|
51 | pair annihilation, where cross sections are calculated separately |
---|
52 | in another program.</li> |
---|
53 | |
---|
54 | <li><code>main08.cc</code> : generation of the QCD jet cross section |
---|
55 | biased towards higher pT values, by two different techniques. |
---|
56 | Firstly, by splitting the run into subruns, each in its own <i>pT</i> |
---|
57 | bin, and adding the results properly reweighted. Two suboptions, with |
---|
58 | limits set either in the main program or by subrun specification in the |
---|
59 | <code>main08.cmnd</code> file. Secondly, by a continuous reweighting |
---|
60 | with a <i>pT^4</i> bias in the selection, compensated by a |
---|
61 | <i>1/pT^4</i> event weight. Also inclusion of soft processes is |
---|
62 | illustrated, with subruns and weighted events.</li> |
---|
63 | |
---|
64 | <li><code>main09.cc</code> : generation of two predetermined hard |
---|
65 | interactions in each event.</li> |
---|
66 | |
---|
67 | <li><code>main10.cc</code> : illustration how userHooks can be used |
---|
68 | interact directly with the event-generation process.</li> |
---|
69 | |
---|
70 | <li><code>main11.cc</code> : a study of top events, fed in from the |
---|
71 | Les Houches Event File <code>ttbar.lhe</code>, here generated by |
---|
72 | PYTHIA 6.4. This file currently only contains 100 events |
---|
73 | so as not to make the distributed PYTHIA package too big, and so serves |
---|
74 | mainly as a demonstration of the principles involved. </li> |
---|
75 | |
---|
76 | <li><code>main12.cc</code> : a more sophisticated variant of |
---|
77 | <code>main11.cc</code>, where two Les Houches Event Files |
---|
78 | (<code>ttbar.lhe</code> and <code>ttbar2.lhe</code>) successively |
---|
79 | are used as input. Also illustrating some other aspects, like the |
---|
80 | capability to mix in internally generated events.</li> |
---|
81 | |
---|
82 | <li><code>main13.cc</code> : a streamlined version of |
---|
83 | <code>main12.cc</code>, where two Les Houches Event Files |
---|
84 | (<code>ttbar.lhe</code> and <code>ttbar2.lhe</code>) successively |
---|
85 | are used as input in <code>main13.cmnd</code> file.</li> |
---|
86 | |
---|
87 | <li><code>main14.cc</code> : a systematic comparison of several |
---|
88 | cross section values with their corresponding values in PYTHIA 6.4, |
---|
89 | the latter available as a table in the code.</li> |
---|
90 | |
---|
91 | <li><code>main15.cc</code> : loop over several tries, either to redo |
---|
92 | B decays only or to redo the complete hadronization chain of an event. |
---|
93 | Since much of the generation process is only made once this is a way |
---|
94 | to increase efficiency.</li> |
---|
95 | |
---|
96 | <li><code>main16.cc</code> : put all user analysis code into a class |
---|
97 | of its own, separate from the main program; provide the "cards file" |
---|
98 | name as a command-line argument.</li> |
---|
99 | |
---|
100 | <li><code>main17.cc</code> : shows (a) how to use UserHooks to |
---|
101 | regularize onium cross section for pT -> 0, and (b) how decays |
---|
102 | could be handled externally.</li> |
---|
103 | |
---|
104 | <li><code>main18.cc</code> : shows how to write an event filter class, |
---|
105 | where you keep a vector of pointers to the subset of particles you |
---|
106 | want to study further. The event record itself remains unchanged.</li> |
---|
107 | |
---|
108 | <li><code>main19.cc</code> : use several instances of Pythia, one for |
---|
109 | signal events and others for a variable number of pileup and "beam-gas" |
---|
110 | events, combined into one common event record.</li> |
---|
111 | |
---|
112 | <li><code>main20.cc</code> : shows how PYTHIA 8 can write a Les Houches |
---|
113 | Event File, using facilities potentially useful also for other programs |
---|
114 | to write an LHEF.</li> |
---|
115 | |
---|
116 | <li><code>main21.cc</code> : an example how a single particle or various |
---|
117 | parton-level configurations can be input directly for hadronization, |
---|
118 | without being tied to the full process-generation machinery, e.g. to |
---|
119 | study the hadronization of junction topologies. Can also be used for |
---|
120 | single-resonance decays, with showers.</li> |
---|
121 | |
---|
122 | <li><code>main22.cc</code> : shows how an external resonance can be |
---|
123 | implemented as a new class derived from a PYTHIA base class, and be |
---|
124 | used in an external process, both of them handed in for generation |
---|
125 | as with normal internal classes.</li> |
---|
126 | |
---|
127 | <li><code>main23.cc</code> : shows how an external beam momentum spread |
---|
128 | and vertex location generator can be implemented as a new class derived |
---|
129 | from a PYTHIA base class, and then handed in for internal use. |
---|
130 | Also how to use an external random-number generator and an external |
---|
131 | parton distribution set.</li> |
---|
132 | |
---|
133 | <li><code>main24.cc</code> : tests of internally implemented cross sections |
---|
134 | for Supersymmetric particle production, with SYSY spectrum defined in |
---|
135 | <code>cmssm.spc</code> and settings in <code>main24.cmnd</code>. For |
---|
136 | illustration, an alternative example spectrum is also |
---|
137 | available, <code>sps1aWithDecays.spc</code>, which contains a decay |
---|
138 | table in SLHA format.</li> |
---|
139 | |
---|
140 | <li><code>main25.cc</code> : input RPV-SUSY events from an LHEF file that |
---|
141 | contains an SLHA spectrum inside its header. The event file, |
---|
142 | <code>main25.lhe</code>, contains a sample events that |
---|
143 | illustrate how to arrange color tags in the presence of the |
---|
144 | color-space epsilon tensors that accompany baryon number violating |
---|
145 | event topologies. </li> |
---|
146 | |
---|
147 | <li><code>main26.cc</code> : test program for processes in scenarios |
---|
148 | with large extra dimensions or unparticles. </li> |
---|
149 | |
---|
150 | <li><code>main27.cc</code> : production of Kaluza-Klein <i>gamma/Z</i> |
---|
151 | states in TeV-sized extra dimensions. </li> |
---|
152 | |
---|
153 | <li><code>main28.cc</code> : production of long-lived R-hadrons, that |
---|
154 | are forced to decay at a separate vertices and possibly with changed |
---|
155 | momenta.</li> |
---|
156 | |
---|
157 | <li><code>main31.cc</code> : exemplifies an improved matching of |
---|
158 | parton showers to LHEF-style input based on the POWHEG approach. |
---|
159 | The <code>main31.cmnd</code> allows to switch between several |
---|
160 | different matching options. It also allows to select input process, |
---|
161 | in this case either for the POWHEG-hvq program applied to top |
---|
162 | pair production [<a href="Bibliography.html" target="page">Cor10</a>] or for QCD 2+3-jet events. The small |
---|
163 | samples of input events are stored in the <code>powheg-hvq.lhe</code> |
---|
164 | and <code>powheg-dijets.lhe</code> files, respectively. |
---|
165 | </li> |
---|
166 | |
---|
167 | <li><code>main32.cc</code> : exemplifies MLM merging for ALPGEN events, |
---|
168 | see <a href="AlpgenAndMLM.html" target="page">ALPGEN and MLM merging</a> for further |
---|
169 | details. Traditionally the ALPGEN output is split into one file with |
---|
170 | events and another with parameters and cross sections (unlike in LHEF). |
---|
171 | Here a sample of <i>W + 3 jets</i> events is stored in |
---|
172 | <code>main32.unw</code> and the parameters to go with it in |
---|
173 | <code>main32_unw.par</code>, while normal PYTHIA control cards are in |
---|
174 | <code>main32.cmnd</code>. |
---|
175 | </li> |
---|
176 | |
---|
177 | <li><code>main41.cc</code> : similar to <code>main01</code>, except that |
---|
178 | the event record is output in the HepMC event record format. Requires that |
---|
179 | HepMC is properly linked. Note that the <code>hepmcout41.dat</code> output |
---|
180 | file can become quite big; so no example is included in this |
---|
181 | distribution.</li> |
---|
182 | |
---|
183 | <li><code>main42.cc</code> : a streamlined version for the generation |
---|
184 | of events that are then stored in HepMC format, without any event |
---|
185 | analysis. That is, all physics studies will have to be done afterwards. |
---|
186 | The name of the input "cards file" (e.g. <code>main42.cmnd</code>) |
---|
187 | and output HepMC event file (e.g. <code>hepmcout42.dat</code>) are to |
---|
188 | be provided as command-line arguments. Requires that HepMC is properly |
---|
189 | linked. Note that the HepMC output file can become quite big; so no |
---|
190 | example is included in this distribution.</li> |
---|
191 | |
---|
192 | <li><code>main51.cc</code> : a test of the shape of parton densities, |
---|
193 | as a check prior to using a given PDF set in a generator. Requires |
---|
194 | that LHAPDF is properly linked.</li> |
---|
195 | |
---|
196 | <li><code>main52.cc</code> : compares the charged multiplicity |
---|
197 | distribution, and a few other minimum-bias physics aspects, between |
---|
198 | default PYTHIA PDF and another one. Requires that LHAPDF is properly |
---|
199 | linked.</li> |
---|
200 | |
---|
201 | <li><code>main53.cc</code> : tests the possibility to do backwards |
---|
202 | evolution from an incoming photon at the hard interaction. Requires |
---|
203 | that you link to a LHAPDF set that includes the photon PDF.</li> |
---|
204 | |
---|
205 | <li><code>main61.cc</code> : a streamlined version for the generation |
---|
206 | of events that are then stored in HepMC format, without any event |
---|
207 | analysis. That is, just like <code>main42.cc</code>, with the difference |
---|
208 | that <code>main61.cc</code> can be used in conjunction with LHAPDF. |
---|
209 | The name of the input "cards file" (e.g. <code>main61.cmnd</code>) |
---|
210 | and output HepMC event file (e.g. <code>hepmcout61.dat</code>) are to |
---|
211 | be provided as command-line arguments. Requires that HepMC and LHAPDF |
---|
212 | are properly linked. Note that the HepMC output file can become quite |
---|
213 | big; so no example is included in this distribution.</li> |
---|
214 | |
---|
215 | <li><code>main62.cc</code> : a further extension of <code>main61.cc</code>, |
---|
216 | where subruns are used to process several consecutive LHEF, |
---|
217 | as in <code>main13.cc</code>, with information stored e.g in |
---|
218 | <code>main62.cmnd</code>. Other comments as for <code>main61.cc</code>.</li> |
---|
219 | |
---|
220 | <li><code>main71.cc</code> : an example how the FastJet jet finding |
---|
221 | package can be linked to allow an analysis of the final state, |
---|
222 | in this case for a study of W + jet production.</li> |
---|
223 | |
---|
224 | <li><code>main72.cc</code> : a comparison of SlowJet and FastJet |
---|
225 | jet finding, showing that they find the same jets if run under |
---|
226 | identical conditions, in this case for QCD jets.</li> |
---|
227 | |
---|
228 | <li><code>main81.cc</code> : do CKKW-L merging with a merging scale |
---|
229 | defined in <i>kT</i>. Input is provided by the <code>main81.cmnd</code> |
---|
230 | file and the three data files <code>w+_production_lhc_0.lhe</code>, |
---|
231 | <code>w+_production_lhc_1.lhe</code> and <code>w+_production_lhc_2.lhe</code>. |
---|
232 | </li> |
---|
233 | |
---|
234 | <li><code>main82.cc</code> : do CKKW-L merging with a user-defined |
---|
235 | merging scale function. Input is provided by the <code>main82.cmnd</code> |
---|
236 | file and the three data files <code>w+_production_lhc_0.lhe</code>, |
---|
237 | <code>w+_production_lhc_1.lhe</code> and <code>w+_production_lhc_2.lhe</code>. |
---|
238 | </li> |
---|
239 | |
---|
240 | <li><code>main83.cc</code> : as <code>main82.cc</code> but with an |
---|
241 | additional cut on the lowest multiplicity allowed for the reclustered |
---|
242 | state. The same input as for <code>main82.cc</code> can be used. |
---|
243 | </li> |
---|
244 | |
---|
245 | <li><code>main84.cc</code> : do CKKW-L merging with output in such a way |
---|
246 | that it can be used in subsequent RIVET analyses. Input is provided by |
---|
247 | the <code>main84.cmnd</code> file and the three data files |
---|
248 | <code>w+_production_lhc_0.lhe</code>, <code>w+_production_lhc_1.lhe</code> |
---|
249 | and <code>w+_production_lhc_2.lhe</code>. |
---|
250 | </li> |
---|
251 | |
---|
252 | <li><code>main91.cc</code> : exemplifies how you can link in runtime |
---|
253 | generation of hard processes from PYTHIA 6, using the Les Houches |
---|
254 | Accord facilities. This example is deprecated, since PYTHIA 8 by now |
---|
255 | contains essentially all hard processes found in PYTHIA 6.</li> |
---|
256 | |
---|
257 | </ul> |
---|
258 | |
---|
259 | In addition two main program illustrating the use of ROOT are available |
---|
260 | in the <code>rootexamples</code> subdirectory: |
---|
261 | |
---|
262 | <ul> |
---|
263 | |
---|
264 | <li><code>hist.cc</code> : shows how ROOT can be used for histogramming |
---|
265 | in a program that for the rest is structured like a normal PYTHIA run. |
---|
266 | </li> |
---|
267 | |
---|
268 | <li><code>tree.cc</code> : shows how PYTHIA events can be stored as |
---|
269 | ROOT trees.</li> |
---|
270 | |
---|
271 | </ul> |
---|
272 | |
---|
273 | This subdirectory also contains a special Makefile and related |
---|
274 | documentation. |
---|
275 | |
---|
276 | |
---|
277 | </body> |
---|
278 | </html> |
---|
279 | |
---|
280 | <!-- Copyright (C) 2012 Torbjorn Sjostrand --> |
---|