****************************
* *
* PYTHIA version 6.1 *
* *
****************************
(Last updated 5 April 2001)
The new PYTHIA version is a logical continuation of previous versions.
Therefore a user should not feel lost. However, many details have been
changed. The major changes (so far) are:
- The supersymmetric process machinery of SPYTHIA has been included.
- PYTHIA and JETSET have been merged.
- All real variables are declared in double precision.
- The internal mapping of particle codes has changed.
- Extended capabilities to handle reactions of virtual photons.
- Baryon production according to advanced popcorn scheme (new option as
of version 6.110, with some consequences also for default behaviour).
Below follows a more extensive list of main changes, performed to move
from Pythia 5.7 and Jetset 7.4 to Pythia 6.1. Eventually this file
will be complemented by a completely updated manual. However, based
on the information here and some common sense it should be possible
to use the program already now, if you are familiar with previous
versions.
-----------------------------------------------------------------------
PYTHIA/JETSET CODE MERGING
* The PYTHIA and JETSET routines have been joined into one single file.
- LUDATA and PYDATA have been joined to a single BLOCK DATA.
- LUTEST and PYTEST have been joined to a single test program.
- SAVE statements are common for former JETSET and PYTHIA routines.
- version information (for the title page) is based on MSTP(181-185)
while MSTP(186) and MSTU(181-186) are not used any longer.
* All JETSET routines and commonblocks have been renamed to begin
with PY.
- In most cases just by letting LU -> PY or UL -> PY.
- Special cases: RLU -> PYR (also PYRGET, PYRSET), KLU -> PYK,
PLU -> PYP. Also commonblock and internal variables of the form
*RLU* are replaced by *RPY* (where * represents "wildcard"
characters).
- To declare integer functions, a line INTEGER PYK,PYCHGE,PYCOMP
has been added at the beginning of all routines.
- To avoid a name clash, LUXTOT becomes PYXTEE.
- Some comment lines in code have been modified; also the name
JETSET becomes PYTHIA.
* Persons who have code that relies on the /LUJETS/ single precision
commonblock could easily write a translation routine to copy the
/PYJETS/ double precision information to /LUJETS/. In fact, only
the LUGIVE and LULOGO routines of JETSET have access to some PYTHIA
commonblocks, and therefore these are the only ones that need to
be modified if one, for some reason, would like to combine the
new PYTHIA with the old JETSET routines. Similarly, it would only
require minor changes in the PYHEPC routine code to allow the
/HEPEVT/ commonblock to be in single precision, as before.
-----------------------------------------------------------------------
DOUBLE PRECISION
* Conversion from single to double precision.
- All real constants by explicitly exchanging E for D where present
and else adding D0.
- All real variables with an IMPLICIT DOUBLE PRECISION(A-H, O-Z)
at beginning of all routines.
- Commonblocks with an odd number of integers before real variables
have been padded with a dummy integer variable or reordered:
COMMON/PYJETS/N,NPAD,K(4000,5),P(4000,5),V(4000,5)
COMMON/PYSUBS/MSEL,MSELPD,MSUB(200),KFIN(2,-40:40),CKIN(200)
COMMON/PYUPPR/NUP,KUP(20,7),NFUP,IFUP(10,2),PUP(20,5),Q2UP(0:10)
COMMON/PYINT5/NGENPD,NGEN(0:200,3),XSEC(0:200,3)
(In the HARD PROCESSES section below is described further changes;
specifically MSUB, NGEN and XSEC are expanded to 500 processes.)
- Obsolete conversions with DBLE(), SNGL() etc. have been removed.
- pi, 2pi and GeV <-> fm conversion given with more decimals.
- Some blanks have been removed and lines reformatted or split when
lines have become too long.
- PYUPDA(3,..) writes values with D0 added.
- Commonblock /PYINT9/ with differential cross section sum in double
precision is superfluous and has been removed.
- Note that in the Fortran 77 standard COMPLEX cannot be defined
as double precision. COMPLEX is used only very sparingly, and only
in the PYRESD, PYRAND and PYSIGH routines. Some small pieces of code
therefore still use single precision. If you have a compiler
option for automatic promotion of single to double you are
welcome to use it to handle also these parts, but otherwise
they should not be harmful.
-----------------------------------------------------------------------
PARTICLE CODES AND DATA
* Some particles have been renamed:
7 from l to b'
8 from h to t'
17 from chi to tau'
18 from nu_chi to nu'_tau
25 from H to h
35 from H' to H
Furthermore, in all names where a tilde was previously used to
indicate an antiparticle, the previous alternative 'bar' is now
used throughout, both in particle names and process titles
(to avoid confusion with supersymmetry, see below).
* Some particle codes have been changed according to
the "LEP 2 standard" (see LEP 2 workshop proceedings):
psi' from 30443 to 100443
Upsilon' from 30553 to 100553
d* from 7 to 4000001
u* from 8 to 4000002
e*- from 17 to 4000011
nu*_e from 18 to 4000012
The codes 7, 8, 17 and 18 are now exclusively used for fourth
generation fermions. The switch MSTP(6) is then superfluous.
PYRESD and other code pieces have been rewritten to take into
account the change.
* Supersymmetric particle codes have been introduced according to
the "LEP 2 standard" (see LEP 2 workshop proceedings):
1000001 ~d_L 2000001 ~d_R 1000021 ~g
1000002 ~u_L 2000002 ~u_R 1000022 ~chi_10
1000003 ~s_L 2000003 ~s_R 1000023 ~chi_20
1000004 ~c_L 2000004 ~c_R 1000024 ~chi_1+
1000005 ~b_1 2000005 ~b_2 1000025 ~chi_30
1000006 ~t_1 2000006 ~t_2 1000035 ~chi_40
1000011 ~e_L- 2000011 ~e_R- 1000037 ~chi_2+
1000012 ~nu_eL 2000012 ~nu_eR 1000039 ~G
1000013 ~mu_L- 2000013 ~mu_R-
1000014 ~nu_muL 2000014 ~nu_muR
1000015 ~tau_1- 2000015 ~tau_2-
1000016 ~nu_tauL 2000016 ~nu_tauR
In the third generation the left and right states are assumed
to mix to nontrivial mass eigenstates, while mixing is not included
in the first two. Note that all sparticle names begin with a tilde.
Default masses are arbitrary and branching ratios not set at all.
This is taken care of at initialization if IMSS(1) is positive
(see below).
* A hint on large particle numbers: if you want to avoid mistyping
the number of zeros, it may pay off to define a line like
PARAMETER (KSUSY1=1000000,KSUSY2=2000000,KEXCIT=4000000)
at the beginning of your program and then refer to particles as
KSUSY1+1 = ~d_L and so on. This then also agrees with the internal
notation.
* A number of technicolour particle codes have been added:
51 pi_tech0 54 rho_tech0
52 pi_tech+ 55 rho_tech+
53 pi'_tech0 56 omega_tech0
* Some new particle codes for doubly charged Higgs production in
left-right-symmetric scenarios.
61 H_L++ 64 nu_Re
62 H_R++ 65 nu_Rmu
63 W_R+ 66 nu_Rtau
The indices _L and _R indicate belonging to left or right SU(2)
gauge group.
* Top and fourth generation hadrons are gone. Henceforth the t, b' and
t' quarks are always assumed to decay before they would have time to
hadronize.
- All t, b' and t' hadron codes are unknown to the program.
(In a pinch, such a hadron could be represented e.g. by a string
with a top quark and an antiquark or diquark, with string mass
equated to the expected hadron mass.)
- The MSTP(48) and MSTP(49) switches are removed; decay treatment is
as the old default option 2.
- Extra code has been inserted in PYEVNT and PYEXEC to decay any
leftover resonances (including these quarks) before fragmentation
routines are called.
- The particles codes 86 - 89, previously used for generic t, b' and
t' hadron decays are gone.
- The decay channel of particle 17 to 89 is removed, and PYRESD
changed accordingly.
- The PYLIST(11) listing is changed.
- Also the PYLIST(12) listing is changed. The MSTU(14) switch is gone;
restrictions on which codes are listed can only be applied with
MSTU(1) and MSTU(2).
- In the decay description, matrix element codes 45 and 46 are now
superfluous. MSTJ(25) and MSTJ(27) are no longer used, and
MSTJ(23) is less used.
- PYTEST is reduced so it does not involve these hadrons.
* There is a new scheme to relate the standard KF codes with the
compressed KC codes.
- We remind that KF codes essentially follow the PDG standard for
particle numbering, and with the introduction of SUSY now range up
to seven-digit codes (plus a sign). They therefore cannot be used to
directly access information in particle data tables. The compressed
KC codes range between 1 and 500, and give the index to the KCHG,
PMAS, MDCY, CHAF and MWID arrays.
- Each KF code known to the program is now one-to-one associated
with a KC code; the only doublevaluedness left is that both
the particle KF and its antiparticle -KF (if existing) is mapped
to the same KC. This specifically means that all charm and bottom
hadrons and all diquarks now are separately defined.
- Whereas KF codes below 100 still obey KC=KF, the mapping of codes
above 100 is completely changed. The mapping is no longer hardcoded
in PYCOMP, but defined by the fourth component of the KCHG array
(see below). Therefore it can be changed or expanded during the
course of a run, either by PYUPDA calls or by direct user
intervention.
* The KCHG array in /PYDAT2/ has been expanded with a fourth component,
where KCHG(KC,4)=KF. It thus gives the inverse mapping from KC codes
to KF ones (see above).
* The PYCOMP code has been completely rewritten. It gives the direct
mapping from the KF codes to the KC ones (see above).
- Internally the PYCOMP uses a binary search in a table, with KF codes
arranged in increasing order, based on the KCHG(KC,4) array. This
table is constructed the first time PYCOMP is called, at which time
MSTU(20) is set to 1. In case of a user change of the KCHG(KC,4)
array one should reset MSTU(20)=0 to force a reinitialization at the
next PYCOMP call (this is automatically done in PYUPDA calls).
To speed up execution, the latest (KF,KC) pair is kept in memory
and checked before the standard binary search.
- Code has been changed thoughout the program to be compatible with
this new mode of PYCOMP operation.
* Particle data is now stored and read out for each particle separately.
- PYMASS uses tables of charm and bottom hadron masses rather than
mass formulae.
- The array CHAF(500) has been expanded to CHAF(500,2), where the
first component gives the particle name and the second the
antiparticle one (where existing).
- PYNAME accesses ready-constructed names rather than constructs
the names from scratch.
- PYCHGE accesses charges directly from the KCHG(KC,1) array.
* PYUPDA has been changed.
- Option 1 writes out a table of all particle codes defined.
For each particle is given its KF code, particle and antiparticle
names in CHAF , the three first KCHG components, the PMAS components,
MWID (see below) and the first MDCY component. The information on
decay channels is unchanged, but the format expanded.
- Option 2 reads in the table written in the,form described above,
and replaces all existing data, including the KF<->KC mapping,
with the new ones.
- Option 3 reads in a table, like option 2, but uses it as a
complement to rather than a replacement of existing data.
The input file should therefore only contain new particles and
particles with changed data. New particles are added to the
bottom of the KC and decay channel tables. Changed particles
retain their KC codes and hence the position of particle data, but
their old decay channels are removed, this space is recuperated,
and new decay channels are added at the end.
- Option 4 corresponds to the old option 3, i.e. writes existing
data to DATA statements for inclusion in the default program
code.
* The maximum number of decay channels has been expanded from 2000
to 4000; this affects the arrays MDME, BRAT and KFDP in PYDAT3,
and MSTU(7).
* PYLIST, PYSTAT and PYUPDA are changed to allow for the larger
particle codes that may now appear.
-----------------------------------------------------------------------
RESONANCE DECAYS
* The dimensions of the WDTP and WDTE return arrays of PYWIDT have
been expanded from a maximum of 40 to 200 decay channels.
* PYWIDT has been modified so that it returns total and partial widths
in units of GeV. Previously most widths were given in dimensionless
units, with an extra multiplicative factor added elsewhere, e.g. in
PYINRE or PYSIGH. Therefore also these routines are modified. Also
VINT(117) is now in dimensions of GeV.
* Commonblock PYINT4 is completely reorganized as
COMMON/PYINT4/MWID(500),WIDS(500,5)
The WIDP and WIDE arrays were essentially only used by PYSTAT(2)
and have been eliminated.
Where before the resonances could only be found in the range
21:40, in the new description any compressed code KC between
1 and 500 can be used to represent a resonance.
MWID(KC) gives the character of particle with compressed code KC,
mainly as used in PYWIDT to calculate widths of resonances
(not necessarily at the nominal mass).
= 0 : an ordinary particle; not to be treated as resonance.
= 1 : a resonance for which the partial and total widths
(and hence branching ratios) are dynamically calculated
in PYWIDT calls; i.e. special code has to exist for each
such particle. The effects of allowed/unallowed secondary
decays are included, both in the relative composition
of decays and in the process cross section.
= 2 : The total width is taken to be the one stored in PMAS(KC,2)
and the relative branching ratios the ones in BRAT(IDC) for
decay channels IDC. There is then no need for any special
code in PYWIDT to handle a resonance. During the run,
the stored PMAS(KC,2) and BRAT(IDC) values are used to
calculate the total and partial widths of the decay channels.
Some extra information and assumptions are then used.
Firstly, the stored BRAT values are assumed to be the full
branching ratios, including all possible channels and
all secondary decays. The actual relative branching fractions
are modified to take into account that the simulation of some
channels may be switched off (even selectively for a particle
and an antiparticle), as given by MDME(IDC,1), and that
some secondary channels may not be allowed, as expressed by
the WIDS factors. This also goes into process cross sections.
Secondly, it is assumed that all widths scale like sqrt(shat)/m,
the ratio of the actual to the nominal mass. A further nontrivial
change as a function of the actual mass can be set for each
channel by the MDME(IDC,2) value, see below.
= 3 : a hybrid version of options 1 and 2 above. At initialization
the PYWIDT code is used to calculate PMAS(KC,2) and BRAT(IDC)
at the nominal mass of the resonance. Special code must then
exist in PYWIDT for the particle. The PMAS(KC,2) and BRAT(IDC)
values overwrite the default ones. In the subsequent generation
of events, the simpler scheme of option 2 is used, thus saving
some execution time.
Note: the Z and Z' cannot be used with options 2 and 3, since the
more complicated interference structure implemented for those
particles is only handled correctly for option 1.
WIDS(KC,J) : gives the suppression factor to cross sections caused
by the closing of some secondary decays, as calculated in PYWIDT.
Is built up recursively from the lightest particle to the
heaviest one at initialization, with the exception that W and Z
are done already from the beginning (since these often are
forced off the mass shell). WIDS can go wrong in case you
have perverse situations where the branching ratios vary
rapidly as a function of energy, across the resonance shape.
This then influences process cross sections.
The J components store information according to
= 1 : a (matched) resonance-antiresonance pair or two identical
resonances (e.g. W+W- or Z0Z0).
= 2 : a single resonance (e.g. W+ or Z0).
= 3 : a single antiresonance (e.g. W-).
= 4 : a (matched) resonance-resonance pair, for particle which
has a nonidentical antiparticle (e.g. W+W+).
= 5 : a (matched) antiresonance-antiresonance pair (e.g. W-W-).
* The MDME(IDC,2) matrix element codes for a specific decay channel have
been expanded with further values that can be used for decay channels
treated by the PYRESD/PYWIDT decay machinery. These codes have no
meaning in the framework of ordinary particle decays in PYDECY.
= 50 : (default behaviour, also obtained for any other code value
apart from the ones listed below) do not include any special
threshold factors. That is, a decay channel is left open even
if the sum of daughter nominal masses is above the mother
actual mass, which is possible if at least one of the daughters
can be pushed off the mass shell.
= 51 : a step threshold, i.e. a channel is switched off when
the sum of daughter nominal masses is above the mother actual
mass.
= 52 : a beta-factor threshold, i.e.
sqrt( (1-m1**2/m**2-m2**2/m**2)**2 - 4*m1**2*m2**2/m**4),
assuming that the values stored in PMAS(KC,2) and BRAT(IDC)
did not include any threshold effects at all.
= 53 : as =52, but assuming that PMAS(KC,2) and BRAT(IDC) did
include the threshold effects, so that the weight should be
beta(at the actual mass)/beta(at the nominal mass).
= 54 - 59 : free for further options.
* VINT(91), VINT(92) are obsolete and replaced by WIDS(24,4), WIDS(24,5).
* The decay angles in H -> Z0 Z0 -> 4 fermions were previously selected
in the same way as for H -> W+ W- -> 4 fermions. Now the correct angular
correlations are included also for this case. Reference:
O. Linossier and R. Zitoun, internal ATLAS note and private communication.
* PYRESD now takes an argument IRES. The standard call from PYEVNT,
for the hard process, has IRES=0, and then finds resonances to be
treated based on the subprocess number ISUB. In case of a nonzero
IRES only the resonance in position IRES of the event record is
considered. This is used by PYEVNT and PYEXEC to decay leftover
resonances. (Example: a b -> W + t branching may give a t quark as
beam remnant.)
* Now also three decay products can be handled by PYRESD.
* CKIN(49) and CKIN(50) have been introduced to allow minimum mass
limits to be passed from PYRESD to PYOFSH. They are used for
tertiary and higher resonances, i.e. those not controlled by
CKIN(41)-CKIN(48). They need not be touched by the user.
* An approximate 1 - 2.5 alpha_s/pi QCD correction factor has been
introduced for the width of the top decay t -> b + W.
* New default behaviour of the Higgs resonance shape.
MSTP(49) : (D=1) assumed variation of the Higgs width as a function
of the actual mass mhat = sqrt(shat) and the nominal mass m_H.
= 0 : the width is proportional to mhat**3; thus the high-mass
tail of the Breit-Wigner is enhanced.
= 1 : the width is proportional to m_H**2 * mhat. For a fixed
Higgs mass m_H this means a width variation across the
Breit-Wigner more in accord with other resonances (such as
the Z0). This alternative gives more emphasis to the
low-mass tail, where the parton distributions are peaked
(for hadron colliders). This option is favoured by
resummation studies [M. Seymour, Phys. Lett. B354 (1995)
409].
Note : this switch does not affect processes 71 - 77, where a
fixed Higgs width is used in order to control cancellation
of divergences.
-----------------------------------------------------------------------
HARD PROCESSES
* The maximum number of processes has been expanded from 200 to 500;
this affects MSUB, ISET, KFPR, COEF, NGEN, XSEC and PROC in
several commonblocks.
* SUSY processes have been introduced according to the SPYTHIA program.
- Look in the publication
SPYTHIA: A Supersymmetric Extension of PYTHIA 5.7
S. Mrenna, Computer Physics Commun. 101 (1997) 232
(hep-ph/9609360)
for a description of the physics that has been implemented.
- The list of new processes and process numbers is according to
tables 2 and 3 in the SPYTHIA manual. Also the MSEL values
of table 4 can be used.
- Switches and free parameters that can be used to select a wide
variety of SUSY scenarios are accessed in
COMMON/PYMSSM/IMSS(0:99),RMSS(0:99)
according to the description in SPYTHIA manual section 3.1.
- The notation for sparticles follows the LEP 2 standard outlined
above, and thus disagrees with the one in the SPYTHIA manual.
- The supersymmetric code has largely been taken over unchanged
from SPYTHIA, but a number of minor changes and bug fixes have
been introduced. As examples, the sparticle mass selection has
been improved, as has the selection of showering parton system.
The strategy for the selection of slepton and squark flavour, in
processes with several flavours allowed, has also been changed.
- Some routine and commonblock names have been changed, but none
of the major ones listed in the SPYTHIA manual. The dependence
on CERN library routines has been eliminated.
- A major administrative change is that it is now possible to set
allowed decay channels of sparticles using the MDME array,
as for ordinary resonances, and have this reflected in the
process cross sections.
- One difference between the SUSY simulation and the other parts of
the program is that it is not beforehand known which sparticles
may be stable. Normally this would mean either the chi_1 or the
gravitino, but in principle also other sparticles could be
stable. The ones found to be stable have their MWID(KC) and
MDCY(KC,1) values set zero at initialization. If several
PYINIT calls are made in the same run, with different SUSY
parameters, the ones set zero above are not necessarily set
back to nonzero values (the exception is chi_1), since the
original values are not saved anywhere. This may then have to
be done by hand, or else some particles that ought to decay will
not do that.
- Bottom squark production is now treated separately as for
the top squark. However, there are more processes because bottom
is in the PDF. The new processes are:
281 b q -> ~b_1 ~q_L (q not b)
282 b q -> ~b_2 ~q_R
283 b q -> ~b_1 ~q_R + ~b_2 ~q_L
284 b qbar -> ~b_1 ~q_Lbar
285 b qbar -> ~b_2 ~q_Rbar
286 b qbar -> ~b_1 ~q_Rbar + ~b_2 ~q_Lbar
287 q qbar -> ~b_1 ~b_1bar
288 2 2
289 g g -> ~b_1 ~b_1bar
290 2 2
291 b b -> ~b_1 ~b_1
292 2 2
293 1 2
294 b g -> ~b_1 ~g
295 2
296 b bbar -> ~b_1 ~b_2bar + ~b_1bar ~b_2
MSEL = 45 has been added specifically to switch on these processes.
- New parameter
IMMS(5) : (D=0) allows the user to set the stop, sbottom, and stau
masses and mixings by hand.
= 0 : no, the program calculates itself.
= 1 : Yes, calculate from given input. In that case,
RMMS(10) = lightest stop, RMSS(12) = heaviest stop,
RMSS(11) = lightest sbottom, RMSS(13) = lightest stau,
RMSS(14) = heaviest stau, and RMSS(26,27,28) are the
(1,1) elements of the (2x2) mixing matrix for sbottom,
stop, and stau.
* Higgs pair production now added as explicit processes. (Since before
some processes exist as Z' decay modes, where the Z' part can be
switched off to simulate the expected behaviour within the MSSM.)
297 q qbar' -> H+/- h0
298 q qbar' -> H+/- H0
299 q qbar -> A0 h0
300 q qbar -> A0 H0
301 q qbar -> H+ H-
* A new machinery has been introduced to generate the spectrum of
transverse and longitudinal photons in a lepton beam, and to
convolute that with the appropriate matrix elements, including
the virtuality of the photons, see C. Friberg and T. Sjostrand,
Eur. Phys. J. C 13 (2000) 151.
- In order to obtain it, the PYINIT beam or target code should
be given in the form 'gamma/lepton', where lepton can be either
of e-, e+, mu-, mu+, tau- or tau+. Thus,
for HERA : BEAM,TARGET = 'gamma/e-','p'
for LEP : = 'gamma/e-','gamma/e+'
Kinematics information in the PYINIT call should refer to the
full energy available, with the program itself generating the
fraction given to the photon(s).
- The documentation section at the beginning of the event record
has been expanded to reflect the new layer of administration.
Positions 1 and 2 contain the original beam particles, e.g.
e and p (or e+ and e-). In position 3 (and 4 for e+e-)
is (are) the scattered outgoing lepton(s). Thereafter comes
the normal documentation, but starting from the photon rather
than a lepton. For ep, this means 4 and 5 are the gamma* and p,
6 and 7 the shower initiators, 8 and 9 the incoming partons to
the hard interaction, and 10 and 11 the outgoing ones. Thus the
documentation is 3 lines longer (4 for e+e-) than normally.
- A number of new CKIN cuts have been introduced to restrict
the range of kinematics for the photons generated off the
lepton beams. In each quartet of numbers, the first two corresponds
to the range allowed on incoming side 1 (beam) and the last two
to side 2 (target). The cuts are only applicable for a lepton
beam. Note that the x and Q2 (P2) variables are the basis
for the generation, and so can be restricted with no loss of
efficiency. For leptoproduction the W is uniquely given by the
one x value of the problem, so here also W cuts are fully efficient.
The other cuts may imply a slowdown of the program, but not as much
as if equivalent cuts only are introduced after events are fully
generated.
CKIN(61) - CKIN(64) : (D=0.0001,0.99,0.0001,0.99) allowed range for
the energy fractions x that the photon take of the respective
incoming lepton energy. These fractions are defined in the
cm frame of the collision, and differ from energy fractions
as defined in another frame. (Watch out at HERA!) In order to
avoid some technical problems, absolute lower and upper limits
are set internally at 0.0001 and 0.9999.
CKIN(65) - CKIN(68) : (D=0.,-1.,0.,-1. GeV^2) allowed range for the
spacelike virtuality of the photon, conventionally called either
Q2 or P2, depending on process. A negative number means that the
upper limit is inactive, i.e. purely given by kinematics. A nonzero
lower limit is implicitly given by kinematics constraints.
CKIN(69) - CKIN(72) : (D=0.,-1.,0.,-1.) allowed range of the
scattering angle theta of the lepton, defined in the cm frame
of the event. (Watch out at HERA!) A negative number means that
the upper limit is inactive, i.e. equal to pi.
CKIN(73) - CKIN(76) : (D=0.0001,0.99,0.0001,0.99) allowed range for
the lightcone fraction y that the photon take of the respective
incoming lepton energy. The lightcone is defined by the
four-momentum of the lepton or hadron on the other side of the
event (and thus deviates from true lightcone fraction by mass
effects that normally are negligible). The y value is related to
the x and Q2 (P2) values by y = x + Q2/s if mass terms are
neglected.
CKIN(77), CKIN(78) : (D=2.,-1. GeV) allowed range for W, i.e. either
the photon-hadron or photon-photon invariant mass. A negative
number means that the upper limit is inactive.
- This machinery cannot be combined with the variable-energy option
obtainable for MSTP(171)=1. The reason is that a variable-energy
machinery is now used internally for the gamma-hadron or gamma-gamma
subsystem, with some information saved at initialization for the full
energy.
- Internally, some new variables are used:
MINT(141), MINT(142) : KF code for incoming lepton beam or target
particles, while MINT(11) and MINT(12) is then the photon code.
A nonzero value is the main check whether the photon emission
machinery should be called at all.
MINT(143) : the number of tries before a successful kinematics
configuration is found in PYGAGA. Used for the cross section
updating in PYRAND.
VINT(301) : cm energy for the full collision, while VINT(1)
gives the gamma-hadron or gamma-gamma subsystem energy.
VINT(302) : full squared cm energy, while VINT(2) gives the subsystem
squared energy.
VINT(303), VINT(304) : mass of beam or target lepton, while VINT(3)
or VINT(4) give the mass of a photon emitted off it.
VINT(305), VINT(306) : x values, i.e. respective photon energy
fractions of the incoming lepton in the cm frame of the event.
VINT(307), VINT(308) : Q2 or P2, virtuality of the respective photon
(thus the square of VINT(3), VINT(4)).
VINT(309), VINT(310) : y values, i.e. respective photon lightcone
energy fraction of the lepton.
VINT(311), VINT(312) : theta, scattering angle of the respective
lepton in the cm frame of the event.
VINT(313), VINT(314) : phi, azimuthal angle of the respective
scattered lepton in the cm frame of the event.
VINT(319) : photon flux factor in PYGAGA for current event.
VINT(320) : photon flux factor in PYGAGA at initialization.
- Some of these values are also saved in the MSTI and PARI arrays at
the end of the event generation. (In the case of pileup events,
values stored here refer to the first event, while the MINT/VINT
ones are for the latest one, as usual.)
MSTI(71), MSTI(72) : KF code for incoming lepton beam or target
particles, while MSTI(11) and MSTI(12) is then the photon code.
PARI(101) : cm energy for the full collision, while PARI(11)
gives the gamma-hadron or gamma-gamma subsystem energy.
PARI(102) : full squared cm energy, while PARI(12) gives the subsystem
squared energy.
PARI(103), PARI(104) : x values, i.e. respective photon energy
fractions of the incoming lepton in the cm frame of the event.
PARI(105), PARI(106) : Q2 or P2, virtuality of the respective photon
(thus the square of PARI(3), PARI(4)).
PARI(107), PARI(108) : y values, i.e. respective photon lightcone
energy fraction of the lepton.
PARI(109), PARI(110) : theta, scattering angle of the respective
lepton in the cm frame of the event.
PARI(111), PARI(112) : phi, azimuthal angle of the respective
scattered lepton in the cm frame of the event.
- A new routine has been added for internal use:
SUBROUTINE PYGAGA(IGA)
IGA = 1 : call at initialization to set up x and Q2 limits etc.
= 2 : call at maximization step to give estimate of maximal
photon flux factor.
= 3 : call at the beginning of the event generation to select
the kinematics of the photon emission and to give the
flux factor.
= 4 : call at the end of the event generation to set up the
full kinematics of the photon emission.
- Since there are currently no processes associated with resolved
longitudinal photons, the effect of these can be approximated by
some nonzero MSTP(17) and PARP(165). (Additionally, PARP(167) or
PARP(168) may need to be set.)
MSTP(17) : (D=4) possibility of a extrafactor for resolved processes,
to approximately take into accound the effects of longitudinal
photons. Given on the form
R = 1 + PARP(165) * r(Q^2,mu^2) * f_L(y,Q^2)/f_T(y,Q^2).
Here the 1 represents the basic transverse contribution,
PARP(165) is some arbitrary overall factor, and f_L/f_T
the (known) ratio of longitudinal to transverse photon
flux factors. The arbitrary function r depends on the photon
virtuality Q^2 and the hard scale mu^2 of the process.
= 0 : No contribution, i.e. r=0.
= 1 : r = 4 * mu^2 * Q^2 / (mu^2 + Q^2)^2.
= 2 : r = 4 * Q^2 / (mu^2 + Q^2).
= 3 : r = 4 * Q^2 / (m_{rho}^2 + Q^2).
= 4 : r = 4 * m_V^2 * Q^2 / (m_V^2 + Q^2)^2.
= 5 : r = 4 * Q^2 / (m_V^2 + Q^2).
In options 4 and 5 m_V is the vector meson mass for VMD
and 2 * k_T for GVMD states. Since there is no mu dependence
for these options (as well as for =3) they also affect
minimum-bias cross sections, where mu would be vanishing.
Currently the rho mass is used also in options 4 and 5, for
simplicity.
NOTE: For a photon given by the gamma/e option in the PYINIT call,
the y spectrum is dynamically generated and y is thus known
from event to event. For a photon beam in the PYINIT call,
y is unknown from the onset, and has to be provided by the
user if any longitudinal factor is to be included. So long
as these values, in PARP(167) and PARP(168), are at their
default values, 0, it is assumed they have not been set and
thus the MSTP(17) and PARP(165) values are inactive.
PARP(165) : (D=0.5) a simple multiplicative factor applied to the
cross section for the transverse resolved photons, see above
in MSTP(17). No preferred value, but typically one could use
PARP(165)=1 as main contrast to the no-effect =0, with the
default arbitrarily chosen in the middle.
PARP(167), PARP(168): (D=2*0) the longitudinal energy fraction
y of an incoming photon, side 1 or 2, used in the R expression
to evaluate f_L(y,Q^2)/f_T(y,Q^2). Need not be supplied when
a photon spectrum is generated inside a lepton beam, but only
when a photon is directly given as argument in the PYINIT call.
VINT(315), VINT(316): internal storage of the R factor above, for
each of the two sides.
PARI(113), PARI(114); values of the R factors above, for each of
the two sides.
* New total cross sections have been introduced into PYXTOT for
Generalized Vector Meson Dominance (GVMD) states, and both VMD and
GVMD parameterizations have been extended also to include virtual
photons. Further details in C. Friberg and T. Sjostrand,
JHEP 09 (2000) 10 (hep-ph/0007314).
- The GVMD states are seen as a continuous spectrum, characterized
by the k_T scale of the gamma -> q + qbar branching, with
k_T stretching between k_0 and p_Tmin(W^2). The rate of fluctuation
into such states is given by perturbative QED, while the
hadronic cross section for a given state is assumed to obey geometric
scaling, i.e. fall off like k_rho^2/k_T^2 relative to a VMD state
for a real photon, where k_rho is a reference scale.
- The jet cross sections for these GVMD states are associated with
the anomalous part of the photon structure function, just like
the homogeneous part is associated with the VMD states.
- GVMD state also have "elastic" and diffractive cross sections
obtained by the same scaling of VMD cross sections as indicated
above for the total cross section. The mass selection of the
GVMD state is according to dm^2/(m^2+Q^2)^2 between limits
2 k_0 < m < 2 p_Tmin(W^2), i.e. the mass is associated with
2 k_T of the state. See VINT(69), VINT(79) below. A GVMD state
is bookkept as a diffractive state in event listing, even when
it scatters "elastically", since the subsequent hadronization
descriptions are very similar.
- Whether or not minimum bias events are simulated depends on the
CKIN(3) value. For a low CKIN(3), CKIN(3) < p_Tmin(W_init^2),
like the default value CKIN(3) = 0, low-pT physics is switched
on together with jet production, with the latter properly
eikonalized to be lower than the total one. For a high CKIN(3),
CKIN(3) > p_Tmin(W_init^2), only jet production is included.
This is just like for hadron-hadron collisions, except that the
initialization energy scale W_init is selected in the allowed
W range rather than to be the full CM energy. When MSEL=2, also
elastic and diffractive events are simulated.
- Multiple interactions become possible in both the VMD and GVMD
sector, with the average number of interactions given by the
ratio of the jet to the total cross section. Currently only
the simpler default scenario MSTP(82)=1 is implemented, i.e.
the more sophisticated variable-impact-parameter ones need further
physics studies and model development.
- For a virtual photon of virtuality Q^2, the total cross section is
reduced by a dipole factor (m_rho^2/(m_rho^2 + Q^2))^2 for a VMD
state and by (4 k_T^2/(4 k_T^2 + Q^2))^2 for a GVMD one. That
is, the "mass" of a GVMD state is taken to be 2 k_T.Properly
each VMD state should have own mass, but so far this has not been
implemented. This would mainly be of relevance for J/psi, where
however also other complications enter.
- gamma* gamma* cross sections are obtained by simple multiplicative
factors as above, one for each photon, relative to rho rho events
(and other vector mesons).
- The primordial kT selection is described in the section on MSTP(66).
For clarity, we point out that elastic and diffractive events are
characterized by the mass of the diffractive states but without
any primordial kT, while jet production involves a primordial kT
but no mass selection. Both are thus not used at the same time,
but implicitly they are associated as m = 2 k_T.
- New or modified commonblock variables:
MSTP(15) : (D=0) modified default, to give same pT cutoff procedure
as for VMD jet cross sections.
PARP(15) : (D=0.5 GeV) k_0 scale where GVMD k_T spectrum begins.
MINT(50) : now set = 1 also for anomalous states, to indicate that
total cross sections are defined for them.
VINT(67), VINT(68) : the mass of a VMD state; for GVMD photons
the VMD state with the equivalent flavour content.
VINT(69), VINT(70) : the actual mass of a VMD or GVMD state;
agrees with the above for VMD but is selected as a larger
number for GVMD. Required for elastic and diffractive events.
VINT(63), VINT(64) : the squared (!) mass of the outgoing states;
for elastic events equal to VINT(69)^2 and VINT(70)^2 and for
diffractive events above that.
VINT(154) : current p_Tmin(W^2) value; see section on UNDERLYING
EVENTS for details.
VINT(149) : the scaled value 4 p_Tmin(W^2)^2/W^2; denominator
changed from s and therefore needs to be recalculated for each
new event (like VINT(154)).
PARP(18) : (D=0.4 GeV) scale k_rho, such that the cross sections
of a GVMD state of scale k_T is suppressed by a factor
k_rho^2/k_T^2 relative to those of a VMD state. Order should be
m_rho/2, with some finetuning to fit data.
VINT(317) : dipole suppression factor in PYXTOT for current event.
VINT(318) : dipole suppression factor in PYXTOT at initialization.
MSTP(66) : (D=5) see separate note below.
- The MSTP(84) and MSTP(85) switches have been made obsolete by these
changes and no longer exist.
* An additional suppression of resolved (VMD or GVMD) cross sections is
introduced to compensate for an overlap with DIS processes in the
region of intermediate Q^2 and rather small W^2.
- MSTP(20) : (D=3) suppression of resolved cross sections.
= 0 : no; used as is.
> 0 : yes, by a factor (W^2/(W^2 + Q_1^2 + Q_2^2))^MSTP(20).
(where Q_i^2 = 0 for an incoming hadron).
- The suppression factor is joined with the dipole suppression
stored in VINT(317) and VINT(318).
* New processes have been introduced for incoming virtual (spacelike)
photons, as obtained e.g. in ep and e+e- collisions. These are
thus extensions of processes previously encoded for real photons.
- 131 f_i + gamma*_T -> f_i + g (cf. proc 33)
132 f_i + gamma*_L -> f_i + g
133 f_i + gamma*_T -> f_i + gamma (cf. proc 34)
134 f_i + gamma*_L -> f_i + gamma
135 g + gamma*_T -> f_i + fbar_i (cf. proc 54)
136 g + gamma*_L -> f_i + fbar_i
137 gamma*_T + gamma*_T -> f_i + fbar_i (cf. proc 58)
138 gamma*_T + gamma*_L -> f_i + fbar_i
139 gamma*_L + gamma*_T -> f_i + fbar_i
140 gamma*_L + gamma*_L -> f_i + fbar_i
- Here indices _T and _L represent transverse and longitudinal
photons, respectively. In the limit of vanishing virtuality,
the _T photon cross section approaches that for a real photon,
while the _L one vanishes.
- The virtuality of the photon or photons can be stored in P(1,5)
and P(2,5), respectively, provided PYINIT is called with the
'FIVE' option. A spacelike photon of virtuality Q**2 (or P**2,
depending on notational convention followed) would thus have
P(i,5) = -Q (or -P). The virtuality could be varied from one
event to the next, but then it is convenient to initialize
for the lowest virtuality likely to be encountered.
- In several of the standard MSEL options, processes selected for
real photons have been replaced by the corresponding processes
for virtual ones.
* Direct processes in the range of k_T values stretching between k_0 and
p_Tmin(W^2) are, by an eikonalization process, associated with the
low-pT part of the GVMD states above. Further details in C. Friberg
and T. Sjostrand, JHEP 09 (2000) 10 (hep-ph/0007314).
- As a consequence, the minimum pT for direct processes should be
increased from k_0 to p_Tmin(W^2).
- New variable:
MSTP(18) : (D=3) choice of pTmin for direct processes:
= 1 : same as for VMD and GVMD states, as explained above..
= 2 : pTmin is chosen to be PARP(15), i.e. the old behaviour.
In this case, also parton distributions, jet cross sections
and alpha_strong values were dampened for small pT.
= 3 : as =1, but if the Q scale of the virtual photon is
above the VMD/GVMD p_Tmin(W^2), pTmin is chosen equal to Q.
This is part of the strategy to mix in DIS processes at
pT below Q, e.g. in MSTP(14)=30.
* New process 99 for DIS scattering, by photon exchange only. Thus, in
this sense less powerful than process 10, but allows the use of the
same photon flux machinery as for other gamma*-p and gamma*-gamma*
processes, and thus offers a unified description in the region of
intermediate Q2 values.
- Notice that it counts as a "total cross section" process, in the
sense that the hard subprocess in itself contains no high-pT
scale. Therefore, it will be switched off in event class mixes
such as MSTP(14)=30 if CKIN(3) is above pTmin(W^2) and MSEL
is not 2.
- 99 f_i + gamma* -> f_i.
- Since the standard 2 -> 1 kinematics machinery is not relevant for
this process - shat = 0 - a new code ISET(ISUB)=8 is introduced
for the kinematics selection machinery in PYRAND, and a new routine
PYDISG for setting up the kinematics, beam remnants and showers.
- New variable to select DIS cross section.
MSTP(19) : (D=4) choice of partonic cross section in process 99.
= 0 : QPM answer 4 pi^2 alpha_em/Q^2 *
\sum_q e_q^2 (x q(x,Q^2) + x qbar(x,Q^2))
(with parton distributions frozen below the lowest Q
allowed in the parameterization). Note that this answer
is divergent for Q^2 -> 0 and thus violates gauge
invariance.
= 1 : QPM answer is modified by a factor Q^2/(Q^2 + m_rho^2)
to provide a finite cross section in the Q^2 -> 0 limit.
A minimal regularization recipe.
= 2 : QPM answer is modified by a factor Q^4/(Q^2 + m_rho^2)^2
to provide a vanishing cross section in the Q^2 -> 0 limit.
Appropriate if one assumes that the normal photoproduction
description gives the total cross section for Q^2 = 0,
without any DIS contribution.
= 3 : as = 2, but additionally suppression by a parameterized
factor f(W^2,Q^2) (different for gamma*-p and gamma*-gamma*)
that avoids doublecounting the direct-process region where
p_T > Q. Shower evolution for DIS events is then also
restricted to be at scales below Q, whereas evolution all
the way up to W is allowed in the other options above.
= 4 : as = 3, but additionally include factor 1/(1-x) for
conversion from F_2 to sigma. This is formally required,
but is only relevant for small W2 and therefore often
neglected.
- MINT(107),MINT(108) = 4 denotes DIS photon on respective side.
MINT(123) = 8 denotes DIS*VMD/p or vice verse, = 9 DIS*anomalous
or vice versa.
In MINT(41)-MINT(46), a DIS photon is treated same way as a direct
one.
- Many of the normal kinematical variables for 2 -> 2 processes are
not defined for this process. The pT in PARI(17) is explicitly set
=0, but some others may well contain irrelevant junk.
* MSTP(14) is extended with new possibilities to select the nature
of incoming virtual photons. The reason is that the existing
options specify e.g. direct * VMD, summing over the possibilities
of which photon is direct and which anomalous. This is allowed
when the situation is symmetric, i.e. for two incoming real photons,
but not if one is virtual. Some of the new options agree with
previous ones, but are included to allow a more consistent pattern.
MSTP(14): (D=30) structure of incoming photon beam or target.
= 11 : direct * direct (see note 4).
= 12 : direct * VMD (i.e. first photon direct, second VMD).
= 13 : direct * anomalous.
= 14 : VMD * direct.
= 15 : VMD * VMD.
= 16 : VMD * anomalous.
= 17 : anomalous * direct.
= 18 : anomalous * VDM.
= 19 : anomalous * anomalous.
= 20 : a mixture of the nine above components, in the same
spirit as =10 provides a mixture for real gammas (or
a virtual gamma on a hadron). For gamma-hadron, this
option coincides with =10.
= 21 : direct * direct (see note 4).
= 22 : direct * resolved.
= 23 : resolved * direct.
= 24 : resolved * resolved.
= 25 : a mixture of the four above components, offering a
simpler alternative to =20 in cases where the parton
distributions of the photon have not been split into VMD
and anomalous components. For gamma-hadron, only two
components need be mixed.
= 26 : DIS * VMD/p.
= 27 : DIS * anomalous.
= 28 : VMD/p * DIS.
= 29 : anomalous * DIS.
= 30 : a mixture of all the 4 (for gamma*-p) or 13 (for
gamma*-gamma*) that are available, is as = 20 with the
DIS processes 26-29 mixed in.
Note 1: The MSTP(14) options apply for a photon defined by a 'gamma'
or 'gamma/lepton' beam in the PYINIT call, but not to those
photons implicitly obtained in a 'lepton' beam with the
MSTP(12)=1 option. This latter approach to resolved photons is
more primitive and is no longer recommended.
Note 2: these new options are not needed and therefore not defined
for e-p collisions. The recommended 'best' values thus are
MSTP(14)=30, which also is the new default value.
Note 3: as a consequence of the appearance of new event classes,
the MINT(122) and MSTI(9) code is not the same for gamma* gamma*
events as for gamma p, gamma* p or gamma gamma ones.
Instead the code is 3*(icode_1 - 1) + icode_2, where icode is
1 for direct, 2 for VMD and 3 for anomalous/GVMD and indices
refer to the two incoming photons. For gamma* p code 4 is DIS,
and for gamma* gamma* codes 10-13 corresponds to the MSTP(14)
codes 26-29. As before, MINT(122) and MSTI(9) are only defined
when several processes are to be mixed, not when generating one
at a time. Also the MINT(123) code is modified (not shown here).
Note 4: The direct * direct event class excludes lepton pair
production when run with the default MSEL=1 option (or MSEL=2),
in order not to confuse users. You can obtain lepton pairs as well,
e.g. by running with MSEL=0 and switching on the desired processes
by hand.
* MSTP(16) is new variable to select momentum variable of
e -> gamma branching.
MSTP(16) (D=1) choice of definition of the fractional momentum
taken by a photon radiated off a lepton. Enters in the flux
factor for the photon rate, and thereby in cross sections.
= 0 ; x, i.e. energy fraction in the rest frame of the event.
= 1 ; y, i.e. lightcone fraction.
* MSTP(32) : (D=8) has been expanded with new options for the choice
of Q2 scale, specifically intended for processes with incoming
virtual photons. The new options are ordered from a "minimal"
dependence on the virtualities to a "maximal" one, based on
reasonable kinematics considerations. The old default value
MSTP(32)=2 forms the starting point, with no dependence at
all, and the new default is some intermediate choice.
Notation is that P1**2 and P2**2 are the virtualities of the
two incoming particles, pT the transverse momentum of the
scattering process, and m3 and m4 the masses of the two
outgoing partons. For a direct photon, P**2 is the photon
virtuality and x=1. For a resolved photon, P**2 still refers
to the photon, rather than the unknown virtuality of the
reacting parton in the photon, and x is the momentum fraction
taken by this parton.
= 6 : Q2 = (1 + x1*P1**2/shat + x2*P2**2/shat)*
(pT**2 + m3**2/2 + m4**2/2).
= 7 : Q2 = (1 + P1**2/shat + P2**2/shat)*
(pT**2 + m3**2/2 + m4**2/2).
= 8 : Q2 = pT**2 + (P1**2 + P2**2 +m3**2 + m4**2)/2.
= 9 : Q2 = pT**2 + P1**2 + P2**2 +m3**2 + m4**2.
= 10 : s (the full energy-squared of the process).
Note: options 6 and 7 are motivated by assuming that one
wants a scale that interpolates between that for small
that and uhat for small uhat, such as
Q2 = - that*uhat/(that+uhat). When kinematics for
the 2 -> 2 process is constructed as if an incoming
photon is massless when it is not, it gives rise to a
mismatch factor 1 + P**2/shat (neglecting the other
masses) in this Q2 definition, which is then what is
used in option 7 (with the neglect of some small
cross-terms when both photons are virtual). When a
virtual photon is resolved, the virtuality of the
incoming parton can be anything from x*P**2 and upwards.
So option 6 uses the smallest kinematically possible
value, while 7 is more representative of the typical
scale. Option 8 and 9 are more handwaving extensions of
the default option, with 9 specially constructed to
ensure that the Q2 scale is always bigger than P**2.
* MSTP(66) has been expanded with new default option for the
selection of lower parton-shower cut-off (and primordial kT).
MSTP(66) : (D=5) choice of lower cut-off for initial-state QCD
radiation in VMD or anomalous photoproduction events.
= 0 : the lower Q2 cut-off is the standard one in PARP(62)^2.
= 1 : for anomalous photons, the lower Q2 cut-off is the
larger of PARP(62)^2 and VINT(283) or VINT(284),
where the latter is the virtuality scale for the
gamma -> q qbar vertex on the appropriate side of
the event. The VINT values are selected logarithmically
even between PARP(15)^2 and the Q2 scale of the
parton distributions of the hard process.
= 2 : extended option of the above, intended for virtual
photons. For VMD photons, the lower Q2 cut-off is the
larger of PARP(62)^2 and the P^2_{int} scale of the
SaS parton distributions. For anomalous photons,
the lower cut-off is chosen as for =1, but the
VINT(283) and VINT(284) are here selected logarithmically
even between P^2_{int} and the Q2 scale of the
parton distributions of the hard process.
= 3 : simplified option, default in versions 6.143 - 6.147.
The k_T of the anomalous/GVMD component is distributed
like 1/k_T^2 between k_0 and p_Tmin(W^2). Apart from
the change of the upper limit, this option works just
like = 1.
= 4 : a stronger damping at large k_T, like
dk_T^2/(k_T^2 + Q^2/4)^2 with
k_0 < k_T < p_Tmin(W^2). Apart from this,
it works like = 1.
= 5 : a k_T generated as in =4 is added vectorially with a
standard Gaussian k_T generated like for VMD states.
Ensures that GVMD has typical k_T's above those of VMD,
in spite of the large primordial k_T's implied by hadronic
physics. (Probably attributable to a lack of soft QCD
radiation in parton showers.)
* New processes
- 146 e + gamma -> e*
169 q + qbar -> e + e*
- similar to existing processes 147,148 or 167,168 for q*.
* Several new processes for technicolour production.
NOTE: as of version 6.126 changes/additions appear according
to the next section.
- 191 f_i + fbar_i -> rho_techni0
192 f_i + fbar_j -> rho_techni+-
193 f_i + fbar_i -> omega_techni0
194 f_i + fbar_i -> f_k + fbar_k
- The first three processes are based on s-channel production of
the respective resonance. All decay modes implemented can be
simulated separately or in combination, in the standard fashion.
These include pairs of fermions, of gauge bosons, of technipions,
and of mixtures gauge bosons + technipions.
- Process 194 includes full interference between rho_techni0 and
omega_techni0. It can only be used for one final-state flavour
at a time. This flavour is set in KFPR(194,1).
- The physics parameters of the technicolour scenario are:
PARP(140) : (D=0.0) multiplicative fudge factor, entering
quadratically in the width for pi_tech+ -> W+ b bbar.
PARP(141) : (D=0.33333) sin(chi), sinus of mixing angle between
gague bosons and technipions in the decay of technirhos;
if 0 the decay is entirely to technipions and if 1 entirely
to gauge bosons.
PARP(142) : (D=82 GeV) F_T, decay constant of the technipion
states; the technipion widths are proportional to 1/F_T^2.
PARP(143) : (D=1.0) Q_U, charge of the up-type technifermions;
the down-type ones have Q_D = Q_U - 1 and thus do not
require a separate parameter.
PARP(144) : (D=4.0) N_TC, the number of technicolours, that
enters in several cross sections and decay rates.
PARP(145) : (D=200 GeV) M_T, mass parameter for the decay
omega_techni0 -> gamma + pi_techni0; the partial width
is proportional to 1/M_T^2.
PARP(146) - PARP(148) : (D=1.0, 1.0, 1.0) multiplicative fudge
factors, entering quadratically in the widths of technipions
to a fermion pair. The three numbers are for pi_tech0,
pi_tech+ and pi_tech'0, respectively.
PARP(149) - PARP(150) : (D=1.0, 0.0) multiplicative fudge factors,
entering linearly in the widths of technipions to a gluon pair.
The two numbers are for pi_tech0 and pi_tech'0, respectively.
- The main references are
E. Eichten and K. Lane, Phys. Lett. B388 (1996) 803
E. Eichten, K. Lane and J. Womersley, in preparation
* Starting with version 6.126, the simulation of the production and
decays of technicolor particles has been substantially upgraded.
- The processes 149, 191, 192, and 193 are to be considered obsolete,
and are temporarily retained to allow cross checking with the new
processes.
- Process 194 has been changed to more accurately represent the
mixing between the photon, Z, techni_rho0, and techni_omega
particles in the Drell-Yan process. Process 195 is the analogous
process including W and techni_rho+/- mixing. By default, the final
state fermions are e+ e- and e+/- nu_e, respectively. These can be
changed through the parameters KFPR(194,1) and KFPR(195,1),
respectively (the KFPR value should represent a charged fermion).
- The full set of recommended processes are:
Drell--Yan (ETC == Extended TechniColor)
194 f+fbar -> f'+fbar' (ETC)
195 f+fbar' -> f"+fbar"' (ETC)
techni_rho0/omega
361 f + fbar -> W_L+ W_L-
362 f + fbar -> W_L+/- pi_T-/+
363 f + fbar -> pi_T+ pi_T-
364 f + fbar -> gamma pi_T0
365 f + fbar -> gamma pi_T0'
366 f + fbar -> Z0 pi_T0
367 f + fbar -> Z0 pi_T0'
368 f + fbar -> W+/- pi_T-/+
charged techni_rho
370 f + fbar' -> W_L+/- Z_L0
371 f + fbar' -> W_L+/- pi_T0
372 f + fbar' -> pi_T+/- Z_L0
373 f + fbar' -> pi_T+/- pi_T0
374 f + fbar' -> gamma pi_T+/-
375 f + fbar' -> Z0 pi_T+/-
376 f + fbar' -> W+/- pi_T0
377 f + fbar' -> W+/- pi_T0'
- All of the processes from 361 to 377 can be accessed at once
by setting MSEL=50.
- The production and decay rates depend on several "Straw Man"
technicolor parameters:
Techniparticle masses
PMAS(51,1) : (D=110.0 GeV) neutral techni_pi mass
PMAS(52,1) : (D=110.0 GeV) charged techni_pi mass
PMAS(53,1) : (D=110.0 GeV) neutral techni_pi' mass
PMAS(54,1) : (D=210.0 GeV) neutral techni_rho mass
PMAS(55,1) : (D=210.0 GeV) charged techni_rho mass
PMAS(56,1) : (D=210.0 GeV) techni_omega mass
Note: the rho and omega masses are not pole masses
Lagrangian parameters
PARP(141) : (D= 0.33333) sine of chi, the mixing angle between
technipion interaction and mass eigenstates
PARP(142) : (D=82.0000 GeV) F_T, the technipion decay constant
PARP(143) : (D= 1.3333) Q_U, charge of up-type technifermion;
the down-type technifermion has a charge Q_D=Q_U-1
PARP(144) : (D= 4.0000) N_TC, number of technicolors; fixes the
relative values of g_em and g_etc
PARP(145) : (D= 1.0000) C_c, coefficient of the technipion decays
to charm; appears squared in the decay rate
PARP(146) : (D= 1.0000) C_b, coefficient of the technipion decays
to bottom; appears squared in the decay rate
PARP(147) : (D= 0.0182) C_t, coefficient of the technipion decays
to top, estimated to be m_b/m_t; appears squared in the decay rate
PARP(148) : (D= 1.0000) C_tau, coefficient of the technipion decays
to tau; appears squared in the decay rate
PARP(149) : (D=0.00000) C_pi, coefficient of technipion decays
to gg
PARP(150) : (D=1.33333) C_pi', coefficient of technipion' decays
to gg
****Note the switch from PARP to PARJ****
PARJ(172) : (D=200.000 GeV) M_V, vector mass parameter for technivector
decays to transverse gauge bosons and technipions
PARJ(173) : (D=200.000 GeV) M_A, axial mass parameter for technivector
decays to transverse gauge bosons and technipions
PARJ(174) : (D=0.33300) sine of chi', the mixing angle between
the technipion' interaction and mass eigenstates
PARJ(175) : (D=0.05000) isospin violating technirho/techniomega
mixing amplitude
- As a final comment, it is worth mentioning that the decays products
of the W and Z bosons are distributed according to phase space,
regardless of their designation as W_L/Z_L or transverse gauge bosons.
The exact meaning of longitudinal or transverse polarizations in this
case requires more thought.
- References:
K. Lane, hep-ph/9903369
K. Lane, hep-ph/9903372
* Several new processes for doubly charged Higgs production in
left-right-symmetric models, with an additional righthanded SU(2)
gauge group.
- 341 l + l -> H_L++/--
342 l + l -> H_R++/--
343 l + gamma -> H_L++/-- + e-/+
344 l + gamma -> H_R++/-- + e-/+
345 l + gamma -> H_L++/-- + mu-/+
346 l + gamma -> H_R++/-- + mu-/+
347 l + gamma -> H_L++/-- + tau-/+
348 l + gamma -> H_R++/-- + tau-/+
349 f + fbar -> H_L++ + H_L--
350 f + fbar -> H_R++ + H_R--
351 f_i + f_j -> f_k + f_l + H_L++/--
352 f_i + f_j -> f_k + f_l + H_R++/--
- Default model masses are
code name mass (GeV)
61 H_L++ 200
62 H_R++ 200
63 W_R+ 750
64 nu_Re 750
65 nu_Rmu 750
66 nu_Rtau 750
- Main decays implemented are
H_L++ -> l_i+ l_j+ (i, j generation index)
-> W_L+ W_L+
H_R++ -> l_i+ l_j+
-> W_R+ W_R+
W_R+ -> q_i qbar_j (assuming standard CKM matrix)
-> l_i+ nu_Ri (if kinematically allowed)
- The physics parameters of this scenario are
PARP(181) - PARP(189) : (D = 0.1, 0.01, 0.01, 0.01, 0.1, 0.01,
0.01, 0.01, 0.3) Yukawa couplings of leptons to H++, assumed
same for H_L++ and H_R++. Is a symmetric 3*3 array, where
PARP(177+3*i+j) gives the coupling to a lepton pair with
generation indices i and j. Thus the default matrix is
dominated by the diagonal elements and especially by the
tau-tau one.
PARP(190) : (D=0.64) g_L = e/sin(theta_W).
PARP(191) : (D=0.64) g_R, assumed same as g_L.
PARP(192) : (D=5 GeV) v_L vacuum expectation value of the
left-triplet. The corresponding v_R is assumed given by
v_R = sqrt(2) M_W_R / g_R and is not stored explicitly.
- The main references are
K. Huitu, J. Maalampi, A. Pietil\"a and M. Raidal,
Nucl. Phys. B487 (1997) 27 and private communication;
G. Barenboim, K. Huitu, J. Maalampi and M. Raidal,
Phys. Lett. B394 (1997) 132.
* Two new processes for chi_c production.
- 104 g + g -> chi_0c
105 g + g -> chi_2c
- These are the lowest-order equivalents of processes 87 and 89.
Note that g + g -> chi_1c is forbidden, and so not included as
a match to process 88.
- Reference Bai83.
* Three new processes for J/psi production.
- 106 g + g -> J/psi + gamma
107 g + gamma -> J/psi + g
108 gamma + gamma -> J/psi + gamma
- All of these are closely related to the existing process 86,
g + g -> J/psi + g; only the colour- and charge-related
prefactors differ in the matrix element expressions.
- References:
106: M. Drees and C.S. Kim, Z. Phys. C53 (1991) 673
107: E.L. Berger and D. Jones, Phys. Rev. D23 (1981) 1521
108: H. Jung, private communication;
H. Kharraziha, private communication
* Process 1 has been modified so that masses are included in the
expression for the decay polar angle distribution.
* Processes 15, 19, 22, 30 and 35 have been corrected for an inconsistent
use of width definition in the Breit-Wigner shape, which affected
the low-mass part of the gamma*/Z0 spectrum.
* The previous process 131, g + g -> Z + b + bbar, has been removed,
for reasons of inefficient phase space generation. This implies that
- all the RK... routines are gone
- all code related to ISET(ISUB)=6 is removed
- variables MINT(35) and VINT(81-84) are unused
- cuts CKIN(51-56) are restricted in usage
- options 5 and 6 of PYOFSH are removed (with old option 7 moved to 5)
* Processes 147, 148, 167 and 168 have been modified to take into
account changes in d*, u*, e* and nu*_e codes.
* New parameter and new default behaviour of the program.
MSTP(9) : (D=0) inclusion of top (and fourth generation quarks) as
allowed remnant flavours q' in processes that involve q -> q' + W
branchings and where the matrix elements have been calculated
under the assumption that q' is massless.
= 0 : no.
= 1 : yes, but it is possible, as before, to switch off individual
channels by the setting of MDME switches. Mass effects are
taken into account, in a crude fashion, by rejecting events
where kinematics becomes inconsistent when the q' mass is
included.
* Many processes proceed via an s-channel resonance, described by a
Breit-Wigner. In some instances this description is not really valid
far away from the resonance position, e.g. because interference with
other graphs should then be included. The wings of the Breit-Wigner
are therefore routinely cut out in most processes, though not all.
This cut has been modified and can now be set by the user.
PARP(48) : (D=50.) the Breit-Wigner factor in the cross section is
set to vanish for masses that deviate from the nominal one by
more than PARP(48) times the nominal resonance width (i.e. the
width evaluated at the nominal mass). Is used in most processes
with a single s-channel resonance, but there are some exceptions,
notably gamma/Z0 and W+-.
* The PYSTAT routine has been expanded with a new option 6.
A CALL PYSTAT(6) will produce a list of all subprocesses implemented
in the program.
* New parameter.
PARP(104) : (D=0.8 GeV) minimum energy above threshold for the
evaluation of total, elastic and diffractive cross sections.
Below this lower cut, the cross section is made to vanish.
-----------------------------------------------------------------------
THE E+E- ROUTINES
* The e+e- routines PYEEVT and PYONIA (formerly LUEEVT and LUONIA)
have been kept in this version, but may disappear in the future.
The functionality of PYEEVT is obtained with PYTHIA subprocess 1 and
that of PYONIA by the decay of Upsilon in PYDECY. Some differences
exist between the respective alternatives.
- The PYEEVT flavour selection and resonance shape handling is not as
good as the subprocess 1 one.
- The PYEEVT initial-state photon radiation is based on exact first
order rather than exponentiated structure functions, and is inferior
in terms of total photon energy radiated but may be better for
high-angle photons (here subprecess 19 can also be used, however).
- Further examples could be given.
* Formerly, the main difference was that LUEEVT also had a number of
matrix-element options, in addition to the default parton-shower one.
These options are now available also from PYTHIA subprocess 1,
as follows.
- MSTP(48) : (D=0) switch for the treatment of gamma*/Z0 decay for
process 1 in e+e- events.
= 0 : normal PYTHIA machinery.
= 1 : if the decay of the Z0 is to either of the five lighter
quarks, d, u, s, c or b, the special treatment of Z0
decay is accessed, including matrix element options.
- This option is based on the machinery of the PYEEVT and associated
routines when it comes to the description of QCD multijet structure
and the angular orientation of jets, but relies on the normal
PYEVNT machinery for everything else: cross section calculation,
initial state photon radiation, flavour composition of decays
(i.e. information on channels allowed), etc.
- The initial state has to be e+e; forward-backward asymmetries would
not come out right for quark-annihilation production of the gamma*/Z0
and therefore the machinery defaults to the standard one in such
cases.
- You can set the behaviour for the MSTP(48) option using the normal
matrix element related switches. This especially means MSTJ(101) for
the selection of first- or second-order matrix elements (=1 and =2,
respectively). Further selectivity is obtained with the switches
and parameters MSTJ(102) (for the angular orientation part only),
MSTJ(103) (except the production threshold factor part), MSTJ(106),
MSTJ(108) - MSTJ(111), PARJ(121), PARJ(122), PARJ(125) - PARJ(129).
Information can be read from MSTJ(120), MSTJ(121), PARJ(150),
PARJ(152) - PARJ(156), PARJ(168), PARJ(169), PARJ(171).
- The other e+e- switches and parameters should not be touched. In most
cases they are simply not accessed, since the related part is handled
by the PYEVNT machinery instead. In other cases they could give
incorrect or misleading results. Beam polarization as set by
PARJ(131) - PARJ(134), for instance, is only included for the
angular orientation, but is missing for the cross section information.
PARJ(123) and PARJ(124) for the Z0 mass and width are set in the
PYINIT call based on the input mass and calculated widths.
- The cross section calculation is unaffected by the matrix element
machinery. Thus also for negative MSTJ(101) values, where only specific
jet multiplicities are generated, the PYSTAT cross section is the
full one.
-----------------------------------------------------------------------
PARTON DISTRIBUTIONS
* The "structure function" expression is replaced by "parton distribution".
Hence routines PYST** are renamed PYPD**.
* A number of old proton distributions have been removed, and newer ones
inserted. The current list of distributions available in MSTP(51) is
- MSTP(51) : (D=4)
= 1 : CTEQ 3L (leading order).
= 2 : CTEQ 3M (MSbar).
= 3 : CTEQ 3D (DIS).
= 4 : GRV 94L (leading order).
= 5 : GRV 94M (MSbar).
= 6 : GRV 94D (DIS).
= 7 : CTEQ 5L (leading order).
= 8 : CTEQ 5M1 (MSbar; slightly updated version of CTEQ 5M).
= 11: GRV 92L (leading order).
= 12: EHLQ 1 (leading order).
= 13: EHLQ 1 (leading order).
= 14: DO 1 (leading order).
= 15: DO 2 (leading order).
- References: CTEQ Collaboration, H.L. Lai et al., Phys. Rev.
D51 (1995) 4763, hep-ph/9903282;
M. Gluck, E. Reya and A. Vogt, Z. Phys. C67 (1995) 433
- New routines: PYCTEQ, PYGRVL, PYGRVM, PYGRVD, PYGRVV, PYGRVW, PYGRVS
PYCT5L, PYCT5M and PYPDPO.
- Note 1: distributions 11-15 are obsolete and should not be used for
current physics studies. They are only implemented to have some sets
in common between Pythia 5 and 6, for crosschecks.
- Note 2: distribution 16 is an undocumented toy model with all parton
distributions like 1/x; see code for details.
* The SaS parton distributions (accessed with MSTP(55) = 5 - 12) have
been upgraded from version 1 to version 2 of the SaSgam library (as
before, with routines and commonblocks renamed). This is no change for
real photons, as have been studied so far, but allows in the future
several new alternatives to extend the distributions to virtual photons.
- MSTP(60) : (D=7) extension of the SaS real-photon distributions to
off-shell photons, especially for the anomalous component. For
details, see G.A. Schuler and T. Sjostrand, Phys. Lett. B376 (1996)
193.
= 1 : dipole dampening by integration; very time-consuming.
= 2 : P_0^2 = max( Q_0^2, P^2 )
= 3 : P'_0^2 = Q_0^2 + P^2.
= 4 : P_{eff} that preserves momentum sum.
= 5 : P_{int} that preserves momentum and average evolution range.
= 6 : P_{eff}, matched to P_0 in P2 -> Q2 limit.
= 7 : P_{int}, matched to P_0 in P2 -> Q2 limit.
- The PYGGAM argument list is expanded with one further input parameter IP2
SUBROUTINE PYGGAM(ISET,X,Q2,P2,IP2,F2GM,XPDFGM)
where MSTP(60) is used as IP2 value in internal calls.
- PYGVMD and PYGANO has VXPGA(-6:6) as new last argument. The array contains
the valence part ofd the distributions at return.
- COMMON/PYINT9/VXPVMD(-6:6),VXPANL(-6:6),VXPANH(-6:6),VXPDGM(-6:6)
Purpose: to give the valence parts of the photon parton distributions
(x-weighted, as usual) when the PYGGAM routine is called. Companion to
/PYINT8/, which gives the total parton distributions.
VXPVMD(KFL) : valence distributions of the VMD part; matches
XPVMD in /PYINT8/.
VXPANL(KFL) : valence distributions of the anomalous part of light
quarks; matches XPANL in /PYINT8/.
VXPANH(KFL) : valence distributions of the anomalous part of heavy
quarks; matches XPANH in /PYINT8/.
VXPDGM(KFL) : gives the sum of valence distributions parts;
matches XPDFGM in the PYGGAM call.
Note 1: the Bethe-Heitler and direct contributions in XPBEH(KFL) and
XPDIR(KFL) in /PYINT8/ are pure valence-like, andtherefore are not
duplicated here.
Note 2: the sea parts of the distributions can be obtained by taking the
appropriate differences between the total distributions and the
valence distributions.
* The default set for the parton distributions of the pion has been changed:
MSTP(53) (D=3) choice of pion parton distribution set; default is
GRV LO (updated version).
* New argument KFA for PYPDEL routine, which now also can handle muons and
taus.
-----------------------------------------------------------------------
PARTON SHOWERS
* PYSHOW allows the photon emission cutoff parameter to be set
separately for quarks and leptons. The former function remains with
PARJ(83), while the latter introduces the new parameter PARJ(90),
with default 0.0001 GeV. Thus photon emission off leptons becomes
more realistic, covering a larger part of the phase space. Since
the lepton mass is not explicitly included in the shower formalism,
the emission rate is still not well reproduced (underestimated!) for
lepton-photon invariant masses smaller than roughly twice the
lepton mass itself.
* PYSHOW has been modified and expanded with new options related to
mass effects in the shower. A first set of modifications were
introduced in version 6.130, but the description of mass effects
was further significantly improved in 6.154, and it is the latter
that is described here. Further details are found in
E. Norrbin and T. Sjostrand, in preparation.
The starting point is the calculation of processes
a -> b c and a -> b c g where the ratio
WME(x_1,x_2) = 1/sigma(a -> b c) * dsigma(a -> b c g)/dx_1 d x_2
gives the process-dependent differential gluon-emission rate.
Here the phase space variables are x_1 = 2E_b/m_a and
x_2 = 2E_c/m_a, expressed in the rest frame of parton a.
Using the standard model and the minimal supersymmetric extension
thereof as templates, a wide selection of colour and spin structures
have been addressed, exemplified by Z^0 -> q qbar, t -> b W^+,
H^0 -> q qbar, t -> b H^+, Z^0 -> squark squarkbar,
squark -> squark' W^+, H^0 -> squark squarkbar, squark -> squark' H^+,
chi -> q squarkbar, squark -> q chi, t -> stop chi,
gluino -> q squarkbar, squark -> q gluino, and t -> stop gluino.
The mass ratios r_1 = m_b / m_a and r_2 = m_c/m_a have been kept as
free parameters. When allowed, processes have been calculated for an
arbitrary mixture of ``parities'', i.e. without or with a gamma_5
factor, like in the vector/axial vector structure of gamma*/Z^0. All
the matrix elements are encoded in the new function
PYMAEL(NI,X1,X2,R1,R2,ALPHA).
In order to match to the singularity structure of the massive matrix
elements, the evolution variable Q^2 is changed from m^2 to
m^2 - m_{on-shell}^2, i.e. 1/Q^2 is the propagator of a
massive particle. Furthermore, the z variable of a branching needs
to be redefined, which is achieved by reducing the three-momenta
of the daughters in the rest frame of the mother. For the shower
history b -> b g this gives a differential probability
WPS_1(x_1,x_2) = alpha_s/2pi * C_F * dQ^2/Q^2 * 2dz/(1-z) * 1/dx_1 d x_2
= alpha_s/2pi * C_F * 2/(x_3 (1 + r_2^2 - r_1^2 - x_2))
where the numerator 1 + z^2 of the splitting kernel for q -> q g
has been replaced by a 2 in the shower algorithm. For a process with
only one radiating parton in the final state, such as t -> b W^+, the
ratio WME/WPS_1 gives the acceptance probability for an emission in
the shower. The singularity structure exactly agrees between ME and PS,
giving a well-behaved ratio always below unity. If both b and c can
radiate, there is a second possible shower history that has to be
considered. The matrix element is here split in two parts, one
arbitrarily associated with b -> b g branchings and the other with
c -> c g ones. A convenient choice is
WME_1 = WME (1 + r_1^2 - r_2^2 - x_1)/x_3 and
WME_2 = WME (1 + r_2^2 - r_1^2 - x_2)/x_3, which again gives
matching singularity structures in WME_i/WPS_i and thus a
well-behaved Monte Carlo procedure.
Also subsequent emissions of gluons off the primary particles are
corrected to WME. To this end, a reduced-energy system is constructed,
which retains the kinematics of the branching under consideration but
omits the gluons already emitted, so that an effective three-body shower
state can be mapped to an (x_1, x_2, r_1, r_2) set of variables. For
light quarks this procedure is almost equivalent with the original one
of using the simple universal splitting kernels after the first
branching. For heavy quarks it offers an improved modelling of mass
effects also in the collinear region.
Furthermore and somewhat separately, the description of g -> q qbar
branchings has been expanded with several new options, in order to
explore a larger range of uncertainty in predictions.
- FUNCTION PYMAEL(NI,X1,X2,R1,R2,ALPHA)
Purpose: Returns the ratio
1/sigma(a -> b c) * dsigma(a -> b c g)/dx_1 d x_2 *
(alpha_s/2pi * C_F)^-1
i.e. the differential rate of gluon emission normalized to the
lowest order expression without gluon emission, and omitting
some simple factors, where the running of alpha_s probably
is done better in shower language anyway.
NI : code of the matrix element to be used, see
E. Norrbin and T. Sjostrand, in preparation, Table 1.
X1, X2 : standard energy fractions of the two daughters.
R1, R2 : mass of the two daughters normalized to the mother mass.
ALPHA: fraction of the no-gamma_5 (i.e. vector/scalar/...) part of
the cross section; a free parameter for some matrix element
options.
- MSTJ(42) : (D=2) coherence level in shower.
= 3 : in a branching a -> b g, where m_b is nonvanishing,
the decay angle is reduced by a factor
1 + (m_b^2/m_a^2) (1-z)/z, thereby taking into account
mass effects in the decay. Therefore more branchings are
acceptable from an angular ordering point of view.
In the definition of the angle in a g -> q qbar
branchings, the naive massless expression is reduced by a
factor sqrt(1 - 4 m_q^2/m_g^2), which can be motivated
by a corresponding actual reduction in the p_T by mass
effects. The requirement of angular ordering then kills
fewer potential g -> q qbar branchings, i.e. the rate of
such comes up. The g -> g g branchings are not changed
from =2. This option is fully within the range of
uncertainty that exists.
= 4 : as = 3 for a -> b g and g -> g g branchings, but
no angular ordering requirement conditions at all are
imposed on g -> q qbar branchings. This is an
unrealistic extreme, and results obtained with it should
not be overstressed. However, for some studies it is of
interest. For instance, it not only gives a much higher
rate of charm and bottom production in showers, but also
affects the kinematical distributions of such pairs.
= 5 : new "intermediate" coherence level, where the consecutive
gluon emissions off the original pair of branching
partons is not contrained by angular ordering at all.
The subsequent showering of such a gluon is angular
ordered, however, starting from its production angle.
At LEP energies, this gives almost no change in the
total parton multiplicity, but this multiplicity now
increases somewhat faster with energy than before, in
better agreement with analytical formulae. (It has been
pointed out that the PYSHOW algorithm overconstrains
the shower by ordering emissions in mass and then vetoing
increasing angles. This is a first simple attempt to redress
the issue.) Other branchings as in = 2.
= 6 : "intermediate" coherence level as =5 for primary partons,
unchanged for g -> g g and reduced angle for g -> q qbar
and secondary q -> q g as in =3.
= 7 : "intermediate" coherence level as =5 for primary partons,
unchanged for g -> g g, reduced angle for secondary q -> q g
as in =3 and no angular ordering for g -> q qbar as in =4.
- MSTJ(44) (D=2) alpha-strong argument in shower.
= 3 : While pT^2 is used as alpha_strong argument in q -> q g
and g -> gg branchings, as in =2, instead m^2/4 is used as
argument for g -> q qbar ones. The argument is that the
soft-gluon resummation results suggesting the pT^2 scale
in the former processes is not valid for the latter one,
so that any multiple of the mass of the branching parton
is a perfectly valid alternative. The m^2/4 ones then gives
continuity with pT^2 for z=1/2. Furthermore, with this
choice,it is no longer necessary to have the requirement
of a minimum pT in branchings, else required in order to
avoid having alpha_strong blow up. Therefore, in this option,
that cut has been removed for g -> gg branchings.
Specifically, when combined with MSTJ(42)=4, it is possible
to reproduce the naive 1 + cos^2(theta) angular distribution
of g -> gg branchings, which is not possible in any other
approach. (However, as noted above, it may give too high
a charm and bottom production rate in showers.)
= 4 : pT^2 as in =2, but scaled down by a factor
(1 - m_b^2/m_a^2)^2 for a branching a -> b g with
b massive, in an attempt better to take into account the
mass effect on kinematics.
= 5 : as for =4 for q -> q g, unchanged for g -> g g and
as =3 for g -> q qbar.
- MSTJ(47) : (D=3) matrix-element-motivated corrections to the shower
emission rate in generic processes of the type a -> b c g.
= 0 : no corrections.
= 1 - 5 : yes; try to match to the most relevant matrix element
and default back to an assumed source (e.g. a vector for
a q qbar pair) if the correct mother particle cannot be found.
= 6 - : yes, match to the specific matrix element code
NI = MSTJ(47) of the PYMAEL function.
Warning: since a process may contain sequential decays involving
several different kinds of matrix elements, it may be
dangerous to fix MSTJ(47) to a specialized value >5;
see MSTJ(38).
- MSTJ(38) : matrix element code NI for PYMAEL; as in MSTJ(47).
If nonzero, the MSTJ(38) value overrides MSTJ(47), but is
then set =0 in the PYSHOW call. The usefulness of this switch
lies in processes where sequential decays occur and thus
there are several showers, each requiring its matrix element.
Therefore MSTJ(38) can be set in the calling routine when
it is known, and when not set one defaults back to the
attempted matching procedure of MSTJ(47)=3 (e.g.).
- PARJ(80) : alpha value for the PYMAEL routine, to be used
when MSTJ(38) is nonvanishing.
* PYSSPA is improved by new scheme for merging matrix-element and
parton-shower descriptions of initial-state radiation in the
production of a single gauge-boson resonance, i.e. Z/gamma*, W,
Z', W' and R. Also for other processes the possibility of changing
the maximal scale of shower radiation is introduced, although here
without the complete matrix-element correction machinery. The scheme
is based on the study by
G. Miu and T. Sjostrand, LU TP 98-30 and hep-ph/9812455;
see also G. Miu, LU TP 98-9, hep-ph/9804317.
As a consequence, the MSTP(68) variable takes on a new meaning.
MSTP(68) : (D=1) choice of maximum virtuality scale and matrix-element
matching scheme for initial-state radiation.
= 0 : maximum shower virtuality is the same as the Q2 choice for
the parton distributions, see MSTP(32). (Except that the
multiplicative extra factor PARP(34) is absent and instead
PARP(67) can be used for this purpose. No matrix-element
correction.
= 1 : as =0 for most processes, but new scheme for processes 1, 2,
141, 142 and 144, i.e. single s-channel colourless gauge boson
production: gamma*/Z0, W+-, Z', W'+- and R. Here the maximum
scale of shower evolution is s, the total squared energy.
The nearest branching on either side of the hard scattering,
of the types q -> q + g, f -> f + gamma, g -> q + qbar or
gamma -> f + fbar, are corrected by the ratio of the
first-order matrix-element weight to the parton-shower one,
so as to obtain an improved description. See the references
above for a detailed description. Note that the improvements
apply both for incoming hadron and lepton beams.
= 2 : the maximum scale for initial-state shower evolution is always
selected to be s, except for the 2 -> 2 QCD processes 11, 12,
13, 28, 53 and 68. Based on the experience in the references
above, there is reason to assume that this does give an
improved qualitative description of the high-pT tail, although
the quantitative agreement is currently beyond our control.
No matrix-element corrections, even for the processes in =1.
The QCD exception is to avoid the doublecounting issues that
could easily arise here.
= -1 : as =0, except that there is no requirement on uhat being
negative, see point 2 below.
Note that the default behaviour of PYSSPA is changed, in several
respects.
1) For the processes listed in MSTP(68)=1, as a consequence of the new
default MSP(68) value (the old one was =0). This clearly is very
important for the high-pT tail and hence implies a significant
improvement here.
2) A new cut is imposed on the combination of z and Q2 values
in a branching,
uhat = Q2 - shat_old * (1-z)/z = Q2 - shat_new * (1-z) < 0,
where the association with the uhat variable is relevant if the branching
is reinterpreted in terms of a 2 -> 2 scattering. Usually such a
requirement comes out of the kinematics, and therefore is imposed
eventually anyway. The corner of emissions that do not respect this
requirement is that where the Q2 value of the spacelike emitting
parton is little changed and the z value of the branching is close
to unity. (That is, such branchings are kinematically allowed, but
since the mapping to matrix-element variables would assume the first
parton to have Q2=0, this mapping gives an unphysical uhat, and hence
no possibility to impose a matrix-element correction factor.) The
correct behaviour in this region is beyond leading-log preditivity.
It is mainly important for the hardest emission, i.e. with largest Q2.
The effect of this change is to reduce the total amount of emission
by a non-negligible amount when no matrix-element correction is applied.
(Witness results with the special option MSTP(68)=-1.) For matrix-element
corrections to be applied, this requirement must be used for the hardest
branching, and then whether it is used or not for the softer ones is
less relevant.
3) The PARP(65) parameter for minimum gluon energy emitted in a
spacelike showers is modified by an extra factor roughly corresponding
to the 1/gamma factor for the boost to the hard subprocess frame.
Earlier, when a subsystem was strongly boosted, i.e. at large rapidities
in the cm frame of the collision, the PARP(65) requirement became quite
stringent on the low-energy incoming side. Therefore much radiation
could be cut out. Since this point gives changes of opposite sign to
point 2, the net result of both changes gives a small net result.
4) The angular-ordering requirement is based on ordering p_T/p rather
than p_T/p_L, i.e. replacing tan(theta) by sin(theta). Earlier the
starting value tan(theta)_max = 10 could actually be violated by some
bona fide emissions for strongly boosted subsystems, where one side has
small p_L. Therefore some emissions were incorrectly removed when
MSTP(62)=3, i.e. default.
5) For incoming muon (and tau) beams the kinematical variables are
better selected to represent the differences in lepton mass.
* PARP(67): (D=1) new default value to better represent matching between
hard-process scale and initial-statee-radiation scale in QCD processes.
* New variable MSTP(69), replacing some of the functionality previously
provided by MSTP(68) but removed with the change in PYSSPA with
Pythia 6.119:
MSTP(69) (D=0) possibility to change Q2 scale for parton distributions
from the MSTP(32) choice, especially for e+e-.
= 0 : use MSTP(32) scale.
= 1 : in lepton-lepton collisions, the QED lepton-inside-lepton
parton distributions are evaluated with s, the full squared CM
energy, as scale.
= 2 : s is used as parton distribution scale also in other
processes.
-----------------------------------------------------------------------
UNDERLYING EVENTS
* The assumption of a (more or less) energy-independent pTmin or pT0
lower cut-off of jet production in multiple interactions was developed
in the days when parton distributions were normally assumed flat at
small x (i.e. x*f_i(x,Q2) -> constant for x -> 0 at small Q2). In view
of the HERA data this is no longer a valid assumption, and parton
distributions have evolved to reflect this. The consequence is that
the jet rate above some fixed small pTmin is increasing much faster
than originally assumed. If unchecked, it leads to a much too fast
increase in the multiple interaction rate, based on comparisons with
data or with physics intuition. While we have no understanding of the
detailed physics mechanisms, it appears sensible to introduce an
explicit energy-dependence of pTmin and pT0 that closely matches
this small-x dependence or, alternatively, the increase of the total
cross section by the Pomeron term. Therefore the form used internally
is now
pTmin = PARP(81) * (ECM/PARP(89))**PARP(90), alternatively
pT0 = PARP(82) * (ECM/PARP(89))**PARP(90),
with ECM the current center of mass energy. Two new parameters are
introduced, PARP(89) and PARP(90), and the default values of PARP(81)
and PARP(82) are changed.
PARP(81) : (D=1.9 GeV) effective mimimum transverse momentum pTmin
for multiple interactions with MSTP(82) = 1, at the reference
energy scale PARP(89), with the degree of energy rescaling
given by PARP(90).
PARP(82) : (D=2.1 GeV) regularization scale pT0 of the transverse
momentum spectrum for multiple interactions with MSTP(82) >= 2,
at the reference energy scale PARP(89), with the degree of energy
rescaling given by PARP(90). (Current default based on MSTP(82)=4
option, without any change of MSTP(2) or MSTP(33).)
PARP(89) : (D=1000 GeV) reference energy scale, at which PARP(81) and
PARP(82) give the pTmin and pT0 values directly. Has no physical
meaning in itself, but is used for convenience only. (A form
pTmin = PARP(81) * ECM**PARP(90) would have been equally possible,
but then with a less transparent meaning of PARP(81).) For studies
of the pTmin dependence at some specific energy it is convenient to
choose PARP(89) equal to this energy.
PARP(90) : (D=0.16) power of the energy-rescaling term of the pTmin and
pT0 parameters, which are assumed proportional to ECM**PARP(90).
The default value is inspired by the rise of the total cross
section by the Pomeron term, s**epsilon = ECM**(2*epsilon) =
ECM**(2*0.08), which is not inconsistent with the small-x behaviour.
It is also reasonably consistent with the energy-dependence
implied with a comparison with the UA5 multiplicity distributions
at 200 and 900 GeV. PARP(90) = 0 is an allowed value, i.e. it is
possible to have energy-independent parameters.
-----------------------------------------------------------------------
HADRONIZATION
* Additions and changes to the baryon production models:
see separate section below.
* The possibility of colour rearrangement has been introduced for
subprocess 25, W+W- pair production.
- For a description of the basic physics ideas and the scenarios
implemented, see
T. Sjostrand and V.A. Khoze, Z. Phys. C62 (1994) 281.
Available is also an alternative (the GH one) loosely based on
G. Gustafson and J. Hakkinen, Z. Phys. C64 (1994) 659.
- Only events where both W's decay hadronically (and not to top)
are affected. At most one reconnection is allowed per event.
- The code is based on the one available since long for
the PYTHIA 5.7 program as a freestanding extension. The former
version provided further information on where in an event a
reconnection occurs, but was less well integrated in the PYTHIA
framework than is the current implementation.
- A new subroutine
SUBROUTINE PYRECO(IW1,IW2,NSD1,NAFT1)
has been added with the different scenarios. It is called from
PYRESD where appropriate.
- MSTP(115) : (D=0) (C) choice of colour rearrangement scenario.
= 0 : no reconnection.
= 1 : scenario I, reconnection inspired by a type I
superconductor, with the reconnection probability related
to overlap volume in space and time between the W+ and W-
strings. Related parameters are found in PARP(115) -
PARP(119), with PARP(117) of special interest.
= 2 : scenario II, reconnection inspired by a type II
superconductor, with reconnection possible when two string
cores cross. Related parameter in PARP(115).
= 3 : scenario II', as model II but with the additional
requirement that a reconnection will only occur if the
total string length is reduced by it.
= 5 : the GH scenario, where the reconnection can occur that
reduces the total string length (Lambda measure) most.
PARP(120) gives the fraction of such event where a
reconnection is actually made; since almost all events
could allow a reconnection that would reduce the string
length, PARP(120) is almost the same as the reconnection
probability.
= 11 : the intermediate scenario, where a reconnection is
made at the "origin" of events, based on the subdivision
of all radiation of a q-qbar system as coming either from
the q or the qbar. PARP(120) gives the assumed probability
that a reconnection will occur. A somewhat simpleminded
model, but not quite unrealistic.
= 12 : the instantaneous scenario, where a reconnection is
allowed to occur before the parton showers, and showering
is performed inside the reconnected systems with maximum
virtuality set by the mass of the reconnected systems.
PARP(120) gives the assumed probability that a reconnection
will occur. Is completely unrealistic, but useful as an
extreme example with very large effects.
- PARP(115) : (D=1.5 fm) (C) the average fragmentation time of a
string, giving the exponential suppression that a reconnection
cannot occur if strings decayed before crossing. Is implicitly
fixed by the string constant and the fragmentation function
parameters, and so a significant change is not recommended.
- PARP(116) : (D=0.5 fm) (C) width of the type I string, giving the
radius of the Gaussian distribution in x and y separately.
- PARP(117) : (D=0.6) (C) k_I, the main free parameter in the
reconnection probability for scenario I; the probability is
given by PARP(117) times the overlap volume, up to saturation
effects.
- PARP(118), PARP(119) : (D=2.5,2.0) (C) f_r and f_t, respectively,
used in the Monte Carlo sampling of the phase space volume
in scenario I. There is no real reason to change these numbers.
- PARP(120) : (D=1.0) (D) (C) fraction of events in the GH, intermediate
and instantaneous scenarios where a reconnection is allowed to
occur. For the GH one a further suppression of the reconnection
rate occurs from the requirement of reduced string length in a
reconnection.
- MSTI(32) : information on whether a reconnection occured in the
current event; is 0 normally but 1 in case of reconnection.
- MINT(32) : information on whether a reconnection occured in the
current event; is 0 normally but 1 in case of reconnection.
* The Bose-Einstein description is expanded with several new options.
The earlier global method to ensure energy conservation
(MSTJ(54)=0) has been replaced by a local one, i.e. the default
behaviour haschanged.
- For a description of the basic physics ideas and the scenarios
implemented, see
L. Lonnblad and T. Sjostrand, Eur. Phys. J. C2 (1998) 165.
- Some new switches and parameters have been added.
- MSTJ(53) (D=0) In e+e- -> W+W-, apply BE algorithm
= 0 : on all pion pairs.
= 1 : only on pairs were both pions come from the same W.
= 2 : only on pairs were the pions come from different Ws.
= -1 : on all pairs except unequal pions coming from
different Ws.
= -2 : when calculating balancing shifts for pions from same W,
only consider pairs from this W.
- MSTJ(54) (D=2) Alternative local energy compensation. (Notation
in brackets refer to the one used in the above paper.)
= 0 : global energy compensation (BE_0).
= 1 : compensate with identical pairs by negative BE
enhancement with a third of the radius (BE_3).
= 2 : ditto, but with the compensation constrained to vanish
at Q=0, by an addional 1-exp(-Q2*R2/4) factor (BE_32).
= -1 : compensate with pair giving the smallest invariant mass
(BE_m).
= -2 : compansate with pair giving the smallest string length
(BE_lambda).
- MSTJ(55) (D=0) Calculation of difference vector.
= 0 : in the lab frame.
= 1 : in the CMS of the given pair.
- MSTJ(56) (D=0) In e+e- -> W+W-, include distance between W's.
= 0 : radius is the same for all pairs.
= 1 : radius for pairs from different W's is R+deltaR_WW.
(When considering W pairs with an energy well above threshold,
this should give more realistic results.)
- MSTJ(57) (D=1) Penalty for shifting particles with close-by
identical neighbors in local energy compensation, MSTJ(54) < 0.
= 0 : no penalty.
= 1 : penalty.
- PARJ(95) :(R) Set to the energy imbalance after the BE algorithm,
before rescaling of momenta.
- PARJ(96) : (R) Set to the alpha needed to retain energy-momentum
conservation in each event for relevant models.
* Particle data has in part been updated to the PDG 1996 edition
(Particle Data Group, R.M. Barnett et al.,Phys. Rev. D54 (1996) 1.
Not yet updated are the weakly decaying charm and bottom hadron
branching ratios - here new information is added continuously, but
still without a coherent picture. (In the PDG attempts at constrained
fits, i.e. the numbers relevent for generators, 24% of D0 decays
are left unexplained, 36% of D+, 82% of D_s, 93% of Lambda_c,
and no attempt at all is made in the bottom sector.)
* A new decay channel may be selected in PYDECY after 200 failures.
-----------------------------------------------------------------------
BARYON PRODUCTION MODELS
* New advanced scheme for baryon production with the popcorn mechanism,
plus some minor changes in the default older popcorn scheme.
- New code written by Patrik Eden, patrik@thep.lu.se.
- For a description of the new popcorn scheme, see
P. Eden and G. Gustafson, Z. Phys. C75 (1997) 41.
* The default baryon production option, MSTJ(12)=2, is not changed in
any significant way. Advance warning is given, however, that the
default may be changed in future versions, at least to MSTJ(12)=3
and possibly to MSTJ(12)=5.
* Three new features for the baryon production are introduced.
- Improved treatment of SU(6) symmetry requirements.
+ If q -> B + (qq)bar is SU(6)-rejected it may now change to
q -> M + q'.
+ If qq -> M + qq', SU(6) symmetry is included in the weights for qq';
qq is kept with unit probability.
+ As before, qq is kept and only q is reselected when qq -> B + qbar
is SU(6)-rejected.
+ As before, the joining qq + q -> B (when joining the two string
sides) suffers no SU(6) suppression.
The arguments for this procedure are presented below. It should not
be regarded as a new model, rather a more correct implementation of
the old. However, in order to enable the user to see the effects of
the SU(6) weighting separately, both procedures are available as
different options.
- Suppression of diquark vertices with small Gamma values. This is
based on a study of the production dynamics of the three quarks that
form a baryon. The main experimental consequence is a suppression
of the baryon production rate at large momentum fraction.
- New flavour algorithm for baryons and popcorn (also using the
small-Gamma suppression). While the old popcorn alternative allowed
at most one meson to be produced in between the baryon and the
antibaryon, the new model allows an arbitrary number. The new
flavour model makes explicit use of the popcorn suppression
exp(-2*m_T*M_T/k), where m_T is the transverse mass of the quark
creating the colour fluctuation, M_T is the total invariant
transverse mass of the popcorn meson system, and k is the string
tension constant. Thus two parameters, representing the mean
2*m_T/k for light quarks and s-quarks, respectively, governs both
diquark and popcorn meson production. A corresponding parameter is
introduced for the fragmentation of strings that contain diquarks
already from the beginning, i.e. baryon remnants.
* The arguments for the the new flavour SU(6) rules are as follows.
- In case of rejection due to SU(6) when q -> B + (qq)bar, one again
chooses between a diquark or a quark. If choosing diquark, a new one
is selected and tested, etc. In earlier versions of JETSET and PYTHIA,
the algorithm was instead to always produce a new diquark if the
previous one had been rejected. This leads to a slightly faster
algorithm and a better interpretation of the input parameter for the
diquark-to-quark production rate. However, the probability that a
quark will produce a baryon and a antidiquark is then flavour
independent, which is not in agreement with the model. With
JETSET 7.4 default values, this leads e.g. to an enhancement of the
Omega- relative to primary proton production with approximately a
factor 1.2.
- When selecting flavours according to the popcorn model for
qq -> M + qq', the quark coming from the accepted qq is kept, and the
other member of qq', as well as the spin of qq', is chosen with weights
taking SU(6) symmetry into account. Thus the flavour of qq is not
influenced by SU(6) factors for qq', but the popcorn meson is.
- When a diquark has been fitted into a symmetrical three-particle
state, it should not suffer any further SU(6) suppressions. Thus the
accompanying antidiquark should "survive" with unit probability. When
producing a quark to go with a previously produced diquark, this is
achieved by testing the configuration against the proper SU(6) factor,
and in case of rejection keep the diquark and pick a new quark, which
then is tested, etc.
- There is no obvious corresponding algorithm available when a quark
from one side and a diquark from the other are joined to form the
last hadron of the string. In this case the quark is a member of a
pair, in which the antiquark already has formed a specific hadron.
Thus the quark flavour cannot be reselected. One could consider the
SU(6) rejection as a major joining failure, and restart the
fragmentation of the original string, but then the the already accepted
diquark DOES suffer extra SU(6) suppression. In the program the joining
of a quark and a diquark is always accepted.
* While the default behaviour of the older diquark and popcorn
scenarios is essentially unchanged, the new implementation of baryon
production does imply some minor differences also here.
- The "brute force" suppression of rank 1 baryons by a paramter PARJ(19),
is no longer a special option (previously MSTJ(12)=3). For backward
compatibility, it is however not removed. Instead it is in fact always
on, but is effectively off by keeping PARJ(19)=1, its default value.
- New, but fairly equivalent treatment of baryon production in closed
strings. (Calling the probability for diquark production x, the
probability for baryon production is changed from x at 1st vertex
and (1-x)x at 2nd, to 0 at 1st and x+(1-x)x at 2nd.)
- New treatment of random flavour selection - the 'rndmflav' decay
product - in hadron decays. If the production of daughters fails,
a new rndmflav is now selected. Previously the same one was used
until successful. (This is changed for the following reason: if
rndmflav is a diquark, at least one BB~ pair is produced, which
makes it more difficult to fulfill energy conservation, especially
if the decaying hadron is light.)
- New treatment of a low-mass closed string = cluster -> 2 hadrons.
(If splitting the cluster by a diquark, the old model approximation
of only one popcorn meson means that only one member of the
diquark-antidiquark pair should be allowed to split to a popcorn
meson. This is accounted for when splitting larger closed strings
in PYSTRF, and when selecting rndmflav's in PYDECY. However,
it was previously not done in PYPREP.)
* How to use the baryon production options.
- Use of the old diquark and popcorn models, MSTJ(12) = 1 and 2, is
essentially unchanged. Note, however, that PARJ(19) is available
for an ad-hoc suppression of first-rank baryon production.
- Use of the old popcorn model with new SU(6) weighting:
+ Set MSTJ(12)=3.
+ Increase PARJ(1) by approximately a factor 1.2 to retain about the
same effective baryon production rate as in MSTJ(12)=2.
+ Note: the new SU(6) weighting e.g. implies that the total
production rate of charm and bottom baryons is reduced.
- Use of the old flavour model with new SU(6) treatment and modified
fragmentation function for diquark vertices (which softens baryon
spectra):
+ Set MSTJ(12)=4.
+ Increase PARJ(1) by about a factor 1.7 and PARJ(5) by about a
factor 1.2 to restore the baryon and popcorn rates of the
MSTJ(12)=2 default.
- Use of the new flavour model (automatically with modified diquark
fragmentation function.)
+ Set MSTJ(12)=5.
+ Increase PARJ(1) by approximately a factor 2.
+ Change PARJ(18) from 1 to approx. 0.19.
+ Instead of PARJ(3-7), tune PARJ(8-10,18). (Here PARJ(10) is used
only in collisions having remnants of baryon beam particles.)
+ Note: the proposed parameter values are based on a global fit to
all baryon production rates. This e.g. means that the proton rate
is lower than in the MSTJ(12)=2 option, with current data
somewhere in between. The PARJ(1) value would have to be about
3 times higher in MSTJ(12)=5 than in =2 to have the same total
baryon production rate (=proton+neutron), but then other baryon
rates would not match at all.
- The new options MSTJ(12)=4 and =5 (and, to some extent, =3) soften
baryon spectra in such a way that PARJ(45) (delta-a for diquarks in
the Lund symmetric fragmentation function) is available for a retune.
It affects i.e. baryon-antibaryon rapidity correlations and the
baryon excess over antibaryons in quark jets.
* Changes in and additions to the commonblocks.
MSTU(121-125) : Internal flags and counters; only MSTU(123) may be
touched by user.
MSTU(121) : Popcorn meson counter.
MSTU(122) : Points at the proper diquark production weights, to
distinguish between ordinary popcorn and rank 0 diquark
systems. Only needed if MSTJ(12)=5.
MSTU(123) : Initalization flag. If MSTU(123) is 0 in a PYKFDI call,
PYKFIN is called and MSTU(123) set to 1. Would need to be
reset by the user if flavour parameters are changed in the
middle of a run.
MSTU(124) : First parton flavour in decay call, stored to easily
find random flavour partner in a popcorn system.
MSTU(125) : Maximum number of popcorn mesons allowed in decay flavour
generation. If a larger popcorn system passes the fake string
suppressions, the error KF=0 is returned and the flavour
generation for the decay is restarted.
MSTU(131-140) : Store of popcorn meson flavour codes in decay algorithm.
Purely internal.
MSTJ(12) : (D=2) Main switch for choice of baryon production model.
Suppression of rank 1 baryons by a parameter PARJ(19) is no longer
governed by the MSTJ(12) switch, but instead turned on by setting
PARJ(19)<1.
Three new options are available:
= 3 : as =2, but with improved SU(6) treatment.
= 4 : as =3, but also suppressing diquark vertices with low Gamma
values.
= 5 : Revised popcorn model. Independent of PARJ(3-7). Depending
on PARJ(8-10). Including the same kind of suppression as =4.
PARJ(8), PARJ(9) : (D=0.6,1.2 GeV^-1) The new popcorn parameters B_u
and dB = B_s - B_u. Used to suppress popcorn mesons of total
invariant mass M_T by exp(-B_q*M_T).
PARJ(10) : (D=0.6 GeV^-1) Corresponding parameter for suppression of
leading rank mesons of transverse mass M_T in the fragmentation of
diquark jets.
PARF(131-187) : Different diquark and popcorn weights, calculated in
PYKFIN.
PARF(191) : (D=0.2 GeV) Non-constituent mass of ud_0 diquark, which has
a slight influence on the weights in the new algorithm.
PARF(192) : (D=0.5) Gamma suppression parameter. The suppression factor
is 1 - PARF(192)**Gamma, with Gamma in GeV^2.
PARF(193,194) : Store of some parameters used by the present popcorn
system.
PARF(201-1400) : Weights for every possible popcorn meson construction
in the MSTJ(12)=5 option. Thus MSTJ(12)=5 is forbidden to be
combined with MSTJ(15)=1.
* In summary, all commonblock variables are completely internal, except
MSTU(123), MSTJ(12), PARJ(8-10) and PARF(191-192).
- PARF(191-192) should not need to be changed.
- MSTU(123) should be 0 when starting, and reset to 0 whenever changing
a switch or parameter which influences flavour weights.
- With MSTJ(12)=4, PARJ(5) may need to increase.
- With MSTJ(12)=5, a preliminary tune suggests
PARJ(8,9,10) = 0.6, 1.2, 0.6, PARJ(1)=0.20 and PARJ(18)=0.19.
* Three new subroutines are added, but are only needed for internal use.
SUBROUTINE PYKFIN : Precalculates a set of diquark and popcorn weights.
Called by PYKFDI if MSTU(123)=0. Sets MSTU(123) to 1.
SUBROUTINE PYNMES(KFDIQ) : If KFDIQ=0, it generates the number of
popcorn mesons and stores some relevant parameters. If KFDIQ not 0
it generates number of leading rank mesons in the fragmentation of
a diquark string with original diquark KFDIQ. Called by PYKFDI.
SUBROUTINE PYDCYK(KFL1,KFL2,KFL3,KF) : Handles flavour production in
the decay of unstable particles and small string clusters. Is
essentially the same as PYKFDI, but takes into acount the effects
of string dynamics on flavour selection in the MSTJ(12)>3 options.
KFL1,KFL2,KFL3 and KF are the same as for PYKFDI. Called by PYDECY
and PYPREP.
* The complete list of subprogram changes is as follows.
PYCOMP : Taking internal popcorn flags on diquarks into account.
PYDECY, PYMASS : No longer checking diquarks for popcorn flags
before calling PYCOMP.
PYKFDI : Quite differently formulated, but equivalent algorithm
introduced. Improved treatment of SU(6) symmetry requirements.
New flavour algorithm, based on advanced popcorn model.
PYNMES : New function. Selects number of popcorns mesons in a
popcorn system. (Also used in the reformulated algorithm of
the old model, when it always returns 0 or 1 popcorn meson.)
PYKFIN : New subroutine. Precalculates a large set of flavour
production weights from the input parameters.
PYSTRF : The rank 1 baryon suppression no longer depends on any switch,
but merely on the suppression parameter. Default is no suppression.
New option, suppressing diquark vertices at small Gamma,
introduced. New (but corresponding) treatment of baryon production
at first and second vertex of closed string. Suppression factors of
popcorn meson system due to its transverse mass in new flavour
algorithm introduced. Junction strings forbidden to be combined
with new popcorn options.
PYINDF : The rank 1 baryon suppression no longer depends on any switch,
but merely on the suppression parameter. Default is no suppression.
Warning message if trying to combine with new popcorn options.
(No new options implemented.)
PYDCYK : New subroutine, handles flavour selection in new popcorn model
for the case of cluster and hadron decays, where no dynamical
string variables are present. Generalized to take care of old
flavour models as well.
PYDECY : Uses PYDCYK instead of PYKFDI to a large extent. Reselects
random flavour which failed.
PYPREP : Uses PYDCYK instead of PYKFDI in cluster decays. This implies
a better treatment of closed string clusters, where previously both
a random flavour diquark and its antidiquark partner was tested for
popcorn.
PYDATA : PARJ(8-10) given default values for new flavour algorithm.
Old model kept as default in MSTJ(12), PARJ(1) and PARJ(18).
PARF(131-194,201-1400) and MSTU(121-140) used internally.
* Internally the diquark codes have been extended to store the necessary
further popcorn information. As before, an initially existing diquark
has a code of the type 1000*q_a + 100*q_b + 2s+1, where q_a > q_b.
Diquarks created in the fragmentation process now have the longer code
10000*q_c + 1000*q_a + 100*q_b + 2s+1, i.e. one further digit is set.
Here q_c is the curtain quark, i.e. the flavour of the quark-antiquark
pair that is shared between the baryon and the antibaryon, either
q_a or q_b. The non-curtain quark, the other of q_a and q_b, may have
its antiquark partner in a popcorn meson. In case there are no popcorn
mesons this information is not needed, but is still set at random to be
either of q_a and q_b. The extended code is used internally in PYSTRF
and PYDECY and in some routines called by them, but is not visible in
any event listings.
-----------------------------------------------------------------------
INTERFACES TO OTHER GENERATORS
* In e+e- annihilation events, a convenient classification of electroweak
physics is by the number of fermions in the final state. Two fermions
from Z0 decay is LEP1 physics, four fermions can come e.g. from W+W-
or Z0Z0 events at LEP2, and at higher energies six fermions are produced
by three-gauge-boson production or top-antitop. Often interference terms
are non-negligible, requiring much more complex matrix-element expressions
than are normally provided in PYTHIA. Dedicated electroweak generators
often exist, however, and the task is therefore to interface them to
the generic parton showering and hadronization machinery available in
PYTHIA. In the LEP2 workshop (I.G. Knowles et al., in Physics at LEP2,
CERN 96-01, eds. G.Altarelli, T. Sjostrand and F. Zwirner, p. 103) one
possible strategy was outline to allow reasonably standardized
interfaces between the electroweak and the QCD generators. The LU4FRM
routine was provided for the key four-fermion case. This routine is now
included here, in slightly modified form, together with two new siblings
for two and six fermions. The former is trivial and included mainly for
completeness, while the latter is rather more delicate.
- CALL PY2FRM(IRAD,ITAU,ICOM)
Purpose: to allow a parton shower to develop and partons to hadronize
from a two-fermion starting point. The initial list is supposed to
be ordered such that the fermion precedes the antifermion. In
addition, an arbitrary number of photons may be included, e.g. from
initial-state radiation; these will not be affected by the operation
and can be put anywhere. The scale for QCD (and QED) radiation is
automatically set to be the mass of the fermion-antifermion pair.
(It is thus not suited for Bhabha scattering.)
IRAD : final-state QED radiation.
= 0 : no final-state photon radiation, only QCD showers.
= 1 : photon radiation inside each final fermion pair, also leptons,
in addition to the QCD one for quarks.
ITAU : handling of tau lepton decay (where PYTHIA does not include
spin effects, although some generators provide the helicity
information that would allow a more sophisticated modelling).
= 0 : taus are considered stable.
= 1 : taus are allowed to decay.
ICOM : place where information about the event (flavours, momenta etc.)
is stored at input and output.
= 0 : in the HEPEVT commonblock (meaning that information is
automatically translated to PYJETS before treatment and back
afterwards).
= 1 : in the PYJETS commonblock. All fermions and photons can e.g.
be given with status code K(I,1)=1, flavour code in K(I,2)
and five-momentum (momentum, energy, mass) in P(I,J). The
V vector and remaining components in the K one are best put
to zero. Also remember to set the total number of entries N.
- CALL PY4FRM(ATOTSQ,A1SQ,A2SQ,ISTRAT,IRAD,ITAU,ICOM)
Purpose: to allow a parton shower to develop and partons to hadronize
from a four-fermion starting point. The initial list of fermions
is supposed to be ordered in the sequence fermion (1) -
antifermion (2) - fermion (3) - antifermion (4). The flavour pairs
should be arranged so that, if possible, the first two could come
from a W+ and the second two from a W-; else each pair should have
flavours consistent with a Z0. In addition, an arbitrary number of
photons may be included, e.g. from initial-state radiation; these
will not be affected by the operation and can be put anywhere.
Since the colour flow need not be unique, three real and one
integer numbers are providing further input. Once the colour
pairing is determined, the scale for QCD (and QED) radiation is
automatically set to be the mass of the fermion-antifermion pair.
(This is the relevant choice for normal fermion pair production
from resonance decay, but is not suited e.g. for 2-gamma processes
dominated by small-t propagators.) The pairing is also meaningful
for QED radiation, in the sense that a four-lepton final state is
subdivided into two radiating subsystems in the same way. Only if
the event consists of one lepton pair and one quark pair is the
information superfluous.
ATOTSQ : total squared amplitude for the event, irrespective of
colour flow.
A1SQ : squared amplitude for the configuration with fermions 1 + 2 and
3 + 4 as the two colour singlets.
A2SQ : squared amplitude for the configuration with fermions 1 + 4 and
3 + 2 as the two colour singlets.
ISTRAT : the choice of strategy to select either of the two possible
colour configurations. Here 0 is supposed to represent a reasonable
compromize, while 1 and 2 are selected so as to give the largest
reasonable spread one could imagine.
= 0 : pick configurations according to relative probabilities
A1SQ : A2SQ.
= 1 : assign the interference contribution to maximize the 1 + 2
and 3 + 4 pairing of fermions.
= 2 : assign the interference contribution to maximize the 1 + 4
and 3 + 2 pairing of fermions.
IRAD : final-state QED radiation.
= 0 : no final-state photon radiation, only QCD showers.
= 1 : photon radiation inside each final fermion pair, also leptons,
in addition to the QCD one for quarks.
ITAU : handling of tau lepton decay (where PYTHIA does not include
spin effects, although some generators provide the helicity
information that would allow a more sophisticated modelling).
= 0 : taus are considered stable.
= 1 : taus are allowed to decay.
ICOM : place where information about the event (flavours, momenta etc.)
is stored at input and output.
= 0 : in the HEPEVT commonblock (meaning that information is
automatically translated to PYJETS before treatment and back
afterwards).
= 1 : in the PYJETS commonblock. All fermions and photons can e.g.
be given with status code K(I,1)=1, flavour code in K(I,2)
and five-momentum (momentum, energy, mass) in P(I,J). The
V vector and remaining components in the K one are best put
to zero. Also remember to set the total number of entries N.
- CALL PY6FRM(P12,P13,P21,P23,P31,P32,PTOP,IRAD,ITAU,ICOM)
Purpose: to allow a parton shower to develop and partons to hadronize
from a six-fermion starting point. The initial list of fermions is
supposed to be ordered in the sequence fermion (1) - antifermion (2) -
fermion (3) - antifermion (4) - fermion (5) - antifermion (6). The
flavour pairs should be arranged so that, if possible, the first two
could come from a Z0, the middle two from a W+ and the last two from
a W-; else each pair should have flavours consistent with a Z0.
Specifically, this means that in a t-tbar event, the t decay products
would be found in 1 (b) and 3 and 4 (from the W+ decay) and the tbar
ones in 2 (bbar) and 5 and 6 (from the W- decay). In addition, an
arbitrary number of photons may be included, e.g. from initial-state
radiation; these will not be affected by the operation and can be put
anywhere. Since the colour flow need not be unique, further input is
needed to specify this. The number of possible interference
contributions being much larger than for the four-fermion case, we
have not tried to implement different strategies. Instead six
probabilities may be input for the different pairings, that the user
e.g. could pick at the six possible squared amplitudes, or according
to some more complicated scheme for how to handle the interference
terms. The treatment of cascades must be quite different for top
events and the rest. For a normal three-boson event, each fermion
pair would form one radiating system, with scale set equal to the
fermion-antifermion invariant mass. (This is the relevant choice for
normal fermion pair production from resonance decay, but is not
suited e.g. for 2-gamma processes dominated by small-t propagators.)
In the top case, on the other hand, the b (bbar) would be radiating
with a recoil taken by the W+ (W-) in such a way that the t (tbar)
mass is preserved, while the W dipoles would radiate as normal.
Therefore the user need also supply a probability for the event to
be a top one, again e.g. based on some squared amplitude.
P12, P13, P21, P23, P31, P32 : relative probabilities for the six possible
pairings of fermions with antifermions. The first (second) digit tells
which antifermion the first (second) fermion is paired with, with the
third pairing given by elimination. Thus e.g. P23 means the first
fermion is paired with the second antifermion, the second fermion
with the third antifermion and the third fermion with the first
antifermion. Pairings are only possible between quarks and leptons
separately. The sum of probabilities for allowed pairings is
automatically normalized to unity.
PTOP : the probability that the configuration is a top one; a number
between 0 and one. In this case, it is important that the order
described above is respected, with the b and bbar coming first.
No colour ambiguity exists if the top interpretation is selected,
so then the P12 - P32 numbers are not used. (One could imagine
colour reconnection at later stages of the process, e.g. between
the two W's. However, we are then no longer speaking of ambiguities
related to the hard process itself but rather to the possibility of
subsquent reconnection, e.g. at the nonperturbative level. This is
an interesting topic in itself, but not the one addressed here,
where the colour assignment is used for the full cascade evolution.)
IRAD : final-state QED radiation.
= 0 : no final-state photon radiation, only QCD showers.
= 1 : photon radiation inside each final fermion pair, also leptons,
in addition to the QCD one for quarks.
ITAU : handling of tau lepton decay (where PYTHIA does not include
spin effects, although some generators provide the helicity
information that would allow a more sophisticated modelling).
= 0 : taus are considered stable.
= 1 : taus are allowed to decay.
ICOM : place where information about the event (flavours, momenta etc.)
is stored at input and output.
= 0 : in the HEPEVT commonblock (meaning that information is
automatically translated to PYJETS before treatment and back
afterwards).
= 1 : in the PYJETS commonblock. All fermions and photons can e.g.
be given with status code K(I,1)=1, flavour code in K(I,2)
and five-momentum (momentum, energy, mass) in P(I,J). The
V vector and remaining components in the K one are best put
to zero. Also remember to set the total number of entries N.
* The above routines are not set up to handle QCD four-jet events, i.e.
events of the types q qbar g g and q qbar q' qbar' (with q' qbar' coming
from a gluon branching). Such events are generated in normal parton
showers, but not necessarily at the right rate (a problem that may be
especially interesting for massive quarks like b). Therefore one would
like to start a QCD parton shower from a given four-parton configuration.
Already some time ago, a machinery was developed to handle this kind of
occurences, see J. Andre and T. Sjostrand, Phys. Rev. D57 (1998) 5767.
This approach has now been adapted to Pythia 6.1, in a somewhat modified
form. The main change is that, in the original work, the colour flow was
picked in a separate first step (not discussed in the publication, since
it is part of the standard Jetset 4-parton configuration machinery),
which reduces the number of allowed q qbar g g parton-shower histories.
In the current implementation, more geared towards completely external
generators, no colour flow assumptions are made, meaning a few more
possible shower histories to pick between. Another change is that mass
effects are better respected by the z definition. In its structure, the
new code is rather different from the original Jetset 7.4 based one.
The code contains one new user routime, PY4JET, two new auxiliary ones,
PY4JTW and PY4JTS, and significant additions to the PYSHOW showering
routine.
- CALL PY4JET(PMAX,IRAD,ICOM)
Purpose: to allow a parton shower to develop and partons to hadronize
from a q qbar g g or q qbar q' qbar' original configuration. The
partons should be ordered exactly as indicated above, with the
primary q qbar pair first and thereafter the two gluons or the
secondary q' qbar' pair. (Strictly speaking, the definition of
primary and secondary fermion pair is ambiguous. In practice,
however, differences in topological variables like the pair mass
should make it feasible to have some sensible criterion on an event
by event basis.) Within each pair, fermion should precede antifermion.
In addition, an arbitrary number of photons may be included, e.g. from
initial-state radiation; these will not be affected by the operation
and can be put anywhere. The program will select a possible
parton shower history from the given parton configuration, and then
continue the shower from there on. The history selected is displayed
in lines Nold+1 to Nold+6, where Nold is the N value before the
routine is called. Here the masses and energies of intermediate
partons are clearly displayed. The lines Nold+7 and Nold+8 contain
the equivalent on-mass-shell parton pair from which the shower is
started.
PMAX : the maximum mass scale (in GeV) from which the shower is started
in those branches that are not already fixed by the matrix-element
history. If PMAX is set zero (actually below PARJ(82), the shower
cutoff scale), the shower starting scale is instead set to be equal
to the smallest mass of the virtual partons in the reconstructed
shower history. A fixed PMAX can thus be used to obtain a reasonably
exclusive set of four-jet events (to that PMAX scale), with little
five-jet contamination, while the PMAX=0 option gives a more
inclusive interpretation, with five- or more-jet events possible.
Note that the shower is based on evolution in mass, meaning the cut
is really one of mass, not of pT, and that it may therefore be
advantageous to set up the matrix elements cuts accordingly if one
wishes to mix different event classes. This is not a requirement,
however.
IRAD : final-state QED radiation.
= 0 : no final-state photon radiation, only QCD showers.
= 1 : photon radiation is allowed in the QCD shower (but currently
a photon cannot be one of the four original partons).
ICOM : place where information about the event (flavours, momenta etc.)
is stored at input and output.
= 0 : in the HEPEVT commonblock (meaning that information is
automatically translated to PYJETS before treatment and back
afterwards).
= 1 : in the PYJETS commonblock. All fermions and photons can e.g.
be given with status code K(I,1)=1, flavour code in K(I,2)
and five-momentum (momentum, energy, mass) in P(I,J). The
V vector and remaining components in the K one are best put
to zero. Also remember to set the total number of entries N.
-----------------------------------------------------------------------
HISTOGRAMS
* The GBOOK package was written in 1979, at a time when HBOOK was not
available in Fortran 77. It has been used since as a small and simple
histogramming program. For this new version of PYTHIA the program has
been updated to run together with PYTHIA in double precision. Only the
one-dimensional histogram part has been retained, and subroutine names
have been changed to fit PYTHIA conventions. These modified routines
are now distributed together with PYTHIA. They would not be used for
final graphics, but may be handy for simple checks.
* Basic principles.
- There is a maximum of 1000 histograms at the disposal of the user,
numbered in the range 1 to 1000. Before a histogram can be filled,
space must be reserved (booked) for it, and histogram information
provided.
- Histogram contents are stored in a commonblock of dimension 20000,
in the order they are booked. Each booked histogram requires NX+28
numbers, where NX is the number of x bins and the 28 include limits,
under/overflow and the title. If you run out of space, the program
can be recompiled with larger dimensions.
- Histograms can be manipulated with a few routines.
- Histogram output is "line printer" style, i.e. no graphics.
* CALL PYBOOK(ID,TITLE,NX,XL,XU)
Purpose: to book a one-dimensional histogram.
ID : histogram number, integer between 1 and 1000.
TITLE : histogram title, at most 60 characters.
NX : number of bins (in x direction) in histogram, integer between
1 and 100.
XL, XU : lower and upper bound, respectively, on the x range
covered by the histogram.
* CALL PYFILL(ID,X,W)
Purpose: to fill a one-dimensional histogram.
ID : histogram number.
X : x coordinate of point.
W : weight to be added in this point.
* CALL PYFACT(ID,F)
Purpose: to rescale the contents of a histogram.
ID : histogram number.
F : rescaling factor, i.e. a factor that all bin contents (including
overflow etc.) are multiplied by.
Remark: a typical rescaling factor could be f =
1/(bin size * number of events) = NX/(XU-XL) * 1/(number of events).
* CALL PYOPER(ID1,OPER,ID2,ID3,F1,F2)
Purpose: this is a general purpose routine for editing one or several
histograms, which all are assumed to have the same number of
bins. Operations are carried out bin by bin, including overflow
bins etc.
OPER: gives the type of operation to be carried out, a one-character
string or a CHARACTER*1 variable.
= '+', '-', '*', '/': add, subract, multiply or divide the
contents in ID1 and ID2 and put the result in ID3. F1 and F2,
if not 1D0, give factors by which the ID1 and ID2 bin contents
are multiplied before the indicated operation. (Division with a
vanishing bin content will give 0.)
= 'A', 'S', 'L': for 'S' the square root of the content in ID1
is taken (result 0 for negative bin contents) and for 'L' the
10-logarithm is taken (a nonpositive bin content is before that
replaced by 0.8 times the smallest positive bin content).
Thereafter, in all three cases, the content is multiplied by F1
and added with F2, and the result is placed in ID3. Thus ID2
is dummy in these cases.
= 'M': intended for statistical analysis, bin-by-bin mean and
standard deviation of a variable, assuming that ID1 contains
accumulated weights, ID2 accumulated weight*variable and
ID3 accumulated weight*variable-squared. Afterwards ID2 will
contain the mean values (=ID2/ID1) and ID3 the standard
deviations (=sqrt(ID3/ID1-(ID2/ID1)**2)). In the end, F1
multiplies ID1 (for normalization purposes), while F2 is dummy.
ID1, ID2, ID3 : histogram numbers, used as described above.
F1, F2 : factors or offsets, used as described above.
* CALL PYHIST
Purpose: to print all histograms that have been filled, and
thereafter reset their bin contents to 0.
* CALL PYPLOT(ID)
Purpose: to print out a single histogram.
ID : histogram to be printed.
* CALL PYNULL(ID)
Purpose: to reset all bin contents, including overflow etc., to 0.
ID : histogram to be reset.
* CALL PYDUMP(MDUMP,LFN,NHI,IHI)
Purpose: to dump the contents of existing histograms on an external
file, from which they could be read in to another program.
MDUMP : the action to be taken.
= 1 : dump histograms, each with the first line giving histogram
number and title, the second the number of x bins and lower
and upper limit, the third the total number of entries and
under-, inside- and overflow, and subsequent ones the bin
contents grouped five per line. If NHI=0 all existing
histograms are dumped and IHI is dummy, else the NHI
histograms with numbers IHI(1) through IHI(NHI) are dumped.
= 2 : read in histograms dumped with MDUMP=1 and book and
fill histograms according to this information. (With
modest modifications this option could instead be used
to write the info to HBOOK/HPLOT format, or whatever.)
NHI and IHI are dummy.
= 3 : dump histogram contents in column style, where the
first column contains the x values (average of respective
bin) of the first histogram, and subsequent columns the
histogram contents. All histograms dumped this way must
have the same number of x bins, but it is not checked whether
the x range is also the same. If NHI=0 all existing histograms
are dumped and IHI is dummy, else the NHI histograms with
numbers IHI(1) through IHI(NHI) are dumped. A file
written this way can be read e.g. by GNUPLOT.
LFN : the file number to which the contents should be written.
You must see to it that this file is properly opened for write
(since the definition of file names is machine dependent).
NHI : number of histograms to be dumped; if 0 then all existing
histograms are dumped.
IHI : array containing histogram numbers in the first NHI positions
for NHI nonzero.
* COMMON/PYBINS/IHIST(4),INDX(1000),BIN(20000)
Purpose: to contain all information on histograms.
IHIST(1) : (D=1000) maximum allowed histogram number, i.e. dimension
of the INDX array.
IHIST(2) : (D=20000) size of histogram storage, i.e. dimension of
the BIN array.
IHIST(3) : (D=55) maximum number of lines per page assumed for
printing histograms. 18 lines are reserved for title,
bin contents and statistics, while the rest can be used for the
histogram proper.
IHIST(4) : internal counter for space usage in the BIN array.
INDX : gives the initial address in BIN for each histogram.
If this array is expanded, also IHIST(1) should be changed.
BIN : gives bin contents and some further histogram information for
the booked histograms. If this array is expanded, also IHIST(2)
should be changed.
-----------------------------------------------------------------------
MISCELLANEOUS
* Improved clarity of code and comments.
- The contents of DO loops are indented two steps.
- The header info given for each subroutine has been moved and modified.
- Title page with PYLOGO has been modified.
* LUDBRB has been removed. The new PYROBO always requires two
integer arguments to give range of action, followed by the angles
and the boost vector. The integer arguments can be picked 0 to indicate
standard range (1-N).
* MSTP(126) is now by default 50, giving the number of documentation
lines at the beginning of the record.
* PYGIVE has been updated with new commonblock variables and changed
array dimensions.
* The random number generator PYR now works in double precision,
i.e. 48 bits are set. The Marsaglia-Zaman algorithm is used, as before,
with a minor extension at the initialization stage.
* PYCLUS has been expanded with new options 5 and 6, which do the
Durham algorithm as option 3 and 4 do the JADE one.
* A new subroutine PYTIME has been added to give the date and time,
for use in PYLOGO and elsewhere. Since Fortran 77 does not contain
a standard way of obtaining this information, the routine is dummy,
to be replaced by the user. The output is given in an integer array
ITIME(6), with components year, month, day, hour, minute and second.
If there should be no such information available on a system, it is
acceptable to put all the numbers above to 0.
* Extra check in PYSCAT for low remnant energies (mainly for heavy
quarks).
* A new function PYMRUN to allow running (Q2-dependent) masses.
- PM = PYMRUN(KF,Q2)
Purpose: to give running masses of d, u, s, c and b quarks. For all other
particles, the PYMASS function is called by PYMRUN to give the normal
mass.
KF : flavour code.
Q2 : the scale at which the mass is evaluated.
Note: The nominal values, valid at a reference scale
Q2ref = max((PARP(37)*nominalmass)^2 , 4*Lambda^2),
are stored in PARF(91)-PARF(95).
- PARF(91) - PARF(95) : (D = 0.0099, 0.0056, 0.199, 1.35, 4.5 GeV) default
nominal masses, used to give the running masses. (Note change of b
quark mass from the 5 GeV previously used.)
- The result is that, for the d, u, s, c and b quarks, there are now
three different sets of masses in use in the program.
PMAS(KF,1) : the "on-shell" masses used to set up the kinematics of
partonic state produced in an event.
PARF(100+KF) : constituent masses, used in the fragmentation description,
recommended not to change.
PARF(90+KF) : the current algebra style masses, used as input for running
masses in Higgs physics.
For diquarks, only the first two exist, and for the others only the first
one.
* For the HEPEVT common, NMXHEP is 4000 rather than 2000 and real variables
are DOUBLE PRECISION, to conform with the LEP 2 workshop agreement.
* Some bug fixes.
-----------------------------------------------------------------------
CHANGES FROM BASELINE VERSION
6.100 : 4 March 1997 - baseline.
6.101 : 17 March 1997
- PYRECO: DETER(I,J,K) -> DETER(I,J,L) to avoid problems with some
compilers.
- PYDUMP: bug END=180 -> END=170.
- PYWIDT: calculation of beta threshold factor reorganized to avoid
overflow at high energies and to remove an inconsistency.
- PYSTAT: option 2 changed to allow listing of third decay product
in some channels.
- PYTIME: alternative timing suited for GNU LINUX libU77.
- PYRAND: information on where in phase space a maximum has been
violated has been reduced (MSTP(122)=0 : not at all; =1 : only
when error (i.e. not for warnings); =2 : always).
6.102 : 22 April 1997
- PYMASS: the special options for MSTJ(93) nonzero, used especially
in the fragmentation process, have been corrected. This corrects
an error in the translation from JETSET 7.4 to PYTHIA 6.1. The
error has somewhat suppressed the amount of baryon production
relative to JETSET 7.4, but effects are not drastic.
- PYMULT: the comparison XT2.LE.0.01D0*VINT(149) has been changed to
0.01001 to avoid possibility of infinite loop.
- PYSIGH: further check for process 145 that IA not equal to JA
(purely preventive; not known to have caused any problems).
6.103 : 23 May 1997
- PYSIGH, PYVACU, PYHGGM: some updates/corrections of the SUSY
generation.
- PYUPIN: allow external process numbers up to 500.
6.104 : 30 June 1997
- Three new processes for J/psi production: 106 - 108, see above,
in the section on `hard processes'.
- PYRESD: a major bug in the angular distribution of process 1,
caused by a missing factor of 2 in the WTMAX expression. This
leads to an essentially flat distribution in cos(theta).
6.110 : 10 October 1997
- Modified code for baryon production. The default behaviour is
essentially unchanged, while an advanced popcorn scheme has been
added as a further option. Also some intermediate new options
are implemented. The physics aspects are described above, in
the section on `baryon production models'.
- The Breit-Wigner evaluation in process 35 corrected in the same
way as has already been implemented for the other Z-production
processes (but apparently overlooked here).
- Restore bug fix to process 145, erroneously not carried over to
version 6.104.
- In the fixed-alpha_s option MSTU(111)=0 the Lambda=PARU(117) is
set so that the first-order running alpha_s agrees with the
desired fixed alpha_s for the Q2 value used. Of no consequence
except as extra safety.
- Error message if PYFILL is used with an unbooked histogram number.
- Further line added to output/input for PYDUMP options 1 and 2,
giving information on the total number of entries and under-,
inside- and overflow.
6.111 : 27 October 1997
- Forgotten values for XLO and XHI inserted in PYFINT routine.
- Change of sign convention for RMSS(16) in PYAPPS routine.
6.112 : 30 October 1997
- PYRESD has been modified to cope with the decay t -> W + b + Z
(note order of decay products), by including the necessary
colour flow option and by setting angular weight according to
isotropic decay of the W and Z. The program does not calculate
the partial width to this potential channel.
6.113 : 11 November 1997
- PYEIG4 has been expanded to cover a missed ambiguity in the solution
of a fourth-degree equation. This ambiguity could, for some parameter
values, give the wrong mass eigenstates in the neutralino sector.
6.114 : 19 November 1997
- GOTO jump into IF...ENDIF block removed from PYSTRF.
- Underscore replaced by W in some PYKFIN variable names.
6.115 : 27 January 1998
- In the intermediate scenario of colour reconnection, MSTP(115)=11,
the QCD radiation has been reduced until now by an untentional
application of the colour interference machinery. This is now
solved by having MSTJ(50)=0 during the shower call.
- A factor 1/SH has been missing in the width expression for
t -> stop + neutralino, thus giving too large partial width.
- Two errors in PYRESD corrected for the case the routine is called
from outside the standard PYINIT/PYEVNT machinery, i.e. without having
a subprocess number defined. The first ensures isotropic decay angles,
the second correct history pointers in K(I,3).
- D-format changed to E-format in PYDUMP(3), to be consistent with
GNUPLOT input conventions.
- Further check on allowed histogram numbers in PYFILL, PYFACT,
PYOPER, PYPLOT and PYNULL.
- Removed redundant/erroneous check on MSTU(183) in PYLOGO.
- MSTP(48) default changed from 2 to 0 as intended. (Should not
have mattered anywhere.)
6.116 : 8 July 1998
- Initial-state radiation for a muon beam is now allowed (and also for a
tau beam). The radiation machinery is as for an electron, with a
trivial replacement of the electron mass. To distinguish the e/mu/tau
cases, the PYPDEL routine has KFA as a further argument and PYPDFU is
modified accordingly.
- Ten new processes, 131 - 140, for reactions involving virtual photons.
The (square root with appropriate sign of the) photon virtualities can
be set in P(1,5) and P(2,5) when PYINIT is called with the 'FIVE' option.
- Two new processes, 104 and 105, for chi_c production.
- PYPDFU and other routines are modified to allow virtual photons. A dummy
copy of STRUCTP (the PDFLIB routine for virtual photons) is included in
case PDFLIB is not linked.
- New variable VINT(120) coincides with VINT(3) or VINT(4), depending on
which side of the event is considered. Is used to bring information on the
user-defined virtuality of a photon beam to the parton distributions
of the photon.
- GRV 92L parton distribution is reinserted, for crosschecks with
Pythia 5.7. Affects PYPDPR, PYPDFU and PYINIT.
- The technipi partial width to quarks corrected down by factor 3
(avoiding doublecounting of colour factor).
- A fudge factor PARP(146) has been introduced for the technipi partial
width to a fermion pair.
- Address of the Pythia webpage is updated.
- In PYSHOW an IF-test has been broken into two nested ones to avoid
testing on meaningless condition.
- PYMAXI has been modified to handle the case when a user-defined
process is implemented but switched off (calculation of XSEC(0,1)).
- Protection against square root of negative number in PYTHRG.
6.117 : 19 August 1998
- New options 11 - 25 for MSTP(14) to mix alternatives for virtual photons.
- PYCLUS and PYCELL modified to ensure that N is unchanged and MSTU(3)=0
when NJET is negative (to signal failure of the algorithm).
6.118 : 13 September 1998
- Bottom squark production is now treated separately, as for the top
squark. However, there are more processes because bottom is in the
PDF. The new processes 281 - 296 are listed in the Hard Subprocess
section above.
- Displaced vertices are now produced for resonances. This can be
particularly important for delayed decays of SUSY particles to
gravitinos, e.g. ~chi0_2 -> ~gravitino + photon.
- The angular distribution in chargino pair production has been
reversed (i.e. that <-> uhat) for some charge combinations.
- The width for ~g -> ~squark + quark has been fixed. The sign of
a squark mixing angle was reversed.
- PYMSIN modified so that several (SUSY parameter) initializations can
be done in a single run without setting up conflicting information.
- Some bugs in the technicolor decay widths have been fixed, and some
new options are now available, see PARP(146) - PARP(151).
- New option IMSS(5)=1 added.
- New Higgs pair production processes 297-301. A few of these are
already available as Z' decays, where the Z' part can be killed,
but this provides a more direct implementation.
- Expanded top decays to include gravitino stop and gluino stop.
Added entries for virtual chargino decays of stop that might
be important for light stop and light staus:
~t_1 -> ~nu_tauL tau+ b
~t_1 -> ~tau_1+ nu_tau b
Also added entries for the neutralino:
~chi_10 -> c dbar e-
-> d sbar nu_e
The latter two would be R-parity violating decays.
The status of these decays modes is -1, and they have not
been tested.
- The branching ratios are zeroed out before refilling when
initializing SUSY decays.
6.119 : 25 September 1998
- Machinery introduced to allow photon inside lepton beam.
See further description above, section on hard processes.
- Extended Bose-Einstein treatment, with many new options for
W pair studies, see above on hadronization. Default behaviour
changed.
- PYSSPA modified so that the PARP(65) parameter for minimum gluon
energy emitted in spacelike showers is modifed by an extra factor
roughly corresponding to the 1/gamma factor for the boost to the
hard subprocess frame. Earlier, when a subsystem was strongly
boosted, i.e. at large rapidities in the cm frame of the collision,
the PARP(65) requirement became quite stringent on the low-energy
incoming side. Therefore much radiation could be cut out.
- PYSSPA modified so that the angular ordering requirement is based
on ordering p_T/p rather than p_T/p_L, i.e. replacing tan(theta)
by sin(theta). Earlier the starting value tan(theta)_max = 10
could actually be violated by some bona fide emissions for strongly
boosted subsystems, where one side has small p_L. Therefore some
emissions were incorrectly removed when MSTP(62)=3, i.e. default.
- PYSSPA now sets relevant mass for QED emission to be mu or tau one
rather than e one for such incoming beams. (For a collider between
two different lepton species, the more massive one is used as
reference.)
- PYSHOW modified, so that photon emission off a lepton is governed
by the PARJ(90) parameter rather than PARJ(83) (see PARTON SHOWERS).
- PYUPDA corrected for bug in calculation of phase space available
in decay (generated unnecessary warnings).
- PYRESD modified to avoid calculation of undefined four-products
when called for an odd resonance (i.e. one not part of the
standard PYTHIA machinery, e.g. filled with PY1ENT).
- In pair production of heavy flavour (top) in processes 81,82, 84
and 85, earlier only one of the masses was used in the matrix element,
under the assumption that the two were identical. Since we do not
have expressions involving the two separately, we now use an average
value constructed so that the beta kinematics factor is the same
for both having the average as for each having its correct value.
- Move technicolour parameter PARP(151) to PARP(140) to avoid clash.
- Effects of secondary widths included if leptoquark decays to top
(or fourth-generation fermions).
6.120 : 1 October 1998
- The pTmin and pT0 cutoff parameters of the multiple interactions
scenario(s) are now made explicitly energy-dependent (see
MISCELLANEOUS).
- MINT(45), MINT(46) set correctly to allow photon radiation off a
muon beam. Also some other minor bugs corrected for muon beams.
Note, however, that the MSTP(12)=1 option to obtain e.g. electrons
inside photons inside electrons does not work for muons.
- PYSSPA modified so lower Q2 cutoff for QED radiation off lepton
is always at least twice the mass-squared, in addition to the
cutoff provided by PARP(68).
- W2 limits in CKIN(39) and CKIN(40) not checked if process 10 is
called for two lepton beams.
- Labels cleaned up.
6.121 : 15 October 1998
- New routines PY2FRM, PY4FRM and PY6FRM added as generic interfaces
to two-, four- and six-fermion generators, see MISCELLANEOUS.
- The MSTP(14) switch has been expanded so that MSTP(14)=20 and =25
works also for gamma-hadron, not only for gamma-gamma. These two
values would therefore be the two main alternatives for users.
The default has been changed to MSTP(14)=20.
- The MSTP(32) parameter for choice of Q2 scale has been expanded
with new options intended for virtual incoming photons.
- New function PYMRUN(KF,Q2) gives running (MSbar) mass of d, u, s,
c and b quarks. For all other KF, the PYMASS function is called by
PYMRUN to give the normal mass. PYWIDT and PYSIGH has been modified
for Higgs (and some technicolour) widths and production processes
to call PYMRUN rather than to implement the running inline. The
code for the running is identical, so the difference is that now
the PMAS(KC,1) masses can be set to the "on-shell" values expected
rather than the MSbar ones. The nominal b quark mass has been reduced
from 5 to 4.5 GeV, affecting some Higgs branching ratios.
The technipi rate to leptons has been somewhat changed.
See also MISCELLANEOUS.
- Correct minor bug in partial width of top to gravitino + stop.
- Reimplement PARP(146)-(148) in code (had been lost).
- Minor correction in the initialization printout.
6.122 : 4 January 1999
- New matrix-element correction scheme for initial-state radiation,
especially relevant for the production of a single s-channel
resonance. This allows much better description e.g. of the pT
properties of W and Z produced in hadron colliders. See
MISCELLANEOUS for further details.
- Change in PYRESD so that, when Z' or W' decays to (one or two)
top quarks, these are allowed to decay isotropically. (Previously
the matrix element for Z' -> W+ W- -> 4 fermions was erroneously
called.)
- Minor change in PYSHOW to catch one case where K(I,1) values
can become incorrectly set if the routine is called for a lepton
pair of very low mass (roughly below 1 GeV).
- The lepton-inside-lepton parton distribution is changed. Previously
f_e^e(x) was normal for x < 1 - 10^-4, scaled up for
1 - 10^-4 < x < 1 - 10^-6 and 0 for x > 1 - 10^-6, where the
rescaling was arranged so as to give the correct integral of
f_e^e(x) from 0 to 1. Now the border at 1 - 10^-4 has been moved
to 1 - 10^-7 and the one at 1 - 10^-6 to 1 - 10^-10. This way any
irregularities in the line shape has been pushed into a much narrower
region; of some interest e.g. for a muon collider.
- Angular distribution included in decay of W in process 36,
gamma + f -> W + f', by analogy with process 31.
- DATA PARU split in two statements to avoid the 19-continuation-lines
limit.
- Extra safety check in PYREMN to avoid division by zero if
chi = 0 or 1.
- Matrix-element code MDME(IDC,2)=32 restored for h0, H0, A0, H+- ->
q qbar (set 0 in recent versions). This code is irrelevant when
resonance decays is performed in PYRESD, as is almost always the
case.
- PYMSIN modified so that MWID(KC) and MDCY(KC,1) values are saved
and restored for the lightest supersymmetric particle. Is relevent
where a single run contains several PYINIT calls for different
SUSY parameter sets, and hence different LSP's: it switches back on
the decays of a particle that was LSP but no longer is it.
- PYLOGO, PYTIME and PYHIST slightly modified for year
2000-compatible output.
- New option MSTP(39)=5, where the Q2 scale of the gg, qqbar -> QQbarH
processes is set equal to the squared nominal Higgs mass
(cf. MSTP(39)=3 is the actual Higgs mass, i.e. fluctuating between
events).
- Introduce a line
IMPLICIT INTEGER(I-N)
in routines. This helps avoid a bug in the SGI Fortran compiler.
6.123 : 2 February 1999
- New process machinery for doubly charged Higgs production in a
left-right-symmetric scenario. Includes new particles and new hard
subprocesses; see these subsections.
- Introduce missing shat factor in cross section for process 140.
- Correct logic of photon virtuality choice in processes 131 - 136,
which gave erroneous results for the direct*resolved cases of
gamma*gamma* events.
- Explicit DOUBLE PRECISION declaration for EXTERNAL functions and
some DATA statements moved after all declarations to avoid problems
on some compilers.
- The pT^2 fluctuation margin allowed for independent fragmentation
in PYTEST increased.
6.124 : 7 February 1999
- The effects of longitudinal resolved photons can be approximated
by a multiplicative factor to the transverse resolved cross sections,
see PARP(165) in the hard processes section.
- Possibility to choose between e -> gamma splitting variable
being energy fraction x or lightcome fraction y, see MSTP(16).
- Cross sections for direct photon processes 137-140 corrected by a
factor shat/lambda, usually very close to unity, to better describe
phase space relations.
- A few bug corrections in the new popcorn scenario (see section
above on baryon production models). Especially, one bug also came
to affect the default baryon production scenario, and could in
some cases result in charge and baryon number nonconservation in
the beam remnant fragmentation process (PYREMN).
- PYKFIN extensively rewritten. Mostly cosmetics, but also
1) For MSTJ(12)=5, a factor 2 was misplaced for ud_1 and uu_1
diquark production in the process (rank 0 qq) -> ... M + B + ...
2) In the old algorithm the diquark SU(6) survival factor was not
considered when generating the final diquark of a popcorn
system. In Pythia 6.110, this factor was introduced for the new
options MSTJ(12)>2, but unintentionally also for MSTJ(12)=2. For
backward compatibility, the diquark SU(6) survival factors are now
set to 1 if MSTJ(12)<3.
- IN PYRAND the VINT(25) = x_T^2 calculation was incorrect for a
user-defined process; normalization now changed from VINT(1) to
VINT(2). Will have given too high a starting x_T for multiple
interactions.
- The well-known but harmless rho0 -> eta gamma and a_2 -> eta' pi
possibilities of looping in PYDECY no longer cause a warning
message.
- In process 23 the cross section in PYSIGH is explicitly ensured to
be non-negative. This is likely a problem of the far-out wings of
the Breit-Wigners, which the cross section is not set up to handle.
6.125 : 21 February 1999
- PYSTRF corrected for a bug in the choice of the string region
which defines the longitudinal directions of the final two hadrons.
In principle the bug is severe, but in practice its consequences
are limited, since in many events the final string region is
uniquely defined so that the choice is irrelevent, and since,
even when there is a choice, the procedure would work whichever
of the two possible regions is selected.
- PYSSPA treatment of QED showers corrected, in three respect. First,
lower x cutoff (XEE) changed from 1D-7 to 1D-10 to match changes
in lepton-in-lepton distributions of 6.122. Second, the
matrix-element matching can made also for QED processes.
Third, a scattered lepton does not (occasionally) get K(I,1)=3.
- New (default) option for lower parton-shower cutoff (and `primordial
kT') in resolved photons, see MSTP(66) above.
- New parameter and default behaviour for multiple interactions in the
VMD component of virtual photons, see MSTP(84) above.
- For non-QCD processes, a photon is now assumed unresolved when
MSTP(14)=10, 20 or 25. (In principle, both the resolved and direct
possibilities ought to be explored, but this mixing is not currently
implemented, so picking direct at least will explore one of the two
main alternatives rather than none.) Also a minor change in PYMAXI
to correct the calculation of number of points in y* for a photon
beam.
- New option MSTP(32)=10 : Q2 scale is equal to CM energy. No special
reason except as extreme contrast (or not so extreme, for many e+e-
processes).
6.126 : 26 March 1999
- The simulation of the production and decays of technicolor particles
has been substantially upgraded. The processes 149, 191, 192, and 193
are to be considered obsolete, and are temporarily retained to allow
cross checking with the new processes. Process 194 has been changed
to more accurately represent the mixing between the photon, Z,
techni_rho0, and techni_omega particles in the Drell-Yan process.
Process 195 is the analogous process including W and techni_rho+/-
mixing. Processes 361 - 377 are completely new. For a listing of
processes and parameters, see the description in the Hard Processes
section.
- The possibility of flavor--dependent Z0' couplings has been considered.
The previous set of parameters PARU(121)--PARU(128) now affect only
the first generation of fermions. As before, these parameters represent
the V and A couplings for the d-quark, u-quark, electron, and nu_e,
respectively. The parameters PARJ(180)--PARJ(187) and
PARJ(188)--PARJ(195) represent the V and A couplings of the s-quark,
c-quark, muon, nu_mu and b-quark, t-quark, tau, and nu_tau,
respectively. The default value for all parameters are the standard
model values.
- PYMSIN : improve zeroing of branching ratios when several parameter
sets are considered in the same run.
6.127 : 18 May 1999
- In process 226, for chargino pair production, the sign in the
u quark inteference term in the cross section is changed.
- In PYRESD, the HGZ array of relative Z/gamma weights in processes
15, 19, 30 and 35 was not always stored and read out with the same
index, leading to a potentially incorrect angular distribution in
the Z decay, specifically concerning forward-backward asymmetries.
- In process 25, W pair production, the contribution from Z exchange
to the cross section is now evaluated with a fixed width for the Z
in the propagator, in PYSIGH. That is, the GMMZ = mass * width
in the denominator of the progagator is used with the nominal mass
and width of the Z. Previously the actual mass and the running width
were used, which gave rise to divering cross sections, by imperfect
gauge cancellation, at large energies.
- In process 140, for longitudinal photon interactions, the cross section
corrected for an erroneous factor shat too much.
- In photon physics, the setting of MINT(15), MINT(16), VINT(307) and
VINT(308) have been corrected for some cases, affecting PYRAND,
PYGAGA, PYMAXI and PYINPR.
- The normalizing cross section used for multiple interactions in
photon collisions is scaled by a factor m^4/(m^2+Q^2)^2 for virtual
photons, rather than only the square root of that.
- New variable MSTP(69), replacing some of the functionality previously
provided by MSTP(68) but removed with the change in PYSSPA with
Pythia 6.119:
MSTP(69) : (D=0) possibility to change Q2 scale for parton distributions
from the MSTP(32) choice, especially for e+e-.
= 0 : use MSTP(32) scale.
= 1 : in lepton-lepton collisions, the QED lepton-inside-lepton
parton distributions are evaluated with s, the full squared CM
energy, as scale.
= 2 : s is used as parton distribution scale also in other
processes.
- Insert WID2=1 in a few more places in PYWIDT, to avoid it being
undefined.
- THE, PHI, CHI -> THEZ, PHIZ, CHIZ in the special e+e- -> Z option
of PYRESD, to avoid a name clash.
- Insert extra demand when storing THE2T in PYSSPA, for consistency
(to avoid storing an undefined variable).
- Replace SQMW*PMAS(24,2)**2 by GMMW**2 in PYSIGH.
- Remove unused SR2 in PYSIGH.
- Further examples of PYTIME solutions on some machines have been added.
6.128 : 3 June 1999
- Introduce new options for MINT(47):
= 6 : parton distribution is peaked at x=1 for target and no
distribution at all for beam.
= 7 : parton distribution is peaked at x=1 for beam and no
distribution at all for target.
This prompts modifications in several routines, especially
PYSIGH and PYKMAP, with modified checks and phase space factors,
and also e.g. the possibility of having a 1/(1-tau) term in
the selecion procedure of e-gamma collisions.
- Put MINT(15 or 16) = 22 in PYGAGA for a photon whenever MSTP(14)=0.
- Modify the cross section for process 35 to depend on the
virtuality of the incoming photon in e gamma* -> e Z0.
(Exact form ambiguous, but hopefully sensible choice.)
- In PYOFSH the modification of the allowed resonace mass range by
CKIN values is modified when the other particle is not a resonance.
6.129 : 9 July 1999
- Correct severe bug in colour reconnection with PYRECO, whereby the
W+ and W- decay vertices were swapped if the resonaces were given
in the order W- W+. This is the case when PYINIT is called with the
beam arguments 'e-','e+' rather than 'e+','e-'. In scenarios I, II
and II', the rearrangement rate is then overestimated.
- Allow to switch on colour reconnection also for subprocess 22, Z0Z0
pair production, analogously with rearrangement in W+W- events.
Note, however, that the Z0 decay vertex position is calculated
without any regard to the gamma* component of the cross section.
Thus, the description in scenarios I, II and II' would not be
sensible e.g. for a light-mass gamma*gamma* pair.
- The width of the A0 higgs particle to a fermion pair is corrected
to be like beta (=velocity), rather than like beta**3.
- Default decay status for Higgs modes to supersymmetric particles
changed from -1 to 1 in MDME(IDC,1) in PYDATA.
- New options to take into account the effects of resolved longitudinal
photons, see above MSTP(17), PARP(165), PARP(167) and PARP(168)
(PYSIGH routine).
- When calling virtual-photon PDF's via PDFLIB, ensure that P^2 < Q^2.
For GRS, also ensure the specific cuts in that parameterization,
specifically P^2 < Q^2/5.
6.130 : 6 September 1999
- pi0 decay was unintentionally switched off by default from version
6.126 onwards, but is now again allowed to decay.
- A major bug has been corrected in the PYBOEI routine for Bose-Einstein
corrections. It does not affect the BE_0, BE_3 and BE_32 (default)
options, but only the BE_m and BE_lambda alternatives, MSTJ(54)=-1
and -2 (when MSTJ(57)=1, which is default). The weight used to
define the most likely particles to carry the energy/momentum
compensation of BE pairs contained a sign error in an exponential,
which meant that not always the intended particles were selected.
This affects several of the distributions obtained with these
algorithms in the past. The predicted average W mass shift is among
the quantities changed, but stays of the same order.
- PYSHOW has been modified and expanded with new options, see the
PARTON SHOWERS section above for further details.
First, the emission of gluons off primary quarks in gamma*/Z0 decays
has been modified. This increases the amount of gluon radiation off
heavier quarks like b's (by about 5% at LEP1), while light quarks
are not affected.
Second, the description of g -> q qbar branchings has been expanded
with several new options, MSTJ(42)=3 and 4 and MSTJ(44)=3, in order
to explore a larger range of uncertainty in predictions.
- PY6FRM has been improved, so that if an event is classified as a
ttbar one, the t pair is allowed to radiate gluons before the top
decay. Radiation off the b's and in the W decays is there as earlier.
6.131 : 13 September 1999
- New routine PY4JET introduced (with auxiliary routines PY4JTW and
PY4JTS, and significant additions to PYSHOW) to provide interface
from a four-jet QCD generator to a parton-shower evolution. See
further description in section on INTERFACES TO OTHER GENERATORS.
6.132 : 23 September 1999
- Default (pseudo)rapidity limits in CKIN(9)-CKIN(16) changed from
+-10 to +-40, since former still can imply an unwanted pTmin cut.
- Also PYKLIM modified to avoid erroneous rejections at extreme
(pseudo)rapidities.
- When MINT(15)=1 is set before a PYWIDT call, the original value
is restored afterwards.
- Incoming/outgoing lepton mass included in cross section for
process 35.
6.133 : 29 September 1999
- Correct the calculation of that and uhat for process 35 when the
incoming photon is virtual, so that masses are assigned assuming
that incoming parton number 2 is the photon (for the internal
numbering).
- Introduce a missing factor of 1/2 in the cross section for processes
351 and 352, H++/H-- production, and change the rules for when
t^ and u^ contributions should be symmetrized so it is only done
for identical leptons.
6.134 : 10 October 1999
- New internally available parton distribution parameterizations for
the proton, CTEQ 5L and CTEQ 5M1. These are obtained with
MSTP(51)=7 and =8, respectively. Internally: changes in PYPDPR and
PYINIT, and additions of new routines PYCT5L and PYCT5M. All is based
on code written by Jon Pumplin, with minor modifications to fit the
PYTHIA framework.
6.135 : 3 November 1999
- Major modifications in routine PYPREP, intended e.g. to improve
modelling of charm/bottom production from small-mass parton systems,
"clusters". It is now possible to select between a few alternative
descriptions of how energy/momentum is shuffled when a cluster
collapses to a single particle, and to have anisotropic decay when
a cluster gives two particles. See E. Norrbin and T. Sjostrand,
Phys. Lett. B442 (1998) 407 and in preparation.
MSTJ(16) : (D=2) mode of cluster treatment.
= 0 : old scheme. Cluster decays (to two hadrons) are isotropic.
In cluster collapses (to one hadron), energy-momentum
compensation is to/from the parton or hadron furthest away
in mass.
= 1 : intermediate scheme. Cluster decays are anisotropic in a
way that is intended to mimic the Gaussian pT suppression and
string 'area law' of suppressed rapidity orderings of ordinary
string fragmentation. In cluster collapses, energy-momentum
compensation is to/from the string piece most closely moving
in the same direction as the cluster. Excess energy is put
as an extra gluon on this string piece, while a deficit
is taken from both endpoints of this string piece as a common
fraction of their original momentum.
= 2 : new default scheme. Essentially as above, except that a
energy deficit is preferentially taken from the endpoint of
the string piece that is moving closest in direction to the
cluster.
MSTJ(17) : (D=2) number of attempts made to find two hadrons that
have a combined mass below the cluster mass, and thus allow a
cluster to decay to two hadrons rather than collapse to one.
Thus the larger MSTJ(17), the smaller the fraction of collapses.
At least one attempt is always made, and this was the old default
behaviour.
- In order to better match the data on charm production asymmetries,
the quark masses in PMAS(I,1) have been changed to be in line with
constituent quark masses. These are the masses that are used for
kinematics construction, and also influence production cross sections.
After the introduction of the PYMRUN routine for running quark masses
of relevance e.g. as Higgs couplings, there is no longer the previous
need to store current algebra masses in PMAS. (Actually, this is
thereby a return to the practice in very old versions of the program,
before the Higgs considerations lead to a change.)
PMAS(1,1) - PMAS(5,1) : (D= 0.33, 0.33, 0.5, 1.5, 4.8 GeV)
- The default primordial kT value has been raised by about a factor of
two to better account for a number of production characteristics,
such as charm azimuthal correlations. The new default is very
difficult to consider as a purely nonperturbative number, but
could be viewed as also resumming some soft perturbative gluon
emissions.
PARP(91) : (D=1 GeV) Gaussian width.
PARP(92) : (D=0.4 GeV) equivalent exponential width.
PARP(93) : (D=5 GeV) upper cut on primordial kT spectrum.
PARP(99) : (D=1 GeV) Gaussian width for photon remnant.
PARP(100) : (D=5 GeV) upper cut on primordial kT spectrum for photon
remnant.
- The default MSTP(92) value has been changed to 3. This provides a
somewhat more even energy sharing between two coloured beam remnants,
and again helps improve charm production phenomenology.
- Changed parameterization of the probability for reverse rapidity
ordering in the joining of the final two hadrons in string
fragmentation, and now also for a cluster decaying to two hadrons.
P_rev = 1/(1 + exp(b Delta)) with
Delta = Gamma_2 - Gamma_1
= sqrt((mT0**2 - mT1**2 - mT2)**2)**2 - 4 mT1**2 mT2**2).
Here Gamma_1 and Gamma_2 are the string squared invariant times of
the two possible breaks, of a subsystem with transverse masses
mT0 -> mT1 + mT2. For Lund fragmentation functions, b = PARJ(42),
and thus PARJ(38) is no longer used, while for other functions
b = PARJ(39) has been refitted. Note that this does not represent
any noticeable change of the physics output.
PARJ(39) (D=0.08 GeV^-2) related to probability for reverse
rapidity ordering for Field-Feynman type fragmentation functions,
as above.
- PYDIFF: remove a check on minimum invariant masses that, for the new
default quark masses, could lead to an infinite loop.
- PYSSPA, PYREMN: remove a check on and rescaling of (boost) beta
values close to 1, that were leftovers from the single-precision
version. In some rare events at very high energies, this could give
significant energy-momentum nonconservation.
- PYDATA: adjust the length of some PROC character constants that had
wrong number of trailing blanks.
- PYDECY: change a DO 310 I=1,4 to I=1,NQ to avoid that the routine
may copy unnitialized values, which gives problems on some compilers.
- PYSHOW: change dimension of ISSET from 2 to 3. The too small size
may have given problems for showers in Upsilon decays, but not in
normal showers from two partons.
6.136 : 30 November 1999
- PYSSPA: two changes, for initial-state showers related to flavour
excitation, where a c (or b) quark enters the hard scattering and
should be reconstructed by the shower as coming from a g -> c cbar
(or g -> b bbar) branching.
First, an x value for the incoming c above Q_max^2/(Q_max^2 + m_c^2)
does not allow a kinematical reconstruction of the gluon branching
with an x_g < 1, and is thus outside the allowed phase space. Such
events (with some safety margin) are rejected. Currently they will
appear in PYSTAT(1) listings in the 'Fraction of events that fail
fragmentation cuts', which is partly misleading, but has the correct
consequence of suppressing the physical cross section.
Second, the Q^2 value of the backwards evolution of a c quark is
by force kept above m_c^2, so as to ensure that the branching
g -> c cbar is not 'forgotten' by evolving Q^2 below Q_0^2. Thereby
the possibility of having a c in the beam remnant proper is eliminated.
Warning: as a consequence of the changes above, flavour excitation
is not at all possible too close to threshold. If the KFIN array
in PYSUBS is set so as to require a c (or b) on either side, and
the phase space is closed for such a c to come from a g -> c cbar
branching, the program will enter an infinite loop.
- The older EHLQ1, EHLQ2, DO1 and DO2 parton distributions of the
proton have been ported from Pythia 5 and inserted as
MSTP(51) = 12 - 15. Not intended for current studies, but good
for checks of backwards compatibility. In this connection, the
default of MSTP(58) is changed from 6 to 5, since the EHLQ
distributions also contain top, that one nowadays probably would
not want to see included by default.
- PYREMN is modified, so that when a hadronic remnant is split in two,
the primordial kT recoil is shared evenly between them (with a
relative pT kick added).
- The default for MSTP(94) is changed from 2 to 3, meaning that the
standard Lund symmetric fragmentation function is used for the
lightcome momentum fraction of the hadron produced from a multiquark
remnant.
- PYTHRG: protect against negative square root (by roundoff) in RT(1,2).
6.137 : 2 February 2000
- Introduce new process 146, e + gamma -> e*.
- Process 161 Breit-Wigner corrected to suppress low-mass tail.
- PYSHOW corrected for possibility of populating unallowed region of
phase space (and thereby breaking energy-momentum conservation)
in the option where a given four-parton configuration is used to
start the shower, e.g. from PY4JET.
- The default value of PARP(67) changed from 4 to 1; relates to scale
matching between initial-state parton shower and hard scattering.
6.138 : 2 March 2000
- Introduce new process 169, q + qbar -> e + e*.
- For QCD processes in the multiple interactions description, also
c and b quarks are allowed as incoming partons. Thus also charm
and bottom production by flavour excitation is included in this
framework. (Only for the hardest interaction, however, related to
limitations in the beam-remnant treatment.)
- Exclude by default the possibility of top-antitop pair production
for processes where a new flavour pair is produced at a gluon or
photon vertex, i.e. processes 12, 53, 54, 58, 96 and 135-140.
(This is achieved by changing the g, gamma -> t + tbar decay
channels to MDME(IDC,1)=0.)
- Correct severe errors in the width calculation in PYWIDT for Z'/Z.
Affects process 141.
- Insert missing SQMW and SQMZ definitions for techni-rho width
calculations.
- Redistribute colour interference term of cross section in process
11 (and corresponding part of process 96) to avoid some part of
the cross section from becoming negative.
- Avoid rare division by zero in boost in PYSTRF.
- Minor further improvement of the PYSHOW modification of the 6.137
version.
- Minor modification to PYSSPA to allow Q2 scale to be raised
slightly if g -> Q + Qbar branching is kinematically problematical.
6.139 : 23 March 2000
- A severe bug has been found for the multiple interactions scenario
when MSTP(82) >= 3, i.e. when using variable impact parameters.
It is only important when the main, "hard" process (the one(s)
selected with the MSEL oand MSUB switches) can become rather soft,
like e.g. in gamma*/Z production at small masses. Here follows
more details.
The traditional multiple interactions procedure is to let the main
interaction set the upper pT scale for subsequent multiple
interactions. For QCD, this is a matter of avoiding doublecounting.
Other processes normally are hard, so the procedure is then also
sensible. However, for a soft main interaction, further softer
interactions are hardly possible, i.e. multiple interactions are
more or less killed.
For MSTP(82) >= 3 it is even worse, since also the events themselves
are likely to be rejected in the impact-parameter selection stage.
Thus the spectrum of main events that survive is biased, with the
soft tail suppressed. Such a behaviour could be motivated by the
rejected events instead appearing as part of the interactions
underneath a normal QCD hard interaction, but in practice the latter
mechanism is not implemented. (And would have been very inefficient
to work with, had it been.) Furthermore, even when events are
rejected by the impact parameter procedure, this is not reflected
in the cross section for the process, as it should have been.
Therefore the default behaviour has been modified, so that only
for QCD processes is the main process enforcing a limit on the
subsequent interactions. Note that this also allows more underlying
event activity in the default options MSTP(82)<=2.
MSTP(86) : (D=2) requirements on multiple interactions based on
the hardness scale of the main process.
= 1 : the main collision is harder than all the subsequent
ones (old behaviour, for backwards compatibility, with
dangers and errors as noted above).
= 2 : when the main process is of the QCD jets type (the same
as those in multiple interactions) subsequent jets are
requested to be softer, but for other processes no such
requirement exists.
= 3 : no requirements at all that multiple interactions have
to be softer than the main interactions (of dubious use for
QCD processes but intended for crosschecks).
Note : process cross sections are unreliable whenever the
main process does restrict subsequent interactions, and the
main process can become soft. For QCD jet studies in this
region it is then better to put CKIN(3) < PARP(81) or
PARP(82) and get the "correct" total cross section.
- The default primordial kT value has been raised by about a factor of
two for protons in version 6.136; now also the photons are changed
the same way.
PARP(99) : (D=1 GeV) Gaussian width for photon remnant.
PARP(100) : (D=5 GeV) upper cut on primordial kT spectrum for photon
remnant.
- Correct minor bug in PYBOEI, causing division by zero in rare cases.
6.140 : 2 May 2000
- Correct bug in PYSCAT for processes 203, 206 and 209, giving wrong
colour flow.
- Correct final mass selection machinery in PYSCAT, for cases when
a generic quark happens to become a top (or another heavy one) and
thus have to be assigned a large and variable mass.
- Change PYSSPA for a photon beam so that a c (or b) heavy quark is
not necessarily to be reconstructed as coming from a branching
g -> c + cbar. (Since a photon has a c/b valence quark content,
unlike normal hadronic beam particles.)
- Introduce new loop counter to PYSSPA, to interrupt event in case
it seems to be impossible to find a consistent kinematics for
shower branchings. (Rare, but can happen for heavy flavours.)
6.143 : 15 May 2000
- New machinery for treatment of minimum bias processes in
gamma*-p and gamma* gamma* processes, not yet quite complete
but released to give some first feedback. Extensive changes in
PYXTOT, PYGAGA, PYRAND, PYSCAT, PYINPR, PYSIGH, PYMULT, PYSSPA
and PYKLIM. Default behaviour changed, both by changes of the code
and by changes of some default values. While it should be possible
to recover most of the old behaviour by suitable changes of switches
and parameters, complete backwards compatibility is not assured.
Therefore it is better to think of this version as a clean break
in the area of minimum bias physics for virtual photons. The
machinery can be used either for photons of fixed virtuality,
by using the 'FIVE' option of the PYINIT call, or for a spectrum of
photon virtualities by using the GAMMA/E beam particle option.
For the latter option, photon kinematics can be constrained
with CKIN variables. In either case, the CKIN(3) variable is
used to switch between a minimum-bias and a jet description,
just like for hadronic collisions. MSEL=2 also gives diffractive
and 'elastic' events. What is still missing is mainly the admixing
of DIS-type events; work is underway. Further details can be found
in the HARD PROCESSES section above.
- Bug found and corrected for process 137-140, where before the
flavour selection machinery did not allow the production of
gamma * gamma* -> lepton+ lepton-, even when this kind of
processes were switched on and included in the cross section.
- Checks on the x values allowed for colliding beams have been
extended. For a hadron beam, x is not allowed to be above
1 - 2 * PARP(111)/E_CM. This ensures that the hadronic beam remnant
has an energy of at least PARP(111) in the rest frame of the event,
as is required (with some safety margin) in order to construct a
realistic beam renmnant. The need emerged out of studies with
anomalous photons, where the parton distributiosn are large close
to x = 1, but the correction is applied to all kinds of hadronic
events.
- Break out of loop in PYPOLE routine if no convergence after 100
iterations.
6.144 : 25 May 2000
- New process 99, for DIS scattering gamma* + q -> q, where it is
assumed that the photon flux is provided separately. New code
ISET(ISUB)=8 represents this kinematics. New routine PYDISG to
handle the kinematics of this process. Thus the gamma*-p
and gamma* gamma* machineries are extended also to include
automatic mixing with DIS processes, see comment for version 6.143.
Many changes in code. New options for MSTP(14), MSTP(18), MSTP(19),
and several MINT and VINT variables. New default value MSTP(14)=30
gives automatic mix with DIS processes.
- Enhancement from longitudinal photons (see MSTP(17)) did not work
in 6.143 and has now been corrected.
- Default values for x_min and y_min of emitted photons (CKIN(61),
CKIN(63), CKIN(73), CKIN(75) changed from 0.01 to 0.0001).
- PYTECM declarations changed to Pythia standard ones.
- PYK: minor change to nest IF requirements to avoid problems with
some compilers.
6.145 : 29 May 2000
- Insert forgotten conversion factor in process 99 cross section.
- Exclude leptons from direct*direct process for MSEL=1 or 2.
- Check against infinite loop for small systems with diffraction.
- Correct error in mother pointer for cluster collapse.
- Correct mixup of process types in PYSTAT(1) listing.
- Modify initialization scale for DIS processes.
6.146 : 8 June 2000
- Updated PYDISG routine now handles beam remnant in DIS processes
like in PYREMN and includes final-state radiation of scattered
quark. (Initial-state radiation still missing.)
- Correct bug in PYRAND that reset pTmin incorrectly when asking for
high-pT events only in gamma*-p or gamma*-gamma*.
- Document DIS process with pT = PARI(17) = 0.
- Increase initialization/maximum search scale for DIS * anomalous.
- Include kinematical factor 1/(1-x) in the conversion formula from
F2 to photon cross section.
6.147 : 19 June 2000
- PYSIGH updated in a few places to avoid division by zero. The
error occured in calculations that are ultimately not used, so
therefore do not affect any output.
- Avoid a division by zero in PYSHOW, appearing in the showering
of the new DIS process 99.
6.148 : 27 June 2000
- New treatment of elastic/diffractive processes of the GVMD
component. VINT(69) and VINT(70) denote the masses of the GVMD
states. See above, section on hard processes.
- New and upgraded treatment of primordial kT of anomalous photon,
which also before contained a bug. Also affects e.g. DIS scattering
off an anomalous photon. New options MSTP(66)=4 and =5, with the
latter new default. See above, section on hard processes.
- Switch off DIS process 99 if vanishing maximum at initialization.
Stop run if no process has nonvanishing maximum.
6.150 : 30 June 2000
- Include virtuality dependence for a photon target in the form factor
of the DIS process 99 in PYSIGH (this factor accounts for overlap
with the direct*direct process).
- Some insignificant changes for better Fortran 77 standard conformance.
6.151 : 7 August 2000
- Increase the maximum scale of final-state shower evolution for DIS
events in the PYDISG routine by a factor of 2, to obtain a smoother
matching to the activity in the direct process group.
- For elastic and diffractive scattering, store m**2/4 (approximately
pT**2) in VINT(283) or VINT(284), respectively. Here m is the mass
of the state being diffracted, which may be of interest when
analyzing GVMD diffractive scattering.
- Join two COMPLEX*16 declarations in PYSIGH (cosmetics).
6.152 : 17 August 2000
- Include factor in PYSIGH cross section to take into account the
effects of longitudinal resolved photons probed in the
DIS process (99), by mistake missing so far.
- PYRECO colour reconnection for scenario I: check that selected
space-time point is in the forward light cone before studying it
further (thereby saving some time).
6.154 : 29 September 2000
- Significantly modified final-state showering routine PYSHOW, with
greatly improved description of radiation from heavy quarks,
newly introduced radiation off supersymmetric particles (squarks,
gluinos), and a source dependence for the radiation pattern.
New routine PYMAEL with a host of different matrix elements used
by PYSHOW. New options for MSTJ(42), MSTJ(44) and MSTJ(47),
and new MSTJ(38) and PARJ(80). See PARTON SHOWER section above
for further details.
- PYRESD: improved search new position for showering resonances
(new case with two showering gluinos that have to be distinguished).
- Process 167, 168 and 169 for excited fermion production corrected
in PYSCAT to avoid incorrect mass selection.
- PYEVNT, PYRESD modified by checks on MDCY(KCA,1) for decay of
odd resonances (i.e. not caught by ordinary description).
6.155 : 7 November 2000
- Two new processes included for excited graviton production:
391 f fbar -> G*
392 g g -> G*
The G*, introduced as new particle code 41, is intended to represent
the lowest excited state in a Randall-Sundrum scenario of extra
dimensions. Decay channels to f fbar, gg, gamma gamma, Z0 Z0 and W+ W-
contribute to the total width. The correct angular distributions are
included for decays to a fermion pair, whereas other decays currently
are taken to be isotropic. The G* mass is to be considered a free
parameter. The other degree of freedom in this scenario is
PARP(50) : (D=0.054) dimensionless coupling, which enters quadratically
in all partial widths of the G* resonance,
kappa * m_G* = sqrt(2) * x_1 * k /M_Pl,
where x_1 = 3.83... is the first zero of the J_1 Bessel function
and M_Pl is the modified Planck mass scale.
- PYSHOW, PYTIME, PYMSIN, PYRESD: minor bug fixes.
- Standardize technicolor particle notation to index _tc.
6.156 : 16 November 2000
- Improved PYBOEI routine for Bose-Einstein effects. Now can handle
ZZ events as well, not only WW ones, and can distinguish between
particles coming from different strings. Also clarified behaviour
when colour reconnection occurred. Thus updated descriptions
of MSTJ(53) and MSTJ(56), and new parameter PARJ(94),as follows:
MSTJ(53) (D=0) In e+e- -> W+W-, ZZ or if PARJ(94)>0 and there are
several strings, apply BE algorithm
= 0 : on all pion pairs.
= 1 : only on pairs were both pions come from the same W/Z/strings.
= 2 : only on pairs were the pions come from different W/Z/strings.
= -2 : when calculating balancing shifts for pions from same
W/Z/string, only consider pairs from this W/Z/string.
Note that if colour reconnections has occurred in an event, the
distinction between pions coming from different W/Zs is lost.
MSTJ(56) (D=0) In e+e- -> W+W-, ZZ, include distance between W/Z's.
= 0 : radius is the same for all pairs.
= 1 : radius for pairs from different W/Z's is R+deltaR_WW
(R+deltaR_ZZ). (When considering W or Z pairs with an energy
well above threshold, this should give more realistic results.)
PARJ(94) (D=0.0 GeV) Increase radius for pairs from different W/Z/strings
< 0 : If MSTJ(56) = 1, the radius for pairs from different W/Z's is
increased to R+deltaR_WW+PARU(3)/abs(PARJ(94))
> 0 : the radius for pairs from different strings is increased to
R+PARU(3)/PARJ(94).
6.157 : 5 February 2001
- PYDATA updated with excited graviton G* data and decay channels
(forgotten to hardcode in 6.155).
WARNING: this implies that decay channel numbers have been changed for
all particles sitting after the G*, which includes most particles, since
the G* has the small code 41.
- The list of G* production processes have been expanded with
393 q qbar -> g G*
394 q g -> q G*
395 g g -> g G*
These are first order processes related to the lowest-order ones in
391 and 392. They are intended for the high-pT tail, while 391 and 392,
with initial state showers switched on, are appropriate for the full
cross section at all pT values. Furthermore note that, in the processes
added here, the G* decay currently is isotropic.
- Processes 167, 168 and 169 have been corrected for a bug in PYSIGH,
which meant that the cross section was not reduced when decay channels
were switched off for the d*/u*/e*.
- PYRESD has been expanded to handle the colour flow in R-parity-violating
processes of the type chi^{0+-} -> lepton + quark + antiquark.
- In PYSSPA, further check whcih side of the event have already been
treated. (For some rare cases.) Also setting of an initial value
DQ2(JT)=0 has been added to avoid problems on one compiler.
- In resonance decays, some gaps have been filled in the history
information in the initial summary section.
- In PYGIVE, also the MWID array can be given with index c to indicate
implicit PYCOMP call.
- PARJ(172)-(175) have been moved to PARP(137)-(140) to collect all
technicolor parameters in one place.
- Colour factor in process 122, q qbar -> Q Qbar h0, has previously been
incorrectly calculated, and is now corrected up by a factor 64/9 in
PYQQBH.
6.158 : 5 April 2001
- Fix in PYRESD, so that angles in H -> b bbar are correctly handled
also for Higgs decay in external processes.
- When all the energy of a gluon is removed in the cluster collapse
process, the gluon is marked as decayed, and skipped in further
consideration, to avoid problems in events with two collapses.
- Increase the maximum number of loops allowed in PYREMN to 100, for
applications at very low energies.
- Do not write maximum violation warnings in PYRAND unless above 1.0001.
-----------------------------------------------------------------------