Update to pythi8.170
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8170 / phpdoc / SampleMainPrograms.php
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 -->