3 <title>Update History</title>
4 <link rel="stylesheet" type="text/css" href="pythia.css"/>
5 <link rel="shortcut icon" href="pythia32.gif"/>
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"))
17 document.onkeypress = stopRKey;
20 if($_POST['saved'] == 1) {
21 if($_POST['filepath'] != "files/") {
22 echo "<font color='red'>SETTINGS SAVED TO FILE</font><br/><br/>"; }
24 echo "<font color='red'>NO FILE SELECTED YET.. PLEASE DO SO </font><a href='SaveSettings.php'>HERE</a><br/><br/>"; }
28 <form method='post' action='UpdateHistory.php'>
30 <h2>Update History</h2>
32 These update notes describe major updates relative to the baseline
33 PYTHIA 8.100 version. However, they are less extensive than the
34 corresponding update notes for PYTHIA 6. There are three main
39 <li>The manual contained on these html/php pages is kept up to date.
40 (However, the "Brief Introduction" may not always be.)</li>
42 <li>8.1 is a quite new code, so there are many minor changes that,
43 if all were to be documented, would hide the key ones.</li>
45 <li>8.1 is not yet used for "mission critical" applications,
46 so there is less need to trace changed behaviour.</li>
50 <h3>Main news by version</h3>
54 <li>8.105: 24 February 2008
57 <li>New option to initialize with arbitrary beam directions<br/>
58 <code>pythia.init( idA, idB, pxA, pyA, pzA, pxB, pyB, pzB)</code></li>
60 <li>Added capability to set <?php $filepath = $_GET["filepath"];
61 echo "<a href='BeamParameters.php?filepath=".$filepath."' target='page'>";?>beam energy spread
64 <b>Warning:</b> as a consequence, the old <code>Beams</code> group of
65 settings has been moved to <code>BeamRemnants</code>, and
66 <code>Beams</code> is now instead used for machine beam parameters.
67 Therefore also some <code>Main</code> settings of this character have been
68 regrouped, as follows:
69 <table cellspacing="5">
70 <tr> <td>8.100 setting </td> <td>has been moved to </td> </tr>
71 <tr> <td><code>Main:idA </code></td>
72 <td><code>Beams:idA </code></td> </tr>
73 <tr> <td><code>Main:idB </code></td>
74 <td><code>Beams:idB </code></td> </tr>
75 <tr> <td><code>Main:inCMframe </code></td>
76 <td>(<code>Beams:frameType</code>) </td> </tr>
77 <tr> <td><code>Main:eCM </code></td>
78 <td><code>Beams:eCM </code></td> </tr>
79 <tr> <td><code>Main:eA </code></td>
80 <td><code>Beams:eA </code></td> </tr>
81 <tr> <td><code>Main:eB </code></td>
82 <td><code>Beams:eB </code></td> </tr>
83 <tr> <td><code>Main:LHEF </code></td>
84 <td><code>Beams:LHEF </code></td> </tr>
87 <li>The <code>forceHadronLevel()</code> method introduced for standalone
90 <li><code>main15.cc</code> illustrated how either full hadronization or
91 only decays of some particles can be looped over for the rest of the
94 <li>The <code>LHAevnt</code> and <code>LHAinit</code> classes have been
95 joined into a new <code>LHAup</code> one, with new options that allow
96 the writing of a Les Houches Event File.</li>
98 <li>The <code>SusyLesHouches</code> class updated to handle
101 <li>Updated HepMC conversion routine.</li>
103 <li>The static <code>ErrorMsg</code> class has been removed and
104 its functionality moved into the non-static <code>Info</code> class,
105 in the renamed Info file.</li>
107 <li>Further reduction of the use of static, with related code changes.
108 This should allow to have several almost independent <code>Pythia</code>
109 instances. Some static classes still remain, however, notably for
110 random number generation and particle properties.</li>
112 <li>Limited capability to use two different <code>Pythia</code> instances
113 for signal + pileup event generation, see <code>main19.cc</code> for an
116 <li>In the <code>Event</code> class the <code>=</code> and
117 <code>=+</code> methods have been overloaded to allow the copying
118 or appending of event records. Illustrated in <code>main19.cc</code>.</li>
120 <li>The html and php page formatting improved with
121 cascading style sheets.</li>
123 <li>Several minor improvements and new options, including updated configure
129 <li>8.108: 1 May 2008
132 <li>Correction in the event record, so that the beam particles in line
133 1 and 2 do not have any mother according to the <code>motherList</code>
134 method. Previously the "system" entry in line 0 was counted as their
135 mother, which gave rise to an unexpected extra vertex in the conversion
136 to the HepMC format.</li>
138 <li>Support for HepMC version 1 is removed, to simplify the code and
139 reflect the evolution of the field.</li>
141 <li>Status codes are stored in HepMC only as 1 for existing and 2 for
142 decayed or fragmented particles (whereas previously the original PYTHIA
143 codes were used for the latter).</li>
145 <li>Parton densities are stored in HepMC as <i>xf(x,Q^2)</i>
146 rather than the <i>f(x,Q^2)</i> used in (some) previous versions.</li>
148 <li>The SusyLesHouches class has ben updated so that reading is fully
149 compatible with the SLHA2 standard. </li>
151 <li>Improved handling of the Higgs width, relevant for massive and thereby
152 broad resonance shapes.</li>
154 <li>The matrix elements for neutralino pair production have now been
155 completed and checked.</li>
157 <li>Ensure that <i>alpha_strong</i> does not blow up, by introducing
158 a minimal scale somewhat above <i>Lambda_3</i> (roughly where
159 <i>alpha_strong = 10</i>).</li>
161 <li>New methods <code>isValence1()</code> and <code>isValence2()</code>
162 in the <code>Info</code> class.</li>
164 <li>Protection against division by zero in calculation of decay vertex
165 (for zero-mass gluons with zero lifetime, where there should be no
168 <li>A new compilation option <code>-Wshadow</code> is introduced and
169 code is rewritten at all places where this option gave warnings.</li>
171 <li>Minor library correction to allow compilation with gcc 4.3.0.</li>
176 <li>8.114: 22 October 2008
179 <li>New rescattering description operational (but still experimental)
180 for the case that FSR is not interleaved, but saved until after MI,
181 ISR and beam remnants have been handled. This involves much new code
182 in several classes.</li>
184 <li>A new class <code>PartonSystems</code> is introduced to
185 keep track of which partons in the event record belong to which
186 subcollision system, plus some further information on each subsystem.
187 It takes over functionality previously found as part of the
188 <code>Event</code> class, but leaves room for future growth.</li>
190 <li>Add optional model, wherein an increased <i>pT0</i> turnoff scale
191 for MI and ISR is used for above-average active events, i.e. events that
192 already have several MI's or ISR emissions.</li>
194 <li>Freeze GRV 94L distribution at small <i>Q^2</i> to avoid blowup.</li>
196 <li>The <code>pythia.readFile(...)</code> method can now alternatively take
197 an <code>istream</code> as argument instead of a <code>filename</code>.</li>
199 <li>Minor bug correction in <code>PartonLevel.cc</code>; the bug could
200 (rarely) give a segmentation fault.</li>
205 <li>8.120: 10 March 2009
208 <li>New rescattering description further developed, but not yet
209 recommended for normal usage.</li>
211 <li>Include new processes for Large Extra Dimensions and Unparticles,
212 contributed by Stefan Ask. New test program <code>main28.cc</code>
215 <li>Include further SUSY processes: neutralino-chargino and
216 chargino-chargino pairs. The processes should be valid also
217 in the case of non-minimal flavour violation and/or CP violation.
218 Expanded machinery to keep track of SUSY parameters.</li>
220 <li>Include backwards evolution of incoming photon as part of the
221 <code>SpaceShower</code> initial-state radiation description. This
222 allows you to simulate hard collisions where one of the incoming
223 partons is a photon. New test program <code>main43.cc</code>
226 <li>Allow separate mass and transverse momentum cuts when two hard
227 subprocesses are generated in the same event.</li>
229 <li>The default value for the border between short- and long-lived
230 paticles has been changed from 1 mm to 10 mm, to better conform with
231 LHC standards, see <?php $filepath = $_GET["filepath"];
232 echo "<a href='ParticleDecays.php?filepath=".$filepath."' target='page'>";?>here</a>.
233 The default is still to let all unstable particles decay.</li>
235 <li>New ISR matrix-element correction to <i>f -> f gamma</i>
236 in single <i>W</i> production.</li>
238 <li>New method <code>Event::statusHepMC</code> returns the status
239 code according to the HepMC conventions agreed in February 2009.
240 The interface to HepMC now writes out status according to this
243 <li>Add capability to link to FastJet, with expanded configure script
244 and Makefile, and with <code>main61.cc</code> as new example.</li>
246 <li>Update of <code>Makefile.msc</code>, with added support for latest
247 Visual C++ Express edition and use of regexp to check nmake version.</li>
249 <li>Update of <code>LHAFortran.h</code> and
250 <code>Pythia6Interface.h</code>, to make the interface to Fortran
251 routines work also under Windows. (Thanks to Anton Karneyeu.)
253 <li>Updated and expanded worksheet.</li>
255 <li>The manual pages in the <code>xmldoc</code> directory, and thereby
256 also those of the <code>htmldoc</code> and <code>phpdoc</code>
257 directories, have been significantly updated and expanded. In particular,
258 in many places the class of each method is explicitly shown, as well as
259 the type of the return value and of the arguments. This upgrade is not
260 yet completed, but already covers the more relevant sections. </li>
262 <li>The unary minus operator in the <code>Vec4()</code> returns a
263 reference to a four-vector with all components negated, but leaves
264 the original four-vector unchanged. Previously the four-vector itself
267 <li>The <code>pPlus()</code> and <code>pMinus()</code> methods of a
268 four-vector and an event-record particle are renamed <code>pPos()</code>
269 and <code>pNeg()</code>, respectively.</li>
271 <li>Include a further loop in <code>ProcessLevel</code>, so that a new
272 process is generated in case of failures of a less severe nature.</li>
274 <li>Introduce warning message for unexpected <code>meMode</code> in
275 <code>ResonanceWidths</code>.</li>
277 <li>Les Houches event reading framework has been rearranged for
278 more flexibility. Some bugs corrected. Specifically, when scale
279 is not set (<code>scale = -1.</code> in the Les Houches standard),
280 PYTHIA did not attempt to set this scale itself, which typically
281 lead to there not being any ISR or FSR. Now the
282 <?php $filepath = $_GET["filepath"];
283 echo "<a href='CouplingsAndScales.php?filepath=".$filepath."' target='page'>";?>rules for normal
284 1-, 2- and 3-body final states</a> are applied, with a trivial
285 extension of the 3-body rules for higher multiplicities.</li>
287 <li>Correct bug in the handling of parton densities, whereby it was
288 not possible to switch to a new set, once a first initialization
291 <li>Correct bugs when several <code>Pythia::init</code> initialization
292 calls are made in the same run, specifically in the case that pointers
293 to external processes have been handed in.
295 <li>Changes in <code>main03.cmnd</code> and <code>main04.cmnd</code>
296 so that some nonstandard options are commented ou rather than active.
297 Related comments inserted also in some other <code>.cmnd</code> files,
298 but there without any change in program execution.</li>
300 <li>A few further minor bug fixes.</li>
302 <li>Update year to 2009.</li>
307 <li>8.125: 16 June 2009
310 <li>Hadronization and timlike-shower parameter default values updated
311 according to a tune to LEP1 data by Hendrik Hoeth, using the
312 Rivet + Professor framework.</li>
314 <li>Many further SUSY production processes. SLHA readin expanded to cover
315 also masses and decay modes. Example <code>main22.cc</code> updated, while
316 <code>main33.cc</code> now superfluous and removed. </li>
318 <li>Also further processes for extra dimensions.</li>
320 <li>Stefan Ask joins as coauthor.</li>
322 <li>The <code>TimeShower::shower(...)</code> method has gained
323 a new argument, that forces the shower evolution to stop after
324 a given number of branchings. A new method
325 <code>TimeShower::pTLastInShower()</code> permits the last evolution
326 <i>pT</i> to be read out. These extensions can be useful
327 for matching studies.
330 <li>New optional argument <code>isInterleaved</code> added to
331 <code>TimeShower::branch(...)</code>. Is false by default, but
332 true when called from the parton level for interleaved evolution
333 of several parton systems, optionally also with ISR and MI.</li>
335 <li>New methods <code>UserHooks::canSetResonanceScale()</code>
336 and <code>UserHooks:scaleResonance(...)</code> allows an optional
337 user choice of the maximum shower scale in resonance decays.</li>
339 <li>A new method <code>SpaceShower::doRestart()</code> has been
340 added, to help distinguish cases when a
341 <code>SpaceShower::branch(...)</code> failure forces a complete
342 restart of the evolution from ones where only the intended
343 current branching has been vetoed.
345 <li>When multiple interactions are initialized, it is now
346 possible to reduce both <i>pT0</i> and <i>pTmin</i>
347 if necessary to find a valid solution where
348 <i>sigma_jet > sigma_nondiffractive</i>. Previously
349 only the former would be reduced, which could lead to
350 infinite loops if too large a <i>pTmin</i> was used.
351 Thanks to Sami Kama for pointing out the problem.
354 <li>The rescattering machinery is now essentially completed, and can
355 be used also by others than the authors. For now, however, it can only
356 be recommended for dedicated studies, not e.g. for generic tunes.
359 <li>Timelike and spacelike showers, and beam remnant handling,
360 are modified to handle rescattering partons. Specifically, a new machinery
361 is introduced to trace the recoils from the combination of rescattering
362 with showers and primordial <i>kT</i>. Can assign space- or timelike
363 virtualities to intermediate particles to have energy and momentum
364 conserved locally. This affects the <code>PartonLevel</code>,
365 <code>MultipleInteractions</code>, <code>TimeShower</code>,
366 <code>SpaceShowe</code>r and <code>BeamRemnants</code> classes.
367 Further details to appear in the upcoming article on rescattering.
368 (Another change is a reversal to pre-8.114 order for non-interleaved FSR,
369 wherein also FSR is treated before beam remnants are attached.)
372 <li>Four new status codes introduced, as part of the rescattering
374 <br/>45 : incoming rescattered parton, with changed kinematics owing
375 to ISR in the mother system (cf. status 34);
376 <br/>46 : incoming copy of recoiler when this is a rescattered parton
378 <br/>54 : copy of a recoiler, when in the initial state of a different
379 system from the radiator;
380 <br/>55 : copy of a recoiler, when in the final state of a different
381 system from the radiator.
384 <li>New method <code>Info::tooLowPTmin()</code> can tell whether the
385 <i>pTmin</i> scales for showers or multiple interactions are too low.
388 <li>Pion beams allowed, both <i>pi^+</i>, <i>pi^-</i> and
389 <i>pi^0</i>. New machinery for the latter, where the valence
390 flavour content is chosen to be either <i>d dbar</i> or
391 <i>u ubar</i> for each new event. One internal pion PDF
392 implemented, with others from LHAPDF.</li>
394 <li>Treatment of Pomeron-proton collisions begun.</li>
396 <li>Phase-space handling of hard processes and multiple interactions
397 slightly expanded to better allow for harder PDF's than proton ones,
398 e.g. for Pomerons.</li>
400 <li>The program documentation has been expanded with an
401 alphabetical index of all methods that are described on the
402 webpages, see the <?php $filepath = $_GET["filepath"];
403 echo "<a href='ProgramMethods.php?filepath=".$filepath."' target='page'>";?>Program Methods</a>
404 page. Also other sections of the documentation have been
405 updated and expanded, including the worksheet.</li>
407 <li>Several <code>list</code> methods have been made
408 <code>const</code>. For the listing of events two new methods
409 have been added, <code>Event::list()</code> and
410 <code>Event::list(bool showScaleAndVertex,
411 bool showMothersAndDaughters = false)</code>,
412 that correspond to special cases of the general method.</li>
414 <li>A new method <code>Pythia::LHAeventSkip(int nSkip)</code>
415 permits a skip-ahead of the reading of external Les Houches
416 Events, without the necessity to generate the intervening
417 <code>nSkip</code> events in full. Makes use of the new
418 <code>LHAup::skipEvent(int nSkip)</code> method to perform
419 the operations. Mainly intended for debug purposes.
421 <li>The <code>ClusterJet</code> jet finder now saves the last
422 five clustering scales. Also a minor bug fix. Thanks to Nils
423 Lavesson for this contribution.</li>
425 <li>The <code>Particle::m2()</code> method now returns a negative
426 number when the stored mass <i>m</i> is negative, as used to
427 indicate spacelike virtualities. Also the
428 <code>Particle::eCalc()</code>, <code>Particle::mT()</code> and
429 <code>Particle::mT2()</code> methods have been modified.
432 <li>The <code><<</code> method to print our a four-vector has
433 been expanded with a fifth number, the invariant length, with a minus
434 sign for spacelike vectors, and provided within brackets to allow
435 a simple visual distinction.</li>
437 <li>New methods <code>Rndm::dumpState(string fileName)</code> and
438 <code>Rndm::readState(string fileName)</code> allows to write or
439 read the state of the random number generator to or from a binary file.
442 <li>New method <code>double GammaReal(double x)</code> returns the
443 value of the <i>Gamma</i> function for arbitrary real argument.
444 Some cross sections for extra-dimensional processes rewritten to
448 <li>New example program <code>main29.cc</code> shows how
449 to set up a fictitious process of a heavy system decaying
450 to two particles or partons, with decays traced to stable
451 particles, as relevant for astroparticle applications.</li>
453 <li>Main programs that illustrate the HepMC interface have
454 been updated to use version 2.04, including units and excluding
455 deprecated output formats.</li>
457 <li>The <code>main32.cc</code> example extended also to handle
458 Les Houches Event Files.</li>
460 <li>The Makefile has been modified so that "make clean" only
461 removes the current compilation and library fles, while
462 "make distclean" gives a more extensive reset and cleanup.
463 Thanks to Nils Lavesson for this contribution. Some other
464 minor Makefile corrections.</li>
466 <li>Several main programs that use the
467 <code>Main:timesToShow</code> mode have been corrected so as
468 not to crash if this is set to zero. Also some other cosmetics
469 changes in main programs that do not affect the running.</li>
471 <li>Bug correction, in that previously a veto with user hooks
472 was not propagated from parton showers inside resonance decays.
475 <li>Minor bug fix in <code>TimeShower</code> for kinematics with
476 unequal beam-particle masses.</li>
478 <li>Bug fix so that <code>PartonLevel:MI = off</code> also works for
479 minimum-bias events.</li>
481 <li>Minor bug fix in the impact-parameter selection of multiple
482 interactions. Thanks to Sami Kama for pointing it out.</li>
484 <li>String fragmentation for junction topology protected against
485 numerical instability in boost.</li>
487 <li>Bug correction in the handling of particle decays to partons,
488 where the scale of the partons was set before the partons had been
489 added to some arrays, leading to indexation out of bounds.
490 Thanks to Vladislav Burylov for discovering this bug.
493 <li>Bug correction in the handling of particles with inhibited decay,
494 where the decay vertex would be too far displaced, which could lead to
495 infinite loop. Thanks to Sami Kama for debugging this. </li>
497 <li>Check to avoid infinite loop in matrix-element handling of
498 two-body decays.</li>
500 <li>Bug correction to avoid infinite loops in Dalitz decay treatment.
501 Some changes in the decay handling logic to allow a new try when the
502 decay of a particle fails.</li>
504 <li>Minor correction, so the pointer to the <code>Info</code> class
505 is set also for user-written classes derived from <code>LHAup</code>.
508 <li>Correction for typo in the matrix element of the
509 <code>Sigma3ff2HchgchgfftWW</code> class, for doubly charged Higgs
510 production. Thanks to Merlin Kole for spotting it.</li>
512 <li>Updated colour bookkeeping in junction-antijunction annihilation
513 avoids later problems in <code>Pythia::check()</code>. </li>
515 <li>Minor updates of the <code>Makefile.msc</code> file to work with
516 Visual Studio 2008. Thanks to David Bailey for these modifications.</li>
518 <li>Ensure that <code>nInit</code> in the <code>BeamParticle</code>
519 class is set also for unresolved lepton beams.</li>
521 <li>The <code>VetoEvolution</code> class, derived from
522 <code>UserHooks</code>, is obsolete and has been removed.</li>
527 <li>8.130: 15 September 2009
530 <li>New machinery that allows multiple interactions inside diffractive
531 systems. Also new optional Pomeron flux factors and Pomeron PDFs.
532 New page on <?php $filepath = $_GET["filepath"];
533 echo "<a href='Diffraction.php?filepath=".$filepath."' target='page'>";?>diffraction</a> added, where
534 further details are collected. Still not tuned, so to be used with
537 <li>Make Peter Skands' "Tune 1" parameters for ISR and MI default.
538 The older simpler tune is still available as an option, see
539 <code><?php $filepath = $_GET["filepath"];
540 echo "<a href='Tunes.php?filepath=".$filepath."' target='page'>";?>Tune:pp</a></code>.
543 <li>New possible choices for a second hard process: charmonium,
544 bottomonium, top pair and single top.</li>
546 <li>New code for pair production of generic colour-triplet scalar,
547 fermion or vector. Largely written by Johan Bijnens, partly recycling
550 <li>Add user hooks possibility to veto event after a given number
551 of multiple interactions.</li>
553 <li>Add instructions how PYTHIA 8 can be used from inside ROOT.
554 Thanks to Andreas Morsch for providing the text and Rene Brun
555 for a simple example.</li>
557 <li>The <code>main21.cc</code> example extended with an option
558 for a single-particle gun.</li>
560 <li>Improvements and bug fixes in rescattering framework.</li>
562 <li>New method <code>Hist::table(string fileName)</code> provides a
563 more direct way to print a two-column table of histogram contents
564 into a file than the current <code>Hist::table(ostream& os = cout)</code>.
567 <li>Modify reading of external files so that a line only consisting of
568 control characters counts as empty, the same way as a line only consisting
569 of blanks already did. This includes carriage return, tabs and a few more,
570 the ones represented by <code>\n \t \v \b \r \f \a</code>. Applies to
571 Les Houches Event files, settings files and particle data files. </li>
573 <li>Fix it so that the read-in of a Les Houches Event File for the
574 hardest process can be combined with the faciliy to select a specified
575 second hard process.</li>
577 <li>New empty base class method <code>LHAup::fileFound()</code>
578 allows the derived class <code>LHAupLHEF</code> to signal more
579 clearly that a failed initialization is caused by a failure to open
580 the desired file. </li>
582 <li>Check that a pointer to an <code>LHAup</code> object has been set
583 in <code>Pythia::LHAeventList()</code> and
584 <code>Pythia::LHAeventSkip(...)</code> calls.</li>
586 <li>Updated configure and Makefile, e.g. to build shared libraries
589 <li>The options with a direct link to hard-process generation
590 in PYTHIA 6 has been removed. It is hardly ever used but
591 complicates the build structure. (Owing to its usefulness for some
592 debug work, it was reinstated in a limited form in version 8.135.
593 Thus <code>main51.cc</code> now contains the complete interface,
594 previously in separate files, and commented-out lines in
595 <code>examples/Makefile</code> suggest how PYTHIA 6 could be linked.)
598 <li>New argument to <code>Info::errorMsg(...)</code> allows to
599 show all error messages of a specific kind rather than only the
600 first one, e.g. for initialization.</li>
602 <li>Correction in decay table of righthanded Majorana neutrinos.
603 Thanks to Arnaud Ferrari and Vladimir Savinov.</li>
605 <li>Correction in expressions in the manual for <i>H^+-</i> couplings
606 to an <i>h^0</i>, <i>H^0</i> or <i>A^0</i> and a <i>W^+-</i>.
607 Thanks to Rikard Enberg.</li>
609 <li>Fix for accessing uninitialized memory, caused by accessing the
610 daughters of the incoming beams before these daughters actually existed.
611 Thanks to David Bailey and Sami Kama.
614 <li>Uninitialized photon PDF inside the proton could give crazy results
615 for processes with incoming photons. Thanks to Adam Davison.</li>
617 <li>Bug fix such that finite lifetimes can be set also for particles
618 produced in the hard process. To exemplify, the bug affected
619 <i>tau</i> leptons produced in <i>Z^0</i> and <i>W^+-</i>
620 decays. Thanks to Troels Petersen.</li>
622 <li>Bug fix in <code>TimeShower</code>, that <code>beamOffset</code>
623 could remain uninitialized. Thanks to Sami Kama.</li>
625 <li>Minor correction to resonance decays: fail if the allowed mass
626 range of a Breit-Wigner resonance is a small fraction of the total
627 area under the resonance curve.</li>
629 <li>Correction when all three valence quarks were kicked out from a
630 proton and could give false messages that beam momentum had been
633 <li>Clarify status codes needed for hadron-level standalone runs in
634 order to avoid error messages, and modify the <code>main21.cc</code>
635 example accordingly. </li>
637 <li>Minor corrections in the processes for extra dimensions.</li>
639 <li>Some other minor additions to existing facilities
640 and minor bug fixes.</li>
645 <li>8.135: 10 January 2010
648 <li>All usage of static member methods inside Pythia8 has now been
649 eliminated. This simplifies for you to have several simultaneous
650 <code>Pythia</code> instances that are run with different conditions.
651 The three main classes affected by this are the <code>Settings</code>
652 and <code>ParticleData</code> databases and the <code>Rndm</code>
653 random-number generator. You can no longer address the methods of these
654 classes directly, but have to address them via the <code>settings</code>,
655 <code>particleData</code> and <code>rndm</code> instances in the
656 respective <code>Pythia</code> object. Also some other smaller pieces
657 of code are affected, e.g. Standard Model and SUSY couplings
658 (the latter in new files).
659 <br/><b>Note 1</b>: The documentation has been updated accordingly
660 on these webpages, but the "A Brief Introduction to PYTHIA 8.1"
661 still refers to the old behaviour of version 8.100.
662 <br/><b>Note 2</b>: the interface to the external LHAPDF library remains
663 static, since LHAPDF is written in Fortran and thus by definition
665 <br/><b>Note 3:</b> if you want to have momentum smearing in
666 <code>CellJet</code> you now need to send in a pointer to a
667 random-number generator.
670 <li>Ten new proton PDF sets are made available internally:
671 MRST LO* (2007), MRST LO** (2008), MSTW 2008 LO (central member),
672 MSTW 2008 NLO (central member), CTEQ6L, CTEQ6L1, CTEQ6.6 (NLO,
673 central member), CT09MC1, CT09MC2, and CT09MCS, see
674 <?php $filepath = $_GET["filepath"];
675 echo "<a href='PDFSelection.php?filepath=".$filepath."' target='page'>";?>PDF Selection</a>. The Pomeron PDF data
676 files have been renamed for consistency. Thanks to Tomas Kasemets
677 for help with this [<a href="Bibliography.php" target="page">Kas10</a>].
680 <li>New parameters <code>TimeShower:pTmaxFudgeMI</code> and
681 <code>SpaceShower:pTmaxFudgeMI</code> introduced, to give the same
682 functionality for multiple interactions that
683 <code>TimeShower:pTmaxFudge</code> and <code>SpaceShower:pTmaxFudge</code>
684 do for the hardest.</li>
686 <li>A few extensions of the <code>UserHooks</code> framework.
687 New methods <code>UserHooks:canVetoISREmission()</code> and
688 <code>UserHooks::doVetoISREmission(...)</code> allows the latest
689 initial-state emission to be studied before being finalized,
690 with the possibility to veto it.
691 Similarly <code>Userhooks:canVetoFSREmission()</code> and
692 <code>UserHooks::doVetoFSREmission(...)</code> can be used to
693 veto the latest final-state emission.</li>
695 <li>A number of loop counters have been introduced in the
696 <code>Info</code> class, that offers some further information on
697 the progress of the event generation, for use e.g. in conjunction
698 with the <code>UserHooks</code> facility.</li>
700 <li>The <code>Pythia::initTunes(...)</code> method is made public, so that
701 it can be called before the normal call from <code>Pythia::init(...)</code>.
702 That way it is possible to start out from a given tune and change a few
706 <li>Bug corrected in <code>LHAFortran.h</code> for hard-process input
707 from Fortran commonblock. This did not work properly when the input
708 was used in combination with a second hard process generated internally.
709 Thanks to Mikhail Kirsanov and Roberto Chierici.
711 <li>Insertion of missing initialization of <code>isInit</code> in the
712 <code>Settings</code> and <code>ParticleData</code> constructors, and
713 <code>nInit</code> for <code>BeamParticle</code>.
714 Thanks to Leif Lönnblad.</li>
716 <li>Updated <code>Makefile.msc</code> for Windows users.</li>
718 <li>Fix of some non-optimal use of booleans, that give warnings on
719 a Windows compiler. Thanks to Anton Karneyeu.</li>
721 <li>New options for the <?php $filepath = $_GET["filepath"];
722 echo "<a href='SUSYLesHouchesAccord.php?filepath=".$filepath."' target='page'>";?>
723 SUSY Les Houches Accord</a> such that, by default,
724 particle and decay data are not overwritten for known Standard Model
725 particles (including <i>Z^0</i>, <i>W^+-</i> and <i>t</i>,
726 but excluding the Higgs).</li>
728 <li>Bug fix in <code>SusyLesHouches</code>, where the reading of SLHA
729 information embedded in an LHEF would not stop at the end of the header
732 <li>Bug correction for undefined secondary widths where decay products
733 together are heavier than the mother. Also unit default secondary width
734 values in the <code>DecayChannel</code> constructor.</li>
736 <li>Documentation updated, including change of current year to 2010.</li>
741 <li>8.140: 16 July 2010
744 <li>Four new draft <?php $filepath = $_GET["filepath"];
745 echo "<a href='Tunes.php?filepath=".$filepath."' target='page'>";?>tunes</a> available.</li>
747 <li>Introduction of a new scenario for production of Hidden-Valley
748 particles, and interleaved showering in the QCD and HV sectors, see
749 the new <?php $filepath = $_GET["filepath"];
750 echo "<a href='HiddenValleyProcesses.php?filepath=".$filepath."' target='page'>";?>Hidden Valleys</a>
751 description. A longer physics writeup is available [<a href="Bibliography.php" target="page">Car10</a>].
754 <li>Implementation of <i>2 -> 3</i> phase space selection intended
755 for QCD processes with massless partons. A new set of matching
756 <?php $filepath = $_GET["filepath"];
757 echo "<a href='PhaseSpaceCuts.php?filepath=".$filepath."' target='page'>";?>phase space cut parameters</a>.
758 The <?php $filepath = $_GET["filepath"];
759 echo "<a href='QCDProcesses.php?filepath=".$filepath."' target='page'>";?>ten different QCD <i>2 -> 3</i>
760 processes</a> have been implemented making use of this new
761 possibility, so far without a complete handling of possible colour
764 <li>New processes have been added for
765 <?php $filepath = $_GET["filepath"];
766 echo "<a href='CompositenessProcesses.php?filepath=".$filepath."' target='page'>";?>contact interactions</a> in
767 <i>q q -> q q</i> and <i>q qbar -> q qbar</i> scattering.</li>
769 <li>A process has been added for TeV^-1 Sized
770 <?php $filepath = $_GET["filepath"];
771 echo "<a href='ExtraDimensionalProcesses.php?filepath=".$filepath."' target='page'>";?>Extra Dimensions</a>, which
772 involves the electroweak KK gauge bosons, i.e. <i>gamma_{KK}/Z_{KK}</i>,
773 in one TeV^-1 sized extra dimension; see <code>main30.cc</code> for
774 an example. This scenario is described in [<a href="Bibliography.php" target="page">Bel10</a>]. Thanks to
775 Noam Hod and coworkers for contributing this code.</li>
777 <li>In the Randall-Sundrum extra-dimensional scenario a new option has
778 been added where SM fields can exist in the bulk rather than only on
779 a brane. (Still under development.) Furthermore production of a
780 Kaluza-Klein gluon state has been added, and the <code> main28.cc</code>
781 test program extended.</li>
783 <li>The scenario for monojets in Large Extra Dimensions has been expanded
784 with an alternative for scalar graviton exchange instead of tensor one.
787 <li>New parameters for maximum scale of
788 <?php $filepath = $_GET["filepath"];
789 echo "<a href='TimelikeShowers.php?filepath=".$filepath."' target='page'>";?>timelike showers</a>,
790 <code>TimeShower:pTmaxMatch</code>, and the dampening of hard radiation,
791 <code>TimeShower:pTdampMatch</code> and <code>TimeShower:pTdampFudge</code>,
792 by analogy with corresponding ones for spacelike showers. Also new method
793 <code>TimeShower:limitPTmax(...)</code> to implement alternative procedures.
794 For dipoles stretched to the beam the new switch
795 <code>TimeShower:dampenBeamRecoil</code> allows to dampen radiation
796 close to the beam direction, with a changed default behaviour.</li>
798 <li>Azimuthal anisotropies from coherence arguments have been introduced
799 for the spacelike parton showers, see <code>SpaceShower:phiIntAsym</code>
800 and <code>SpaceShower:strengthIntAsym</code>.
801 Also azimuthal anisotropies from gluon polarization have been introduced
802 for the spacelike parton showers, see <code>SpaceShower:phiPolAsym</code>,
803 and updated for timelike parton showers, see
804 <code>TimeShower:phiPolAsym</code>.</li>
806 <li>Improvements for the matching to POWHEG LHEF-style input illustrated
807 by the new <code>main71.cc</code> example. See also [<a href="Bibliography.php" target="page">Cor10</a>].</li>
809 <li>A set of new processes <i>gamma gamma -> f fbar</i>, with <i>f</i>
810 quarks or leptons. Code for equivalent photon flux around an unresolved
811 proton, with more to come. Thanks to Oystein Alvestad.
814 <li>A new option has been included to dampen the growth of the diffractive
815 cross sections, see <?php $filepath = $_GET["filepath"];
816 echo "<a href='TotalCrossSections.php?filepath=".$filepath."' target='page'>";?>Total Cross
819 <li>A new method <code>virtual int SigmaProcess::idSChannel()</code>
820 has been introduced. If overloaded to return a nonzero value then a
821 <i>2 -> n</i> process will appear listed as a <i>2 -> 1 -> n</i> one.
822 That is, an intermediate resonance with the requested identity will be
823 inserted in the event record, even without appearing in the calculation
824 of the matrix element proper. Thanks to Noam Hod for idea and code.</li>
826 <li>A new method <code>SigmaProcess::convertM2()</code> has been introduced
827 to optionally allow the <code>SigmaProcess::sigmaHat()</code> to return
828 the squared matrix element rather than <i>d(sigmaHat)/d(tHat)</i> for
829 <i> 2 -> 2 </i> processes. Furthermore kinematics is stored in the new
830 <code>mME</code> and <code>pME</code> vectors for alternative cross
831 section encodings.</li>
833 <li>Different encoding of the <i>f fbar -> Z W</i> cross section,
834 contributed by Merlin Kole, based on the cross section of
835 Brown, Sahdev and Mikaelian. Gives a distinctly different cross section
836 than the previous based on EHLQ (including their bug fix).
837 In particular the problem with negative cross sections is now fixed.</li>
839 <li>Minor updates: pass <code>xmlPath</code> to new MSTW and CTEQ PDFs;
840 reset beams earlier to give cleaner documentation.</li>
842 <li>The H1 Fit B LO parametrization to the Pomeron PDF has been included,
843 and made new default for Pomerons. Thanks to Paul Newman for providing
846 <li>Three changes, in principle unrelated, but with the common objective
847 to make the generation of a given event depend only on the values
848 determined during the initialization stage and on the state of the
849 random-number generator when the event is begun. The new default
850 should ensure a reproducible stop-and-restart behaviour, convenient
851 for debug purposes. Thanks to Michael Schmelling for stressing the
852 desire for such a behaviour.
853 <br/>(i) Introduction of a new option <code><?php $filepath = $_GET["filepath"];
854 echo "<a href='PhaseSpaceCuts.php?filepath=".$filepath."' target='page'>";?>
855 PhaseSpace:increaseMaximum</a></code> that allows to switch between
856 two strategies for handling the (hopefully rare) cases when the
857 assumed maximum of the cross section function is exceeded during the
858 event generation, with a changed default behaviour. In the old
859 default the maximum could be increased if it was exceeded during the run,
860 thereby introducing a memory of the previously generated events.
861 <br/>(ii) Updated handling of random numbers with Gaussian distributions.
862 The <code>gauss()</code> method now only generates one value at a time.
863 Instead the new <code>gauss2()</code> method returns a pair of Gauss
864 numbers, with related time savings. In the old approach one Gaussian
865 number could be buffered, which introduced a memory.
866 <br/>(iii) Minor bug fix in <code>MiniStringFragmentation</code>, where
867 the popcorn baryon state was not reset for each new system, again
868 giving a (flawed) memory.</li>
870 <li>New directory <code>rootexample</code> with a simple code example
871 how to use ROOT for histogramming in PYTHIA runs. See
872 <?php $filepath = $_GET["filepath"];
873 echo "<a href='ROOTusage.php?filepath=".$filepath."' target='page'>";?>ROOT Usage</a> for details. Thanks to Rene Brun.
876 <li>In the <code>HepMCinterface</code> the checks for unhadronized
877 quarks and gluons are not performed if hadronization has been switched
880 <li>The <code>UserHooks::initPtr(...)</code> has been expanded so that
881 pointers to more classes (beam particles, random number, couplings, etc.)
882 are sent in, thereby increasing the scope of possible user-written code.
883 Also, the <code>UserHooks::doVetoProcessLevel(Event& process)</code>
884 now allows the <code>process</code> event record to be modified,
885 even if it is not recommended. The new <code>Info::pTnow()</code>
886 method returns the current <i>pT</i> scale of the combined MI, ISR
887 and FSR evolution, which can be useful for some user hooks decisions.
890 <li>Histograms of the <code>Hist</code> class can now be booked
891 with up to 1000 bins, instead of the previous maximum 100. All bins
892 can be written to file, but the line-printer style printing will join
893 nearby bins so at most 100 are printed, as before. </li>
895 <li>Updated <code>configure</code> and <code>Makefile</code>
896 to allow 64-bit compilation and more options. Thanks to Mikhail Kirsanov,
897 Rene Brun and Fons Rademakers.</li>
899 <li>Bug fix in <code>ProcessLevel</code> for colour flow checks of
900 junctions. Enables the decay of a neutralino to three quarks, e.g.
901 Thanks to Nils-Erik Bomark.</li>
903 <li>Bug fixes in <code>TimeShower</code>, where recoil partners in resonance
904 decays of coloured particles, and recoil partners in QED dipoles when beams
905 are not allowed to take a recoil, might not be correctly identified. </li>
907 <li>Bug fix in <code>SpaceShower</code>: when used with a fixed
908 <i>alpha_strong</i>, the threshold enhancement factor of
909 <i>g -> Q Qbar</i> became undefined. Thanks to Stefan Prestel.</li>
911 <li>Bug fix in initialization of resonance widths, where the
912 <code>minWidth</code> parameter could be used uninitialized,
913 occasionally resulting in strange initialization problems when
914 kinematics needs to force at least one resonance to be off-shell.</li>
916 <li>Minor updates of <code>main06.cc</code>, <code>main10.cc</code>
917 and <code>main23.cc</code>.</li>
919 <li>Bug fix in mother pointer of multiple interactions in
920 diffractive systems.</li>
925 <li>8.142: 15 August 2010
928 <li>The strategy for setting up tune values has been changed.
929 Previously the <code>Tune:ee</code> and <code>Tune:pp</code>
930 settings were only interpreted during the
931 <code>Pythia::init(...)</code> stage. Now they are interpreted
932 as soon as they are read. Specifically this means that it is
933 possible to override any of the tune parameters by putting new
934 commands below <code>Tune:ee</code> and <code>Tune:pp</code>
935 in the <code>Pythia::readFile(...)</code> configuration file
936 or in the list of <code>Pythia::readString(...)</code> commands.
937 <br/>As a consequence of this change, the public
938 <code>Pythia::initTunes(...)</code> method has been replaced by
939 two private <code>Settings::initTuneEE(...)</code> and
940 <code>Settings::initTunePP(...)</code> methods.
941 <br/>If <code>Tune:ee</code> or <code>Tune:pp</code> are
942 nonvanishing by default, then the corresponding tune variables
943 are set also from the <code>Pythia</code> constructor, before any
944 user changes are possible. Currently this is not relevant.
947 <li>Bug fix in the setup of the <code>Tune:pp = 5</code> and
948 <code>= 6</code> options, which meant that diffractive cross
949 sections were not reduced as advertised.</li>
951 <li>The default value of <code>MultipleInteractions:pT0Ref</code>
952 has been slightly reduced so as to give a somewhat improved
953 default description. It is not intended as a replacement for the
954 specific tunes, however.</li>
956 <li>Some comparisons between tunes and data, obtained with the
957 Rivet package, have been posted on
958 <a href="http://home.thep.lu.se/~richard/pythia81/">
959 http://home.thep.lu.se/~richard/pythia81/</a>.
960 Further improvements can be expected from future Professor-based
961 tunes. The current set of 2C, 2M, 3C and 3M "draft tunes" have
962 deliberately been chosen different also to explore a range of
963 possibilities. One not visible in the plots is the fraction
964 of single and double diffractive events in the inelastic cross
965 section. This is 32% in 2C and 2M, while it was reduced to
966 21% in 3C and 3M, and a recent ATLAS study (ATLAS-CONF-2010-048)
967 would suggest 28+-4%.</li>
969 <li>Minor changes in <code>TimeShower</code> and
970 <code>SpaceShower</code>, as protection if the <i>c</i> or
971 <i>b</i> masses are set small.</li>
973 <li>Bug fix in <code>SpaceShower</code>, for case when <i>phi</i>
974 angle selection is biased to take into account interference effects.
977 <li>The <code>SigmaProcess::convertM2()</code> method now has
978 been implemented also for <i>2 -> 1</i> processes, so that it is
979 possible to provide the squared matrix element instead of
980 <i>sigmaHat</i> for semi-internal processes. A fixed-width
981 Breit-Wigner is also inserted, since the matrix element is supposed
982 not to include it.</li>
984 <li>New method <code>SigmaProcess::setupForME()</code> does an
985 extended conversion from the internal kinematics to an almost
986 equivalent one, better adapted to the mass conventions of matrix-element
987 caclulation programs, such as massive incoming <i>b</i> quarks.
988 New flags allow to determine whether the <i>c</i>, <i>b</i>,
989 <i>mu</i> and <i>tau</i> should be considered massless or not
990 in the calculations.</li>
992 <li>Two new friend methods <code>table</code> of the <code>Hist</code>
993 class allow to print a table with three columns, the first for the
994 (common!) <i>x</i> values and the other two for the respective
995 histogram values. A new method <code>takeSqrt</code> for the square
996 root of histogram bin contents.
1002 <li>8.145: 10 November 2010
1005 <li><code>Couplings</code> is defined in <code>StandardModel.h</code>
1006 as a derived class of <code>coupSM</code> and has only one extra flag:
1007 <code>isSUSY</code> to check presence of extra couplings.Changed all
1008 pointers <code>CoupSM*</code> to <code>Couplings*</code> and removed
1009 explicit references to <code>CoupSUSY*</code>. The <code>coupSUSY</code>
1010 object is only initialised if SUSY couplings are present. The new pointer
1011 <code>couplingsPtr</code> points either to only SM couplings or SM+SUSY
1012 couplings based on SLHA data.</li>
1014 <li>New files <code>SusyResonanceWidths.h/cc</code> contains the
1015 <code>SusyResonanceWidths</code> class, which inherits from
1016 <code>ResonanceWidths</code> but typecasts the <code>couplingsPtr</code>
1017 to <code>(CoupSUSY*) coupSUSYPtr</code>. This is the base class for
1018 all SUSY resonances. It contains the <code>ResonanceSquark</code> class
1019 for all squark decays. A new flag <code>SLHA:useDecayTable</code>
1020 to check if internal widths should be overwritten by those read in
1023 <li>Added new functionality to <code>SusyLesHouches</code> for read-in
1024 of generic user blocks in the SLHA format, along with methods to
1025 extract parameters from them with typecasting controlled by the user.
1026 Intended for use with user-written semi-internal processes.</li>
1028 <li>Added <code>Sigma1qq2antisquark</code> cross section.
1030 <li>Some new flags and modes in the <code>SUSY</code> and
1031 <code>SLHA</code> series offer further functionality.</li>
1033 <li>Several further changes as a consequence of the upgrade of the SUSY
1036 <li>Bug/typo fixes in rotation matrices for SUSY couplings and for the
1037 processes <code>qqbar2squarkantisquark</code>,
1038 <code>qq2squarksquark</code> and more.
1040 <li>Improved handling of colour junctions. Added new example program
1041 <code>main72.cc</code>, to illustrate read-in of color junction
1042 structures via LHEF (<code>main72.lhe</code>). The example used is SUSY
1045 <li>New Tune 4C introduced as <code>Tune:pp = 5</code>. The more crude
1046 (non-)tunes 3C and 3M are removed.
1048 <li>New methods <code>Settings::getFlagMap(...)</code>,
1049 <code>Settings::getModeMap(...)</code>,
1050 <code>Settings::getParmMap(...)</code> and
1051 <code>Settings::getWordMap(...)</code> allows to return a map of all
1052 settings of the respective type that contain a specific string
1056 <li>Improved description of excited <i>g^*/KK-gluon^*</i> production
1057 in the <code>Sigma1qqbar2KKgluonStar</code> and
1058 <code>ResonanceKKgluon</code> classes.
1060 <li>Possibility added to let Hidden-Valley <i>gamma_v</i> have
1061 a nonero mass and decay by mixing with the ordinary photon.
1062 Still experimental.</li>
1064 <li>Minor bug fix in handling of three-body phase space.</li>
1066 <li>Minor correction in <code>Sigma2ffbar2TEVffbar</code> class.</li>
1068 <li>Bug fix for decays of <i>W'</i> to a pair of heavy fermions when
1069 <i>gV != gA</i>. Thanks to M. Chizhov, see arXiv:0705.3944. </li>
1071 <li>Restore the older EHLQ-based encoding of the <i>f fbar -> Z W</i>
1072 cross section, which was changed in version 8.140, since comparisons
1073 with Madgraph gives much better agreement with it than with the
1074 expression of Brown, Sahdev and Mikaelian.</li>
1076 <li>The <code>HepMCInterface</code> now also stores colour flow
1077 information for coloured particles.
1079 <li>Pointer to <code>Couplings</code> made available for particle decays.
1081 <li>Minor update in <code>main61.cc</code> for more elegant usage
1082 of FastJet, as suggested by Gregory Soyez.</li>
1092 <!-- Copyright (C) 2010 Torbjorn Sjostrand -->