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