Update History
These update notes describe major updates relative to the baseline
PYTHIA 8.100 version. However, they are less extensive than the
corresponding update notes for PYTHIA 6. There are three main
reasons for this:
- The manual contained on these html/php pages is kept up to date.
(However, the "Brief Introduction" may not always be.)
- 8.1 is a quite new code, so there are many minor changes that,
if all were to be documented, would hide the key ones.
- 8.1 is not yet used for "mission critical" applications,
so there is less need to trace changed behaviour.
Main news by version
- 8.101: 10 November 2007
- New option to initialize with arbitrary beam directions
pythia.init( idA, idB, pxA, pyA, pzA, pxB, pyB, pzB)
- The
LHAevnt
and LHAinit
classes have been
joined into a new LHAup
one, with new options that allow
the writing of a Les Houches Event File.
- 8.102: 6 December 2007
- Limited capability to use two different
Pythia
instances
for signal + pileup event generation, see main19.cc
for an
example.
- Added capability to set beam energy spread
and beam vertex.
Warning: as a consequence, the old Beams
group of
settings has been moved to BeamRemnants
, and
Beams
is now instead used for machine beam parameters.
Therefore also some Main
settings of this character have been
regrouped, as follows:
8.100 setting | has been moved to |
Main:idA |
Beams:idA |
Main:idB |
Beams:idB |
Main:inCMframe |
(Beams:frameType ) |
Main:eCM |
Beams:eCM |
Main:eA |
Beams:eA |
Main:eB |
Beams:eB |
Main:LHEF |
Beams:LHEF |
- 8.103: 22 January 2008
- Updated HepMC conversion routine.
- In the
Event
class the =
and
=+
methods have been overloaded to allow the copying
or appending of event records. Illustrated in main19.cc
.
- 8.104: 14 February 2008
- Updated configure scripts.
- The
SusyLesHouches
class updated to handle
SLHA version 2.
- The
forceHadronLevel()
method introduced for standalone
hadronization.
main15.cc
illustrated how either full hadronization or
only decays of some particles can be looped over for the rest of the
event retained.
- The html and php page formatting improved with
cascading style sheets.
- The static
ErrorMsg
class has been removed and
its functionality moved into the non-static Info
class,
in the renamed Info file.
- 8.105: 24 February 2008
- Further reduction of the use of static, with related code changes.
This should allow to have several almost independent
Pythia
instances. Some static classes still remain, however, notably for
random number generation and particle properties.
- Several minor improvements and new options.
- 8.106: 11 March 2008
- Improved handling of the Higgs width, relevant for massive and thereby
broad resonance shapes.
- 8.107: 17 March 2008
- Correction in the event record, so that the beam particles in line
1 and 2 do not have any mother according to the
motherList
method. Previously the "system" entry in line 0 was counted as their
mother, which gave rise to an unexpected extra vertex in the conversion
to the HepMC format.
- 8.108: 1 May 2008
- Support for HepMC version 1 is removed, to simplify the code and
reflect the evolution of the field.
- Status codes are stored in HepMC only as 1 for existing and 2 for
decayed or fragmented particles (whereas previously the original PYTHIA
codes were used for the latter).
- Parton densities are stored in HepMC as xf(x,Q^2)
rather than the f(x,Q^2) used in (some) previous versions.
- The SusyLesHouches class has ben updated so that reading is fully
compatible with the SLHA2 standard.
- The matrix elements for neutralino pair production have now been
completed and checked.
- A new compilation option
-Wshadow
is introduced and
code is rewritten at all places where this option gave warnings.
- Minor library correction to allow compilation with gcc 4.3.0.
- Ensure that alpha_strong does not blow up, by introducing
a minimal scale somewhat above Lambda_3 (roughly where
alpha_strong = 10).
- New methods
isValence1()
and isValence2()
in the Info
class.
- Protection against division by zero in calculation of decay vertex
(for zero-mass gluons with zero lifetime, where there should be no
displacement).
- 8.114: 22 October 2008
- New rescattering description operational (but still experimental)
for the case that FSR is not interleaved, but saved until after MI,
ISR and beam remnants have been handled. This involves much new code
in several classes.
- A new class
PartonSystems
is introduced to
keep track of which partons in the event record belong to which
subcollision system, plus some further information on each subsystem.
It takes over functionality previously found as part of the
Event
class, but leaves room for future growth.
- Add optional model, wherein an increased pT0 turnoff scale
for MI and ISR is used for above-average active events, i.e. events that
already have several MI's or ISR emissions.
- Freeze GRV 94L distribution at small Q^2 to avoid blowup.
- The
pythia.readFile(...)
method can now alternatively take
an istream
as argument instead of a filename
.
- Minor bug correction in
PartonLevel.cc
; the bug could
(rarely) give a segmentation fault.
- 8.120: 10 March 2009
- New rescattering description further developed, but not yet
recommended for normal usage.
- Include new processes for Large Extra Dimensions and Unparticles,
contributed by Stefan Ask. New test program
main28.cc
illustrates.
- Include further SUSY processes: neutralino-chargino and
chargino-chargino pairs. The processes should be valid also
in the case of non-minimal flavour violation and/or CP violation.
Expanded machinery to keep track of SUSY parameters.
- Include backwards evolution of incoming photon as part of the
SpaceShower
initial-state radiation description. This
allows you to simulate hard collisions where one of the incoming
partons is a photon. New test program main43.cc
illustrates.
- Allow separate mass and transverse momentum cuts when two hard
subprocesses are generated in the same event.
- The default value for the border between short- and long-lived
paticles has been changed from 1 mm to 10 mm, to better conform with
LHC standards, see here.
The default is still to let all unstable particles decay.
- New ISR matrix-element correction to f -> f gamma
in single W production.
- New method
Event::statusHepMC
returns the status
code according to the HepMC conventions agreed in February 2009.
The interface to HepMC now writes out status according to this
convention.
- Add capability to link to FastJet, with expanded configure script
and Makefile, and with
main61.cc
as new example.
- Update of
Makefile.msc
, with added support for latest
Visual C++ Express edition and use of regexp to check nmake version.
- Update of
LHAFortran.h
and
Pythia6Interface.h
, to make the interface to Fortran
routines work also under Windows. (Thanks to Anton Karneyeu.)
- Updated and expanded worksheet.
- The manual pages in the
xmldoc
directory, and thereby
also those of the htmldoc
and phpdoc
directories, have been significantly updated and expanded. In particular,
in many places the class of each method is explicitly shown, as well as
the type of the return value and of the arguments. This upgrade is not
yet completed, but already covers the more relevant sections.
- The unary minus operator in the
Vec4()
returns a
reference to a four-vector with all components negated, but leaves
the original four-vector unchanged. Previously the four-vector itself
was flipped.
- The
pPlus()
and pMinus()
methods of a
four-vector and an event-record particle are renamed pPos()
and pNeg()
, respectively.
- Include a further loop in
ProcessLevel
, so that a new
process is generated in case of failures of a less severe nature.
- Introduce warning message for unexpected
meMode
in
ResonanceWidths
.
- Les Houches event reading framework has been rearranged for
more flexibility. Some bugs corrected. Specifically, when scale
is not set (
scale = -1.
in the Les Houches standard),
PYTHIA did not attempt to set this scale itself, which typically
lead to there not being any ISR or FSR. Now the
rules for normal
1-, 2- and 3-body final states are applied, with a trivial
extension of the 3-body rules for higher multiplicities.
- Correct bug in the handling of parton densities, whereby it was
not possible to switch to a new set, once a first initialization
had been done.
- Correct bugs when several
Pythia::init
initialization
calls are made in the same run, specifically in the case that pointers
to external processes have been handed in.
- Changes in main03.cmnd and main04.cmnd so that some nonstandard
options are commented ou rather than active. Related comments
inserted also in some other .cmnd files, but there without any change
in program execution.
- A few further minor bug fixes.
- Update year to 2009.