using option '-treename HLTesdTree' for EsdCollector, adding default parameter for...
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8130 / xmldoc / SampleMainPrograms.xml
1 <chapter name="Sample Main Programs">
2
3 <h2>Sample Main Programs</h2>
4
5 To help exemplify what a main program could look like, a few simple
6 examples are provided in the <code>examples</code> subdirectory, 
7 along with instructions how they should be run: 
8 <ul>
9
10 <li><code>main01.cc</code> : a simple study of the charged multiplicity
11 for jet events at the LHC. (Brief example given in talks.)</li>
12
13 <li><code>main02.cc</code> : a simple study of the <ei>pT</ei> spectrum 
14 of Z bosons at the Tevatron. (Brief example given in talks.)</li>
15
16 <li><code>main03.cc</code> : a simple single-particle analysis of jet 
17 events, where input is set by <code>main03.cmnd</code> "cards file".</li>
18
19 <li><code>main04.cc</code> : a simple study of several different kinds 
20 of events, with the choice to be made in the <code>main04.cmnd</code> 
21 "cards file".</li>
22
23 <li><code>main05.cc</code> : generation of QCD jet events at the LHC, 
24 with jet analysis using the <code>CellJet</code> cone-jet finder.</li>
25
26 <li><code>main06.cc</code> : tests of cross sections for elastic and 
27 diffractive topologies, using <code>main06.cmnd</code> to pick process.</li>
28
29 <li><code>main07.cc</code> : tests of cross sections for minimum-bias 
30 events, using <code>main07.cmnd</code> to pick options.</li>
31
32 <li><code>main08.cc</code> : generation of the QCD jet cross section
33 by splitting the run into subruns, each in its own <ei>pT</ei> bin,
34 and adding the results properly reweighted. Two options, with limits 
35 set either in the main program or by subrun specification in the
36 <code>main08.cmnd</code> file.</li>
37
38 <li><code>main09.cc</code> : generation of LEP1 hadronic events, i.e. 
39 <ei>e^+e^- -> gamma*/Z^0 -> q qbar</ei>, with charged multiplicity, 
40 sphericity, thrust and jet analysis.</li>
41
42 <li><code>main10.cc</code> : illustration how userHooks can be used
43 interact directly with the event-generation process.</li>
44
45 <li><code>main11.cc</code> : generation of two predetermined hard
46 interactions in each event.</li>
47
48 <li><code>main12.cc</code> : a study of top events, fed in from the 
49 Les Houches Event File <code>ttbar.lhe</code>, here generated by 
50 <code>main53.f</code>. This file currently only contains 100 events 
51 so as not to make the distributed PYTHIA package too big, and so serves 
52 mainly as a demonstration of the principles involved. </li> 
53
54 <li><code>main13.cc</code> : a more sophisticated variant of 
55 <code>main12.cc</code>, where two Les Houches Event Files
56 (<code>ttbar.lhe</code> and <code>ttbar2.lhe</code>) successively
57 are used as input. Also illustrating some other aspects, like the
58 capability to mix in internally generated events.</li> 
59
60 <li><code>main14.cc</code> : a systematic comparison of several 
61 cross section values with their corresponding values in PYTHIA 6.4,
62 the latter available as a table in the code.</li> 
63
64 <li><code>main15.cc</code> : loop over several tries, either to redo 
65 B decays only or to redo the complete hadronization chain of an event.
66 Since much of the generation process is only made once this is a way 
67 to increase efficiency.</li> 
68
69 <li><code>main16.cc</code> : put all user analysis code into a class
70 of its own, separate from the main program; provide the "cards file" 
71 name as a command-line argument.</li> 
72
73 <li><code>main17.cc</code> : collect the Pythia calls in a wrapper class, 
74 thereby simplifying the main program; provide the "cards file" name 
75 as a command-line argument.</li> 
76
77 <li><code>main18.cc</code> : shows how to write an event filter class,
78 where you keep a vector of pointers to the subset of particles you
79 want to study further. The event record itself remains unchanged.</li> 
80
81 <li><code>main19.cc</code> : use several instances of Pythia, one for 
82 signal events and others for a variable number of pileup and "beam-gas"
83 events, combined into one common event record.</li> 
84
85 <li><code>main20.cc</code> : shows how PYTHIA 8 can write a Les Houches
86 Event File, using facilities potentially useful also for other programs
87 to write an LHEF.</li> 
88
89 <li><code>main21.cc</code> : an example how parton-level configurations
90 can be input directly for hadronization, without being tied to the
91 full process-generation machinery, e.g. to study the hadronization of 
92 junction topologies.</li>
93
94 <li><code>main22.cc</code> : tests of internally implemented cross sections
95 for Supersymmetric particle production, with SYSY spectrum defined in
96 <code>main22.spc</code> and settings in <code>main22.cmnd</code>.</li>
97
98 <li><code>main23.cc</code> : shows how an external decay handler can 
99 be linked to handle the decays of some particles.</li>
100
101 <li><code>main24.cc</code> : shows how an external random number 
102 generator can be linked to replace the internal one.</li>
103
104 <li><code>main25.cc</code> : shows how an external process can be 
105 implemented as a new class derived from a PYTHIA base class, and then
106 handed in for generation as with a normal internal process.</li>
107
108 <li><code>main26.cc</code> : shows how an external resonance can be 
109 implemented as a new class derived from a PYTHIA base class, and be 
110 used in an external process, both of which are then handed in for 
111 generation as with a normal internal resonance and process.</li>
112
113 <li><code>main27.cc</code> : shows how an external beam momentum spread
114 and vertex location generator can be implemented as a new class derived 
115 from a PYTHIA base class, and then handed in for internal use.</li>
116
117 <li><code>main31.cc</code> : similar to main01, except that the 
118 event record is output in the HepMC event record format. Requires 
119 that HepMC is properly linked.</li>
120
121 <li><code>main32.cc</code> : a streamlined version for the generation
122 of events that are then stored in HepMC format, without any event 
123 analysis. That is, all physics studies will have to be done afterwards.
124 The name of the input "cards file" (e.g. <code>main32.cmnd</code>)
125 and output HepMC event file are to be provided as command-line arguments.
126 Requires that HepMC is properly linked.</li>
127
128 <li><code>main41.cc</code> : a test of the shape of parton densities,
129 as a check prior to using a given PDF set in a generator.  Requires 
130 that LHAPDF is properly linked.</li>
131
132 <li><code>main42.cc</code> : compares the charged multiplicity 
133 distribution, and a few other minimum-bias physics aspects, between 
134 default PYTHIA PDF and another one. Requires that LHAPDF is properly 
135 linked.</li>
136
137 <li><code>main51.cc</code> : a simple example how the Les Houches
138 Accord interface, plus a few more Fortran-to-C++ commands, allows
139 hard processes to be generated by PYTHIA 6.4 and then processed 
140 further by PYTHIA 8. Requires that PYTHIA 6.4 is properly linked.</li>
141
142 <li><code>main52.cc</code> : a fairly extensive study of 
143 event properties, with hard processes generated by PYTHIA 6.4. 
144 It reads in a <code>main52.fcmnd</code> file with commands specfically
145 for the Fortran PYTHIA 6.4 program and another <code>main52.ccmnd</code> 
146 file illustrating several of the settings listed on these pages.
147 Requires that PYTHIA 6.4 is properly linked.</li>
148
149 <li><code>main53.f</code> : a Fortran program (!) showing how 
150 PYTHIA 6.4 can be used to generate a Les Houches Event File 
151 <code>ttbar.lhe</code> with top events (which is used as input by
152 <code>main12.cc</code>). This program can easily be modified to 
153 generate other files, bigger and/or for other processes.
154 Requires that PYTHIA 6.4 is properly linked.</li>
155
156 <li><code>main54.cc</code> : a final example where PYTHIA 6.4 is used 
157 to generate hard processes, which are directly input to be generated
158 in full by the internal machinery, using the settings in 
159 <code>main54.cmnd</code>, and the output consists of a file with 
160 HepMC event records for further analysis. Requires that PYTHIA 6.4 
161 and HepMC are properly linked.</li>
162
163 </ul>
164
165 </chapter>
166
167 <!-- Copyright (C) 2008 Torbjorn Sjostrand -->