[1] | 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 --> |
---|