**************************** * * * Update notes * * * * PYTHIA version 6.2 * * * **************************** (Last updated 29 January 2005) PYTHIA version 6.2 is a logical continuation of version 6.1. Therefore it should not be a big operation for the normal user to upgrade. A number of improvements, like the new user-process machinery and the introduction of lepton-number-violating SUSY decays, still makes it worth the effort. The main difference relative to the final 6.1 subversion, PYTHIA 6.161, however, is that 6.2 comes with a completely updated big manual ( around 420 pages). This manual contains all information available about version 6.200. Assuming that you start from scratch with 6.200, there is no reason to look further in the current updates file. A second edition of the manual was presented in April 2002, with some typos corrected, a few more explanations and the further code updates up to version 6.206. Also, Peter Skands joins as co-author. A third edition appeared in April 2003, bringing the story up to 6.215. Most of you are already using 6.1, however, and thus need to know where incompatibility problems may arise, if you try to link your existing programs to PYTHIA 6.2. This kind of issues are covered in the first section below. Furthermore, as subsequent subversions appear, the big manual will not be kept up to date or, even if it were to be, there remains a need to keep track of exactly when each improvement was introduced in the code. The current update file details this story from where the PYTHIA 6.161 update notes leave off. (So if you want to have an overview of novelties since the latest version you used, and this version is earlier than 6.161, you would also need to have a look in the 6.161 update file.) ----------------------------------------------------------------------- INCOMPATIBILITIES WITH PYTHIA 6.1 * The /PYDAT3/ commonblock has been expanded from a maximum of 4000 decay channels to 8000 ones: COMMON/PYDAT3/MDCY(500,3),MDME(8000,2),BRAT(8000),KFDP(8000,5) This became necessary since the addition of new decay channels saturated the current capacity, leaving no room for further expansion. MSTU(7) is changed accordingly, as is PYGIVE. * As a consequence of the additions, absolute decay channel numbers are changed in the new version. New decay channels have been added on to the bottom of the list of the respective particle, however, so that all addressing relative to the first decay channel of a particle, in MDCY(KC,2), remains valid. * Some particle codes have been changed to reach better agreement with the PDG standard: reggeon from 28 to 110 pomeron from 29 990 eta_tc from 38 to 3000331 (see note 1) LQ from 39 to 42 R0 from 40 to 41 G* from 41 to 5000039 (see note 2) pi_tc0 from 51 to 3000111 pi_tc+ from 52 to 3000211 pi'_tc0 from 53 to 3000221 rho_tc0 from 54 to 3000113 rho_tc+ from 55 to 3000213 omega_tc0 from 56 to 3000223 H_L++ from 61 to 9900041 H_R++ from 62 to 9900042 W_R+ from 63 to 9900024 nu_Re from 64 to 9900012 nu_Rmu from 65 to 9900014 nu_Rtau from 66 to 9900016 rho_diff0 from 110 to 9900110 pi_diff+ from 210 to 9900210 omega_di0 from 220 to 9900220 phi_diff0 from 330 to 9900330 J/psi_di0 from 440 to 9900440 n_diff0 from 2110 to 9902110 p_diff+ from 2210 to 9902210 Note 1: the PDG standard gives 3000221, but this clashes with pi'_tc (a consequence of the shifting technicolor scene). Note 2: the G* choice is not conformant with the current standard, but it appears likely that such an extension could be acceptable in a future version of it. * Some new particle codes have been introduced: G (graviton) in 39 system in 90 (intermediate unspecified particle in external processes) Z_R0 in 9900023 * A hint on large particle numbers: if you want to avoid mistyping the number of zeros, it may pay off to define a statement like PARAMETER (KSUSY1=1000000,KSUSY2=2000000,KTECHN=3000000, &KEXCIT=4000000,KDIMEN=5000000) 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, where applicable. * The old machinery to handle user-defined external processes has been removed. This means that the common block COMMON/PYUPPR/NUP,KUP(20,7),NFUP,IFUP(10,2),PUP(20,5),Q2UP(0:10) no longer exists, and neither does the dummy routines PYUPIN and PYUPEV. It is replaced by the much more powerful capabilities based on the Les Houches standard. * Some of the FRAME options in the PYINIT call have been changed from 'USER' to '3MOM' (HERA users beware!) from 'FOUR' to '4MOM' from 'FIVE' to '5MOM' and the 'USER' argument now initiates the machinery to handle user-defined external processes. * CTEQ 5L is new default for the parton distributions of the proton. * The default Higgs mass has been moved to 115 GeV, and the W one updated to 80.45 GeV. * A new option MSTP(41)=2 has been introduced as default. In this, the MDCY(KC,1) values are not overwritten at PYINIT initialization. Therefore previous user choices of whether a resonance is to be considered stable or not remains unchanged. ----------------------------------------------------------------------- CHANGES IN CONSECUTIVE SUBVERSIONS 6.200 : 31 August 2001 - baseline. Changes listed here are relative to PYTHIA 6.161. Since 6.200 is described in the big manual, only very brief comments are given here, with references to the manual for further details. Also incompatibilities already noted above are not repeated. - A new machinery to handle user-defined external processes is introduced, based on the Les Houches standard, see manual section 9.9. New routines UPINIT and UPEVNT provide the user interaction (with only dummy copies in the distributed code), with information transferred in the two new commonblocks HEPRUP and HEPEUP. A new routine PYADSH administrates showers. The externally input events can be listed with CALL PYLIST(7). MINT(111)=11 is introduced to denote initialization with user processes. The normal KFPR meaning is modified for these processes. MSTP(126) is increased from 50 to 100 to make more room for documentation. PARI(7) and VINT(97) give the weight for a user process. Shower and beam remnant routines are modified to preserve (as well as possible) the azimuthal angle of the hard scattering. - Lepton-number-violating decay modes have been introduced for SUSY particles, courtesy Peter Skands. A brief summary of the impact of such modes on branching ratios is obtainable with CALL PYSTAT(7). The main new switches are IMSS(51) and IMSS(52), to allow for couplings of the LLE and LQD types, respectively. A new common block COMMON/PYMSRV/RVLAM(3,3,3), RVLAMP(3,3,3), RVLAMB(3,3,3) gives access to the lambda and lambda' couplings. These couplings can also be set by the PYGIVE routine. The dimensions of the internally much-used WDTE, WDTP, XLAM AND IDLAM arrays have been increased from 200 to 300 to allow for more decay channels per particle. - The PYSHOW routine is updated to allow showering systems with up to seven particles, as part of the above machinery. This is also used in ordinary PYRESD decays to three particles. Also the cut-off scale for not evolving massive quarks has been changed. - PYSSPA now always evaluates parton densities at the beginning (except for incoming partons with full beam energy), rather than using ones inherited from calculations of the hard process. - Decays of righthanded neutrinos, and production (processes 353 and 354) and decay of righthanded Z_R0 and W_R+-, have been added. - With CALL PYLIST(5) the event in the HEPEVT commonblock can be listed. The CALL PYLIST(11) has been modified to reflect the changed particle codes. - A new switch MSTP(110) allows the width of some or all resonances to be artificially scaled up or down, e.g. as a tool for studies of detector smearing of the resolution for a narrow peak. - A new switch MSTP(127) allow runs where PYINIT will not stop the run, even if no processes are switched on, or no have non-vanishing cross sections. MSTI(53) acts as error flag, which can be used to catch such occurences. - The angular distribution of W decay in process 2 has been changed to take into account the masses of the decay products (mainly relevant for W -> t bbar). - Also 'K+', 'K-', 'KS0' and 'KL0' are now allowed incoming particles in a PYINIT call. This implementation is necessarily crude, since no parton distributions are available for Kaons. Pion ones have been adapted instead, with the valence content exchanged. - Correct neutral current cross section for process 10 by a factor of 2 per incoming neutrino beam. - Correct some minor bugs in the technicolor machinery. - Corrent unequal-mass treatment in process 164 so that negative cross sections do not occur. - Correct so that no odd (i.e. unexpected) resonance decays are added to the documentation section at the beginning of the event record. (Previously this happened for Higgs, but not for others.) - The resonance mass and width data previously stored in the PMAS(30,i) numbers for processes 71-77 are now in PMAS(89,i). - Statement labels have been renumbered, and a few obsolete Fortran constructions have been updated. 6.201 : 19 September 2001. - PARP(82) changed from 2.1 to 1.9 GeV to better reflect the change of parton distributions to CTEQ5L (which PARP(81) remains unchanged). - Mistake corrected, whereby the CTEQ5 distributions were frozen above a scale of 100 instead of 10000 GeV. - Mistake corrected in the secondary width factors of the cross section when H0 or A0 -> h0 h0 and the two h0's are forced to decay into different channels. - Corrected GOTO label in the code for the Z_R resonance in PYRESD. 6.202 : 9 October 2001. - insert forgotten code in PYMSIN so that the Lightest Supersymmetric Particle can decay when L-parity violation is allowed. 6.203 : 13 November 2001. - The PYSSPA initial-state shower routine has been expanded with a q -> q + gamma branching, so that now photons may come both from initial- and final-state radiation. The implementation is similar to the q -> q + g one, but differs in details. Thus the same Q0 scale, PARP(62), is used both for photon and gluon emission in hadrons. (And not the QED Q0 scale in PARP(68), which is reserved for photon emission off leptons.) The switch MSTP(61) has been updated with a new default option MSTP(61) : (D = 2) master switch for ISR radiation. = 0 : off. = 1 : on for QCD radiation in hadron and QED one in lepton (old default). = 2 : on for QCD and QED radiation in hadron and QED one in lepton (new default). - Resonance decays with PYRESD(0) (the normal case) has been changed with respect to the effects of initial-state showers. Previously these effects were included as a simple boost to the new rest frame. Now also a rotation is performed, that takes into account that the incoming partons to the hard scattering may be rotated away from the z axis in their rest frame, by the effects of successive initial-state radiation emissions. The net effect is that angular distributions are more smeared than earlier. In cases where it is simple to check with higher-order matrix elements, such as q + qbar -> Z0 -> f + fbar with first-order corrections, this gives improved agreement, although not a perfect one. Note that angular correlations among decay products internally are not affected, only those that relate to the initial state. - In PYTBDY a protection has been introduced against taking the square root of a slightly negative number. - In PYDATA, an erroneously included empty decay channel of the G* graviton excitation has been marked with MDME(IDC,1)=-1 so that it will be skipped. - PYLOGO has been updated. 6.204 : 9 February 2002 - Code has been added for baryon-number-violating SUSY decays. This is still a project in progress, with some debugging remaining, so should not yet be used. However, there are some changes in the code, detailed in the points below, and relevant when this area has been fully developed. - The decay tables have been expanded with the new baryon-number violating SUSY decay channels. These have been put at the end of the decay table for the respective particle. Absolute decay channel numbers may therefore have been changed, while relative ones for a given particle remain. - A number of internally used and passed arrays, such as WDTP, WDTE, WDTPP, WDTEP, WDTPM, WDTEM, XLAM and IDLAM, have been expanded from dimension 300 to 400. - The PYRVxx routines for calculating R-parity-violating decay widths have been expanded with new code for baryon-number-violating channels. Also PYMSIN and PYGLUI have been expanded with new code. - The following (partly new) status codes are recognized: K(I,1) = 41 : junction, with partons arranged in colour. K(I,1) = 42 : junction, with special colour flow information. K(I,1) = 51 : a junction of strings which have been fragmented (i.e., used to be 41). K(I,1) = 52 : a junction of strings which have been rearranged in colour (i.e., used to be 42). These four categories thus match ordinary partons of the types K(I,1) = 1 or 2, 3, 11 or 12, and 13, respectively. - New particle code KF: K(I,2) = 88 : junction. No distinction is made between a junction and an antijunction, i.e. whether a baryon or an antibaryon is going to be produced. - For junctions with status code K(I,1) = 41 or 51, the most general string topology would be arranged as q_1 g_1 q_2 g_2 junction g_0 junction g_3 qbar_3 g_4 qbar_4. Here each gluon above is shorthand for an arbitrary number of gluons, including none. The status code for the non-junctions above would be 2 (or 12), except for qbar_4 with status 1 (or 11). Here q_1 g_1 and q_2 g_2 both are strings ending in the first junction; the occurence of non-matching colours easily reveal the q_2 as not being a continuation of the q_1 g_1 string. Topologies can also have only one junction, e.g. q_1 g_1 q_2 g_2 junction g_3 q_3. - For junctions of type K(I,1) = 42 or 52, partons can appear in arbitrary order, and K(I,4) and K(I,5) are given a special meaning: K(I,4) = 10000 * ITP + IC1 K(I,5) = 10000 * IC2 + IC3 (Here 10000 is stored in MSTU(5), and further bits may be added above MSTU(5)**2 when colour flow is traced, as usual). The possibilities are ITP = 1 : junction of three colours in the final state, with positions as stored in IC1, IC2 and IC3. A typical example would be neutralino decay to three quarks. Note that the positions IC1 - IC3 need not be filled by the final quark themselves, but more likely to the immediate neutralino decay products that thereafter initiate showers and branch further. ITP = 2 : junction of three anticolours in the final state, with positions as stored in IC1, IC2 and IC3. ITP = 3 : junction of one incoming anticolour to two outgoing colours, with the anticolour position stored in IC1 and the two colour ones in IC2 and IC3. A typical example would be an antisquark decaying to two quarks. ITP = 4 : junction of one incoming colour to two outgoing anticolours, with the colour position stored in IC1 and the two anticolour ones in IC2 and IC3. ITP = 5 : junction of a colour octet into three colours. The incoming colour is supposed to pass through unchanged, and so is bookkept as usual for the particle itself. IC1 is the position of the incoming anticolour, while IC2 and IC3 are the positions of the new colours associated with the vanishing of this anticolour. A typical example would be gluino decay to three quarks. ITP = 6 : junction of a colour octet into three anticolours. The incoming anticolour is supposed to pass through unchanged, and so is bookkept as usual for the particle itself. IC1 is the position of the incoming colour, while IC2 and IC3 are the positions of the new anticolours associated with the vanishing of this colour. Thus odd (even) ITP code corresponds to a +1 (-1) baryon number. - PYRESD has been expanded to set up the colour flow in the new baryon-number-violating channels. - PYPREP is modified to trace colour flow in showers involving junctions from baryon-number violation, and to rearrange partons accordingly. Also the description of small-mass strings has been modified to handle the new kind of topologies possible. - The PYSTRF string fragmentation machinery has been modified to better handle junction topologies. Two new parameters have been introduced: PARJ(49) : (D = 1 GeV) retry (up to 10 times) when both strings, to be joined in a junction to form a new string endpoint, have a remaining energy above PARJ(49) (evaluated in the junction rest frame) after having been fragmented. PARJ(50) : (D = 10 GeV) retry as above when either of the strings have a remaining energy above a random energy evenly distributed between PARJ(49) and PARJ(49) + PARJ(50) (drawn anew for each test). - PYLIST and PYEDIT modified so as also to handle junctions. - PYKFDI somewhat modified to as not to mishandle popcorn baryon production when a junction is present. - In final-state showers in PYSHOW, the requirement of coherence with initial-state radiation, switched on with MSTJ(50), could also affect the radiation of a coloured resonance such as top. Although effects were small, this should not be the case at all for radiation with energies well above the width of the respective resonance. Therefore options MSTJ(50) = 1 - 3 are now changed so that they do not affect resonance decay products. The new options 4 - 6 also do affect resonance decays, in case one would like to allow this. - The relative cross section for high-pT processes 11, 12, 13, 28, 53 and 68 and the low-pT process 95 has been incorrectly given for cases where the 'gamma/lepton' option has been used to convolote the normal cross sections with the photon flux inside a lepton. The relative distribution of the generated number of events, as well as the total cross section, was correct, so this more has been a problem with the PYSTAT(2) printout than with incorrect physics. Now the PYRAND and PYMULT routines have been modified to handle also the relative cross sections correctly. - In order to make resonance decays work better for cases also with an odd resonance (e.g. fed in from an external program rather than generated by PYTHIA), PYRESD has been slightly modified. 6.205 : 1 March 2002 - Removed subroutine PYRNMT which duplicated PYMRUN. Also, previously fixed values of the MS-bar b-quark mass at 3 GeV are replaced with more accurate values based on PYMRUN. PYMRUN is used throughout the Supersymmetry code now to set the MS-bar c,b, and t-quark masses. In PYSFDC, mb=0 was (accidentally) being used. - The default m_q(m_q) running masses have been changed for c to 1.23 GeV and for b to 4.17 GeV, in PARF(94) and PARF(95), respectively. Also PARP(37) has been changed from 2 to 1, meaning that the running starts at m_q(m_q) rather than m_q(2m_q). This affects e.g. Higgs cross sections and branching ratios. - Changed energy dependence of the Higgs widths (PYWIDT) so that only WW and ZZ decay modes scale as M_h**2 * sqrt(shat), while all others scale like shat**(3/2). (For MSTP(49)=0, as before, all scale like shat**(3/2).) The previous behavior caused heavy Higgs bosons to fluctuate far off the mass shell at hadron colliders because of the gg width at small sqrt(shat). - Technicolor production rates updated to include the contribution of anomalies along with the usual resonance pieces. The anomaly contribution is more important for technipions much lighter than the technivectors. Therefore cross sections for processes 363 and 373 are most affected. The effects of colored technipions and technirhos can be studied in the modification of jet production using MSTP(5)=5. - Added runtime interface to ISASUSY for determining SUSY mass spectrum and mixing parameters. This was done since PYTHIA's internal machinery to handle this is less precise than ISASUSY's. See also note below regarding PYAPPS. The interface is called when IMSS(1)=12. It automatically asks the SUGRA routine (part of ISASUSY) to solve the RGE's for the weak scale mass spectrum and mixing parameters. The mSUGRA input parameters should be given in RMSS as usual, i.e.: RMSS(1) = M_1/2, RMSS(4) = Sign(mu), RMSS(5) = Tan(beta), RMSS(8) = M0, and RMSS(16)= A0. As before, we are using the conventions of Haber & Kane (Phys. Rep. 117 (1985) 76), and Gunion & Haber (Nucl. Phys. B272 (1986) 1) everywhere. Cross sections and decay widths are still calculated by PYTHIA, using the output provided by ISASUSY. Note that since PYTHIA cannot always be expected to be linked with the ISAJET library, a new dummy routine and a new dummy function have been added. These are SUGRA and VISAJE, located towards the very bottom of the PYTHIA source code. These routines must be removed and PYTHIA recompiled before proper linking with ISAJET can be achieved. - Added code for PYSTAT(7) to give brief resummation of not only lepton number violating but also baryon number violating SUSY decays. - Fixed the previous incorrect relation between the stau lepton and stau neutrino mass when treating the third generation sleptons separately. Further, the default value of IMSS(8) has been changed from 1 to 0, thereby enabling mass mixing in the stau sector by default. - Added extra protection against unphysical cases in the approximate Supergravity relations found in PYAPPS. NOTE, the use of these approximate relations is never recommended for serious studies. - Improved treatment of the fragmentation of junction strings. In particular, in strings with a single junction, it is assured that the two string pieces first considered are not the highest-energy one, thereby possibly leaving too little energy for the final string. Nevertheless, at the level of one or a few per hundred thousand events with baryon number violation, the fragmentation may fail. In these cases, error messages occur as usual, but the MSTU(23) error counter is not increased, meaning that the normal maximum number of allowed errors (default 10) can be exceeded. MSTU(29) is introduced as a flag to denote the presence of a junction, with 0 normally and 1 if junctions are present in the event considered. - Fixed bug in PYWIDT, where widths above the 200 first channels (if any) were not zeroed. - Statement labels have been renumbered where they were out of order. - Author list in file header and PYLOGO printout updated. 6.206 : 10 April 2002 - New code and switch: MSTP(25) (D=0) angular decay correlations in Higgs decays to W+ W- or Z0 Z0 to four fermions [Skj93]. = 0 : assuming the Higgs decay is pure scalar for h0 and H0 and pure pseudoscalar for A0. = 1 : assuming the Higgs decay is always pure scalar. = 2 : assuming the Higgs decay is always pure pseudoscalar. Note: since the decay of an A0 to W+ W- or Z0 Z0 is vanishing at the Born level, and no loop diagrams are included, currently this switch is only relevant for h0 and H0. It is mainly intended to allow `straw man' studies of the quantum numbers of a Higgs state, decoupled from the issue of branching ratios. [Skj93] A. Skjold and P. Osland, Phys. Lett. B311 (1993) 261; K. Myklevoll, in preparation - A new copy PUGAU2 of PYGAUS has been created, and is called in the inner loop of two-dimensional integration, in order to avoid recursive calls. The previous noncompliance with Fortran 77 did not normally cause any problems, but if Pythia is compiled with the -fno-automatic option (on a Linux system) it went wrong. - The Higgs decay channels to supersymmetric particles are now on by default, if supersymmetry is enabled with IMSS(1)=1. This used to be the case in Pythia 6.1, but was changed by mistake when producing the Pythia 6.2 decay tables. - Two minor changes in the treatment of external processes, in PYRAND and PYINPR. Correct bugs when many processes are interfaced. - Removed incorrect code for processes 203, 206 and 209 in PYSCAT. 6.207 : 14 June 2002 - Introduce improved method to find junction rest frame. This includes three new subroutines, PYJURF, PY2BST and PYGRAD, one new function, PYJFUN, and two new commonblocks, PYBSTP and PYGDVJ. With these improvements, the code should now be ready for more serious studies of baryon number violation in supersymmetric decays. - Introduce possibility to find which (anti)baryon is produced around the junction, i.e. carries the (anti)baryon number associated with the hard process that produces a junction. Specifically, with the MSTU(16)=2 documentation option, this primary baryon points back to the junction around which it is produced. More generally, consider a system stored as q1 - q2 - junction - q3. In the listing of primary hadrons coming from this system, the first ones will have K(I,3) pointers back to q1, either they come from the hadronization of the q1 or q2 string pieces. (In principle the hadrons could be classified further, but this has not been done.) Then comes the junction baryon, which may be followed by hadrons again pointing back to q1. This is because the final string piece, between the junction and q3, is fragmented from both ends with a joining to conserve overall energy and momentum. (We remind that typically the two shortest strings are put ahead of the junction.) More properly these hadrons also could have pointed back to the junction, but then the special status of the junction baryon would have been lost. The final hadrons point to q3, and have fragmented off this end of the string piece in to the junction. The above example generalizes easily to topologies with two junctions, e.g. q1 - q2 - j - j - qbar3 - qbar4, where now particles in the central j - j string would point either to q1 or qbar4 depending on production side. - Modify the interface to external user-defined processes, so that the SCALUP scale is multiplied by sqrt(PARP(71)) when setting the maximum virtuality scale allowed for final-state showers. (The sqrt(PARP(67)) is already used correspondingly for initial-state radiation, but here with default PARP(67)=1 while PARP(71)=4.) Since the scale choice is ambiguous in the first place, this does not introduce any new degree of freedom. However, it makes an external implementation of a process radiate the same amount as an equivalent internal one, assuming the same Q scale is chosen for the hard process. - Automatically antisymmetrize the RVLAM and RVLAMB arrays of R-parity violating SUSY coupling parameters when IMSS(51)=3 or IMSS(53)=3. For RVLAM(I,J,K) only entries with I 2 cross sections, see manual subsection 8.6.7 and list of processes 381-388 below. RTCM(1) : (D=82 GeV) Technicolor decay constant (old PARP(142)) RTCM(2) : (D=4/3) Charge of Up Techniquark (old PARP(143)) RTCM(3) : (D=1/3) sine of isotriplet technipion mixing angle (old PARP(141)) RTCM(4) : (D=1/sqrt(6)) sine of isosinglet technipion mixing angle (old PARP(139)) RTCM(5) : (D=1) Clebsch for technipi decays to charm (old PARP(145)). Appears squared in decay rates. RTCM(6) : (D=1) Clebsch for technipi decays to bottom (old PARP(146)) RTCM(7) : (D=.0182) Clebsch for technipi decays to top (old PARP(147)) RTCM(8) : (D=1) Clebsch for technipi decays to tau (old PARP(148)) RTCM(9) : (D=0) Clebsch^2 for isotriplet technipi decays to gluons (old PARP(149)) RTCM(10) : (D=4/3) Clebsch^2 for isosinglet technipi decays to gluons (old PARP(150)) RTCM(11) : (D=.05) Technirho--techniomega mixing parameters (old PARP(140)). Allows for isospin violating decays of the techniomega. RTCM(12) : (D=200 GeV) Vector technimeson decay parameter (old PARP(137)). Affects the decay rates of vector technimesons into technipi plus gauge boson. RTCM(13) : (D=200 GeV) Axial technimeson decay parameter (old PARP(138)) RTCM(21) : (D=sqrt(.08)) Tangent of Topcolor mixing angle (old absolute value of PARP(155)). RTCM(22) : (D=1/sqrt(2)) Sine of isosinglet technipi mixing with Topcolor currents. RTCM(23) : (D=0) Clebsch^2 for color-octet technipi decays to charm. RTCM(24) : (D=0) Clebsch^2 for color-octet technipi decays to bottom. RTCM(25) : (D=0) Clebsch^2 for color-octet technipi decays to top. RTCM(26) : (D=5/3) Clebsch^2 for color-octet technipi decays to gluons. RTCM(27) : (D=250 GeV) Color-octet technirho decay parameter for decays to technipi plus gluon (old PARP(156)). RTCM(28) : (D=250 GeV) Hard mixing parameter between color-octet technirhos. RTCM(29) : (D=1/sqrt(2)) Magnitude of 1-1 element of the U(2) matrices that diagonalize U-type technifermion condensates. RTCM(30) : (D=0 Radians) Phase for the element described above RTCM(29). RTCM(31) : (D=1/sqrt(2)) Magnitude of 1-1 element of the U(2) matrices that diagonalize D-type technifermion condensates. RTCM(32) : (D=0 Radians) Phase for the element described above RTCM(31). RTCM(33) : (D=1) If Gamma_V8(s-hat) > RTCM(33)*sqrt(s-hat), then Gamma_V8(s-hat) is redefined to be RTCM(33)*sqrt(s-hat). It thus prevents the coloron from becoming wider than its mass. RTCM(41) : compositeness scale Lambda, used in processes involving excited fermions, and for standard model processes when ITCM(5) is 1 - 4. RTCM(42) : (D=1.) sign of interference term between standard cross section and composite term (eta parameter); should be +-1; used for standard model processes when ITCM(5) is 1 - 4. RTCM(43) - RTCM(45) : (D=3*1.) strength of SU(2), U(1) and SU(3) couplings, respectively, in an excited fermion scenario; cf. f, f' and f_s of [Bau90] in the manual. RTCM(46) : (D=0. anomalous magnetic moment of the W+- in process 20; eta = kappa - 1, where eta = 0 (kappa = 1) is the Standard Model value. - PYGIVE has been expanded to allow a user to set ITCM and RTCM values. - The old QCD 2 -> 2 processes have gradually been expanded with compositeness/technicolor scenarios. In order to separate the functions, processes 11, 12 ,13, 28, 53, 68, 81 and 82 have now been reverted to being pure QCD ones. Instead new processes have been introduced as 381 : q + q' -> q + q' (like 11) 382 : q + qbar -> q' + qbar' (like 12) 383 : q + qbar -> g + g (like 13) 384 : q + g -> q + g (like 28) 385 : g + g -> q + qbar (like 53) 386 : g + g -> g + g (like 68) 387 : q + qbar -> Q + Qbar (like 81) 388 : g + g -> g + g (like 82) By default, these are identical with the standard QCD processes, but MSTP(5) can be used to select various compositeness scenarios. Note that these processes are intended for high-pT physics; you therefore need to set CKIN(3) bigger than the PARP(81) (or equivalent) scale, i.e. at least a few GeV. (387 and 388 excepted, where the heavy quark mass can be used as cutoff.) - MSEL = 51 gives the processes 381 - 386 above. - Correct weighting of bottom production for process 382 (formerly 12) in PYSCAT, arising from Coloron and Colored Technirho interactions. - Include Coloron and Colored Technirho exchange in dijet processes when the anomalous coupling flag is set as MSTP(5)=5. Processes 387 and 388 are suggested for dedicated heavy flavor production. The inclusion of anomaly contributions to production and decay amplitudes affects also the Electroweak Technicolor sector, described previously. Modifications are in PYSIGH, PYWIDT and PYWIDX. - Allow for a negative gluino mass parameter. Improved treatment of squark thresholds in 3-body decays. Changes are in PYGLUI and PYINOM. - Bug corrected in PYHEPC, which gave incorrect mother pointers when three or more particles were produced in the hard interaction. - Bug corrected in PYEVNT, which gave incorrect mother pointers when more than three particles were produced by an external process and then allowed to shower as a system. - A new switch has been introduced in the string junction framework. MSTJ(19) : (D=0) in a string system containing two junctions, there is a possibility for these two to disappear by a collapse to two separate strings. That is, a configuration like q1 - q2 - j - j - qbar3 - qbar4 can collapse to q1 - qbar3 plus q2 - qbar4. = 0 : the selection between the two alternatives is made dynamically, so as to pick the string configuration with the smallest length. = 1 : the two-junction topology always remains. = 2 : the two-junction topology always collapses to two separate strings. - The dimension in IJU array is expanded from 5 to 6 in PYSTRF to correct a bug in the fragmentation of string systems with two junctions. - In the PYSUGI interface routine to ISASUSY evolution, the /SSPAR/ commonblock is expanded from 66 to 69 entries to take into account a corresponding change in the ISAJET code in version 7.61: COMMON /SSPAR/ SUPER(69) Also the /SUGPAS/ commonblock is expanded by two further numbers MHPNEG (integer) and ASM3 (real) at the end: COMMON /SUGPAS/ XTANB,MSUSY,AMT,MGUT,MU,G2,GP,V,VP,XW, $A1MZ,A2MZ,ASMZ,FTAMZ,FBMZ,B,SIN2B,FTMT,G3MT,VEV,HIGFRZ, $FNMZ,AMNRMJ,NOGOOD,IAL3UN,ITACHY,MHPNEG,ASM3 ISASUSY users are warned to check that no incompatibilities arise between the versions actually used. Unfortunately there is no universal solution to this problem: the Fortran standard does not allow you dynamically to vary the size of a (named) commonblock. So if you use an earlier ISASUSY version, you have to shrink the size accordingly, and for a later you may have to check that the above commonblocks, as well as /SUGMG/, have not been expanded further. With some compilers/linkers, it may work with incompatible commonblock sizes, if the longer version is encountered first, e.g. already in the main program, but this is not recommended in general. - The multiple interactions combination of MSTP(81)=0 and MSTP(82)>=2 is not so common, and certainly not intended to simulate realistic events, but it is an allowed way to obtain events with only the hardest interaction of those the events would contain with the corresponding MSTP(81)=1 scenario. If also CKIN(3) is set larger than the respective pT0 scale (see PARP(82)), however, the program misbehaves. To avoid this, MSTP(82) is now set to 1 in such cases, in PYINIT. 6.213 : 26 December 2002 - The PYSIGH routine has been split into several, in order to make it more manageable. (It had increased to a size of over 7000 lines, which gave some compilers problems.) All the phase-space and parton-density generic weights remain, whereas the process-specific matrix elements have been grouped according to PYSGQC: normal QCD processes, plus some similar instead with photons; PYSGHF: heavy flavour production, open and closed; PYSGWZ: W/Z processes, except as below; PYSGHG: Higgs processes (2 doublets), except Higgs pairs in PYSGSU, but including longitudinal WW scattering for a heavy Higgs; PYSGSU: SUSY processes, including Higgs pair production; PYSGTC: Technicolor processes, including some related compositeness; PYSGEX: assorted exotic processes, including Z'/W', leptoquark, horizontal gauge boson, excited fermions, left-right-symmetric scenarios (H++/Z_R/W_R), and extra dimensions (G*). - For process 99 the x is now calculated with target mass taken into account, i.e. x = Q^2/(W^2 + Q^2 - m_p^2) for a proton target. The thus calculated x_Bj is stored in VINT(41) or VINT(42). - New parameter PARJ(40): PARJ(40): (D=1) possibility to modify the probability for reverse rapidity ordering of the final two hadrons in the fragmentation of s string with PYSTRF, or from the only two hadrons of a low-mass string considered in PYPREP. Modifies eq. (226) in section 12.2.2 of the manual to P_reverse = 1/(1 + exp(PARJ(40)* b * Delta)). 6.214 : 22 January 2003 - Clean up of statement labels; update year. - When MSTP(12)=1 is used to provide a numerical-convolution approximation of the flux of partons inside a photon inside an electron, previously only the DG parameterization was used for MSTP(56)=1, irrespective of the MSTP(55) value. Now the photon parton densities selected by MSTP(55) are used here, as should be. Note that the 'gamma/lepton' option of PYINIT offers a more sophisticated convolution unaffected by the above bug. - New option MSTJ(41)=3 for final-state showers, wherein quarks radiate both gluons and photons, but leptons do not radiate at all. This is intended to allow separate external programs to address photon radiation off leptons. - When external processes are not given with full resonance decay chains, so that PYTHIA has to perform additional resonance decays, these decays are stored in the documentation section in the same way as for internal processes. Previously such decays were not documented there. - When MSTP(128) = 1 or 2 and external processes were treated, the recoil from showers on subsequent decay products was not taken into account. This would lead to energ-momentum non-conservation. (The default MSTP(128)=0 worked properely all along.) - PYRESD modified so that h0/H0 -> W+W-/Z0Z0 -> 4 fermions are given with the correct angular distribution, also when the Higgs appears as a secondary decay product of a particle in an undefined process, e.g. when a SUSY particle has been handed in by a PY1ENT call. 6.215 : 26 March 2003 - New option MSTP(25) = 3 allows CP-mixing even+odd+interference in the decays of a Higgs state (h0, H0, A0) to W+W- or Z0Z0 to 4 fermions, with MSTP(25) giving the eta strength parameter of the CP-odd admixture (so that the interference is of order eta and the odd of order eta**2). By default PARP(25)=0. - Correct/improve the tracing of mother pointers for resonance decays in external processes, as introduced in 6.214. - Allow processes 277, 278, 287 and 288 also for lepton beams; the cross section was there but erroneously not accessed. - Avoid division by zero in PYINRE and PYSTAT for the case where a resonance has vanishing width. 6.216 : 7 April 2003 - Minor modification in PYQQBH to avoid problem with some compilers. 6.217 : 18 May 2003 - In the PYSUGI interface routine to ISASUSY evolution, the /SSPAR/ commonblock is expanded from 69 to 72 entries to take into account a corresponding change in the ISAJET code in version 7.67: COMMON /SSPAR/ SUPER(72) Also the GSS array in the /SUMG/ commonblock is expanded from 29 to 31 elements: COMMON /SUGMG/ MSS(32),GSS(31),MGUTSS,GGUTSS,AGUTSS,FTGUT, $FBGUT,FTAGUT,FNGUT Like for the updates introduced for ISASUSY 7.61 in PYTHIA 6.212, ISASUSY users are warned to check that no incompatibilities arise between the versions actually used. 6.218 : 30 June 2003 - Bug fixes in cross sections for g b -> t h0 (process 161) and g b -> b h0 (process 32). - Correctly restore stop and sbottom masses in PYGLUI when those masses were temporarily shifted upwards. 6.219 : 17 July 2003 - Update PYSHOW so that it can handle user-defined showering systems up to a size of 80 partons, compared with the earlier limit of 7. Also fix a PYSHOW bug that gave overflow of the ISSET array for systems of more than three partons. - As a consequence, the earlier PYSHOW(IP1,IP2,QMAX) call with IP2=-8 to obtain a forced four-parton shower history has been moved to IP2=-100, and the call from PY4JET has been updated accordingly. 6.220 : 18 July 2003 - Modify PYADSH so that user-defined showering systems up to the new 80-partons limit are correctly processed and sent on to PYSHOW. - Introduce a new routine PYUPRE, that is called immediately after UPEVNT has been called to provide a user-process event. It will rearrange the contents of the HEPEUP commonblock so that afterwards the two incoming partons appear in lines 1 and 2, so that all mothers appear ahead of their daughters, and so that the daughters of a decay are listed consecutively. Thereby those previous restrictions on user-process input to Pythia are removed. - Change so that the MSEL=43 option in PYINPR does not try to switch on nonexisting processes 255 and 257. 6.221 : 15 October 2003 - In the PYSUGI interface routine to ISASUSY evolution, the /SUGPAS/ commonblock is expanded to take into account the change in the ISAJET code in version 7.69. The new form is COMMON /SUGPAS/ XTANB,MSUSY,AMT,MGUT,MU,G2,GP,V,VP,XW, $A1MZ,A2MZ,ASMZ,FTAMZ,FBMZ,B,SIN2B,FTMT,G3MT,VEV,HIGFRZ, $FNMZ,AMNRMJ,NOGOOD,IAL3UN,ITACHY,MHPNEG,ASM3, $VUMT,VDMT,ASMTP,ASMSS,M3Q REAL XTANB,MSUSY,AMT,MGUT,MU,G2,GP,V,VP,XW, $A1MZ,A2MZ,ASMZ,FTAMZ,FBMZ,B,SIN2B,FTMT,G3MT,VEV,HIGFRZ, $FNMZ,AMNRMJ,ASM3,VUMT,VDMT,ASMTP,ASMSS,M3Q 6.222 : 21 January 2004. - The decay tau -> nu_tau + (>=2 hadrons) has been inconsistent, in that the intended neutrino spectrum correction has not been obtained for taus with an E_tau > 20*m_tau (the limit where taus are boosted to their rest frame for better numerical precision, actually a leftover from single-precision days). This is now corrected, to give the same behaviour everywhere, which still may be somewhat primitive. - Reset MSUM(96)=MSUM(97)=0 in PYINIT, to ensure that processes 96 and 97 have not been switched on by mistake. These processes are used for the internal bookkeeping of multiple interactions, but should not be switched on by a user. - For process 161, g b -> H t, the top branching ratios are now 6.223 : 16 April 2004. - Addition of the processes gg->tbH+ (401) and qqbar->tbH+ (402) by Johan Alwall. Please note that care has to be taken to avoid double counting between these new processes and the bg->tH+ (161) process. See http://www3.tsl.uu.se/thep/MC/pytbh/ for additional details. The Fortran code for the matrix element is kindly contributed by J.-L. Kneur (see F. Borzumati, J.-L. Kneur, N. Polonsky, Phys Rev. D 60 (1999) 115011). - Cross section of RS graviton processes 391 and 392 multiplied by shat^2/m_G^4, leaving the peak unchanged but reweighting the wings to be consistent with the spin 2 nature of the graviton. - Cross section for process 381, q q -> q q within Technicolor, was incorrect for u u -> u u etcetera due to a typo (* instead of + for RATCII). 6.224 : 3 May 2004. - Modifications in PYRESD to fix incorrect settings of history pointers when a resonance generated by an external process is to be decayed by PYTHIA. - Cosmetics changes of the code (mainly character string length) to avoid warnings from the Intel Fortran compiler. 6.225 : 1 July 2004. - Modify PYSHOW so that it correctly handles also a showering subsystem consisting of more than 10 partons. - For user-defined processes the incoming partons in line 1 and 2 need no longer be massless at input. If not, their energies and longitudinal momenta are recalculated in PYUPRE to make them massless, while preserving the total energy and momentum. - The code for gg,qqbar->tbH+ has been modified for consistency with the Fortan 77 standard (at most 19 continuation lines, SAVE). - Correct mixed-up neutralino and chargino indices in PYCJDC for calculation of chargino to neutralino decay. - When run with variable energy, MSTP(171) > 0, a failure in the PYOFSH mass selection now leads to a completely new event being generated, so as to weight different energies correctly. - A possibility of an infinite loop in PYRESD has been removed. 6.226 : 14 October 2004 - "By popular demand", the Tune A multiple interactions parameters have been made default. This tune, produced by Rick Field, describes much of the minimum-bias and underlying-event physics at the Tevatron, see e.g. http://www.phys.ufl.edu/~rfield/cdf/. As a consequence, the following default values have been changed: MSTP(82) = 4 gives a double Gaussian, PARP(84) = 0.4 is the relative radius of the second Gaussian, PARP(82) = 2.0 GeV is the pT0 turnoff parameter, PARP(89) = 1800.0 GeV, PARP(90) = 0.25 gives reference energy and energy dependence of pT0, PARP(85) = 0.9, PARP(86) = 0.95 tells how strings are drawn. Further, PARP(67) = 4.0 increases the amount of initial-state radiation. Finally - not part of Tune A but required for a "universal" description also covering e.g. Z0 production - the primordial kT is increased to PARP(91) = 2.0 GeV. - A new routine UPVETO and a new switch MSTP(143) have been introduced. CALL UPVETO(IVETO) Purpose: to allow the user the possibility to abort the generation of an event immediately after parton showers but before underlying event and handronization is considered. Is intended primarily for a parton/jet matching at an early stage as part of strategies to combine event samples with different parton multiplicity, when input with the UPEVNT routine. The routine is called only if MSTP(143)=1. IVETO : specifies choice made by user. = 0 : retain current event and generate it in full; = 1 : abort generation of current event and move to next. Note 1: If resonances like W, Z, top, Higgs and SUSY particles are handed undecayed from UPEVNT, or are generated by PYTHIA, they will also be undecayed at this stage; if decayed their decay products will have been allowed to shower. Note 2: All partons at the end of the shower phase are stored in the HEPEVT commonblock. The interesting information is NHEP = the number of such partons, in entries 1 <= i <= NHEP, IDHEP(I) = the particle ID code according to PDG conventions, PHEP(J,I) = the (p_x, p_y, p_z, E, m) of the particle. All ISTHEP entries are 1, while the rest is zeroed. Note 3: the cross section of processes, as shown with CALL PYSTAT(1), is reduced when events are aborted. Such events are also counted in the "fraction of events that fail fragmentation cuts" in the last line of this table. MSTP(143) : (D=0) call UPVETO to possibly abort the generation of an event. = 0 : no, UPVETO is not called, so no events are aborted (for this reason). = 1 : yes, UPVETO is called, and user can decide whether to abort current event. - Several new options to pick process scales (factorization and renormalization). MSTP(32) = 11 : (m_3 + m_4)^2/4. = 12 : set by user: factorization scale in PARP(193) and renormalization scale in PARP(194). MSTP(39) = 6 : (m_3 + m_5)^2/4. = 7 : (m_T3^2 + m_T4^2)/2. = 8 : set by user: factorization scale in PARP(193) and renormalization scale in PARP(194). PARP(193) : (D = 1D4 GeV^2) factorization scale Q^2 for parton densities. To be set by user. PARP(194) : (D = 1D4 GeV^2) renormalization scale Q^2 for 2 -> 3 processes (unless modified by other parameters like PARP(34)). For process 161 it also sets the scale of running quark masses. To be set by user. - Minor bugs corrected in processes 401 and 402. - Angular decay distribution implemented for Graviton resonance decay to gamma + gamma or g + g. 6.227 : 24 November 2004 - When now MSTP(84)=4 by default, Tune A, a simple switching-off of multiple interactions with MSTP(81) does not work in all cases. (This is related to the ability still to generate the hardest interaction according to a given MSTP(82) scenario, see Note 3 for MSTP(82) in the manual.) From now, for MSTP(81) = 0 or 10, MSTP(82) will be set to 1 (or 0 if it already is) whenever one does not study a pure "minimum-bias" event sample, i.e. when either CKIN(3) is above the pT0 scale or MSEL is different from 1 and 2. - In SUSY simulation, the PYAPPS routine, the sign for AT is corrected (affects RMSS(15) and RMSS(17)). - Some labels have been renumbered for easier reading of the code. 6.228 : 28 January 2005 - Concerns have been raised about the introduction of Tune A as default multiple interactions scenario, and more specifically to a change from a pT0 scale increasing like E_CM^0.16 to one like E_CM^0.25. The key issue is that, when extrapolated to LHC energies, the new energy dependence predicts less event activity than the old one, which may give too optimistic conclusions if incorrect. To be more conservative whe have therefore restored the old energy dependence, i.e. PARP(90)=0.16. When estimating LHC uncertainties, clearly a range of values should be explored. - Models of physics beyond the standard model often contain stable or quasistable neutral particles without any colour charge, which pass out through a detector without leaving any trail. They thus should be considered on equal footing with neutrinos in a detector simulation. While neutrinos can be eliminated from the event record with a CALL PYEDIT(2), or omitted from consideration by the built-in event analysis routines (PYSPHE, PYTHRU, PYCLUS, PYCELL, ...) by MSTU(41) = 2, there is no similar automatic mechanism to remove these other particles. (They would disppear for option 3, of course, where only charged particles are considered.) The issue can be solved by hand, e.g. by setting such particles as decayed (K(I,1) > 10). However, the lowest-lying neutralino chi_1^0 (code 1000022), the graviton (39) and the gravitino (100039) are now automatically treated on an equal footing with neutrinos. - The PDFLIB interface for expernal parton densities has been expanded so that it is possible to initialize either with four or five flavours, depending on how NFL in the /W50511/ commonblock is set. - The Les Houches Accord user-process interface has been expanded with a non-standard feature: if you set PDFGUP(i) = -9 for either of the two incoming beams, i = 1 or 2, this signals that beam remnants are already included in the final state and should not be provided by PYTHIA. As a consequence, neither initial-state radiation nor multiple interactions are applied either, since these would redefine the beam remnants. What remains is resonance decays, final-state radiation, hadronization and ordinary decays (unless explicitly switched off, of course). One application could be to plug in parton-level configurations already generated by some other initial-state shower algorithm. A more typical example would be a generator for diffractive Higgs production, p p -> p p H, where PYTHIA would be used to address the Higgs decay with associated showers and handronization. Note that, in accordance with the general rules, it is necessary to provide the two incoming protons as the first two particles of the /HEPEUP/ event record, with status code -1. (Although this here happens to be redundant, given the beam information provided at initialization.) Internally, MINT(111)=12 is introduced to signal this kind of event processing. - Bug fix in PYSHOW, in the attempted matrix-element identification when called for two partons with IP2 = -2. -----------------------------------------------------------------------