text:
<title>Update History</title>
<link rel="stylesheet" type="text/css" href="pythia.css"/>
<link rel="shortcut icon" href="pythia32.gif"/>

<?php
if($_POST['saved'] == 1) {
if($_POST['filepath'] != "files/") {
echo "SETTINGS SAVED TO FILE

"; }
else {
echo "NO FILE SELECTED YET.. PLEASE DO SO HERE

"; }
}
?>

<form method='post' action='UpdateHistory.php'>

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. On the other hand,
whereas the PYTHIA 6 manual is a static document, the PYTHIA 8
html/php pages are kept up to date for each subversion.

Important note:version 8.160 does introduce some elements of
backwards incompatibility. Specifically, "multiple interactions",
abbreviated MI, has been renamed "multiparton interactions", MPI.
This affects many parts of the code and documentation. Also some
features are deprecated, although remaining until the end of the
8.1xx version series.

Main news by version

8.105: 24 February 2008

New option to initialize with arbitrary beam directions

pythia.init( idA, idB, pxA, pyA, pzA, pxB, pyB, pzB)

Added capability to set <?php $filepath = $_GET["filepath"];
echo "";?>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

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 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.

The SusyLesHouches class updated to handle
SLHA version 2.

Updated HepMC conversion routine.

The static ErrorMsg class has been removed and
its functionality moved into the non-static Info class,
in the renamed Info file.

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.

Limited capability to use two different Pythia instances
for signal + pileup event generation, see main19.cc for an
example.

In the Event class the = and
=+ methods have been overloaded to allow the copying
or appending of event records. Illustrated in main19.cc.

The html and php page formatting improved with
cascading style sheets.

Several minor improvements and new options, including updated configure
scripts.

8.108: 1 May 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.

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 been updated so that reading is fully
compatible with the SLHA2 standard.

Improved handling of the Higgs width, relevant for massive and thereby
broad resonance shapes.

The matrix elements for neutralino pair production have now been
completed and checked.

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).

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.

8.114: 22 October 2008

New rescattering description operational (but still experimental)
for the case that FSR is not interleaved, but saved until after MPI,
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 MPI and ISR is used for above-average active events, i.e. events that
already have several MPI'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
particles has been changed from 1 mm to 10 mm, to better conform with
LHC standards, see  <?php $filepath = $_GET["filepath"];
echo "";?>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
<?php $filepath = $_GET["filepath"];
echo "";?>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 out 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.

8.125: 16 June 2009

Hadronization and timelike-shower parameter default values updated
according to a tune to LEP1 data by Hendrik Hoeth, using the
Rivet + Professor framework.

Many further SUSY production processes. SLHA readin expanded to cover
also masses and decay modes. Example main22.cc updated, while
main33.cc now superfluous and removed.

Also further processes for extra dimensions.

Stefan Ask joins as coauthor.

The TimeShower::shower(...) method has gained
a new argument, that forces the shower evolution to stop after
a given number of branchings. A new method
TimeShower::pTLastInShower() permits the last evolution
pT to be read out. These extensions can be useful
for matching studies.

New optional argument isInterleaved added to
TimeShower::branch(...). Is false by default, but
true when called from the parton level for interleaved evolution
of several parton systems, optionally also with ISR and MPI.

New methods UserHooks::canSetResonanceScale()
and UserHooks:scaleResonance(...) allows an optional
user choice of the maximum shower scale in resonance decays.

A new method SpaceShower::doRestart() has been
added, to help distinguish cases when a
SpaceShower::branch(...) failure forces a complete
restart of the evolution from ones where only the intended
current branching has been vetoed.

When multiparton interactions are initialized, it is now
possible to reduce both pT0 and pTmin
if necessary to find a valid solution where
sigma_jet > sigma_nondiffractive. Previously
only the former would be reduced, which could lead to
infinite loops if too large a pTmin was used.
Thanks to Sami Kama for pointing out the problem.

The rescattering machinery is now essentially completed, and can
be used also by others than the authors. For now, however, it can only
be recommended for dedicated studies, not e.g. for generic tunes.

Timelike and spacelike showers, and beam remnant handling,
are modified to handle rescattering partons. Specifically, a new machinery
is introduced to trace the recoils from the combination of rescattering
with showers and primordial kT. Can assign space- or timelike
virtualities to intermediate particles to have energy and momentum
conserved locally. This affects the PartonLevel,
MultipartonInteractions, TimeShower,
SpaceShower and BeamRemnants classes.
Further details to appear in the upcoming article on rescattering.
(Another change is a reversal to pre-8.114 order for non-interleaved FSR,
wherein also FSR is treated before beam remnants are attached.)

Four new status codes introduced, as part of the rescattering
description:

45 : incoming rescattered parton, with changed kinematics owing
to ISR in the mother system (cf. status 34);

46 : incoming copy of recoiler when this is a rescattered parton
(cf. status 42);

54 : copy of a recoiler, when in the initial state of a different
system from the radiator;

55 : copy of a recoiler, when in the final state of a different
system from the radiator.

New method Info::tooLowPTmin() can tell whether the
pTmin scales for showers or multiparton interactions are too low.

Pion beams allowed, both pi^+, pi^- and
pi^0. New machinery for the latter, where the valence
flavour content is chosen to be either d dbar or
u ubar for each new event. One internal pion PDF
implemented, with others from LHAPDF.

Treatment of Pomeron-proton collisions begun.

Phase-space handling of hard processes and multiparton interactions
slightly expanded to better allow for harder PDF's than proton ones,
e.g. for Pomerons.

The program documentation has been expanded with an
alphabetical index of all methods that are described on the
webpages, see the <?php $filepath = $_GET["filepath"];
echo "";?>Program Methods
page. Also other sections of the documentation have been
updated and expanded, including the worksheet.

Several list methods have been made
const. For the listing of events two new methods
have been added, Event::list() and
Event::list(bool showScaleAndVertex,
bool showMothersAndDaughters = false),
that correspond to special cases of the general method.

A new method Pythia::LHAeventSkip(int nSkip)
permits a skip-ahead of the reading of external Les Houches
Events, without the necessity to generate the intervening
nSkip events in full. Makes use of the new
LHAup::skipEvent(int nSkip) method to perform
the operations. Mainly intended for debug purposes.

The ClusterJet jet finder now saves the last
five clustering scales. Also a minor bug fix. Thanks to Nils
Lavesson for this contribution.

The Particle::m2() method now returns a negative
number when the stored mass m is negative, as used to
indicate spacelike virtualities. Also the
Particle::eCalc(), Particle::mT() and
Particle::mT2() methods have been modified.

The << method to print our a four-vector has
been expanded with a fifth number, the invariant length, with a minus
sign for spacelike vectors, and provided within brackets to allow
a simple visual distinction.

New methods Rndm::dumpState(string fileName) and
Rndm::readState(string fileName) allows to write or
read the state of the random number generator to or from a binary file.

New method double GammaReal(double x) returns the
value of the Gamma function for arbitrary real argument.
Some cross sections for extra-dimensional processes rewritten to
make use of it.

New example program main29.cc shows how
to set up a fictitious process of a heavy system decaying
to two particles or partons, with decays traced to stable
particles, as relevant for astroparticle applications.

Main programs that illustrate the HepMC interface have
been updated to use version 2.04, including units and excluding
deprecated output formats.

The main32.cc example extended also to handle
Les Houches Event Files.

The Makefile has been modified so that "make clean" only
removes the current compilation and library files, while
"make distclean" gives a more extensive reset and cleanup.
Thanks to Nils Lavesson for this contribution. Some other
minor Makefile corrections.

Several main programs that use the
Main:timesToShow mode have been corrected so as
not to crash if this is set to zero. Also some other cosmetics
changes in main programs that do not affect the running.

Bug correction, in that previously a veto with user hooks
was not propagated from parton showers inside resonance decays.

Minor bug fix in TimeShower for kinematics with
unequal beam-particle masses.

Bug fix so that PartonLevel:MPI = off also works for
minimum-bias events.

Minor bug fix in the impact-parameter selection of multiparton
interactions. Thanks to Sami Kama for pointing it out.

String fragmentation for junction topology protected against
numerical instability in boost.

Bug correction in the handling of particle decays to partons,
where the scale of the partons was set before the partons had been
added to some arrays, leading to indexation out of bounds.
Thanks to Vladislav Burylov for discovering this bug.

Bug correction in the handling of particles with inhibited decay,
where the decay vertex would be too far displaced, which could lead to
infinite loop. Thanks to Sami Kama for debugging this.

Check to avoid infinite loop in matrix-element handling of
two-body decays.

Bug correction to avoid infinite loops in Dalitz decay treatment.
Some changes in the decay handling logic to allow a new try when the
decay of a particle fails.

Minor correction, so the pointer to the Info class
is set also for user-written classes derived from LHAup.

Correction for typo in the matrix element of the
Sigma3ff2HchgchgfftWW class, for doubly charged Higgs
production. Thanks to Merlin Kole for spotting it.

Updated colour bookkeeping in junction-antijunction annihilation
avoids later problems in Pythia::check().

Minor updates of the Makefile.msc file to work with
Visual Studio 2008. Thanks to David Bailey for these modifications.

Ensure that nInit in the BeamParticle
class is set also for unresolved lepton beams.

The VetoEvolution class, derived from
UserHooks, is obsolete and has been removed.

8.130: 15 September 2009

New machinery that allows multiparton interactions inside diffractive
systems. Also new optional Pomeron flux factors and Pomeron PDFs.
New page on <?php $filepath = $_GET["filepath"];
echo "";?>diffraction added, where
further details are collected. Still not tuned, so to be used with
caution.

Make Peter Skands' "Tune 1" parameters for ISR and MPI default.
The older simpler tune is still available as an option, see
<?php $filepath = $_GET["filepath"];
echo "";?>Tune:pp.

New possible choices for a second hard process: charmonium,
bottomonium, top pair and single top.

New code for pair production of generic colour-triplet scalar,
fermion or vector. Largely written by Johan Bijnens, partly recycling
existing code.

Add user hooks possibility to veto event after a given number
of multiparton interactions.

Add instructions how PYTHIA 8 can be used from inside ROOT.
Thanks to Andreas Morsch for providing the text and Rene Brun
for a simple example.

The main21.cc example extended with an option
for a single-particle gun.

Improvements and bug fixes in rescattering framework.

New method Hist::table(string fileName) provides a
more direct way to print a two-column table of histogram contents
into a file than the current Hist::table(ostream& os = cout).

Modify reading of external files so that a line only consisting of
control characters counts as empty, the same way as a line only consisting
of blanks already did. This includes carriage return, tabs and a few more,
the ones represented by \n \t \v \b \r \f \a. Applies to
Les Houches Event files, settings files and particle data files.

Fix it so that the read-in of a Les Houches Event File for the
hardest process can be combined with the facility to select a specified
second hard process.

New empty base class method LHAup::fileFound()
allows the derived class LHAupLHEF to signal more
clearly that a failed initialization is caused by a failure to open
the desired file.

Check that a pointer to an LHAup object has been set
in Pythia::LHAeventList() and
Pythia::LHAeventSkip(...) calls.

Updated configure and Makefile, e.g. to build shared libraries
on Mac OS X.

The options with a direct link to hard-process generation
in PYTHIA 6 has been removed. It is hardly ever used but
complicates the build structure. (Owing to its usefulness for some
debug work, it was reinstated in a limited form in version 8.135.
Thus main51.cc now contains the complete interface,
previously in separate files, and commented-out lines in
examples/Makefile suggest how PYTHIA 6 could be linked.)

New argument to Info::errorMsg(...) allows to
show all error messages of a specific kind rather than only the
first one, e.g. for initialization.

Correction in decay table of righthanded Majorana neutrinos.
Thanks to Arnaud Ferrari and Vladimir Savinov.

Correction in expressions in the manual for H^+- couplings
to an h^0, H^0 or A^0 and a W^+-.
Thanks to Rikard Enberg.

Fix for accessing uninitialized memory, caused by accessing the
daughters of the incoming beams before these daughters actually existed.
Thanks to David Bailey and Sami Kama.

Uninitialized photon PDF inside the proton could give crazy results
for processes with incoming photons. Thanks to Adam Davison.

Bug fix such that finite lifetimes can be set also for particles
produced in the hard process. To exemplify, the bug affected
tau leptons produced in Z^0 and W^+-
decays. Thanks to Troels Petersen.

Bug fix in TimeShower, that beamOffset
could remain uninitialized. Thanks to Sami Kama.

Minor correction to resonance decays: fail if the allowed mass
range of a Breit-Wigner resonance is a small fraction of the total
area under the resonance curve.

Correction when all three valence quarks were kicked out from a
proton and could give false messages that beam momentum had been
used up.

Clarify status codes needed for hadron-level standalone runs in
order to avoid error messages, and modify the main21.cc
example accordingly.

Minor corrections in the processes for extra dimensions.

Some other minor additions to existing facilities
and minor bug fixes.

8.135: 10 January 2010

All usage of static member methods inside Pythia8 has now been
eliminated. This simplifies for you to have several simultaneous
Pythia instances that are run with different conditions.
The three main classes affected by this are the Settings
and ParticleData databases and the Rndm
random-number generator. You can no longer address the methods of these
classes directly, but have to address them via the settings,
particleData and rndm instances in the
respective Pythia object. Also some other smaller pieces
of code are affected, e.g. Standard Model and SUSY couplings
(the latter in new files).

Note 1: The documentation has been updated accordingly
on these webpages, but the "A Brief Introduction to PYTHIA 8.1"
still refers to the old behaviour of version 8.100.

Note 2: the interface to the external LHAPDF library remains
static, since LHAPDF is written in Fortran and thus by definition
static.

Note 3: if you want to have momentum smearing in
CellJet you now need to send in a pointer to a
random-number generator.

Ten new proton PDF sets are made available internally:
MRST LO* (2007), MRST LO** (2008), MSTW 2008 LO (central member),
MSTW 2008 NLO (central member), CTEQ6L, CTEQ6L1, CTEQ6.6 (NLO,
central member), CT09MC1, CT09MC2, and CT09MCS, see
<?php $filepath = $_GET["filepath"];
echo "";?>PDF Selection. The Pomeron PDF data
files have been renamed for consistency. Thanks to Tomas Kasemets
for help with this [Kas10].

New parameters TimeShower:pTmaxFudgeMPI and
SpaceShower:pTmaxFudgeMPI introduced, to give the same
functionality for multiparton interactions that
TimeShower:pTmaxFudge and SpaceShower:pTmaxFudge
do for the hardest.

A few extensions of the UserHooks framework.
New methods UserHooks:canVetoISREmission() and
UserHooks::doVetoISREmission(...) allows the latest
initial-state emission to be studied before being finalized,
with the possibility to veto it.
Similarly Userhooks:canVetoFSREmission() and
UserHooks::doVetoFSREmission(...) can be used to
veto the latest final-state emission.

A number of loop counters have been introduced in the
Info class, that offers some further information on
the progress of the event generation, for use e.g. in conjunction
with the UserHooks facility.

The Pythia::initTunes(...) method is made public, so that
it can be called before the normal call from Pythia::init(...).
That way it is possible to start out from a given tune and change a few
of the parameters.

Bug corrected in LHAFortran.h for hard-process input
from Fortran commonblock. This did not work properly when the input
was used in combination with a second hard process generated internally.
Thanks to Mikhail Kirsanov and Roberto Chierici.

Insertion of missing initialization of isInit in the
Settings and ParticleData constructors, and
nInit for BeamParticle.
Thanks to Leif Lönnblad.

Updated Makefile.msc for Windows users.

Fix of some non-optimal use of booleans, that give warnings on
a Windows compiler. Thanks to Anton Karneyeu.

New options for the <?php $filepath = $_GET["filepath"];
echo "";?>
SUSY Les Houches Accord such that, by default,
particle and decay data are not overwritten for known Standard Model
particles (including Z^0, W^+- and t,
but excluding the Higgs).

Bug fix in SusyLesHouches, where the reading of SLHA
information embedded in an LHEF would not stop at the end of the header
section.

Bug correction for undefined secondary widths where decay products
together are heavier than the mother. Also unit default secondary width
values in the DecayChannel constructor.

Documentation updated, including change of current year to 2010.

8.140: 16 July 2010

Four new draft <?php $filepath = $_GET["filepath"];
echo "";?>tunes available.

Introduction of a new scenario for production of Hidden-Valley
particles, and interleaved showering in the QCD and HV sectors, see
the new <?php $filepath = $_GET["filepath"];
echo "";?>Hidden Valleys
description. A longer physics writeup is available [Car10].

Implementation of 2 -> 3 phase space selection intended
for QCD processes with massless partons. A new set of matching
<?php $filepath = $_GET["filepath"];
echo "";?>phase space cut parameters.
The <?php $filepath = $_GET["filepath"];
echo "";?>ten different QCD 2 -> 3
processes have been implemented making use of this new
possibility, so far without a complete handling of possible colour
flows, however.

New processes have been added for
<?php $filepath = $_GET["filepath"];
echo "";?>contact interactions in
q q -> q q and q qbar -> q qbar scattering.

A process has been added for TeV^-1 Sized
<?php $filepath = $_GET["filepath"];
echo "";?>Extra Dimensions, which
involves the electroweak KK gauge bosons, i.e. gamma_{KK}/Z_{KK},
in one TeV^-1 sized extra dimension; see main30.cc for
an example. This scenario is described in [Bel10]. Thanks to
Noam Hod and coworkers for contributing this code.

In the Randall-Sundrum extra-dimensional scenario a new option has
been added where SM fields can exist in the bulk rather than only on
a brane. (Still under development.) Furthermore production of a
Kaluza-Klein gluon state has been added, and the  main28.cc
test program extended.

The scenario for monojets in Large Extra Dimensions has been expanded
with an alternative for scalar graviton exchange instead of tensor one.

New parameters for maximum scale of
<?php $filepath = $_GET["filepath"];
echo "";?>timelike showers,
TimeShower:pTmaxMatch, and the dampening of hard radiation,
TimeShower:pTdampMatch and TimeShower:pTdampFudge,
by analogy with corresponding ones for spacelike showers. Also new method
TimeShower:limitPTmax(...) to implement alternative procedures.
For dipoles stretched to the beam the new switch
TimeShower:dampenBeamRecoil allows to dampen radiation
close to the beam direction, with a changed default behaviour.

Azimuthal anisotropies from coherence arguments have been introduced
for the spacelike parton showers, see SpaceShower:phiIntAsym
and SpaceShower:strengthIntAsym.
Also azimuthal anisotropies from gluon polarization have been introduced
for the spacelike parton showers, see SpaceShower:phiPolAsym,
and updated for timelike parton showers, see
TimeShower:phiPolAsym.

Improvements for the matching to POWHEG LHEF-style input illustrated
by the new main71.cc example. See also [Cor10].

A set of new processes gamma gamma -> f fbar, with f
quarks or leptons. Code for equivalent photon flux around an unresolved
proton, with more to come. Thanks to Oystein Alvestad.

A new option has been included to dampen the growth of the diffractive
cross sections, see <?php $filepath = $_GET["filepath"];
echo "";?>Total Cross
Sections.

A new method virtual int SigmaProcess::idSChannel()
has been introduced. If overloaded to return a nonzero value then a
2 -> n process will appear listed as a 2 -> 1 -> n one.
That is, an intermediate resonance with the requested identity will be
inserted in the event record, even without appearing in the calculation
of the matrix element proper. Thanks to Noam Hod for idea and code.

A new method SigmaProcess::convertM2() has been introduced
to optionally allow the SigmaProcess::sigmaHat() to return
the squared matrix element rather than d(sigmaHat)/d(tHat) for
 2 -> 2  processes. Furthermore kinematics is stored in the new
mME and pME vectors for alternative cross
section encodings.

Different encoding of the f fbar -> Z W cross section,
contributed by Merlin Kole, based on the cross section of
Brown, Sahdev and Mikaelian. Gives a distinctly different cross section
than the previous based on EHLQ (including their bug fix).
In particular the problem with negative cross sections is now fixed.

Minor updates: pass xmlPath to new MSTW and CTEQ PDFs;
reset beams earlier to give cleaner documentation.

The H1 Fit B LO parametrization to the Pomeron PDF has been included,
and made new default for Pomerons. Thanks to Paul Newman for providing
the data files.

Three changes, in principle unrelated, but with the common objective
to make the generation of a given event depend only on the values
determined during the initialization stage and on the state of the
random-number generator when the event is begun. The new default
should ensure a reproducible stop-and-restart behaviour, convenient
for debug purposes. Thanks to Michael Schmelling for stressing the
desire for such a behaviour.

(i) Introduction of a new option <?php $filepath = $_GET["filepath"];
echo "";?>
PhaseSpace:increaseMaximum that allows to switch between
two strategies for handling the (hopefully rare) cases when the
assumed maximum of the cross section function is exceeded during the
event generation, with a changed default behaviour. In the old
default the maximum could be increased if it was exceeded during the run,
thereby introducing a memory of the previously generated events.

(ii) Updated handling of random numbers with Gaussian distributions.
The gauss() method now only generates one value at a time.
Instead the new gauss2() method returns a pair of Gauss
numbers, with related time savings. In the old approach one Gaussian
number could be buffered, which introduced a memory.

(iii) Minor bug fix in MiniStringFragmentation, where
the popcorn baryon state was not reset for each new system, again
giving a (flawed) memory.

New directory rootexample with a simple code example
how to use ROOT for histogramming in PYTHIA runs. See
<?php $filepath = $_GET["filepath"];
echo "";?>ROOT Usage for details. Thanks to Rene Brun.

In the HepMCinterface the checks for unhadronized
quarks and gluons are not performed if hadronization has been switched
off.

The UserHooks::initPtr(...) has been expanded so that
pointers to more classes (beam particles, random number, couplings, etc.)
are sent in, thereby increasing the scope of possible user-written code.
Also, the UserHooks::doVetoProcessLevel(Event& process)
now allows the process event record to be modified,
even if it is not recommended. The new Info::pTnow()
method returns the current pT scale of the combined MPI, ISR
and FSR evolution, which can be useful for some user hooks decisions.

Histograms of the Hist class can now be booked
with up to 1000 bins, instead of the previous maximum 100. All bins
can be written to file, but the line-printer style printing will join
nearby bins so at most 100 are printed, as before.

Updated configure and Makefile
to allow 64-bit compilation and more options. Thanks to Mikhail Kirsanov,
Rene Brun and Fons Rademakers.

Bug fix in ProcessLevel for colour flow checks of
junctions. Enables the decay of a neutralino to three quarks, e.g.
Thanks to Nils-Erik Bomark.

Bug fixes in TimeShower, where recoil partners in resonance
decays of coloured particles, and recoil partners in QED dipoles when beams
are not allowed to take a recoil, might not be correctly identified.

Bug fix in SpaceShower: when used with a fixed
alpha_strong, the threshold enhancement factor of
g -> Q Qbar became undefined. Thanks to Stefan Prestel.

Bug fix in initialization of resonance widths, where the
minWidth parameter could be used uninitialized,
occasionally resulting in strange initialization problems when
kinematics needs to force at least one resonance to be off-shell.

Minor updates of main06.cc, main10.cc
and main23.cc.

Bug fix in mother pointer of multiparton interactions in
diffractive systems.

8.142: 15 August 2010

The strategy for setting up tune values has been changed.
Previously the Tune:ee and Tune:pp
settings were only interpreted during the
Pythia::init(...) stage. Now they are interpreted
as soon as they are read. Specifically this means that it is
possible to override any of the tune parameters by putting new
commands below Tune:ee and Tune:pp
in the Pythia::readFile(...) configuration file
or in the list of Pythia::readString(...) commands.

As a consequence of this change, the public
Pythia::initTunes(...) method has been replaced by
two private Settings::initTuneEE(...) and
Settings::initTunePP(...) methods.

If Tune:ee or Tune:pp are
nonvanishing by default, then the corresponding tune variables
are set also from the Pythia constructor, before any
user changes are possible. Currently this is not relevant.

Bug fix in the setup of the Tune:pp = 5 and
= 6 options, which meant that diffractive cross
sections were not reduced as advertised.

The default value of MultipartonInteractions:pT0Ref
has been slightly reduced so as to give a somewhat improved
default description. It is not intended as a replacement for the
specific tunes, however.

Some comparisons between tunes and data, obtained with the
Rivet package, have been posted on

http://home.thep.lu.se/~richard/pythia81/.
Further improvements can be expected from future Professor-based
tunes. The current set of 2C, 2M, 3C and 3M "draft tunes" have
deliberately been chosen different also to explore a range of
possibilities. One not visible in the plots is the fraction
of single and double diffractive events in the inelastic cross
section. This is 32% in 2C and 2M, while it was reduced to
21% in 3C and 3M, and a recent ATLAS study (ATLAS-CONF-2010-048)
would suggest 28+-4%.

Minor changes in TimeShower and
SpaceShower, as protection if the c or
b masses are set small.

Bug fix in SpaceShower, for case when phi
angle selection is biased to take into account interference effects.

The SigmaProcess::convertM2() method now has
been implemented also for 2 -> 1 processes, so that it is
possible to provide the squared matrix element instead of
sigmaHat for semi-internal processes. A fixed-width
Breit-Wigner is also inserted, since the matrix element is supposed
not to include it.

New method SigmaProcess::setupForME() does an
extended conversion from the internal kinematics to an almost
equivalent one, better adapted to the mass conventions of matrix-element
calculation programs, such as massive incoming b quarks.
New flags allow to determine whether the c, b,
mu and tau should be considered massless or not
in the calculations.

Two new friend methods table of the Hist
class allow to print a table with three columns, the first for the
(common!) x values and the other two for the respective
histogram values. A new method takeSqrt for the square
root of histogram bin contents.

8.145: 10 November 2010

Couplings is defined in StandardModel.h
as a derived class of coupSM and has only one extra flag:
isSUSY to check presence of extra couplings.Changed all
pointers CoupSM* to Couplings* and removed
explicit references to CoupSUSY*. The coupSUSY
object is only initialised if SUSY couplings are present. The new pointer
couplingsPtr points either to only SM couplings or SM+SUSY
couplings based on SLHA data.

New files SusyResonanceWidths.h/cc contains the
SusyResonanceWidths class, which inherits from
ResonanceWidths but typecasts the couplingsPtr
to (CoupSUSY*) coupSUSYPtr.  This is the base class for
all SUSY resonances. It contains the ResonanceSquark class
for all squark decays. A new flag SLHA:useDecayTable
to check if internal widths should be overwritten by those read in
via SLHA.

Added new functionality to SusyLesHouches for read-in
of generic user blocks in the SLHA format, along with methods to
extract parameters from them with typecasting controlled by the user.
Intended for use with user-written semi-internal processes.

Added Sigma1qq2antisquark cross section.

Some new flags and modes in the SUSY and
SLHA series offer further functionality.

Several further changes as a consequence of the upgrade of the SUSY
machinery.

Bug/typo fixes in rotation matrices for SUSY couplings and for the
processes qqbar2squarkantisquark,
qq2squarksquark and more.

Improved handling of colour junctions. Added new example program
main72.cc, to illustrate read-in of color junction
structures via LHEF (main72.lhe). The example used is SUSY
with RPV.

New Tune 4C introduced as Tune:pp = 5. The more crude
(non-)tunes 3C and 3M are removed.

New methods Settings::getFlagMap(...),
Settings::getModeMap(...),
Settings::getParmMap(...) and
Settings::getWordMap(...) allows to return a map of all
settings of the respective type that contain a specific string
in its name.

Improved description of excited g^*/KK-gluon^* production
in the Sigma1qqbar2KKgluonStar and
ResonanceKKgluon classes.

Possibility added to let Hidden-Valley gamma_v have
a nonzero mass and decay by mixing with the ordinary photon.
Still experimental.

Minor bug fix in handling of three-body phase space.

Minor correction in Sigma2ffbar2TEVffbar class.

Bug fix for decays of W' to a pair of heavy fermions when
gV != gA. Thanks to M. Chizhov, see arXiv:0705.3944.

Restore the older EHLQ-based encoding of the f fbar -> Z W
cross section, which was changed in version 8.140, since comparisons
with Madgraph gives much better agreement with it than with the
expression of Brown, Sahdev and Mikaelian.

The HepMCInterface now also stores colour flow
information for coloured particles.

Pointer to Couplings made available for particle
decays.

Minor update in main61.cc for more elegant usage
of FastJet, as suggested by Gregory Soyez.

8.150: 20 April 2011

Tune 4C is made default. It is based on first comparisons with
LHC data [Cor10a], and has also been checked independently
[Buc11] to give reasonable agreement with many distributions.

The description of tau lepton decays has been significantly
enhanced, to include helicity information related to the production
process and hadronic currents fitted to data. A complete writeup is
in preparation, while a summary can be found in [Ilt12].
A new flag is introduced to revert to the old behaviour, for
cross-checks, see <?php $filepath = $_GET["filepath"];
echo "";?>Particle Decays.
The new tau decay machinery is on by default.

A new option MultipartonInteractions:bProfile = 4 has
been introduced for the impact-parameter profile of protons in the
<?php $filepath = $_GET["filepath"];
echo "";?>Multiparton Interactions
framework, wherein low-x partons are spread over a larger area
than high-x ones, see [Cor11]. A new method
Info::eMPI(i) gives back the enhancement factor related to
the i'th interaction. The impact-parameter profile can now
be selected separately for <?php $filepath = $_GET["filepath"];
echo "";?>diffraction,
but without a bProfile = 4 option.

The possibility of "hadronization" in the
<?php $filepath = $_GET["filepath"];
echo "";?>Hidden Valley sector
has been added as a new option HiddenValley:fragment = on.
This is based on a copy of the standard string fragmentation framework,
but with the option of a completely separate "flavour" sector, and
separately tunable longitudinal fragmentation functions and transverse
momenta. For now only a simple flavour scenario is provided, where
flavour-diagonal mesons can decay back into the normal visible sector
while off-diagonal ones remain hidden. A writeup of the model is in
preparation [Car11]. Also some further Hidden Valley options
have been added.

Included possibility in TimeShower for QCD dipoles to
have an adjustable normalization factor, via the new
bool isFlexible and double flexFactor
properties of class TimeDipoleEnd. This flexibility is used
to treat radiation off colour topologies with epsilon tensors, in
particular colour junctions which have all their partons in the
final state. (An example is the BNV-SUSY decay ~chi0→uds.) For
such topologies, the new treatment in PYTHIA 8 is that a
half-strength dipole is spanned between all combinations of
final-state quarks. For junctions with an incoming (anti)colour line (such
as in the BNV-SUSY decay ~t*→cb), a full-strength dipole is
instead spanned between the two daughters, with no radiation from the
decaying object (in its CM). As will be described in a forthcoming
paper with N. Desai, this should give the
closest possible correspondence to the radiation patterns exhibited
by higher-order matrix elements for this type of process.

Corrected harmless bugs in ProcessLevel::findJunctions
which caused junctions of types 3 and 4 (i.e., junctions with 1
incoming color tag) to sometimes be incorrectly classified as types
1 and 2 (with all color tags outgoing), respectively.
Since the parity (even/odd) of the junction kind was still correct,
however, this did not cause any problems at the hadronization
stage.

The junction-finder in ProcessLevel::findJunctions
has been made more stable, and the following ordering of the color
tags returned by Event::endColJunction(iJun, iLeg)  is
now enforced: for junction kinds 3 and 4 (one tag
incoming), iLeg = 0 will return the
incoming tag, while for kinds 5 and 6 (two tags incoming),
iLeg = 0 and iLeg = 1 will return the
incoming tags. Apart from this ordering, the color tags are
ordered in ascending color tag number.

Declarations of friend functions moved to sit outside the class
it befriends. Thanks to Axel Naumann for pointing out the incorrect
previous construction.

The rootexample subdirectory becomes
rootexamples as the old example is split into two,
with improved documentation to clarify usage. Thanks to Axel Naumann
and Bernhard Meirose for the new code.

In the Les Houches Event File machinery, input type has been
changed from ifstream to istream for more
flexibility.

R-hadron  handling is largely implemented, see the
<?php $filepath = $_GET["filepath"];
echo "";?>R-hadrons page, although some aspects
still need polishing. A new class RHadrons takes
care of the hadronization and decay. Particle data have been added
for R-hadrons containing a gluino, stop or sbottom, but could
alternatively be used for other long-lived coloured particles.
Thanks to Bernhard Meirose for support.

Calculations of SUSY decay widths included by
  N. Desai, contained in the new source
files SusyResonanceWidth.cc
  and .h. Validation and addition of more modes is still in
  progress, so this implementation should be considered preliminary
  for now. For a list of available modes, see
  the <?php $filepath = $_GET["filepath"];
echo "";?>SUSY Processes page.

A first implementation of the SLHA-based QNUMBERS interface for
  defining new exotic particles has been
  included. See [Alw07] and
  the <?php $filepath = $_GET["filepath"];
echo "";?>SUSY Les Houches Accord
  page.

Read-in of LHEF events containing Baryon Number Violating vertices
  has been included, using colour junctions, see
  the <?php $filepath = $_GET["filepath"];
echo "";?>Event Record page. The advanced
  shower model taking into account the full colour structure of such
  events, developed by N. Desai and described above,
  is turned on by default in such events.
  Several test cases were used to
  validate this implementation, but it is possible that problems could
  still exist for some cases. Feedback is welcome. Thanks to
  the MadGraph authors for providing several test cases.

Some first steps taken to allow events containing colour sextets,
  e.g., from semi-internal processes or LHEF interfaces, and/or from
  SLHA DECAY tables. New
  colType codes 3 and -3 are introduced to describe
  sextets and antisextets, respectively. The state of the current
  implementation is that hard processes containing such states can be
  read in and decays generated (via DECAY tables). Parton
  showers can be added, but the sextets themselves do not, as yet,
  shower, and any undecayed sextets remaining at the hadronization
  stage would lead to unpredictable problems if hadronization is
  switched on. Thanks to J. Alwall for help with testing
  this implementation.

The functionality of the SLHA SUSY/BSM interface (see
  the <?php $filepath = $_GET["filepath"];
echo "";?>SUSY Les Houches page) has been
  extended so that copies of all BLOCKs are now stored
  internally as
  strings, regardless of whether they correspond to "official" SLHA
  blocks or not. Their contents can subsequently be queried by a set
  of new templated member functions of the
  class SusyLesHouches. Available query functions so far
  include

template <class T> bool getEntry(string, T&);,

template <class T> bool getEntry(string, int, T&);,

template <class T> bool getEntry(string, int, int, T&);
  , and

template <class T> bool getEntry(string, int,
  int, int, T&);,

where the type of
  the argument used in the call determines how to read the block
  entries. Thus, if an LHEF, SLHA, or other card file is read in by
  PYTHIA, the contents of any BLOCK in that file can
  subsequently be queried run-time using these functions. This is
  used, e.g., in the new interface between MADGRAPH 5 and PYTHIA
  8. Thanks to the MADGRAPH team, and to J. Alwall in particular, for
  help and debug on this new implementation.

8.153: 10 August 2011

The setup of tunes has been modified, see the
<?php $filepath = $_GET["filepath"];
echo "";?>Tunes page for details. Specifically
the Tune:ee and Tune:pp modes have
acquired a new option -1 for a forced restore to the
default values of all settings used in the respective kind of
tunes.

The code for handling multiparton interactions in the scenario with
an x-dependent width of the Gaussian matter profile
[Cor11], has been improved and updated. Tune 4Cx, which
is based on this option, has been added as a further tune option.

A possibility to bias the phase-space selection has been added,
whereby some phase space regions can be oversampled, which is
compensated by assigning a weight to each event.
A new set of methods have been added to the UserHooks
class to allow users to program how to bias the selection.

New options added so that matrix-element corrections can be
switched off after the first branching in ISR or FSR.

Some new Info methods have been added to store
information on latest ISR branching.  The SpaceShower
class has also been corrected so that the latest z = 1/2
when not defined by history. This avoids undefined values for
azimuthal asymmetries. Thanks to Stefan Prestel for finding and
sorting out this problem.

The Pythia::forceHadronLevel() method now takes
an argument that optionally means that existing junction information
is not overwritten. Thanks to Leif Lönnblad for pointing out
the usefulness of this.

For particle decays to a varying number of hadrons the multiplicity
increase with mass has been somewhat reduced, and especially for
meMode = 23 a separate even slower increase has been
introduced.

New possibility to force the tau polarization.

Bug fix for the special case in which events containing SUSY
particles are generated without proper initialization of SUSY decays.
This can happen, e.g., if events containing SUSY particles are read
in via external LHEF files, if those files do not contain readable
SLHA spectra in their headers. In this case, a failed attempt to
generate sparticle decays with ill-defined couplings previously
led to crashes. The program now reverts to the old behaviour,
based on static decay tables, in such cases, with the default
being to decay all sparticles to gravitino + particle. An error
message stating that the full SUSY treatment has been switched
off and why is also issued. Thanks to N. Desai for this fix.

The R-hadron machinery has been completed.

Minor change in timelike showers: gluons which fall below the
pTmin cutoff by the correction for mass effects are now
eliminated, while previously they were kept. This reduces the
number of gluons somewhat, but has no significant effects on the
hadronic final state. (Prompted by R-hadron studies, where big mass
effects else give bothersome low-energy gluons.)

Corrected typos in two of the Upsilon wave function matrix
elements, Bottomonium:OUpsilon3P08 and
Bottomonium:Ochib03P01. Thanks to Beate Heinemann for
pointing it out.

Implemented f* decay angle in f f -> f f* processes,
and fixed some bugs for the same process. Thanks to Piyali Banerjee
for tests.

Introduce possibility to separate production channels for
TeV-sized extra dimensions, and a small code correction. Thanks to
Noam Hod for code contribution.

Bug fix for neutrino beams: since neutrinos are always lefthanded
there should be a factor 2 in the cross section, relative to charged
leptons, from the non-need to average over incoming spin states. This
is now fixed by introducing a new PDF class NeutrinoPoint
for (unresolved) neutrinos, with normalization 2 rather than 1 for
charged leptons. Thanks to Ryosuke Sato.

Bug fix for some (rarely used) particle settings, which could not
be changed by users because they were read too early. Thanks to
Andrew Altheimer and Gustaaf Brooijmans.

Bug fix in handling of tau decays, where setting of
decay vertices could write outside memory. Thanks to Steven Schramm.

Minor expansion of the BeamParticle constructor.

Minor bug fix in CTEQ 6L for uninitialized variables.

Minor bug fix in fragmentation flavour combination to hadron.

Some updates of the documentation, including new pages on
MadGraph 5 as a generator for semi-internal processes (thanks to
Johan Alwall) and on RIVET interfacing.

Minor improvements of ROOT- and HepMC-related code and documentation.

Some cleanup of code.

8.157: 10 November 2011

<ii>Stefan Prestel joins as new member of the PYTHIA author team.
He is mainly working on matching/merging issues, and has contributed
the CKKW-L machinery mentioned below.

Merging capabilities according to the CKKW-L scheme [Lon11]
have been added, see the new
<?php $filepath = $_GET["filepath"];
echo "";?>Matrix Element Merging
page. It involves new classes to reconstruct and select how a
matrix-element-generated partonic configuration could have been obtained
by the PYTHIA evolution, and to perform trial showers (using a new
copy of the normal parton-level machinery) that introduce the appropriate
Sudakov suppression factors. New examples to illustrate various
common tasks are found in main81.cc, main82.cc,
main83.cc and main84.cc.

The main71.cc program is now generalised for reading
in arbitrary POWHEG LHE files, to implement a smooth matching between NLO
matrix elements and the PYTHIA parton showers. Cuts are made on both
ISR and FSR emissions, while previously only ISR was covered. The key
assumptions are the pT definitions used for ISR and FSR, but several
further options are available, as documented in the main71.cmnd
file. Work is still ongoing to pick the best default options.

Several expansions of the UserHooks class.
For both doVetoFSREmission and doVetoISREmission
a new argument iSys labels the system within which the
radiation occurs. For doVetoFSREmission a further argument
inResonance distinguishes FSR in resonance
decays from that in the hard process itself. New methods
canVetoMPIEmission and doVetoMPIEmission
have been added to veto multiparton interactions in the same way as
FSR and ISR. In biasSelectionBy at times incorrect values
for inEvent has been corrected. Also some systematization
of the use of const.

A new model for hadron scattering is introduced, still at an early
stage and therefore more intended for internal development than for the
normal user. The basic idea is that a high-energy pp collision
involves the fragmentation of multiparton strings that overlap in space
(and time). Also the produced hadrons therefore initially overlap, and
there is a strong likelihood that hadrons can scatter against each other
until the system has expanded sufficiently. This can e.g. increase the
transverse momentum of heavier hadrons at the expense of lighter ones.

A new jet finder SlowJet offers simple access to the
inclusive kT, anti-kT, and Cambridge/Aachen
algorithms in a cylindrical coordinate frame. The jet reconstruction
is then based on sequential recombination with progressive removal,
using the E recombination scheme. The minimalistic
SlowJet code is much slower than FastJet
[Cac06], and contains less options, but reconstructs the same
jets if run under identical conditions. For details see the
<?php $filepath = $_GET["filepath"];
echo "";?>Event Analysis page.

Starting in gcc 4.6, it is possible to switch off specific warnings
around specific blocks of code. Although version 4.6 is some way off
from being commonly found, this option has now been introduced to switch
off -Wshadow warnings in HepMCInterface.cc.
For other compilers, or earlier versions of gcc, the old behaviour
is retained.

Support for reading in gzipped LHEFs has been added in the
LesHouches and SusyLesHouches classes.
This also affects configure and Makefiles.
Unless explicitly enabled, it should not affect anything.
If enabled, it relies on the Boost and zlib libraries to function,
so paths to these must be set appropriately, see the
README file for details. The Boost header files can
give very many shadow warnings, so -Wshadow is disabled
if gzip support is enabled, as described above.

Introduce use of the HEPMC_HAS_UNITS environment
variable in the HepMCInterface.cc and main32.cc
codes to automatically check whether GeV and mm can be set as relevant
units. If yes, then it is set in main32.cc. If no,
a conversion from GeV to MeV is done explicitly in
HepMCInterface.cc. Note that, for early HepMC versions,
this means a change of behaviour. Thanks to Andy Buckley.

A new method Info::lhaStrategy() returns the
Les Houches event weighting strategy where relevant, and 0 where not.
For the strategies +-4 the event weight and sum,
Info::weight() and Info::weightSum(),
is now in units of pb at output, as it should be at input.
(While internally mb is used.)

New flag Check:abortIfVeto allows the user to
resume control over execution in case of a veto in the event
generation process.

New method Event::at(i) returns reference to
i'th particle in the event record.

Introduce the Fermi constant as one of the Standard Model
parameters.

Included automatic pre-initialization of SLHA blocks MASS and
SMINPUTS using PYTHIA's SM parameters and particle data table
values.

SUSY: added sleptons (and sneutrinos) as resonances.
Corrected 2-body decay widths of gluinos, squarks and gauginos.
Added sleptonic decay modes to gaugino decays.
Implemented 2-body decays of sleptons (and sneutrinos)
into sleptons/leptons/gauginos. Corrected slepton couplings (they
now look exactly like squark couplings, using a 6x6 slepton mixing
matrix).

New parameter Diffraction:probMaxPert introduce to
give more flexibility in transition from a nonperturbative to a
perturbative description of a diffractive system.

Bug corrected in SigmaEW.cc, for the process
WeakSingleBoson:ffbar2ffbar(s:gm). Previously, all outgoing
quark flavours in this process were erroneously assigned ID code 5
(b quarks). This has now been corrected so the proper ratios are
obtained, with u : c : d : s : b = 4 : 4 : 1 : 1 : 1,
according to the squared quark charges.

Changes in FragmentationSystems and
StringFragmentation to reject systems with three or more
interconnected junctions. This may happen in baryon-number-violating
scenarios in pp collisions, if both of the beam baryon junctions are
resolved and get connected via an antijunction created by a
hard-process BNV vertex. In principle, this could be addressed by an
extension of the existing junction fragmentation framework. However,
since it happens rarely, for the time being an error message is printed
and the fragmentation restarted.

Change in Event::copy to safeguard against attempting
to copy out-of-range entries. An attempt to copy a non-existing entry
will now return -1.

Bug fix in the machinery for the user to force the setting of
tau polarization.

Bug fix in the initial search for a maximum of the process
cross section (only affecting rare cases).

Corrected angular decay distributions for two compositeness
processes, Sigma2qq2qStarq and
Sigma2qqbar2lStarlbar.

Extra check in HiddenValleyFragmentation to make sure
that pointers which have not been assigned with new are not
deleted.

Some further minor changes.

8.160: 23 January 2012

The older term "multiple interactions" has been replaced by the
new standard "multiparton interactions" one, and correspondingly the
abbreviation MI by MPI. This affects everything: settings, class and
method names, documentation, etc. It therefore becomes necessary to
rewrite user code. However, so as to keep the immediate effort at a
reasonable level, the old settings names are kept as aliases. Thus
PartonLevel:MI and PartonLevel:MPI are
equivalent, and similarly MultipleInteractions:pT0Ref
and MultipartonInteractions:pT0Ref. Should you be using
methods such as double Info::pTMI(int i) you need to
edit the code, however. All the example/main* files
have been updated accordingly.

A new option Beams:frameType = 5 has been added
for the case where an external generator should provide LHA process
information. The new Pythia::setLHAupPtr(...) method
should then be used to link in this generator. The new switch
Beams:newLHEFsameInit can be used to tell that a new
LHEF should be used, but without the need for a new initialization.
With these two changes, all the different ways of initializing
can be covered by the Pythia::init() call with no
arguments. The various init(...)options with arguments
are deprecated and will be removed for PYTHIA 8.2.

 The Pythia::stat() method, with no arguments,
replaces Pythia::statistics(...), although the latter
remains as a deprecated alternative.

New settings Init:..., Next:...,
and Stat:... can be used to steer some details of
the operation of the Pythia::init(),
Pythia::next() and  Pythia::stat(),
respectively. In particular it affects the amount of printout
at the various stages of operation. See
<?php $filepath = $_GET["filepath"];
echo "";?>here for further details.
This change involves several code changes, but in documentation
rather than physics. Most of the Main:... settings
are deprecated as a consequence.

The sample main programs in the examples subdirectory
have been updated. This includes a change to the new favoured
methods and settings outlined above, plus some update of the
physics contents. Some of the examples have been combined,
some others have been added (e.g. for R-hadrons), and as a consequence
some renumbering has been made. See the modified list of
<?php $filepath = $_GET["filepath"];
echo "";?>sample main programs for
the new status. In particular note that (the new) main61.cc
allows streamlined input and output in HepMC, like main42.cc
(previously main32.cc), but additionally links to LHAPDF.

The examples/configure script has new optional argument
--with-pythia8. It can be used to set the new
PYTHIA8LOCATION environment variable, which then is used
in examples/Makefile to give the path to the PYTHIA
library. Thereby it becomes possible to relocate (parts of) the
examples directory and still obtain the correct path.
Thanks to Mikhail Kirsanov.

Polarization information has been included as a new
Particle property, that can be set by
void pol(double polIn) and obtained by
double pol(). Default value is 9.,
in agreement with the Les Houches standard. Event listings have
been expanded to optionally display this information. Currently
polarization is not used internally.

The matrix element merging machinery has been modified as follows.

- Improved handling of the hard process, so that MadGraph5-produced
LHE files do not produce problems (sometimes, the choices of MG4 on what
to put into a LHEF have changed in MG5).

- Improved handling of colour for easier handling of states with
many quarks (the code has been tested for states with up to 5
q qbar pairs and some gluons).

- Improved checking which clusterings are allowed. Now, clusterings
should immediately be rejected if they lead to unphysical states,
without the need to explicitly construct these states. This was needed
to get t tbar production, VBF and some simple SUSY processes
running with reasonable generality.

- Improved handling of incomplete histories. Now there is an
additional switch allowing code to try to swap some colours when fewer
clusterings than requested have been found.

Updates in the handling of graviton resonances in scenarios with
extra dimensions.

- Now all G decays have correct angular distribution, which was not
the case before for W/Z decays.

- Added the possibility for G to only couple to longitudinal
W/Z bosons, which affects both the width and angular distributions.

- Added decays to Higgs pairs, G -> hh.

Bug fix in the findJunctions() function in
ProcessLevel.cc. Changes introduced in version
8.145 (to allow for junctions in baryon-number-violating
processes) did not correctly handle the remapping of color
tags that can be applied when adding beam remnants to events with
multiparton interactions. A simpler and more stable algorithm is
now applied for the simplest cases, with the more complex one only
invoked for cases such as BNV, which are normally considered before
remnants are added, hence avoiding this particular problem. Also some
other changes in the handling of junction, including a safeguard to
reject systems with three or more interconnected junctions.

Bug fix and updates to the SLHA interface. Possibility of infinite
loop during ProcessLevel::initSLHA corrected. Modifications
to SusyLesHouches to allow interpretation of SLHA1 spectra
with R-parity violation. Rather than reject spectra that do not conform
fully to the SLHA2 standard for RPV, the interface will now first look
for SLHA1 mixing matrices and attempt to translate those into SLHA2 ones
if possible. In this case, warnings that the expected SLHA2 blocks were
not found will be printed. It is up to the user to check that the
derived SLHA2 information is correct. Corresponding additions to
SusyCouplings.cc to extract mixing-matrix information
from the relevant SLHA2 RPV blocks when RPV is switched on.

Updated SLHA example main24.cmnd to use new example
spectrum, cmssm.spc, corresponding to CMSSM point
10.1.1, obtained with SOFTSUSY 3.3.0. Thanks to B. Allanach for
providing the new spectrum file.

A new include/FastJet3.h header file simplifies
interfacing of FastJet to Pythia. For details see documentation in
the file itself. Thanks to Gavin Salam for this contribution.

The handling of diffraction has been made more flexible.
Specifically the "total" Pomeron-proton cross section can now be made
to depend on the mass of the diffractive system. This does not affect
the diffractive cross section in pp collisions, which is set separately,
but is used in the MPI machinery to affect the average number of
interactions per Pomeron-proton collision. Furthermore, the allowed
range for some parameters has been expanded. Thanks to Robert
Ciesielski.

New method Pythia::forceTimeShower(...) can be used to
generate a single final-state cascade from a set of partons, without
any knowledge of prior history. This is mainly intended for toy studies.
The meaning of the ProcessLevel:all switch has been modified
so that this parton-level function is available, but not any others
at this level.

ATLAS tune A2 now included. Thanks to Deepak Kar for
providing it.

Change in the handling of recoils of timelike showers in resonance
decays, in cases of coloured resonances such as t -> b W. In
the first step the W always acts as recoiler to the b,
but in subsequent step previously the W remained as recoiler to
one dipole, while now all QCD-radiating partons recoil against another
coloured parton. The old behaviour could give a (small) unphysical spike
of radiation collinear with the colourless recoiler in the subsequent
emissions (while the pattern of the first was and remains correct).
The old behaviour can be recovered for checks, see
TimeShower:recoilToColoured.
Thanks to Yevgeny Kats for pointing out this issue (previously noted
for Pythia 6 by several persons).

Bug fixes for rootexamples/Makefile and restoration
of some deleted information in rootexamples/README.
Thanks to Axel Naumann and Bernhard Meirose.

Bug fix, so that displaced vertices are possible in resonance
decay chains. Thanks to Daniel Blackburn and Andy Buckley for
pointing this out.

Bug fix for Info counter 2.

Bug fix so that sextet quarks now are read in correctly from
Les Houches Event files; previously the (anti)colours were set
to 0.

Year updated to 2012 in copyright statements etc.

Reformatting to reduce the number of code lines with more
than 79 characters.

Pythia::initSLHA() moved from public
to private.

Remove warning message when tau polarization is set by hand.

Several minor changes to reduce the number of warnings issued
by the clang compiler. The origin of some warnings remains unclear
so those remain to track down (could also be compiler bugs; note that
we discuss warnings, not errors). Thanks to Randy MacLeod for bringing
this up.

The worksheet has been updated to be in step with Pythia 8.160.

Several other minor corrections in the code and documentation.

8.162: 12 March 2012

A new option allows for several partons to share the recoil in
final-state radiation, see<?php $filepath = $_GET["filepath"];
echo "";?>Timelike
Showers. It is mainly intended to be used in the context of
matching to matrix elements, and so only to be used in the first
few branchings.

Several new processes for LED dijet production, see
<?php $filepath = $_GET["filepath"];
echo "";?>Extra Dimensions.

Small update of the Sigma2ffbar2LEDllbar and
Sigma2ffbar2LEDgammagamma LED processes.

New Sigma2QCffbar2llbar
<?php $filepath = $_GET["filepath"];
echo "";?>contact interaction
process.

Inclusion of a new method in the
<?php $filepath = $_GET["filepath"];
echo "";?>matrix-element merging
framework to influence the construction of histories, e.g. to already
in the construction of histories disallow paths that fail the
2 -> 2 cuts.

Further minor updates of the matrix-element merging code,
mainly for improved clarity.

Minor bug fix in the handling of beam and event information fed
in from an LHAup instance.

Minor bug fix for potential crashes from uninitialized variables
for the merging machinery when merging is not used.

Updated History class for matrix element merging,
also avoiding some compiler warnings.

Bug fixes in the handling of correlated mass choices in resonance
decays, such as H -> Z^*0 Z^*0.

Bug fix when the process-level execution is switched off,
where Info::isResolved() could be called before its
value was initialized. Thanks to Christian Pulvermacher
for finding this.

Corrected matrix-element expression for mass selection in
A^0 -> Z^*0 Z^*0 and A^0 -> W^*+ W^*-.

SM Higgs mass updated to 125 GeV and default width and branching
ratios modified accordingly. Minor technical improvements of width
calculation.

The usage of nested classes has been removed from
SusyLesHouches, since it could give compilation errors
on some platforms. The new class names begin with LH
and all classes have been put inside the Pythia8
namespace.

Minor Makefile updates. Thanks to Mikhail Kirsanov.

Minor changes to avoid some clang compiler warnings on the
Mac OS X platform.

8.163: 27 March 2012

New methods in the
<?php $filepath = $_GET["filepath"];
echo "";?>Info class,
id1pdf(), id2pdf(), x1pdf()
and x2pdf(), to denote the partons for which parton
distribution values have been defined. Previously this was assumed
to agree with the incoming partons to the hard process, the same
methods without the pdf qualifier. However, now the
POWHEG approach offers a counterexample. Also the reading and
handling of Les Houches (and other) events, and the interface
to HepMC, has been modified accordingly.

The decay of Higgs and top resonances read in from Les Houches
Event files is now performed with angular correlations as for
internal processes. LHE files should normally contain all process-specific
resonance decay chains and, if not, decays are made isotropic.
The H -> WW/ZZ -> f fbar f' fbar' and
t -> b W -> b f fbar correlations are process-independent,
however, and thus can be handled internally. If part of the decay
chain has already been set, e.g. H -> WW/Z> or t -> b W,
then the subsequent decays are still isotropic.

Updated instructions how to link to HepMC,
in README.HepMC.

Bug fix in the turn-on of resolved diffraction for low
CM energies. Thanks to Erwin Visser.

Bug fix in the handling of string junctions at very high energies,
caused by numerical errors. Thanks to Erwin Visser.

Some other small changes, mainly aesthetics.

8.165: 8 May 2012

The MBR (Minimum Bias Rockefeller) model for single, double and
central diffraction [Cie12] is included as new option
<?php $filepath = $_GET["filepath"];
echo "";?>Diffraction:PomFlux = 5.
It is specifically intended for p p and pbar p
interactions, and is currently the only option that also supports
central diffraction. Thus the basic machinery for Central Diffraction
(a.k.a. Double Pomeron Exchange) has now been implemented.
See examples/main04.cc for an example.
Thanks to Robert Ciesielski for contributing the new code.

For a tau lepton in an external process, by default the
SPINUP number in the Les Houches Accord now is interpreted as giving
the tau helicity, and is used for its decay.

A tau coming from a W now defaults to being purely
lefthanded when neither of the existing matrix elements apply.

Decay mode t -> H+ b included as an option.

Four ATLAS tunes have been implemented as options for
Tune:pp: A2-minbias-mstw2008lo, AU2-cteq6l1, AU2-mstw2008lo,
and AU2-ct10. The new flag Tune:preferLHAPDF can be used
to switch between the LHAPDF and the internal implementation of a
PDF set, in cases where both are available.

Reorder libraries in examples/Makefile, specifically
move LIBGZIP so that it is properly linked when used.
Thanks to Erik Schnetter.

Minor modification so that LHAPDF can be used for PDFs in the hard
process, with one of the built-in PDFs for the rest, even if LHAPDF is
compiled so as to handle only one concurrent PDF set.

Bug fix, that ParticleDecays:mixB = off did not
switch off B0 - B0bar and Bs0 - Bs0bar mixing.
Thanks to James Catmore.

Bug fix for the handling of gluon polarization of initial-state
radiation, where an anisotropic azimuthal distribution was inadvertently
generated in some 2 -> 1 processes. The update also includes
always setting the second daughter zero for the two partons coming in to
a hard 2 -> 1 process. Thanks to Antonio Policicchio.

Bug fix, that the setting of the number of user hooks MPI steps did
not use UserHooks::canVetoMPIStep() properly.

Some other small changes, mainly documentation and aesthetics.

8.170: 21 September 2012

Streamline default behaviour and options for choice of GeV or MeV
for output to the HepMC event format, see
<?php $filepath = $_GET["filepath"];
echo "";?>HepMC Interface.
Also set the mass of HepMC particles explicitly, rather than having
it calculated implicitly. Thanks to James Monk and Andy Buckley.

The tau decay machinery has been further augmented with
matrix elements and form factors for a variety of decay modes, such
that all modes with a branching ratio above 0.1% are fully modeled.
Several new classes and methods have been added to this end,
Also, a tau pair coming from a Z^0 decay is now
handled by assuming the Z^0 to be unpolarized when neither
of the existing matrix elements apply. Taus coming from B baryons are
handed as for B mesons.

Flavour violating decays have been added to the squark, gluino,
neutralino and chargino decay tables.

Extend the UserHooks::subEvent(...) method so that it
also works passably at the process level. Also new option for
UserHooks::omitResonanceDecays(...).

New methods UserHooks::canVetoPartonLevelEarly()
and UserHooks::doVetoPartonLevelEarly( const Event&)
are intended to be used the same way as the existing ones without
Early in their names, but allow veto right after
the ISR + FSR + MPI evolution, before beam remnants are added and
resonance decays are considered.

Central diffraction now available for all
<?php $filepath = $_GET["filepath"];
echo "";?>PomFlux
options, not only the MBR model. This has been constructed by analogy
with the respective assumptions made for single diffraction, but
includes some arbitrariness. Therefore the cross section is left
easily rescaleable and, for backwards compatibility with tunes
that does not contain it, easily possible to switch off, see
the <?php $filepath = $_GET["filepath"];
echo "";?>relevant section.

Reading of ALPGEN parameter and event files has been added,
see <?php $filepath = $_GET["filepath"];
echo "";?>ALPGEN and MLM Merging.

MLM matching has been added, as a first step for ALPGEN events,
see <?php $filepath = $_GET["filepath"];
echo "";?>ALPGEN and MLM Merging.

The CKKW-L merging machinery has been upgraded in a number of respects.

- More thorough treatment of pp>bb~e+e-veve~ with
additional b-jets.

- Corrected hard mu_r and mu_f choices for
dijet and prompt photon.

- More ways to define a hard process, e.g. with the LEPTONS and
NEUTRINO tags. The merging will understand LHE files for mixed processes
(e.g. W+ and W- production together).

- More merging scale definitions.

- More freedom to generate all possible histories.

- Internal check (and cut) on Les Houches events in
Pythia::mergeProcess if merging scale value of the events
is below the value given to Pythia by setting Merging::TMS.

It now works to have R-parity violating decays of R-hadrons,
i.e. baryon number violation in a vertex displaced from the primary
one.

The documentation of diffractive processes by the
<?php $filepath = $_GET["filepath"];
echo "";?>Info
methods has been expanded and corrected. This also include the
list() method.

Particle masses and widths have been updated to agree with the
2012 RPP values [Ber12]. Thanks to Piotr Zyla for data file
and James Catmore for program to update the PYTHIA tables from this
input.

New methods jetAssignment and removeJet
added to the SlowJet class.

Introduce angular correlation in decay chain
H -> gamma Z0 -> gamma f fbar. Thanks to Tim Barklow and
Michael Peskin.

Introduce simple way to bias the selection of 2 -> 2
processes towards larger pT values, with a compensatingly
decreasing event weight, see
<?php $filepath = $_GET["filepath"];
echo "";?>Phase Space Cuts. Only offers a
subset of the possibilities allowed by UserHooks,
but simpler to use. The main08.cc program has been
expanded to illustrate this possibility, and also expanded to
include low-pT subsamples.

The two remaining non-NLO tunes from [ATL12] are now
included.

The <?php $filepath = $_GET["filepath"];
echo "";?>Info methods
nTried, nSelected, nAccepted, sigmaGen and
SigmaErr now takes the code of an individual process
as an optional argument.

It is now possible to generate resonance decays, followed by
showers and hadronization, without having them associated with any
specific process. This is part of an expanded
<?php $filepath = $_GET["filepath"];
echo "";?>Hadron-Level Standalone
machinery, as before triggered by ProcessLevel = off,
but additionally requiring Standalone:allowResDec = on.
Input can either be directly into the event
event record or via a (simplified) Les Houches Event File.

New configure script options --installdir,
--prefix and --datadir can be used to set the
location(s) to which the library, header and data directories
will be copied by a make install subsequent to the
make. Thanks to Mikhail Kirsanov.

Fix charge in antiparticle name when particle read in from SLHA
file. Thanks to Johan Alwall.

Pointers now only compared with == and != (not e.g. > 0), to avoid
warnings in gcc 4.7.

New check that version number of the code matches that of the
XML files. If not, no events can be generated. Thanks to James Monk
for suggestion.

New check that mother and daughter indices have been set to give
a consistent event history. Can be switched on/off with the new
Check:history flag.

A new method LHAup::newEventFile has been added to
switch to reading in events from another LHE file without having to
reinitialize the whole class. Lower-level routines like
openFile and closeFile have been added to
handle correct order of operations also when an intermediate gzip
decompression step is involved.

LHAup::eventLHEF() can now be called with an optional
argument false, to make event files somewhat smaller by
reducing the amount of blanks.

A new mode Beams:nSkipLHEFatInit introduced to
skip ahead the first few events in a Les Houches Event File (cf. the
LHAup::skipEvent(nSkip) method).

Introduce a new pair of user hooks that can be used to reject
the sequence of hard-process resonance decays, without rejecting
the production of the primary resonances.

The possibility of separate multiplicative prefactors to the
renormalization and factorization default pT^2 scale has been
introduced for both timelike and spacelike showers.

Bug fixes in history information for R-hadron production, which also
fixes HepMC conversion in this case.

Bug corrected in SigmaSusy.cc, for chargino+neutralino
production. Indexing error for incoming quark states in the process
Sigma2qqbar2charchi0, resulted in incorrect CKM factors.

Corrected a bug in SusyLesHouches.cc, for NMSSM spectra.
The unitarity check on the neutralino mixing matrix was faulty, leading
to erroneous messages about unitarity violations and SUSY being switched
off.

Bug fixes in the handling of resolved and unresolved diffractive events.
Thanks to Robert Ciesielski for debug.

Do not set up FSR dipoles for 2 -> 1 processes.

Check that some channel open for resonance decays. Also further
check whether resonance decay treatment should be invoked.

Bug fix in reading of particle names from SLHA input.

Change mass, width and decay mode(s) of D*_s(10431). Thanks to
Michal Petran.

Bug fix in leptoquark production (lepton sign in
q g -> LQ l).

New argument added to SpaceShower::reassignBeamPtrs
for diffractive event processing, as already available for
TimeShower.

Do not write warnings in SpaceShower for weights
above unity if the evolution scale is below 1 GeV^2.

Add default values for member variables in some constructors,
and some related changes for AlphaStrong code.

Warn if negative-energy parton in hadronization.

The MPI pT values assumed in the beam remnant setting
of primordial kT and colour reconnection probability were
incorrect for diffractive events.

The arrays with MPI information were not reset when parton or
hadron level fails and a new try is made. Only affected few events.

MPI statistics can not yet be accumulated for diffractive events,
and therefore the relevant routine is no longer called.

Bug fix in the double parton scattering suppression from
energy-momentum conservation.

Outgoing proton masses were not set in the event record for
elastic scattering (but kinematics handling was correct).

Bug fixes in the identification and documentation of junctions,
previously leading to some unnecessarily rejected events. Also
other improvements leading to fewer errors.

Slightly increased values for FragmentationSystems:mJoin and
StringFragmentation::FACSTOPMASS to reduce failure rate, without
noticeably affecting event properties.

The Les Houches cross section error is now taken into account
in the final Pythia error for strategies +-3.  New methods
LHAup::xSecSum() and LHAup::xErrSum()
provide the necessary information.

When a tau pair comes from a massless photon, in dipole shower
evolution, for the decay description the mother photon is reassigned
to have the sum of the tau momenta.

Minor change in initialization sequence for user hooks,
to allow for more flexibility.

Do not print warnings when multiparton interaction weights are
only slightly above unity.

Do not write warnings for three known particles that are so close
to threshold that widths are switched off to avoid trouble.

Some minor typographical changes.

8.175: 18 February 2013

Richard Corke and Stefan Ask leave as active authors, and have
new e-mail addresses.

Jesper Roy Christiansen and Philip Ilten join as new authors.

A severe bug found and corrected in the handling of junction
fragmentation. For some string topologies it could lead to parts of
partonic systems mainly aligned along the beam axis to obtain an
effective tilt, thereby giving rise to a pair of opposing jets that
should not be there. The bug was an unfortunate side consequence
of the improvement of junction handling introduced in version 7.170,
and do not affect versions prior to that. To the largest extent
possible, it is recommended to avoid this version. Potential errors
are likely to be most relevant for processes at low pT,
whereas processes that already have a large scale proportionately
are less affected. Sincere apologies, and thanks to Hannes Jung for
discovering it.

The initialization is aborted when the user tries to change
the value of a non-existing variable in the Settings or
ParticleData databases, and it becomes impossible to generate events.
This may be rather brutal, as opposed to the former policy of
ignoring such commands (except for a warning), but avoids that
the user wastes time on a run that is likely not to give the wanted
results. Thanks to Gavin Salam for stressing this point.

 Major updates of the merging code. CKKW-L code is made more flexible,
and now includes additional options to facilitate merging of additional
jets in MSSM processes. Unitarised ME+PS merging (UMEPS) is introduced
as a new merging scheme for tree-level input. An example main program
for UMEPS is  added. UMEPS is documented in the new section
<?php $filepath = $_GET["filepath"];
echo "";?>UMEPS Merging.
NLO merging methods are now functional. Two NLO merging schemes are
implemented: NL3 and unitarised NLO+PS merging (UNLOPS),
both of which are illustrated with example main programs. NLO merging
is documented in <?php $filepath = $_GET["filepath"];
echo "";?>NLO Merging.

The machinery for the MLM-style matching of jets has been
expanded to cover input either from ALPGEN, as before, or from
Madgraph (or other LHEF input), and expanded to cover either a
matching algorithm based on the one in ALPGEN or the one in Madgraph.
See <?php $filepath = $_GET["filepath"];
echo "";?>Jet Matching for
details.

Neutrons and antineutrons are now allowed as incoming
beam particles. The neutron PDF is derived from the chosen proton
PDF by simple isospin conjugation, and total/elastic/diffractive
cross sections are assumed the same as for protons.

Update in Pythia.cc, to allow user to override
SLHA mass values by hand, controlled by the new flag
SLHA:allowUserOverride. This was motivated by people
wanting to be able to read in a base SLHA spectrum and then quickly
scan over particular mass values manually. Corresponding documentation
update in SUSYLesHouchesAccord.xml.

Updates to the ResonanceWidths and
SUSYResonanceWidths classes, to merge common
initialization steps into the base class. Corresponding documentation
update in SemiInternalResonances.xml. Also some cosmetic
changes in SUSYResonanceWidths to improve conformity
with CODINGSTYLE rules.

The SlowJet jet finder is updated with an option
for an alternative R separation based on
cosh(Delta y)-cos(Delta phi).

Statistics information on the separate subprocesses among
the Les Houches external input is improved.

The sophisticated tau decay machinery has been expanded so that
it can also handle production of taus in hypothetical
lepton-number-violating processes, such as H0 -> tau+ mu-.

Branching ratios for most light hadrons, and the tau lepton,
have been updated to agree with the 2012 Review of Particle Physics
[Ber12], by Anil Pratap Singh.

Photon radiation can now be included in leptonic two-body decays
of hadrons by setting the new switch
ParticleDecays:allowPhotonRadiation = on.
The lower shower cutoff TimeShower:pTminChgL has been
reduced so as to let the simulated photon spectrum extend to lower
energies.

A new switch MultipartonInteractions:bSelScale has
been introduced, to determine the relevant mass or pT scale
of an event for the selection of impact parameter in the MPI
framework. In spite of a changed default behaviour (the old being
option 3), practical consequences are small for most processes.

The new UserHooks::retryPartonLevel() method can be
overloaded, so that the same hard process is reused for a new try
on the parton level, rather than being rejected completely.
Thanks to Christian Bauer for suggestion.

A new method Event::undoDecay(int i) can be used
to remove the daughters of a particle, and further descendents.
Does not work for removing the daughters of a parton.

The interface to HepMC has been updated. In particular
the support for old version has been removed, thereby allowing
significant simplifications. The list of methods to set and get the
behaviour of the conversion routine has also been updated. The
set_event_scale method now stores the renormalization
scale (rather than the pT stored previously).
The examples main41, main42,
main61, main62 and main84
have been updated accordingly.

Four new methods to interrogate the default values of the
four different kinds of settings.

The Vec4 class has been expanded with methods to
return true rapidity or pseudorapidity, and the R distance
in (y, phi) or (eta, phi) cylindrical coordinates.
Thanks to Andy Buckley.

The copy and = constructors of the Pythia class
are made private so that compilers will block use of them.
Thanks to Andy Buckley.

New option of the Pythia constructor, to omit
the banner printout where necessary. Also new master switch
Print:quiet to switch off most runtime program
messages. Thanks to Andy Buckley.

Updates in the machinery that restores all affected values
to their defaults before setting a new tune.

A new Vect class has been introduced for the
<?php $filepath = $_GET["filepath"];
echo "";?>Settings database.
It can be used to store a vector of double-precision real values.

Three new groupings of existing QCD processes:
SoftQCD:inelastic, HardQCD:hardccbar
and HardQCD:hardbbbar.

New possibility to set the a and b parameters
of the Lund fragmentation function separately for heavy flavour.
Especially the b is expected to be universal, but
Aurelien Martens and Eli Ben-Haim have found improved fits by
relaxing this condition, so we formalize this possibility without
recommeding it.

Method Pythia::getPDFPtr is made public so it can
be used also outside the Pythia class to access PDF
sets. Internally the PDF bookkeeping is modified to allow for
the simultaneous handling of several PDF sets. Thanks to
Mathias Ritzmann for providing code changes.

It is now possible to read the separate scale values of all
outgoing particles, if this info is stored as a single line in
an LHEF, begun by a single hashtag character. This is currently
nonstandard and may evolve.

Some improvements to the install targets code in the
Makefile and error detection in
examples/configure. Thanks to Mikhail Kirsanov.

The CC and FC global environment variables can be set to specify
the C++ and Fortran 77/90 compilers, otherwise set in
configure and examples/configure.
Thanks to Mikhail Kirsanov.

Check of shell choice in configure removed.
Thanks to Andy Buckley.

Minor modifications in the Makefile and text for Root examples,
relevant if shared libraries are used.

Previously the whole std namespace has been made
available in PythiaStdlib.h. Now this behaviour has
been replaced by the already-existing alternative, where only a
part of std is made available, and only inside the
Pythia8 namespace. Thus user code does not become
reliant on the choices in PYTHIA. Some related smaller code
rearrangements. Thanks to Andy Buckley.

When the "second hard" machinery is used to set two hard processes,
the old behaviour for the SpaceShower:pTmaxMatch = 0 and
TimeShower:pTmaxMatch = 0 options was to use the combined
final state of the two processes to decide what pT_max
scale to use. This could have unexpected consequences. Now each process
is analyzed separately, and therefore has a separate scale. Also
for MultipartonInteractions:pTmaxMatch = 0 the two
interactions now are analyzed separately. It is then enough that
one of them should limit pT_max of subsequent MPI's for
such a restriction to be imposed. Thanks to Monika Jindal for
discovering this bug.

The TimeShower:pTdampMatch option had no effect if
switched on, since some code was missing. The manual description
of it and the more relevant SpaceShower:pTdampMatch
has been updated.

One minor bug fix and some corrections to make the code compile
on Windows/VisualC++-2010. A simple error function parametrization
has been added to PhaseSpace.h and
SigmaTotal.h, to be uncommented in case
erf(x) is not available by default. Thanks to Guy Barrand
for providing the information.

Break a closed dependency loop between ParticleData.h
and ResonanceWidths.h. Thanks to Andreas Schaelicke and
Andy Buckley.

In the examples/mainXX.cc programs, class instances
that have been created with a new are explicitly
deleted at the end of the run. Useful if trying to track
memory leaks.

Bug fix for R-parity violating decays of R-hadrons, to treat the
special case of sequential resonance decays after the RPV one.
Thanks to Mariangela Lisanti for pointing out this bug.

Changed the maximum allowed value for Tune:pp.
Thanks to Yevgeny Kats.

Bug fix in the z-value weight for QED ISR emissions.

Some destructors moved for improved consistency.

Constants DEBUG renamed DBSUSY in the
SusyCouplings and SusyResonanceWidths
classes to avoid confusion. Thanks to Guy Barrand.

Many typos corrected and some other minor improvements of the
online documentation.

The year has been updated to 2013 in files.

redpajama_set_name: RedPajamaGithub


text:
Ayyappanov  Waterfalls  ( അയ്യപ്പനോവ് വെള്ളച്ചാട്ടം ) is a Athavanad  waterfall in the Athavanad village of Tirur taluk in Kerala, India. It is  from Puthanathani town, and attracts tourists from various parts of Kerala. This is a seasonal waterfall. During Summer, water flow is low.

Notes and references

 Youth killed in Ayyappanov waterfalls | Kozhikode News - Times of India
 അയ്യപ്പനോവ് വെള്ളച്ചാട്ടം കാണാൻ വരുന്നവർ അപകടം ക്ഷണിച്ചുവരുത്തുന്നു
 കരിമ്പായിക്കോട്ട, പന്തീരായിരം ഏക്കർ വനം, നാടുകാണി ചുരം: കാഴ്ച്ചകളാൽ സമ്പന്നമാണ് മലപ്പുറം ജില്ല

External links
 IAPA Waterfalls
 Ayyappanov Waterfalls
 Wikimapia - Let's describe the whole world!
അയ്യപ്പനോവ് വെള്ളച്ചാട്ടം: പ്രകൃതിഭംഗി ആസ്വദിക്കാന് സന്ദര്‍ശകപ്രവാഹം • Suprabhaatham
 Siraj Daily | The international Malayalam newspaper since 1984

Waterfalls of Kerala

redpajama_set_name: RedPajamaWikipedia


text:
Q: LDAP on forward facing domains I am working on an app that allows the user to log in using AD, I am using essentially the same code as we use in our protected intranet, but this time the server is forward facing (or exposed to the internet)  My problem is when I logon with an invalid password, it obviously recognizes this, however when I go to get information from the LDAP connection such as group names it says the server does not exist.  below is my code and the stack trace error, these things are harder to figure out when deployed...
controller
public ActionResult Login(LoginModel model, string returnUrl)
{
    string logon_user = model.UserName.ToString();
    string logon_password = model.Password.ToString();

    ConnHelper connhelper = new ConnHelper();
    string encryptedTicket = null;
    String adPath = "LDAP://dc1.servername.local/DC=servername,DC=local"; //Path to the LDAP directory server
    ADAuthorize adAuth = new  ADAuthorize(adPath);
    FormsAuthenticationTicket authTicket = null;

    try
    {
        if (true == adAuth.IsAuthenticated("dc1.servername.local", logon_user, logon_password))
        {
            string groups = adAuth.GetGroups();

            Account acc = new Account();
            acc.windows_id = logon_user;
            acc.password = logon_password;
            acc.igers_id = connhelper.GetiGersID(acc.windows_id);
            acc.email_address = acc.windows_id.ToString() + "@domain.com";
            acc.region = connhelper.IsNull(connhelper.GetRegionManager(acc.igers_id));
            acc.home_store_region = connhelper.IsNull(connhelper.GetHomeStoreRegion(acc.igers_id));
            acc.store_group = connhelper.IsNull(connhelper.GetStoreGroup(acc.igers_id));
            acc.home_store = connhelper.IsNull(connhelper.GetStore(acc.igers_id));
            acc.arr = connhelper.GetStores(acc.igers_id);
            //acc.home_store_phone = misc.IsNull(misc.GetHomeStorePhoneNumber("hzs"), "");
            acc.home_store_phone = connhelper.IsNull(connhelper.GetHomeStorePhoneNumber(acc.igers_id), "");
            acc.full_name = connhelper.IsNull(connhelper.GetFullName(acc.igers_id), "");
            //ErrorLabel.Text += "windows=" + misc.GetStore(acc.igers_id);

            //ErrorLabel.Text += "windows=" + acc.igers_id.ToString();

            //Add information to the session
            Session.Add("roles", groups);
            Session.Add("Account", acc);

            // Create the authentication ticket
            authTicket =
            new FormsAuthenticationTicket(1,  // version
                acc.windows_id,
                DateTime.Now,
                DateTime.Now.AddMinutes(60),
                false, groups);
            // Now encrypt the ticket.
            encryptedTicket = FormsAuthentication.Encrypt(authTicket);
            // Create a cookie and add the encrypted ticket to the cookie as data.
            HttpCookie authCookie =
                new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
            // Add the cookie to the outgoing cookies collection.
            Response.Cookies.Add(authCookie);

            if (FormsAuthentication.GetRedirectUrl(acc.windows_id, false).EndsWith("Logout.aspx"))
            {
                return RedirectToAction("Login", "Account");
            }

            //
            //   Validate code this does the redirect to where you want the logged in person to go to.
            //
            if (Url.IsLocalUrl(returnUrl))
            {
                return Redirect(returnUrl);
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
        }
        else
        {
             ModelState.AddModelError("","Authentication failed, check username and password.");
             return View(model);
        }
    }
    catch (Exception ex)
    {
        ModelState.AddModelError("", "Error authenticating. " + ex.Message);
        return View(model);
    }
   // return View(model);
}

The two parts of the model that I believe the problem exists in and the instantiate of the class:
class ADAuthorize
{
    private string _path;
    private string _filterAttribute;

    public ADAuthorize(string path)
    {
        _path = path;
    }

get users (this will return an invalid username /pass message, so I know its connecting.)
public bool IsAuthenticated(string domain, string username, string pwd)
{
    string domainAndUsername = domain + @"\" + username;
    DirectoryEntry entry = new DirectoryEntry(_path, domainAndUsername, pwd);

    try
    {
        // Bind to the native AdsObject to force authentication.
        Object obj = entry.NativeObject;
        DirectorySearcher search = new DirectorySearcher(entry);
        search.Filter = "(SAMAccountName=" + username + ")";
        search.PropertiesToLoad.Add("SAMAccountName");
        //search.PropertiesToLoad.Add("cn");
        SearchResult result = search.FindOne();
        if (null == result)
        {
            return false;
        }

        // Update the new path to the user in the directory
        _path = result.Path;
        _filterAttribute = (String)result.Properties["SAMAccountName"][0];
        //_filterAttribute = (String)result.Properties["cn"][0];
    }
    catch (Exception ex)
    {
        throw new Exception(ex.Message);
    }
    return true;
}

This is where it throws the error:
//Gets the Group
public string GetGroups()
{
    DirectorySearcher search = new DirectorySearcher(_path);
    search.Filter = "(SAMAccountName=" + _filterAttribute + ")";
    //search.Filter = "(cn=" + _filterAttribute + ")";
    search.PropertiesToLoad.Add("memberOf");
    StringBuilder groupNames = new StringBuilder();

    try
    {
        SearchResult result = search.FindOne();
        int propertyCount = result.Properties["memberOf"].Count;
        String dn;
        int equalsIndex, commaIndex;

        for (int propertyCounter = 0; propertyCounter < propertyCount; propertyCounter++)
        {
            dn = (String)result.Properties["memberOf"][propertyCounter];

            equalsIndex = dn.IndexOf("=", 1);
            commaIndex = dn.IndexOf(",", 1);
            if (-1 == equalsIndex)
            {
                return null;
            }

            groupNames.Append(dn.Substring((equalsIndex + 1), (commaIndex - equalsIndex) - 1));
            groupNames.Append("|");
        }
    }
    catch (Exception ex)
    {
        throw new Exception("Error obtaining group names. this is where the error is thrown " + ex.Message + ex.StackTrace.ToString());
    }
    return groupNames.ToString();
}

My error and stack trace reads:
the specified domain either does not exist or could not be contacted.
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.PropertyValueCollection.PopulateList()
at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
at System.DirectoryServices.DirectorySearcher.get_SearchRoot()
at System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne)
at System.DirectoryServices.DirectorySearcher.FindOne()
at BoxCheckInApp.Controllers.ADAuthorize.GetGroups()

Again this works fine on a run from the IDE, I think my issue is the path,
but I don't know enough about AD to know what I don't know.

A: after some digging I realized my problem was related to the directory searcher.
I added the following lines
 var searchRoot = new DirectoryEntry(_path, _user, _pass);
 DirectorySearcher search = new DirectorySearcher(searchRoot);

and made  _user, and _pass private variables of ADAuthorize  which correspond to the username and password submitted, now it is connecting.

redpajama_set_name: RedPajamaStackExchange