**************************** * * * Update notes * * * * PYTHIA version 6.3 * * * **************************** (Last updated 25 March 2006) PYTHIA version 6.3 is a logical continuation of version 6.2. Therefore it should not be a big operation for the normal user to run the program. The major change in 6.3 is a new, more sophisticated scenario for multiple interactions. However, the old one is still kept, in some sense as default, for backwards compatibility and to allow comparisons. Other changes include new pT-ordered initial- and final-state showers, and an interface to SUSY spectrum and decay calculators conformant to the SUSY Les Houches Accord. As always, further changes will appear in subsequent subversions. Starting from version 6.301 up to and including version 6.305, a new multiple interactions scenario was introduced and set as default when calling PYEVNT. Below, we refer to this framework as the `intermediate' model. At that point, another major restructuring of the multiple interactions framework was commenced. The next official version released was 6.312. This new `interleaved' model, with pT-ordered ISR and FSR showers, is so much different that it makes sense to have a separate top-level event generation routine PYEVNW instead of the traditional PYEVNT. The latter now by default gives the old multiple interactions model (the one present up to and including Pythia 6.2), with the intermediate one as a possible option. The two versions have been synchronized such that PYEVNT in the most recent 6.3 version should have the same behaviour as in the most recent 6.2 version, but that then additional possibilities exist in 6.3. Hopefully this should facilitate the transition from 6.2 to 6.3 for applications where the possibility of backwards compatibility is essential. PYTHIA 6.3 comes with an updated big manual, reflecting the status as of version 6.301. These update notes tell the story from the previous edition of the big manual, for PYTHIA 6.215, and especially what is new in PYTHIA 6.3. ----------------------------------------------------------------------- INCOMPATIBILITIES WITH PYTHIA 6.2 * There are no incompatibilities on the level of commonblock sizes or subroutine arguments. That is, any program that ran with PYTHIA 6.2 also ought to run with PYTHIA 6.3, without any change required. * Note, however, that the current interface to ISASUSY evolution package is based on ISAJET version 7.69. The dimensions of the /SSPAR/, /SUGMG/ and /SUGPAS/ common blocks found in the PYSUGI routine could have to be modified if another ISAJET version is linked. The most recent changes occured in PYTHIA 6.217 and 6.302, so watch out if you upgrade. * As stated above, up to and including version 6.305 there is a new scenario for multiple interactions as the default in PYEVNT. Thus the physics output may be changed whenever multiple interactions are allowed, i.e. in hadron-hadron collisions (where a resolved photon counts as a hadron). For details see below. From 6.312 on, the old framework is restored as default in PYEVNT, and the new framework is instead obtained with PYEVNW. ----------------------------------------------------------------------- THE NEW MULTIPLE INTERACTIONS SCENARIO A new multiple interactions scenario is introduced with PYTHIA 6.3. The early versions still represent a tryout phase, where extra caution should be exercised. Currently it should only be used for the study of minimum bias and underlying events in pp/ppbar interactions; it cannot be used for meson beams, for instance. Also, note that major changes were introduced with version 6.312. These notes are intended to describe the status *after* those changes were implemented. A complete description of the new model before version 6.312 is given in: T. Sjostrand and P. Skands, JHEP 03 (2004) 053. The further developments introduced in version 6.312 are described in: T. Sjostrand and P. Skands, hep-ph/0408302. The basic scheme for generation of the multiple interactions is kept from the old models. That is, based on the standard 2 -> 2 QCD matrix elements convoluted with standard parton densities, a sequence of pT-ordered interactions is generated: pT_1 > pT_2 > pT_3 > ... . One novelty, however, is that this sequence is now `interleaved' with a pT-ordered ISR parton shower evolution, such that ISR branchings and multiple interactions are in some sense competing with each other as to which will be the next evolution step (see below for further details on the pT-ordered showers, both FSR and ISR). The sequence is stopped at some lower cut-off scale pT_min, or alternatively the matrix elements are damped smoothly around and below a scale pT_0. An impact- parameter-dependent picture of hadron-hadron interactions can lead to further elements of variability between events. The main limitation of the old approach is that there was no way to handle complicated beam remnants, e.g. where two valence quarks had been kicked out. Therefore the structure of all interactions subsequent to the first one, i.e. the one with largest pT, had to be substantially simplified. The introduction of junction fragmentation in T. Sjostrand and P.Z. Skands, Nucl. Phys. B659 (2003) 243 allowed this restriction to be lifted. In the new approach, the flavour content of the beam remnant is bookkept, and is used to determine possible flavours in consecutive interactions as well as in the backward evolution of the initial-state showers. Thus, the standard parton densities are only used to describe the hardest interaction and the ISR branchings that occur *above* the pT-scales of any secondary interactions. Already since before, the x scale of parton densities is rescaled in subsequent interactions, such that the new x=1 corresponds to the remaining momentum rather than the original beam momentum. But now further changes occur in the shape of distributions: * Whenever a valence quark is kicked out, the number of remaining valence quarks of that species is reduced accordingly. Thus, for a proton, the valence d distribution is completely removed if the valence d quark has been kicked out, whereas the valence u distribution is halved when one of the two is kicked out. In cases where the valence and sea u and d distributions are not separately provided from the PDF libraries, it is assumed that the sea is flavour-antiflavour symmetric, so that one can write e.g. u(x,Q2) = u_v(x,Q2) + u_s(x,Q2) = u_v(x,Q2) + ubar(x,Q2). The parametrized u and ubar distributions are then be used to find the relative probability for a kicked-out u quark to be either valence or sea. * When a sea quark is kicked out, it must leave behind a corresponding antisea parton in the beam remnant, by flavour conservation. We call this a companion quark, and bookkeep it separately from the normal sea. In the perturbative approximation the sea quark s and its companion c (not to be confused with flavour labels) come from a gluon branching g -> s + c. This branching often would not be in the perturbative regime, but we choose to make a perturbative ansatz, and also to neglect subsequent perturbative evolution of the c distribution. If so, the shape of the companion c distribution as a function of x_c, given a sea parton at x_s, becomes c(x_c; x_s) proportional to g(x_c + x_s)/(x_c + x_s) * P_{g->sc}(z) where z = x_c/(x_c + x_s) and P_{g->sc}(z) = (z^2 + (1-z)^2)/2. For the gluon an ansatz g(x) proportional to (1-x)^n/x is chosen. (Remember that this is supposed to occur at some low Q2 scale, so should not be confused with the high-Q2 gluon behaviour.) * The normalization of valence and companion distributions is fixed by the respective number of quarks. Gluon and sea distributions do not have corresponding requirements. Therefore their normalization is adjusted, up or down, so as to obtain overall momentum conservation in the parton densities. As mentioned, this parton density strategy is also used to construct the initial-state shower (by backwards evolution). Thus, even if the hard scattering does not involve a valence quark, say, the possibility exists that the shower will reconstruct back to one. The second part of the model is to hook up the scattered partons to the beam remnants, in colours, in transverse momenta and in longitudinal momenta. The order in which these choices are made is partly intertwined, and one has to consider several special cases. In this description we only give an outline, evading many of the details. Especially the assignment of colours is physically uncertain and technically challenging. Each of the two incoming beam hadrons can be viewed - post facto - as having consisted of a set of "initiator" and "remnant" partons. An initiator is the "original" parton that starts the initial-state cascade that leads up to one of the hard interactions. Together the initiators and remnants make up the original proton, so together they carry the proton net flavour content, and energy and momentum, and are in a colour singlet state. Therefore the remnant partons are constrained to carry "what is left" when the initators are removed. The one exception is that we do not attempt to conserve longitudinal momentum (and thereby energy) exactly within each incoming proton, but only for the system as a whole. The reason here is that we have put all initiators and remnants on mass shell, whereas a more proper treatment ought to have included (moderate) spacelike virtualities for them. Such virtualities would have dissipated in the hard interactions, and so not survived to the final state. The current choice therefore shortcuts a number of technical details that in the end should not matter. In an event with n multiple interactions, a corresponding set of n initiator partons is defined for each of the two incoming beams. This also defines the left-behind flavour content of the remnants. At most there could be n+3 remnant partons for a proton with its 3 valence flavours, but there could also be none, if all valence quarks have been kicked out and no unmatched companions have been added. In the latter case a gluon is inserted to carry leftover momentum, but else we do not introduce gluons in the beam remnant. In the string model, the simplest representation of a baryon is the Y-shape topology, where each of the three valence quarks is connected via its string piece to the central junction. This junction does not carry energy or momentum of its own, but topologically it is the carrier of the baryon number. Under normal circumstances, the legs in the Y are quite short. Interactions may deform the topology, however. The simplest example would be Deeply Inelastic Scattering, where one of the valence quarks is kicked violently, so that one of the three strings of the Y will stretch out and fragment into hadrons. In this topology the other two will remain so close to each other and to the junction that they effectively act as a single unit, a diquark. In a hadronic interaction, a valence quark is kicked out by a coloured gluon rather than a colourless photon. This colour exchange implies that the string from the junction will no longer attach to the scattered quark but rather to some other quark or gluon, but the other two quarks still effectively form a diquark. When two or three valence quarks are kicked out, the junction motion will become more complicated, and has to be considered in full. Multiple valence quark interactions are rare, however. The bulk of interactions are gluonic. In this case we can imagine that the gluon initially is located (in colour space) on either of the three string pieces, i.e. has an anticolour attached to one of the quarks and a colour attached to the junction. After the gluon is kicked out, colour lines will then connect this quark and the junction to partons in the final state of the interaction. If a second gluon is kicked out, it can, in colour space, have been located either between the quark and the first gluon, or between this gluon and the junction, or between the junction and the other two quarks. If all of these possibilities had equal probability, the junction would often have two or all three legs reconnected, and the baryon number could be moved quite dramatically in the event. Empirically, this does not appear to happen (?), and furthermore it could be argued that perturbative and impact-parameter arguments both allow much of the activity to be correlated in "hot spot" regions that leave much of the rest of the proton unaffected. Therefore a free suppression parameter is introduced, such that further gluons preferably connect to a string piece that has already been disturbed. Gluons therefore preferentially will be found on one of the three colour lines to the junction, but there are assumed to appear in any order. A complication is the following. Two g + g -> g + g scatterings each on their own may have a perfectly sensible colour flow. Still, when the two initial gluons on each side of the event are attached to each other and to the rest of the remnants, the resulting colour flow may become unphysical. Specifically the colour flow may "loop back" on itself, such that a single gluon comes to form a separate colour singlet system. Such configurations are rejected and alternative colour arrangements are tried. Another, rare, occurence is that the two junctions of the event can come to be connected to each other via two strings (graphical representation -j=j-). Since we have not (yet) programmed a fragmentation scheme for such events, we simply reject them and generate a new event instead. So far, interactions with sea quarks have not been mentioned, either a quark-antiquark pair that both scatter or a single sea scatterer with a leftover companion quark in the remnant. However, we have already argued that each such pair can be viewed as coming from the branching of some initial nonperturbative gluon. This gluon can now be attached to the beam Y topology just like the gluons considered above, and therefore does not introduce any new degrees of freedom. When then the colours are traced, it could well happen that a companion quark together with two remaining valence quarks form a separate colour singlet system. It is then likely that this system will be of low mass and collapse to a single baryon. Such possibilities are optionally allowed, and correspondingly a companion antiquark could form a meson together with a single valence quark. As already mentioned, diquarks can be formed from two valence quarks. This completes a "baseline" description of colour topologies. So far no consideration has been given to the resulting momentum picture, specified after transverse and longitudinal momenta have been picked (see below). This in general implies that strings will be stretched criss-cross in the event. It is unlikely that such a scenario catches all the relevant physics. More likely is that, among all the possible colour topologies for the final state, those that corresponds to the smaller total string length are favoured, all other aspects being the same. Several options have been introduced that approach this issue from different directions. One is to attach the initiator gluons preferentially in those places that order the hard scattering systems sequentially in rapidity, another to prefer the attachments that will give rise to the smaller string lengths in the final state (before FSR is added). A third option is to rearrange the colour flow between the final-state partons (again, before FSR), again giving preference to those rearrangements which minimize the overall string length. So far no preferred scenario has been identified. Partons are expected to have primordial kT values of the order of a few hundred MeV from Fermi motion inside the incoming hadrons. In reality, one notes a need for a larger input in the context of shower evolution, either in parton showers or in resummation descriptions. This is not yet understood, but could e.g. represent a breakdown of the DGLAP evolution equations at small Q2. We therefore have reason to consider an effective "primordial kT", at the level of the initiators, larger than the one above. For simplicity, a parametrized Q-dependent width sigma(Q) = max(2.1 GeV/(7 GeV + Q), PARJ(21)) is introduced, where sigma is the width of the two-dimensional Gaussian distribution of the initiator primordial kT (so that = sigma^2), Q is the scale of the hard interaction and PARJ(21) is the standard fragmentation pT width. The remnant partons correspond to Q=0 and thus hit the lower limit. Apart from the selection of each individual kT, there is also the requirement that the total kT of a beam add up to zero. Different strategies can be used here, from sharing the recoil of one parton uniformly among all other initiator and remnant partons, to only sharing it among those initiator/remnant partons that have been assigned as nearest neighbours in colour space. The longitudinal momenta of the initiator partons have been defined by the x values picked. The remaining longitudinal momentum is shared between the remnants in accordance with their character. A valence quark receives an x picked at random according to a small-Q2 valence-like parton density, proportional to (1-x)^a/sqrt(x), where a = 2 for a u quark in a proton and = 3.5 for a d quark. A sea quark must be the companion of one of the initiator quarks, and can have an x picked according to the c(x_c; x_s) distribution introduced above. A diquark would obtain an x given by the sum of its constituent quarks. (But with the possibility to enhance this x, to reflect the extra gluon cloud that could go with such a bigger composite object.) If a baryon or meson is in the remnant, its x is equated with the z value obtainable from the Lund symmetric fragmentation function. A gluon only appears in an otherwise empty remnant, and can thus be given x = 1. Once x values have been picked for each of the remnants, an overall rescaling is performed such that the remnants together carry the desired longitudinal momentum. The following program changes may be noted. * New subroutines (S) and functions (F): - PYEVNW (S): main routine to generate an event using the new multiple interactions framework with pT-ordered ISR and FSR parton showers. This routine can be used in exactly the same way as PYEVNT. One can freely mix calls to the two routines in the same run, after the PYINIT call. However, some of the multiple interactions and shower parameters have a different meaning or different proposed best values, which means that caution is recommended. For instance, a change of pT0 in PARP(82) would require a re-initialization. - PYEVOL (S): initializes and evolves an event consisting of a single 2->2 hard scattering down in pT^2 from some PT2MAX scale down to PT2MIN with multiple interactions and initial state radiation. - PYMIGN (S): initialises multiple interactions. Also generates multiple interaction kinematics and flavours in the `intermediate model' (equivalently to PYMULT in the old scheme). - PYPTMI (S): Initialises, generates, and accepts additional trial interactions in the new model. Also collapses the flavour wavefunction of newly created quarks (from interactions or ISR branchings) into valence / sea / companion quarks. - PYPTIS (S): Initialises, generates, and accepts additional trial ISR branchings in the new model. - PYMIHK (S): finds left-behind remnant flavour content and hooks up the colour flow between the hard scattering and remnants (part of PYREMN in the old scheme). - PYMIRM (S): picks primordial kT and shares longitudinal momentum among beam remnants (part of PYREMN in the old scheme). - PYCTTR (S): Auxiliary routine. Traces the colour flow in the Pythia event record and translates it into a structure based on Les Houches Accord style colour tags. - PYMIHG (S): Auxiliary routine to PYMIHK used to test initial state colour connections. Keeps track of which colour tags have been collapsed with each other and tests whether a given new collapse will result in singlet gluons. - PYFCMP (F): Gives the PDF (x*f) distribution of companion quarks. - PYPCMP (F): Gives the momentum integral of a companion quark PDF. * Non-negligible changes in PYPREP, PYSTRF, PYPDFU, and other routines to better handle the new colour flows and especially the description of junction topologies. * New switches, or options of switches, and parameters in /PYPARS/. Unless otherwise stated, they are only defined in the new scenario. - MSTP(81) : (D=1) master switch for multiple interactions, and also for the associated treatment of beam remnants. Its meaning depends on whether PYEVNW (new framework) or PYEVNT (old and intermediate frameworks) are called. = 0 : off, old beam remnant scenario for PYEVNT, new beam remnants for PYEVNW. = 1 : on. If calling PYEVNT: old scenario for multiple interactions and remnants, for backwards compatibility. If calling PYEVNW: new (= interleaved, pT-ordered) scenario for multiple interactions and remnants. = 10 : (only with PYEVNT) off, new beam remnant scenario. = 11 : (only with PYEVNT) on, new beam remnant scenario, intermediate multiple interactions scenario. Warning: many parameters have to be tuned differently for the old and new scenarios, such as PARP(81) - PARP(84), PARP(89) and PARP(90), and others are specific to each scenario. In addition, the optimal parameter values depend on the choice of parton densities and so on. Therefore you must pick a consistent set of values, rather than simply changing MSTP(81) by itself. An example, for the old multiple interactions scenario in PYEVNT, is Rick Field's Tune A: MSTP(81)=1, MSTP(82)=4, PARP(67)=4.0, PARP(82)=2.0, PARP(83)=0.5, PARP(84)=0.4, PARP(85)=0.9, PARP(86)=0.95, PARP(89)=1800.0, PARP(90)=0.25, with CTEQ5L (default). - MSTP(82) : (D=3) model for multiple interactions, especially with respect to impact-parameter picture, as before. Default changed to single Gaussian (possibly to be changed to the =4 option in the future), and new option =5 added. Below only short reminder, see manual for details. = 1 : a sharp pTmin cutoff and no impact parameter dependence. = 2 : a smooth pT0 turnoff and no impact parameter dependence. = 3 : a smooth pT0 turnoff and a Gaussian matter distribution. = 4 : a smooth pT0 turnoff and a double Gaussian matter distribution, parametrized by PARP(83) and PARP(84). = 5 : a smooth pT0 turnoff and an overlap function (the convolution of two matter distributions) of the form exp(- b^d), with d = PARP(83). Note that the meaning of PARP(83) is different from that in the =4 option. - MSTP(84) : (D=1) switch for initial-state radiation in interactions after the first one. = 0 : off. = 1 : on, provided that MSTP(61)=1. Note : initial-state radiation in the first (hardest) interaction is not affected by MSTP(84), but only by MSTP(61). - MSTP(85) : (D=1) switch for final-state radiation in interactions after the first one. = 0 : off. = 1 : on, provided that MSTP(71)=1. Note : final-state radiation in the first (hardest) interaction is not affected by MSTP(85), but only by MSTP(71). - MSTP(87) : (D=4) when a sea quark (antiquark) is picked from a hadron at some x_s value, there has to be a companion sea antiquark (quark) at some other x_c value. The x_c distribution is assumed given by a convolution of a mother gluon distribution g(x = x_s + s_c) with the perturbative g -> q + qbar DGLAP splitting kernel. The simple ansatz g(x) = N (1-x)^n/x is used, where N is a normalization constant and n = MSTP(87). MSTP(87) thus controls the large-x behaviour of the assumed gluon distribution. Only integers MSTP(87) = 0, 1, 2, 3 and 4 are available; values below or above this range are set at the lower or upper limit, respectively. - MSTP(88) : (D=1) strategy for the collapse of a quark-quark-junction configuration to a diquark, or a quark-quark-junction-quark configuration to a baryon, in a beam remnant = 0 : only allowed when valence quarks only are involved. = 1 : sea quarks can be used for diquark formation, but not for baryon formation. = 2 : sea quarks can be used also for baryon formation. - MSTP(89) : (D=1) Selection of method for colour connections in the initial state. Note that all options respect the suppression provided by PARP(80). = 0 : Random. = 1 : The hard scattering systems are ordered in rapidity. The initiators on each side are connected so as to minimize the rapidity difference between neighbouring systems. = 2 : Each connection is chosen so as to minimize an estimate of the total string length resulting from it. (This is the most technically complicated, and hence computationally slow approach.) - MSTP(90) : (D=0) strategy to compensate the "primordial kT" assigned to a parton shower initiator or a beam remnant parton. = 0 : All other such partons compensate uniformly. = 1 : Compensation spread out across colour chain as (1/2)^n, where n is number of steps the parton is removed in the chain. = 2 : Nearest colour neighbours only compensate. - MSTP(95) : (D=1) Selection of method for colour reconnections in the final state. If on, the amount of reconnections is controlled by PARP(78). Note that the meaning of this switch differs between events generated with PYEVNW and ones generated with the intermediate scenario in PYEVNT. For the former case, the reconnections are performed after multiple interactions and the initial-state showers have been generated, but *before* the final-state showers, whereas in the latter case also the final-state showers are generated before reconnections are tried. (In the old scenario, instead PARP(85) and PARP(86) regulate colour connections, but in a different way.) = 0 : Off. = 1 : On. (NB: reconnections are still only allowed if there was actually more than one interaction in the given event, 1) since the colour flow of 1 interaction should be defined entirely by the shower, and 2) since one otherwise obtains a (probably unwanted) component of diffractive topologies.) - PARP(78) : (D=0.025) parameter controlling amount of colour reconnection in the final state. Try a fraction PARP(78) of the total number of colour tags, selected at random. For each, attempt a swap with a randomly selected other tag. Perform all reconnections which reduce the total string length and which are consistent with the choice of strategy in MSTP(90). If at least one reconnection is successfully made, loop back and try again, else keep the final state topology arrived to at this point. Note that values of PARP(78) well in excess of 1D0 are necessary if the "most extreme case" scenario is desired. Also note that the meaning of this parameter will most likely be changed in future updates. At present, it merely represents a crude way of turning up and down the amount of colour reconnections going on in the final state. - PARP(79) : (D=2.0) Enhancement factor applied when assigning x to composite systems (e.g. diquarks) in the beam remnant. Modulo a global rescaling (=normalization) of all the BR parton x values, the x of a composite system is PARP(79) times the trivial sum over x values of its individual constituents. - PARP(80) : (D=0.1) when colours of partons kicked out from a beam remnant are to be attached to the remnant, PARP(80) gives a suppression for the probability of attaching those partons to the colour line between two partons which themselves both lie in the remnant. A smaller value thus corresponds to a smaller probability that several string pieces will go back and forth between the beam remnant and the hard scattering systems. - PARP(82) : (D=2.0 GeV) pT0 scale, as before, but changed default value. - PARP(83), PARP(84) : for MSTP(82)=4 they retain the old meaning, but for MSTP(82)=5 the PARP(83) acquires a new meaning, see MSTP(82) above. In the former function PARP(83) would be a number below unity, while in the latter the more interesting range is between 1 and 2, so it is important to set PARP(83) explicitly. - PARP(89) : (D=1800 GeV) reference energy for energy rescaling, as before, but changed default value. * New and changed internal switches and parameters in /PYINT1/: - MINT(30) : normally 0, but when 1 or 2 it is a signal for PYPDFU that PDFs are to be evaluated taking into account the partons already removed from the beam remnant on side 1 or 2 of the event. - MINT(33) : Switch to select how to trace colour connections in PYPREP. = 0 : Old method, using K(I,4) and K(I,5). = 1 : New method, using Les Houches Accord style colour tags stored in COMMON /PYCT/ NCT, MCT(4000,2). - MINT(34) : counter for the number of final state colour reconnections in the new multiple interactions scenario. - MINT(35) : internal switch to tell which routine generates the event, so that some details (partly physics, partly administrative) can be processed differently in called routines. = 1 : PYEVNT generates event in "old" Pythia 6.2 mode. = 2 : PYEVNW generates event, or PYEVNT in "intermediate" mode. - MINT(36) : currently considered interaction number for (trial) showers and (trial) additional interaction, i.e. =1 for hardest interaction and > 1 for additional interactions. MINT(36) <= MINT(31) for showering, while MINT(36) = MINT(31)+1 for additional (trial) interaction. - MINT(54) : internal counter for the number of lines used (in /PYJETS/) after beam remnants are considered. - MINT(351): Current number of multiple interactions, excluding the hardest in an event; is normally equal to MINT(31)-1 = MSTI(31)-1, but is = 0 when MINT(31) = MSTI(31) = 0. - MINT(352): Current number of ISR branchings. - MINT(353): Current number of FSR branchings - MINT(354): Current number of MI joinings. (not fully implemented.) - VINT(17) : (D=0D0) absolute lower PT2 scale, as used to determine exit of MI and IS routines. - VINT(18) : Soft destructive colour interference scale used for regularising the multiple interactions and ISR matrix elements. - VINT(351): Scalar Sum(pT) of multiple interactions, excluding the hardest process.(Note that the total ET is twice this, since each interaction produces two opposite-pT partons.) - VINT(352): Scalar Sum(pT) of ISR branchings, with pT defined with respect to the direction of the branching parton. (Note that each branching produces two opposite-pT daughters, resulting in a factor two more activity.) - VINT(353): Scalar Sum(pT) of FSR branchings, with comment as above. - VINT(354): Scalar Sum(pT) of MI joinings. (not fully implemented.) - VINT(356): pT of hardest multiple interaction (i.e. excluding the very first one). - VINT(357): pT of hardest ISR branching. - VINT(358): pT of hardest FSR branching. - VINT(359): pT of hardest joining. * New internal commonblock to carry information relevant for multiple interactions in the new scheme: COMMON/PYINTM/KFIVAL(2,3),NMI(2),IMI(2,800,2),NVC(2,-6:6), & XASSOC(2,-6:6,240),XPSVC(-6:6,-1:240),PVCTOT(2,-1:1), & XMI(2,240),PT2MI(240),IMISEP(0:240) - KFIVAL(JS,J) : enumeration of the initial valence quark content on side JS. A baryon requires all three slots J, while a meson only requres the first two, so that KFIVAL(JS,3)=0. The contents are initially zero for a gamma, pi0, K0S, K0L, and are only set once a valence quark is kicked out. (For instance, a pi0 can be either u ubar or d dbar, only a scattering will tell.) - NMI(JS) : total number of scattered and remnant partons on side JS, including hypothesized gluons that branches to a sea (anti)quark and its companion. - IMI(JS,I,1) : position in the /PYJETS/ event record of a scattered or remnant parton, or a hypothesized gluon that branches to a sea (anti)quark and its companion. Here JS gives the side and 1 <= I <= NMI(JS) enumerates the partons. - IMI(JS,I,2) : nature of the partons described above. = 0 : a valence quark or a gluon. > 0 : parton is part of a sea quark-antiquark pair, and IMI(JS,I,2) gives the position in the event record of the companion. < 0 : flag that parton is a sea quark for which no companion has yet been defined; useful at intermediate stages but should not be found in the final event. - NVC(JS,IFL) : total number of unmatched sea quarks on side JS of flavour IFL. - XASSOC(JS,IFL,I) : the x value of an unmatched sea quark, on side JS of flavour IFL and with 1 <= I <= NVC(JS,IFL). When a companion quark is found then XASSOC is put to zero, while NVC is unchanged. - XPSVC(IFL,J) : subdivision of the parton density x*f(x) for flavour IFL obtained by a PYPDFU call (with MINT(30) = side JS). J = -1 : sea contribution. J = 0 : valence contribution. 1 <= J <= NVC(JS,IFL) : sea companion contribution from each of the above unmatched sea quarks. - PVCTOT(JS,J) : momentum fraction, i.e. integral of x*f(x), inside the remaining hadron on side JS. J = -1 : total carried originally by valence quarks. J = 0 : total carried by valence quarks that have been removed. J = 1 : total carried by unmatched sea companion quarks. - XMI(JS,I) : x value of incoming parton on side JS for interaction number I, 1 <= I <= MINT(31). When there is an initial-state shower, x refers to the initiator of this shower rather than to the incoming parton at the hard interaction. The x values are normalized to the full energy of the incoming hadron, i.e. are not rescaled by previous interactions. - PT2MI(I) : the virtuality (PT2 or Q2) scale of the hard interaction number I, 1 <= I <= MINT(31). This is the scale stored in VINT(54), i.e. the Q2 used to evaluate parton densities at the hard scattering. - IMISEP(I) : last line in the event record filled by partons belonging to the interaction number I, 1 <= I <= MINT(31). Thus interaction I is stored in lines IMISEP(I-1)+1 through IMISEP(I), where IMISEP(0) has been set so that this holds also for I=1. * New common block to carry information on hardest trial branching so far, during the generation of trial ISR branchings and multiple interactions in PYEVOL. COMMON/PYISMX/MIMX,JSMX,KFLAMX,KFLCMX,KFBEAM(2),NISGEN(2,240), & PT2MX,PT2AMX,ZMX,RM2CMX,Q2BMX,PHIMX - MIMX : Interaction number of hardest trial branching so far. - JSMX : Side of -"-. - KFLAMX : Mother flavour of -"-. - KFLCMX : Timelike sister flavour of -"-. - KFBEAM(JS) : KF code of beam on side JS. - NISGEN(JS,MI) : Number of already generated ISR branchings on interaction number MI, side JS. - PT2MX : Evoluton pT2 scale of hardest trial branching so far. - PT2AMX : Physical pT2 of -"-. - ZMX : z energy sharing fraction of -"-. - RM2CMX : Timelike sister mass squared for -"-. - Q2BMX : Spacelike virtuality of -"-. - PHIMX : Azimuthal (phi) angle of -"-. * New common block to carry Les Houches Accord style colour tag information for partons in the event record. COMMON /PYCT/ NCT, MCT(4000,2). - NCT : Number of colour lines in the event, from 1 to NCT. - MCT(I,1) : Colour tag of parton I. - MCT(I,2) : Anticolour tag of parton I. * New internal common block to store temporary colour tag information while hooking up initial state, used to communicate between PYMIHK and PYMIHG. COMMON /PYCBLS/MCO(4000,2),NCC,JCCO(4000,2),JCCN(4000,2),MACCPT - MCO(I,J) : Original colour tag J of parton I before initial state connection procedure was started. - NCC : Number of colour tags that have so far been collapsed. - JCCO(I,J) : Colour tag collapse array, I <= NCC. The I'th collapse is between colour tags JCCO(I,1) and JCCO(I,2). - JCCN(I,J) : Temporary storage for collapse being tested. If collapse is accepted, JCCO is set equal to JCCN. ----------------------------------------------------------------------- NEW pT-ORDERED INITIAL- AND FINAL-STATE SHOWERS The traditional PYSHOW (PYSSPA) routines give mass-ordered timelike (spacelike) cascades, with angular ordering by veto, for FSR (ISR) radiation. They offer an alternative to the Herwig angular-ordered and Ariadne pT-ordered showers. For FSR, comparably good descriptions of most properties can be obtained of LEP data by all three, although Ariadne seems to do slightly better than the others. For ISR, precise experimental tests are more difficult, but on the theoretical side, the Ariadne model is here the more primitive of the three. Recently, the possibility to combine separately generated n-parton configurations from Born-level matrix element expressions has attracted attention, see S. Catani, F. Krauss, R. Kuhn and B.R. Webber, JHEP 0111 (2001) 063; L. Lönnblad, JHEP 0205 (2002) 046; F. Krauss, JHEP 0208 (2002) 015; and S. Mrenna and P. Richardson, JHEP 0405 (2004) 040. This requires the implementation of vetoed parton showers, to forbid emissions that would lead to doublecounting, and trial parton showers, to generate the appropriate Sudakovs lacking in the matrix elements. The PYSHOW and PYSSPA algorithms are not well suited for this kind of applications, since the full evolution process cannot easily be factored into a set of evolution steps in well-defined mass ranges - the kinematics is closely tied both to the mother and the daughter virtualities of a branching. As an alternative, PYPTFS (PTFS = PT-ordered Final-State) offers a final-state shower algorithm which borrows several of the Ariadne ideas (but programmed independently), combined with many of the old PYSHOW elements. For initial-state showers, these now take place together with the evolution of the multiple interactions machinery, in a joint sequence of falling pT. The new routine PYEVOL handles this evolution, calling PYPTIS and PYPTMI for trial-emissions and -interactions, respectively. The features of the new multiple interactions framework are described above. Some main features common to both the new showering algorithms are: * They are parton showers rather than dipole emission algorithms, in the sense that the emission process is associated with the branching of a single parton. * For FSR, the daughter partons of a branching are put on-shell. For ISR, the mother and the timelike "sister" are put on-shell. Instead a recoiling partner is assigned for each branching, and energy and momentum is "borrowed" from this partner to give mass to the branched parton. In this sense, the branching and recoiling partons form a dipole. Normally the two are colour-connected, i.e. the colour of one matches the anticolour of the other, but this need not be the case. For instance, in t -> b W the W takes the recoil when the b radiates a gluon. The radiation of a gluon is split into two dipoles, again normally by colour. * The evolution variable is approximately the pT^2 of a branching, where pT is the transverse momentum for each of the two daughters with respect to the direction of the mother, in the rest frame of the dipole. (The recoiling parton does not obtain any pT kick in this frame; only its longitudinal momentum is affected.) For the simple case of massless radiating partons, and in the limit that recoil effects from further emissions can be neglected, it coincides with the pT clustering distance defined in the original LUCLUS (PYCLUS) algorithm. * All emissions are ordered in a single sequence pT_max > pT_1 > pT_2 > .... > pT_min. That is, all initial partons are evolved from the input pT_max scale (forwards for FSR, backwards for ISR), and the one with the largest pT is chosen to undergo the first branching (for ISR, there is the additional requirement that this pT also be larger than that of an additional trial interaction). Thereafter, all partons now existing are evolved downwards from pT_1, and a pT_2 is chosen, and so on, until pT_min is reached. (Technically, the pT values for partons not directly or indirectly affected by a branching need not be reselected.) For FSR, the evolution of a gluon is split in evolution on two separate sides, with half the branching kernel each, but with different kinematical constraints since the two dipoles have different masses. The evolution of a quark is also split into one pT scale for gluon emission and one for photon one, in general corresponding to different dipoles. * With the choices above, the evolution factorizes. That is, a set of successive calls, where the pT_min of one call becomes the pT_max of the next, gives the same result (on the average) as one single call for the full pT range. This is the key element to allow Sudakovs to be conveniently obtained from trial showers, and to veto emissions above some pT scale, as required to combine different n-parton configurations. From version 6.313 on, not only PYPTFS but also PYEVOL can be called repeatedly in this way. * For ISR, in addition to the sharp cutoff at pTmin described above, a new option has been included to smoothly regularise the divergence around a given regularisation scale pT0, i.e. similar to what is being done for taming the rise of the multiple interactions cross section. The physical motivation is that, since at zero momentum transfer the beam hadron behaves like a colour singlet object, then at low scales the effective coupling of partons to coloured probes should be reduced, to take into account that this `colour screening' is not included at all in the lowest-order branching and interaction matrix elements. * For FSR, the formal pT definition is pT_evol^2 = z(1-z)(m^2 - m_0^2), where pT_evol is the evolution variable, z gives the energy sharing in the branching, as selected from the branching kernels, m is the off-shell mass of the branching parton and m_0 its on-shell value. * For ISR, the formal pT definition is pT_evol^2 = (1-z)(Q^2 + m_0^2), with the same definitions as above and with Q^2 = -m^2 the spacelike virtuality. * When a pT_evol has been selected, this is translated to an m^2 or Q^2 (using the same formulae as above). From there on, the three-body kinematics of a branching is constructed as in PYSHOW or PYSSPA, see E. Norrbin and T.S., Nucl. Phys. B603 (2001) 297. This includes the interpretation of z and the handling of nonzero on-shell masses for branching and recoiling partons, which leads to the physical pT not agreeing with the pT_evol defined here. In this sense, pT_evol becomes a formal variable, while m really is a well-defined mass of a parton. * For FSR, also the handling of matrix element matching closely follows the machinery of the article above, once the pT_evol has been converted to a mass m^2 of the branching parton. In general, the "other" parton used to define the matrix element need not be the same as the recoiling partner. To illustrate, consider a Z0 -> q qbar decay. In the first branching, say it is the q, obviously the qbar takes the recoil, and the new q, g and qbar momenta are used to match to the q qbar g matrix element. The next time q branches, the recoil is now taken by the current colour-connected gluon, but the matrix element corrections are based on the newly created q and g momenta together with the qbar (not the recoiling g!) momentum. That way we hope to achieve the most realistic description of mass effects in the collinear and soft regions. * For ISR, the matrix element merging is similar to that of PYSSPA, once the pT_evol has been converted to a virtuality Q^2 = -m^2 of the branching parton. Processes for which matrix element merging is available currently include gamma*/Z0/W production, and gg->H0. See G. Miu and T.S., Phys. Lett. B449 (1999) 313. * The FSR shower also inherits some further elements from PYSHOW, such as azimuthal anisotropies in gluon branchings from polarization effects. * The relevant parameters will have to be retuned, since the showers are quite different from the mass-ordered ones of PYSHOW and PYSSPA. In particular, it appears that the five-flavour Lambda_QCD value in PARJ(81) has to be reduced relative to the current default, roughly from 0.29 to 0.14 GeV. --- THE PYPTFS ALGORITHM The PYPTFS algorithm can be called directly on any parton configuration stored in the /PYJETS/ commonblock, provided that configuration has been set up with the appropriate colour flow, as required before a PYSHOW call. The calling sequence is: CALL PYPTFS(NPART,IPART,PTMAX,PTMIN,PTGEN) Purpose: to generate a pT-ordered timelike final-state parton shower. NPART : the number of partons in the system to be showered. Must be at least 2, and can be as large as required (modulo the technical limit below). Is updated at return to be the new number of partons, after the shower. IPART : array, of dimension 500 (cf. the Les Houches user process accord), in which the positions of the relevant partons are stored. To allow the identification of matrix elements, (the showered copies of) the original resonance decay products, if any, should be stored in the first two slots, IPART(1) and IPART(2). Is updated at return to be the new list of partons, by adding new particles at the end. Thus, for q -> q g the quark position is updated and the gluon added, while for g -> g g and g -> q qbar the choice of original and new is arbitrary. PTMAX : upper scale of shower evolution. An absolute limit is set by kinematical constraints inside each "dipole". PTMIN : lower scale of shower evolution. For QCD evolution, an absolute lower limit is set by PARJ(82)/2 and 1.1*Lambda(3flavours). For QED evolution, an absolute lower limit is set by PARJ(83)/2 or PARJ(90)/2. PTGEN : returns the hardest pT generated; if none then PTGEN=0. Note 1: The evolution is factorized, so that a set of successive calls, where the PTMIN and IPART output of one call becomes the PTMAX and IPART input of the next, gives the same result (on the average) as one single call for the full pT range. In particular, the IPART(1) and IPART(2) entries continue to point to (the showered copies of) the original decay products of a resonance if they did so to begin with. Note 2: In order to read a shower listing, note that each branching now lists three "new" partons. The first two are the daughters of the branching, and point back to the branching mother. The third is the recoiling parton after it has taken the recoil, and points back to itself before the recoil. The total energy and momentum is conserved from the mother and original recoil to the three new partons, but not separately between the mother and its two daughters. Note 3: The shower is not (yet) set up to handle radiation in baryon-number-violating decays. There are also a few other areas where it has not yet been fully developed. Note 4: The PYPTFS can also be used as an integrated element of a normal PYTHIA run, in places where PYSHOW would otherwise be used. This is achieved by setting MSTJ(41) = 11 or 12. Then PYSHOW will call PYPTFS, provided that the size of the showering system is between 2 and 7 (the latter being the PYSHOW limit). PTMAX is chosen to be half of the QMAX scale of the PYSHOW call, and PTMIN is chosen to zero (which means default lower limits will be used). This works nicely e.g. in e+e- annihilation and for resonance decays. Currently it is not so convenient for hadronic events: there is not yet a matching to avoid doublecounting between initial- and final-state radiation, and sidebranch timelike evolution in spacelike showers is currently handled by evolving one parton with PYSHOW, which PYPTFS is not set up for. Note 5: For simplicity, all partons are evolved from a common PTMAX scale. The formalism easily accommodates separate PTMAX scales for each parton, but we have avoided this for now so as not to complicate the routine unnecessarily for general use. Essentially all the relevant functionality of PYSHOW remains, but many non-standard options have not been implemented, and maybe never will: scalar gluon and Abelian vector gluon models, fixed alpha_strong, and so on. Currently the available options and parameters are: MSTJ(41) : (D=2) type of branching allowed in shower. = 0 : no showering at all. = 1 or 11 : QCD branchings only. = 2 or 12 : QCD branchings and photon emission. Note: when PYPTFS is called directly, 1 and 11 are equivalent, and so are 2 and 12. When PYEVNT or PYEEVT are called, 1 and 2 implies that a PYSHOW shower will always be obtained, while 11 and 12 means that PYPTFS will be called if possible. MSTJ(45) : (D=5) maximum flavour allowed in g -> q qbar branchings. MSTJ(46) : (D=3) nonhomogeneous azimuthal distribution in gluon branching induced by gluon polarization. = 0, 2 : no. = 1, 3 : yes MSTJ(47) (and MSTJ(38), PARJ(80)) : possibility to pick different matrix element corrections; default tries to make best match to given list of partons. PARJ(81) : (D=0.29 GeV) Lambda_QCD; should be reduced to around 0.14 in new shower. PARJ(82) : (D=1 GeV) twice pTmin cutoff for QCD shower. PARJ(83) : (D=1 GeV) twice pTmin cutoff for photon emission off a quark. PARJ(90) : (D=0.0001 GeV) twice pTmin cutoff for photon emission off a lepton. --- THE PYPTIS ALGORITHM The PYPTIS algorithm should not normally be called directly by the user. Instead, PYEVNW should be called, to generate an event using the new interleaved ISR and MI framework (but MI can of course still be switched off). PYEVNW first generates a hard scattering (normally 2->2 or 2->1) and subsequently calls the routine PYEVOL, which handles the PT-ordered `interleaved' evolution of ISR and MI in parallel via the two new routines PYPTIS and PYPTMI. Again, most of the relevant functionality of PYSSPA remains, but many non-standard options have not been implemented, and maybe never will, e.g. fixed alpha_s etc. The main switches and parameters controlling PYPTIS are: MSTP(61) : (D=1) ISR master switch. = 0 : ISR switched off. > 0 : ISR switched on. (Both QCD and QED radiation included.) MSTP(62:67) : Not (yet) used in the new framework. MSTP(68) : (D=1) Choice of maximum virtuality scale and matrix element matching scheme for ISR. Meaning is unchanged from old framework. MSTP(69) : Scale choice for parton distributions. Meaning is unchanged from old framework. MSTP(70) : (D=1) regularization scheme for ISR radiation when pT -> 0. = 0 : sharp cut-off at pTmin = PARP(62)/2. = 1 : sharp cut-off at pTmin = PARP(81), rescaled with energy, the same as the pTmin scale used for multiple interactions when MSTP(82) = 1. = 2 : a smooth turnoff at pT0 = PARP(82), rescaled with energy, the same as the pT0 scale used for multiple interactions when MSTP(82) > 1. Thus dpT^2/pT^2 -> dpT^2/(pT^2 + pT0^2) and alpha_s(pT^2) -> alpha_s(pT^2 + pT0^2). Note that, even though one could in principle allow branching down to vanishing pT this way (with a highly suppressed rate), the algorithm is nonetheless forced to stop once the evolution has reached a scale equal to 1.1 times the 3-flavour Lambda_QCD. MSTP(72) : (D=1) maximum scale for radiation off FSR dipoles stretched between ISR partons. = 0 : the pTmax scale of FSR is set as the minimum of the pT production scale of the two endpoint partons. Dipoles stretched to remnants do not radiate. = 1 : the pTmax scale of FSR is set as the pT production scale of the respective radiating parton. Dipoles stretched to remnants do not radiate. = 2 : the pTmax scale of FSR is set as the pT production scale of the respective radiating parton. Dipoles stretched to remnants can radiate (by emissions off the perturbative-parton side, not the remnant one). MSTP(96) : (D=0) ISR joinings between different multiple interactions ISR chains (= `intertwining') on/off. = 0 : no joinings allowed. = 1 : pT scales of joinings are found, but joinings are not actually performed. = 2 : (joinings allowed - not yet implemented). Note : At present, only the splitting kernels have been implemented, allowing to estimate the overall rates and pT spectra of joinings, but the actual kinematics has not yet been worked out, so that only `trial joinings' can be generated. Even if switched on, joinings will therefore NOT at present occur physically in the generated events. PARP(61:62) : Lambda_QCD for ISR and effective pT cutoff. Meanings unchanged from old framework (except for the modifications of the cutoff interpretation implied by the choice of regularisation strategy in MSTP(70)). PARP(63:68) : Not used in new framework. ----------------------------------------------------------------------- AN INTERFACE TO SUSY SPECTRUM AND DECAY CALCULATORS At the Les Houches 2003 Workshop on Physics at TeV Colliders, a preliminary interface between SUSY spectrum and decay calculators and event generators was defined. Documentation on this standard may now be found in P. Skands et al, JHEP 07 (2004) 036, alternatively hep-ph/0311123, and at http://www.thep.lu.se/~zeiler/slha/ This standard is now available for PYTHIA, via the new routine PYSLHA (originally PYLHA3). This routine is normally automatically called by the PYINIT call, via the PYMSIN routine, provided that IMSS(1) has been set appropriately. It remains for the user to specify which logical units should be used for the various options, and to open those for read/write before PYINIT is called. IMSS(1) : (D=0) level of MSSM simulation. = 0 : no MSSM simulation. = 1, 2, 12: see PYTHIA manual. =11 : Read spectrum from SLHA file, on unit IMSS(21), and use these values for the subsequent MSSM simulation. IMSS(21) : (D=0) logical unit number from which the spectrum is to be read in. Not used unless IMSS(1)=11. IMSS(22) : (D=0) reading of particle decay data. = 0 : No decays are read in. The internal PYTHIA machinery is used to calculate decay rates. > 0 : Read decays from SLHA file on unit number IMSS(22). In normal usage one would expect IMSS(22) to coincide with IMSS(21), to ensure that the spectrum and decays are consistent with each other, but this is not a strict requirement. IMSS(23): (D=0) writing of MSSM spectrum data. = 0 : Don't write out spectrum. > 0 : Write out spectrum in SLHA format (calculated in PYTHIA or the one read in) to file on unit number IMSS(23). IMSS(24): (D=0) writing of MSSM particle decay table. = 0 : Don't write out decay table. > 0 : Write out decay table in SLHA format to file on unit number IMSS(24). Not implemented in the code yet. In normal usage one would expect IMSS(24) to coincide with IMSS(23), to ensure that the spectrum and decays are consistent with each other, but this is not a strict requirement. The PYSLHA routine can also be used standalone. We expect that the main applications would be to read in particle data, e.g. decay channels for the Standard Model Higgs, calculated to NLO (PYTHIA calculations are LO), or for some non-SUSY Beyond-the-SM particle. CALL PYSLHA(MUPDA,KFORIG,IFAIL) Purpose: to read in or write out SUSY spectra and decay tables. MUPDA : operation to be performed. = 1 : read SUSY spectrum from unit number IMSS(21). = 2 : read decay table for particle KFORIG from unit number IMSS(22). = 3 : write SUSY spectrum to unit number IMSS(23). = 4 : write decay table for particle KFORIG to unit number IMSS(24). Not yet implemented. Note: it is up to the user to open the file associated with the respective unit number before PYSLHA is called. KFORIG : particle code (according to the PDG standard, where applicable) for the particle considered for MUPDA = 2 or 4, else dummy. IFAIL : return code for the operation of the routine. = 0 : everything worked as expected. = 1 : error exit, e.g. if decay data for the requested KFORIG code were not found. ----------------------------------------------------------------------- CHANGES IN CONSECUTIVE SUBVERSIONS 6.300 : 28 July 2003 - baseline. Changes listed here are relative to PYTHIA 6.215. This version is described in the updated big manual, so only very brief comments are given here, with references to the manual for further details. - All further bug fixes in version 6.216 - 6.220. - The updated interface to ISASUSY 7.67 (see Pythia 6.217 update notes). - The expanded support for Les Houches User Process input (see Pythia 6.219 and 6.220 update notes). - A completely new multiple interactions scenario, as described above. Several of the related default values have been changed. - A new pT-ordered timelike shower algorithm, see above. - A new interface to the Les Houches Accord SUSY spectrum and decay calculators, see above. - A new option CALL PYLIST(4) gives an event listing similar to PYLIST(2), but excluding the momentum information, and instead providing the alternative Les Houches style colour tags used for final-state colour reconnection in the new multiple interactions scenario. It thus allows colour flow to be studied and debugged in a "leaner" format. - A call to PYSTAT(1) will also provide the total number of warnings and errors in the current run. By default only the ten first warnings and errors are written; now one may easily see whether many further occured but were not written in the output. MSTU(30) is introduced as a counter for the total number of errors, including those associated with junction fragmentation, while MSTU(23) excludes those. The error and warning counters MSTU(23),MSTU(27) and MSTU(30) are now reset to zero at each PYINIT call. 6.301 : 14 August 2003. - The PYLHA3 routine, providing the interface to the Les Houches accord SUSY spectrum and decay calculators, has been updated to reflect the current form of this standard. - PARP(95) came to have quite different meanings in the old and the new multiple interactions plus beam remnants models, and so the newer meaning has been moved to PARP(78). - The multiplicative factor PARP(67) for maximum virtuality in spacelike showers is now also applied for user processes and multiple interactions. (Since PARP(67)=1 by default this does not change the default behaviour.) - Allow up to five tries of the same hard-scattering configuration if an event fails in the PYPREP call. (The rate of such occurences is much higher in the new multiple interactions scenario, e.g. owing to topologies where two strings are stretched between two junctions. This should not unnecessarily punish otherwise valid hard interactions.) - The PYCT common block has been renamed PYCTAG. Some SAVE statements have been inserted for this and the /PYCBLS/ common block. - Remove the /CTST/ common block used for debug purposes. - Modify the initial check in PYSHOW, whether the input maximum evolution scale is below the lower cutoff, to reflect the changed IP2 input. - Correct bug in PYMIGN, that could lead to infinite loop in the choice of new flavour for processes 12 and 53. 6.302 : 31 October 2003. - New option MSTP(82) allows an alternative form of overlap function parametrization, O(b) = exp(-b^d). The power d=PARP(83) (note changed meaning of this parameter relative to the MSTP(82)=4 option) can be varied continuously, with a lower cutoff at 0.4 for technical reasons. The physically interersting range is between 1 and 2, i.e. between an exponential and a Gaussian. Can be used both in the old and the new multiple interactions scenario. - Several technical improvements (speedup) and minor bug fixes in the new multiple interactions machinery. - 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 - Header printed with PYLOGO is updated. 6.303 : 20 January 2004. - The PYLHA3 routine has been replaced by PYSLHA, and updated version of the SUSY Les Houches Accord interface. - The PYMIHK routine for hooking up colours in multiple interactions has been improved. - 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, and do not pick process 96 in PYRAND. These processes are used for the internal bookkeeping of multiple interactions, but should not be switched on by a user. - In PYPTFS, the new pT-ordered shower, the matrix element corrections to q -> q + gamma branchings have been corrected, so that x3 = 2 - x1 - x2 is calculated before used. - For process 161, g b -> H t, the top branching ratios are now convoluted into the cross section, as should be. 6.304 : 29 April 2004. - Setting of mother pointers for junction string topologies in PYSTRF corrected. - 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). - 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). - Fixed bug in PYSLHA that caused erroneous running when a particle with zero width (=stable) was read in. In addition, any decay lines associated with a zero width mother will now be ignored, giving a fast way of switching off decays without having to comment out all the decay lines. - Fixed bug in PYSLHA that caused unnecessarily repeated statements in the output when using the decay table read-in stand-alone. - Minor cosmetics with too long character strings. 6.305 : 1 July 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. - 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.312 : 14 September 2004. Changes listed here are relative to PYTHIA 6.305. The intervening version numbers were used only by the developers to keep track of the new parton shower and multiple interactions framework. Note that the changes in multiple interactions and parton showers are further documented in earlier sections of these notes. - Modifications in PYEVNT: old (PYTHIA 6.2) multiple interactions now reset as default, for MSTP(81)=1. The multiple interactions framework of previous 6.3 versions is still available through MSTP(81)=11. - New subroutine PYEVNW to generate events using the new pT-ordered initial- and final-state showers together with the new multiple interactions framework (interleaved with the ISR evolution). - New subroutines PYEVOL, PYPTIS, and PYPTMI, to handle the backwards evolution in pT of ISR and multiple interactions. - Changes in PYPDFU, splitting out the companion quark distributions and momentum integrals into separate functions PYFCMP and PYPCMP. - Bug corrected in PYMIHK concerning BR-g-BR (BR = beam remnant) suppression. Suppression is now abandoned for a retry if first pass fails to identify any possible attachment of the gluon. - Meaning of PARP(78) changed from quadratic to linear in the number of colour tags. The meaning of PARP(78) is now identical to that of F and F' as used in: T. Sjostrand and P. Skands, JHEP 03 (2004) 053. T. Sjostrand and P. Skands, hep-ph/0408302. 6.313 : 18 October 2004. General: modifications in the new interleaved MI/ISR machinery, to give a better organized overall structure and simultanously enable a "factorized" evolution of the initial state, i.e. with multiple successive calls to PYEVOL now being possible, similar to what was already the case for the final state evolution in PYPTFS. Also, a bug in PYPTIS causing erroneous behaviour near the Lambda mathcing scales, which resulted in an underpopulation of shower events in the regions immediately below the thresholds, has been fixed. - Modifications in PYEVNW. Much of the initialization and finalization of the MI/ISR evolution has now been removed from PYEVNW and placed inside PYEVOL, where it belongs more naturally. - The initialization and finalization previously residing in PYEVNW has been put into an "initialization" mode, a "re-initialization" mode, and a "finalization" mode in PYEVOL. The first is only called once for every event. The second mode resets relevant parameters (saved during the first call) and is re-done every time an evolution must be restarted (note this only applies to a restart of the entire evolution, not to the case when PYEVOL is called multiple times for factorized evolution, see below). - The functional form of PYEVOL has been changed from SUBROUTINE PYEVOL(MODE,PTMAX,PTMIN,PTGEN) to SUBROUTINE PYEVOL(MODE,PT2MAX,PT2MIN) since the evolution is anyway more naturally performed in squared pT rather than in linear pT. The parameter PTGEN has been removed, since it was not used in the code. The values of the MODE parameter are now: MODE = -1 : Initialize interleaved MI/ISR/JI evolution first time. Determine physical PT2MAX and PT2MIN scales. MODE = 0 : (Re-)initialize ISR/MI/JI evolution. MODE = 1 : Evolve ISR/MI/JI from PT2MAX to PT2MIN. MODE = 2 : Finalize MI/ISR/JI evolution. Multiple calls to PYEVOL using MODE=1 can be made, with the PT2MIN scale of one call being the PT2MAX scale of the next, producing a sequence of factorized evolution steps, if so desired. (Only relevant for some specialized applications like L-CKKW style PS/ME matching.) - In PYEVOL, JSMX now more clearly determines which evolution step has "won". Its possible values are: JSMX = -1 : No evolution step was found above the current PT2MIN. JSMX >= 0 : Generate an additional evolution step, as follows: = 0 : An additional interaction. = 1 : An ISR branching on side 1 (interaction number MIMX). = 2 : An ISR branching on side 2 (interaction number MIMX). = 3 : A joining on side 1 (interactions MJN1MX and MJN2MX). = 4 : A joining on side 2 (interactions MJN1MX and MJN2MX). - The functional form of PYPTIS has been changed from SUBROUTINE PYPTIS(MODE,PT2,IFAIL) to SUBROUTINE PYPTIS(MODE,PT2NOW,PT2CUT,PT2,IFAIL) with the parameters: MODE=-1 : Initialize ISR from scratch, starting from the hardest interaction initiators at PT2NOW. MODE= 0 : Generate a trial branching on interaction MINT(36), side MINT(30). Start evolution at PT2NOW, solve Sudakov for PT2. Store in /PYISMX/ if PT2 is largest so far. Abort if PT2 is below PT2CUT. (Also generate test joinings if MSTP(96)=1.) MODE= 1 : Accept stored shower branching. Update event record etc. PT2NOW : Starting (max) PT2 scale for evolution. PT2CUT : Lower limit for evolution. PT2 : Result of evolution. Generated PT2 for trial emission. IFAIL : Status return code. IFAIL=0 when all is well. Furthermore, the internal parameters RMC2 and RMB2 in PYPTIS have been changed, so that they now directly give the c and b quark masses squared. - Bug fix in PYPTIS. Exit if higher-pT trial branching already found did not take into account Lambda matching. Now matching is done before pT is checked against previously generated trial branchings. - The functional form of PYPTMI has been changed from SUBROUTINE PYPTMI(MODE,XT2,IFAIL) to SUBROUTINE PYPTMI(MODE,PT2NOW,PT2CUT,PT2,IFAIL) with the parameters: MODE =-1 : Initalize MI from scratch. MODE = 0 : Generate trial interaction. Start at PT2NOW, solve Sudakov for PT2, abort if below PT2CUT. MODE = 1 : Accept interaction at PT2NOW and store variables. MODE = 2 : Decide sea/val/cmp for kicked-out quark at PT2NOW PT2NOW : Starting (max) PT2 scale for evolution. PT2CUT : Lower limit for evolution. PT2 : Result of evolution. Generated PT2 for trial interaction. IFAIL : Status return code. = 0: All is well. < 0: Phase space exhausted, generation to be terminated. > 0: Additional interaction vetoed, but continue evolution. - Generation of trial interactions in PYPTMI speeded up. Generation of trial interactions now exits without having found an acceptable trial MI if an ISR or JI branching was already found at higher PT2. NB: has been observed to yield substantial speed increases over 6.312. - Some of the MI initialization previously residing in PYEVOL has been moved to PYPTMI. 6.314 : 19 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. - Tune A is to be run with the older set of PYEVNT routines. The same values cannot be used with the new scenario available with PYEVNW. Specifically, the fact that each multiple interaction here can radiate on its own, which only is the case for the first one in PYEVNT, means that each gives more activity. Thus fewer interactions, i.e. a higher pT0 scale, is required. Also other parameters are used in the new scenario. No tune of equivalent quality to Tune A is available so far. An example of a possible set is (where some are default values while others need to be set): New model, smooth ISR, high FSR: MSTP(81)=1, MSTP(70)=2, MSTP(72)=2 pT0 and reconnect: PARP(82)=2.5D0, MSTP(95)=1, PARP(78)=1.3D0 ExpOfPow(1.8) overlap profile: MSTP(82)=5, PARP(83)=1.8D0 Reference energy for pT0 and energy rescaling pace: PARP(89)=1800D0, PARP(90)=0.25D0 Lambda_FSR scale: PARJ(81)=0.14D0 Rap order, Valence qq, qq x enhc, BR-g-BR supp: MSTP(89)=1, MSTP(88)=0, PARP(79)=2D0, PARP(80)=0.01D0 - A new routine UPVETO and a new switch MSTP(143) have been introduced, so far only for use with PYEVNT, i.e. not PYEVNW. 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. - It is now possible to write Pythia-generated hard processes to disk, and then read them back in for the generation of a complete event. This facility is based on the use of the Les Houches Accord (LHA). It may be of limited practical usefulness, and is mainly intended for debug purposes. Thus there are some limitations to what it can do: no pileup events, no photon beams (including the 'gamma/l' options), and probably a few more possibilities that do not work. Basically, it is intended for hard processes in pp/ppbar collisions, or in e+e- ones. Events are stored using the IDWTUP=3 strategy, i.e. already mixed and reweighted, so no rejection step is needed. To generate the appropriate files, you have to: 1) Open one file where the initial run information in HEPRUP can be stored, and give its file number in MSTP(161). 2) Open one file where events in the HEPEUP format can be stored, and give its file number in MSTP(162). 3) Define hard processes as normally, and initialize with PYINIT. 4) In the event loop, replace the call to PYEVNT (or PYEVNW) by a call to PYUPEV, which will generate the hard process as usual, and write this process onto file number MSTP(162). 5) After all events have been generated, call PYUPIN to store the run information. (The name of this routine may seem inappropriate, since it is not called at the initialization but at the end. However, the name refers to this information being read in first in the next step, see below). Once you have these files, you can use them in a later run to generate complete events. This run follows the normal pattern for user-defined processes, with only minor additions. 1) Open the file where the initial run information in HEPRUP was stored, and give its file number in MSTP(161). 2) Open the file where events in the HEPEUP format were be stored, and give its file number in MSTP(162). 3) Initialize as usual with CALL PYINIT('USER',' ',' ',0D0). The 'dummy' UPINIT routine in the Pythia library contains the code for reading the initial run information written by PYUPIN, so you need not supply any routine of your own. 4) In the event loop, call PYEVNT (or PYEVNW) as usual to generate the next event. The 'dummy' UPEVNT routine in the Pythia library contains the code for reading the event information written by PYUPEV, so you need not supply any routine of your own. - 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. - Further checks that generation of current event is aborted when MINT(51)=1 on return from another routine. Specifically, STOP statements in PYCTTR and PYMIHK have been replaced by MINT(51)=1. Also, the number of internal PYLIST(4) calls, in case of problems, has been limited. 6.315 : 20 October 2004 - Statement labels have been renumbered for better legibility. - In PYSIGH it is ensured that shat > 1 GeV (like in Pythia 6.2). - Bug corrected in choice of maximum pT scale for ISR evolution. 6.316 : 24 November 2004 - Bug corrected for gamma-p collisions when using PYEVNW. Previously, the beam remnant handling failed for point-like incoming photons. Now, the old beam remnant machinery is reverted to when multiple interactions are not an issue (as e.g. for direct photons). - the PYSUGI run-time interface to the MSSM RGE evolution in ISAJET has been extended with a new SUSY option. IMSS(1) = 13 : file-based run-time ISASUSY interface, i.e. using an ISAJET input file. The contents of the input file should be identical to what would normally be typed when using the ISAJET RGE executable stand-alone (normally isasugra.x). The input file should be opened by the user in his/her main program and the Logical Unit Number should be stored in IMSS(20), where PYTHIA will look for it during initialization. PYTHIA will then pass the parameters to the SUGRA subroutine in ISAJET for RGE evolution and will afterwards extract the electroweak scale mass and coupling spectra to its own common blocks. For example, the first line of the input file should contain the model code: 1 for mSUGRA, 2 for mGMSB, 3 for non-universal SUGRA, 4 for SUGRA with truly unified gauge couplings, 5 for non-minimal GMSB, 6 for SUGRA+right-handed neutrino, 7 for anomaly-mediated SUSY breaking. The ensuing lines should contain the input parameters. Note: The old run-time interface to ISAJET, IMSS(1)=12, is still available, but was limited in that only mSUGRA scenarios could be interfaced. With the IMSS(1)=13 option, the full range of ISAJET models can now be accessed. IMSS(20) : (D=0) Logical Unit Number on which the SUSY model parameter file is opened, for file-based run-time interface to the ISAJET SUSY RGE machinery. See IMSS(1)=13. - PYXTOT: two minor typos in the double-diffractive cross section expression corrected. - PYPTFS: typy in MSTJ(41).NE.111, changed to .NE.11. - Affiliations updated. 6.317 : 29 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. - New options for primordial kT distributions added in PYMIRM, i.e. they are available when generating events with PYEVNW, but not with PYEVNT. MSTP(91) now can take the following values: MSTP(91) : (D=1) Primordial kT distribution in hadron. = 0 : No primordial kT. = 1 : Gaussian distribution. Width given in PARP(91) and upper cutoff in PARP(93). = 2 : (Exponential, not available in PYMIRM). = 3 : Distribution proportional to 1/(kT^2+3/2*sigma^2)^3, i.e. with 1/kT^6 tails. RMS width given in PARP(91) and upper cutoff in PARP(93). = 4 : Flat distribution (on limited interval), RMS width given in PARP(91) and upper cutoff in PARP(93). = 11 : As 1, but width depends on Q of the hard interaction. For low Q, the kT width in fragmentation is used, but for high Q the width scales like 2.1D0*Q/(7D0+Q). = 13 : As 3, but the width scales with Q as for 11. = 14 : As 4, but the width scales with Q as for 11. Note: when multiple interactions are switched on, the distribution used for the subsequent interactions has a RMS width forced equal to the kT width used in fragmentation, but the shape still follows the choice of MSTP(91). - Bugfix in PYSLHA. Previously, when reading in SLHA decay files, only gluino decays were checked for self-consistency. This has now been fixed so all decays are checked for self-consistency upon read-in. - Bug fixes in the PYMSIN and PYSUGI routines. The problem was that the gravitino was not set correctly for GMSB models when using the new extended PYSUGI interface. This resulted in all SUSY cross sections vanishing for those models. - Bug fix in PYUPEV. The problem was that, for some processes, mother pointer were set incorrectly, which later lead to incorrect separation of multiple showering subsystems. - 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 for PYRESD when is called from PYEVNW, so that colour is traced correctly also when no shower is requested. - Bug fix in PYSHOW, in the attempted matrix-element identification when called for two partons with IP2 = -2. 6.319 : 1 March 2005 - New option MSTP(68)=3 introduced, and made default. MSTP(68) regulates the maximum scale of initial-state radiation. The new option =3 is similar to =2, in that the maximum ISR scale is set to be s, except for the QCD 2 -> 2 processes. It differs in that matrix-element corrections are used for those processes where they are implemented. Note that, in the new (PYEVNW) scenario, where showers and multiple interactions are interleaved, the maximum scale for both of them is set by MSTP(86), and MSTP(68) only tells whether matrix-element corrections will be used, where implemented. - Bug fix for PYSUGI. When calling the SUGRA routine in ISAJET, the results of the last iteration are not automatically updated. To get these results, a further call to SSMSSM is needed. (thanks to A. Raklev for finding this bug.) - Also in the PYSUGI interface routine, the /SUGXIN/ commonblock is expanded to take into account the change in the ISAJET code in version 7.71. The new form is COMMON /SUGXIN/ XISAIN(24),XSUGIN(7),XGMIN(14),XNRIN(4), $XAMIN(7) REAL XISAIN,XSUGIN,XGMIN,XNRIN,XAMIN - Dummy routine SSMSSM added to the Pythia code, to prevent linking failures when PYTHIA is not linked to ISAJET. This dummy routine, along with SUGRA and VISAJE, should be removed or renamed when linking with ISAJET for proper compilation. - Changes to the treatment of companion quarks in multiple interactions. The sea+gluon rescaling factor, eq.(4.26) in JHEP 03(2004)053, was derived assuming the momentum fraction taken by a companion quark scaled like 1/X, where X is the total remaining momentum. However, the momentum fraction, x_s, taken by the sea quark that originally gave rise to the companion quark is already taken into account in the definition of the companion distribution. Hence a factor (X+x_s)/X should be introduced for each companion distribution in eq.(4.26). With this change, the companions now take up more 'room' in momentum space. In fact, in extreme cases it is now possible to create so many companions in the beam remnant that the sum of their momenta is larger than allowed by momentum conservation, i.e. the rescaling factor, eq. (4.26), becomes negative. Note that this occurs extremely rarely, and only when very many multiple interactions have occurred in an event. Since the companions are now taking up more room than allowed, we address the problem by scaling them (all of them) down by precisely the amount needed to restore momentum conservation. The extra rescaling factor is stored in VINT(140), which is initialized to 1, but can be changed during a call to PYPDFU. - Changes to PYPDFU, PYPTIS, PYFCMP, and PYPCMP to implement the changes to the companion quark treatment described above, and to obtain a more transparent notation in the code. - Some code on companion quarks in PYMIGN is now handled autonomously by PYPDFU. Corresponding obsolete code in PYMIGN removed. - Bug fix for external processes treated by PYEVNW, where resonance decay products previously were allowed to radiate twice. - Leif Lonnblad officially leaves as PYTHIA coauthor. 6.320 : 22 April 2005 - Bug fix in the correction for secondary branching ratios in t + b + H production (processes 401 and 402). - Bug fix in Les Houches output from PYUPEV, where sometimes auxiliary fictitious colour links were bookkept (say, between the colour of an antiquark and the anticolour of a quark) that could cause problems if taken seriously. - Bug fix in PYRAND, so that VINT(97) is restored to 1 inside the loop over tries to generate a hard process. Otherwise it, and later PARI(7), would not be correctly updated if internal Pythia processes are mixed with external Les Houches events that can have negative weights. - Bug fixes in PYADSH and PYPTFS, where index I=0 of the K(I,5) array could be addressed. Should not affect the final outcome. - Bug fix in PYPTFS, for azimuthal asymmetries in g -> g g and g -> q qbar branches. If the grandmother belongs to the initial-state shower, it (and thereby the production plane) could be incorrectly reconstructed. Now, in ambiguous cases, the asymmetry is killed altogether. Physics effects should be small. 6.321 : 27 May 2005 - A run-time interface to FeynHiggs, for precise calculation of the h0, H0, A0, and H+ masses and the mixing angle alpha in the MSSM, has been introduced, available through the option IMSS(4)=3. For the time being, it can be invoked either when using an SLHA SUSY spectrum, ie for IMSS(1)=11, or when using the run-time interface to ISASUSY, ie for IMSS(1)=12,13. The interface calls three FeynHiggs routines, in the following order: FHSETFLAGS(IERR,4,0,0,2,0,2,1,1): these are the "default" settings recommended for FeynHiggs. See the FeynHiggs documentation, www.feynhiggs.de. FHSETPARA : To set the MSSM parameters. FHHIGGSCORR : To get the corrected Higgs parameters. Note that, for PYTHIA to compile properly without the FeynHiggs library, 3 corresponding dummy routines have been added to the PYTHIA source code. To obtain proper linking with FeynHiggs, these dummy routines should first be removed/renamed and the PYTHIA source recompiled without them. The interface has been tested to work with FeynHiggs-2.2.8. PYSLHA and PYSUGI have been updated to reflect these changes. - A new model for final-state colour reconnections has been included for PYEVNW, available through the options MSTP(95)=2 and MSTP(95)=3. In the former case (MSTP(95)=2) the model is only applied to hadron-hadron collisions, while for the latter (MSTP(95)=3) it is applied to any collider process. The model has been constructed to produce similar effects as "Tune A" and similar tunes of the old (PYEVNT) model, but is also in some sense intended to be representative of the 'most extreme' case. It starts from the assumption that, at hadronization time, no information from the perturbative colour history of the event is relevant. Instead, what determines between which partons hadronizing strings form is a minimization of the total potential energy stored in strings, ie the partons, regardless of their formation history, will tend to be colour connected to the partons closest to them in momentum space, hence minimizing the total 'string length', as measured by the so-called 'lambda measure'. Technically, the model implementation starts by erasing the colour tags of all final state coloured partons. It then begins an iterative procedure (which unfortunately can be quite time-consuming): 1. Loop over all final state coloured partons 2. For each such parton, 2.1 compute the lambda measure for each possible string connection from that parton to other 'colour-compatible' final state partons which do not already have string pieces connected to them. 2.2 Store the connection with the smallest lambda measure for later comparison. 3. Compare all the possible 'minimal string pieces' found, one for each parton. Select the largest of these to be carried out physically. (That parton is in some sense the one that is currently furthest away from all other partons.) 4. If any 'dangling colour tags are left', repeat from 1. 5. At the end of the iteration, it is possible that the last parton is a gluon, and that all other partons already form a complete colour singlet system. In this case, the gluon is simply attached between the two partons where its presence will increase the total lambda measure the least. - The partial width calculation of t -> H+ + b now is performed with running b mass for couplings (but not for the phase space). - A bug in PYRESD has been corrected. When called from PYEVNW, the colour flow in 3-body decays was not set correctly, leading to failure in PYPREP eg for SUSY events with 3-body gluino decays. - Consecutively higher weights > 1 (or at higher pT) in the evolution of pT-ordered initial-state showers (in PYPTIS) are written out as errors, but the error counter is not updated, so do not lead to the program being aborted. When a weight > 1 is not higher than before (or at higher pT) it gives a warning only. - PYSIGH: A new option MSTP(32)=13 has been introduced, forcing the argument of alpha_s to be the transverse momentum squared of the hard process, regardless of masses. This is useful for comparison to fixed order codes but is not intended as a realistic option. - PYSIGH: Basic scattering processes are now classified as belonging to one or several of (hard-coded for each process): ISQCD = 1 : QCD processes, i.e. processes for which the hard scattering scale should normally set the limit for subsequent multiple interactions. = 0 : Other processes. Multiple interactions normally allowed to populate full phase space. ISJETS = 1: Processes of the X+jet type, i.e. processes for which the matrix element already contains one radiated jet. For such processes, as well as for QCD processes, the scale of the already existing jet(s) should set the limit for further parton shower evolution. = 0: Processes which do not contain PS jets at leading order. ISMECR = 1: Processes for which matrix element merging to the X+jet rate have been implemented. = 0: Processes for which no such corrections are implemented. How the various phase spaces are populated, and whether matrix element (ME) corrections are applied, is governed by MSTP(68) which now has the following definitions (default=3): MSTP(68) = 0: Max evolution scale = scale of hard process. No ME corrections applied. = 1: For processes of the ISMECR=1 type, max evolution scale is full CM energy, and ME corrections are applied. All other processes as =0. = 2: For processes of the ISQCD=0 and ISJETS=0 type, max evolution scale is full CM energy. All other processes as =0. No ME corrections are applied. = 3: As =2, but ME corrections are applied where available. - Minor general changes, eg making sure DATA statements always come last in subroutine declarations. - In the first PYGIVE call, the Pythia header will not be printed (if it was not already) if the command is to set MSTU(12)=0. 6.322 : 12 July 2005 - Interface to NMSSM generators and decay packages: A new option has been introduced, extending the particle content recognized by PYTHIA to that of the Next-to-Minimal Supersymmetric Standard Model (NMSSM), controlled by the new switch IMSS(13): (D=0) = 0 : MSSM particle content = 1 : NMSSM particle content The additional particles present in the NMSSM (one more CP-even Higgs boson, an additional CP-odd Higgs boson, and an additional neutralino) are identified by the extended PDG numbers tentatively adopted by the SUSY Les Houches Accord community: 45: New CP-even Higgs boson, H0_3 46: New CP-odd Higgs boson, A0_2 1000045: Additional (fifth) neutralino, ~chi_50 IMPORTANT NOTE: at present, IMSS(13)=1 merely allows PYTHIA to recognize the NMSSM particles. PYTHIA does not contain any internal machinery for doing calculations in the NMSSM. Thus, the basic scattering processes should be generated by an external program (eg CompHEP/CalcHEP) and handed to PYTHIA via the Les Houches Accord (#1) interface for parton-level events. This should then be combined with either setting the NMSSM resonance decays by hand, or by reading in an SLHA decay table prepared by an external decay package (eg NMHDecay). One possible chain of steps for generating fully simulated events for the NMSSM, starting from a high-scale model definition, would thus be: 1) Obtain the EW scale masses and couplings for the model (eg by running NMHDecay), and store the results as a SUSY Les Houches Accord (SLHA) spectrum file. 2) Compute decay widths and branching ratios for all relevant particles (by hand or using some code), and store the resulting numbers in the SLHA decay table format. 3) Pass the spectrum to an NMSSM Matrix Element level generator (eg CompHEP/CalcHEP), and obtain a set of elementary 2 -> 2 (or 2 -> 'a few') scatterings. 4) Read in the SLHA spectrum and decay table into PYTHIA using IMSS(1)=11 and IMSS(13)=1 (you need to set IMSS(21) and possibly IMSS(22) as well, see the manual). 5) Read in the ME level events into PYTHIA using the Les Houches Accord (#1) interface routines UPINIT and UPEVNT. - Further information is available in the /HEPEVT/ commonblock when UPVETO is called to decide whether an external event should be processed further. Specifically, all intermediate and final particles are listed as documentation lines, with ISTHEP(I) = 2, and all "final"-state particles, with ISTHEP(I) = 1, point back to the one of these partons they originate from, as first mother. If this mother is zero, the parton comes from initial-state radiation. The separation of which radiation comes from where is often gauge-dependent, i.e. model-dependent, and so should not be over-stressed. For instance, in a t -> b W -> b u dbar decay sequence, the gluon radiation off the b is rather unambiguous, while u and dbar form part of the same radiating system, although some sensible separation is provided by the program. If a system does not radiate, the same set of partons will be repeated twice, once with ISTHEP(I) = 2 and once with ISTHEP(I) = 1. Note that only the initial parton and the final set of partons are listed; a full documentation also of intermediate states of the shower evolution can only be obtained from the complete PYJETS listing. - Bug fix in documentation (but not physics): when feeding in an external process via the Les Houches Accord, daughters of colourless intermediate resonances were not explicitly identified as daughters, so the history information was incomplete/misleading. 6.323 : 20 July 2005 - Correct serious error introduced in 6.322, which lead to the top and W being set stable if SUSY simulation is switched on. Fix involves minor change of PYMSIN. - Make 0 default value of MSTU(12), changed to 12345 when PYLOGO has been called to print the Pythia header. This should give the intended behaviour, i.e. to abort the run, if BLOCK DATA PYDATA is not loaded. - A new routine PYCKBD introduced that checks that a few further parameters in BLOCK DATA PYDATA have been set. This addresses a compiler bug, where it has happened that only a part of PYDATA has been loaded. - Change a few INTEGER Nxxx/0/ to DATA Nxxx/0/ for f90 compiler compatibility. - Minor modification to PYTIME (f90 part). - Minor rearrangement of subroutine calls and printout in PYSUGI, to clarify what are the original and the updated Higgs masses when FeynHiggs is called. - Increase the format for momentum, energy and mass printout from E14.6 to E18.10 in PYUPEV, i.e. when Pythia produces Les Houches Accord event output on file, for later reading back in. The reason is that numerical roundoffs otherwise gave unusually large, even if not disastrously so, violation of energy-momentum conservation. The precision on the spin info, which is anyway not calculated, is somewhat reduced. 6.324 : 6 August 2005 - The usage of two alternative main programs, PYEVNT for the old and PYEVNW for the new models for showers and multiple interactions, causes problems in some experimental setups, where the only way to steer program execution is by a cards file. To this end, we have introduced two new MSTP(81) options where PYEVNT would call PYEVNW, and do nothing else. That way, one only needs to use the PYEVNT routine explicitly. The complete set of possibilities now read: MSTP(81) : (D=1) master switch for multiple interactions (MI), and also for the associated treatment of initial- and final-state showers and beam remnants. Its meaning depends on whether PYEVNT (old and intermediate models) or PYEVNW (new model) is called. = 0 : MI off; old model for PYEVNT, new model for PYEVNW. = 1 : MI on; old model for PYEVNT, new model for PYEVNW. = 10 : MI off; intermediate model for PYEVNT, new model for PYEVNW. = 11 : MI on; intermediate model for PYEVNT, new model for PYEVNW. = 20 : MI off; new model for PYEVNT or PYEVNW alike. = 21 : MI on; new model for PYEVNT or PYEVNW alike. Note: as before, many other parameters have to be set differently depending on the model used. Not all parameter combinations are meaningful, e.g. the fixed-impact-parameter option MSTP(82)=1 is not implemented for the new model. MINT(35) :} internal switch to tell which routine generates the event, so that some details (partly physics, partly administrative) can be processed differently in the called routines. = 1 : PYEVNT generates the events, using the old model. = 2 : PYEVNT generates the events, using the intermediate model. = 3 : PYEVNW generates the events, using the new model. - A new set of processes for onium production have been introduced, based on code produced by Stefan Wolf (unpublished, short note available on demand). It includes the colour octet production mechanism, in the framework of nonrelativistic QCD (NRQCD). Some processes already present in the colour singlet framework are repeated here, only differing by wave function and matrix element normalization factors. This code will be checked and further developed in the next few months. Also realistic parameter values remain to be set. Currently it should therefore only be used by the people involved in the validation. Here is a list of the new aspects introduced. New colour octet states (denoted by index (8)): 9900443 ccbar[3S1(8)] 9900441 ccbar[1S0(8)] 9910443 ccbar[3P0(8)] 9900553 ccbar[3S1(8)] 9900551 ccbar[1S0(8)] 9910553 ccbar[3P0(8)] which have codes 9900000 bigger than the respective colour-singlet state, and in the PDG classification belong to generator-specific codes. These new "particles" are assumed to "decay" exclusively to J/psi + g or Upsilon + g, respectively. Their masses have been chosen to allow this, without too much excess phase space, i.e. the emitted gluon is always very soft. New production processes: 421 g + g -> cc~[3S1(1)] + g 422 g + g -> cc~[3S1(8)] + g 423 g + g -> cc~[1S0(8)] + g 424 g + g -> cc~[3PJ(8)] + g 425 g + q -> q + cc~[3S1(8)] 426 g + q -> q + cc~[1S0(8)] 427 g + q -> q + cc~[3PJ(8)] 428 q + q~ -> g + cc~[3S1(8)] 429 q + q~ -> g + cc~[1S0(8)] 430 q + q~ -> g + cc~[3PJ(8)] 431 g + g -> cc~[3P0(1)] + g 432 g + g -> cc~[3P1(1)] + g 433 g + g -> cc~[3P2(1)] + g 434 q + g -> q + cc~[3P0(1)] 435 q + g -> q + cc~[3P1(1)] 436 q + g -> q + cc~[3P2(1)] 437 q + q~ -> g + cc~[3P0(1)] 438 q + q~ -> g + cc~[3P1(1)] 439 q + q~ -> g + cc~[3P2(1)] 461 g + g -> bb~[3S1(1)] + g 462 g + g -> bb~[3S1(8)] + g 463 g + g -> bb~[1S0(8)] + g 464 g + g -> bb~[3PJ(8)] + g 465 g + q -> q + bb~[3S1(8)] 466 g + q -> q + bb~[1S0(8)] 467 g + q -> q + bb~[3PJ(8)] 468 q + q~ -> g + bb~[3S1(8)] 469 q + q~ -> g + bb~[1S0(8)] 470 q + q~ -> g + bb~[3PJ(8)] 471 g + g -> bb~[3P0(1)] + g 472 g + g -> bb~[3P1(1)] + g 473 g + g -> bb~[3P2(1)] + g 474 q + g -> q + bb~[3P0(1)] 475 q + g -> q + bb~[3P1(1)] 476 q + g -> q + bb~[3P2(1)] 477 q + q~ -> g + bb~[3P0(1)] 478 q + q~ -> g + bb~[3P1(1)] 479 q + q~ -> g + bb~[3P2(1)] Also new MSEL values: 61 switch on all charmonimum processes, ISUB = 421 - 439 62 switch on all bottomonimum processes, ISUB = 461 - 479 63 switch on both of above, ISUB = 421 - 439, 461 - 479 The rates for these new processes are regulated by 10 new NRQCD matrix element values. Currently each of those are set to unity by default; this should be changed soon. The parameters are PARP(141) : (D=1.) PARP(142) : (D=1.) PARP(143) : (D=1.) PARP(144) : (D=1.) /m_c^2 PARP(145) : (D=1.) /m_c^2 PARP(146) : (D=1.) PARP(147) : (D=1.) PARP(148) : (D=1.) PARP(149) : (D=1.) /m_b^2 PARP(150) : (D=1.) /m_b^2 Finally, a few new parameters regulate the performance of the code. MSTP(145) : (D=0) choice of polarization. = 0 : unpolarized squared partonic amplitude. = 1 : helicity or density matrix elements, as chosen by MSTP(146) and MSTP(147). Only intended for experts. MSTP(146) : (D=1) choice of polarization reference frame when MSTP(145) = 1. = 1 : Recoil (recommended since it matches how Pythia defines particle directions, which the others do not obviously do). = 2 : Gottfried-Jackson. = 3 : Target. = 4 : Collins-Soper. MSTP(147) : (D=0) particular helicity or density matrix component when MSTP(145) = 1. = 0 : helicity 0. = 1 : helicity +-1. = 2 : helicity +-2. = 3 : density matrix element rho_{0,0}. = 4 : density matrix element rho_{1,1}. = 5 : density matrix element rho_{1,0}. = 6 : density matrix element rho_{1,-1}. MSTP(148) : (D = 0) possibility to allow final-state shower evolution of the cc~[3S1(8)] and bb~[3S1(8)] states. Switching it on may exaggerate shower effects, since not all QQ~[3S1(8)] comes from the fragmentation component where radiation is expected. = 0 : off. = 1 : on. MSTP(149) : (D = 0) if the QQ~[3S1(8)] states are allowed to radiate, MSTP(148) = 1, it determines the kinematics of the QQ~[3S1(8)] -> QQ~[3S1(8)] + g branching. = 0 : always pick the QQ~[3S1(8)] to be the harder, i.e. z > 0.5. = 1 : allow z < 0.5 and z > 0.5 equally. - The assignment of quark charge for processes 106, 107 and 108 is generalized so it would also work for Upsilon, not only J/psi. - PARP(64), which allows the scale of initial-state evolution to be multiplied by a fixed number, now also works for the new pT-ordered shower evolution, not only for the older mass-ordered. - By replacing the nominal by the actual Higgs mass in the matrix-element expression for process 32, q + g -> q + h0, the low-Higgs-mass tail is significantly suppressed (by subtle cancellations between the terms), as should (presumably) be the case. - FYI: a note has appeared, by C. Ciobanu et al., explaining how to set Z' parameters in Pythia to correspond to the conventions and scenarios of various authors, see http://www.hep.uiuc.edu/home/catutza/nota12.ps - Typo corrected in PYHGMM: IMSS(12) -> IMSS(1) in one place. - Minor change in PYCKBD to avoid problem if CKIN(1)=0. 6.325 : 17 November 2005 - Correct bug in the setting of the initial-state radiation maximum scale for MSTP(68) = 3 when studying minumim-bias events. Erroneously the full phase space could be populated, rather than only emissions below the hard scale itself. This gave too high a rate of jet and high-pT particle production in min-bias events. - Correct bug in PYEXEC, so that showers in Upsilon decays use the old colour-flow info (together with PYSHOW) rather than the new Les Houches-style one. - Set RATND = 1 initially in PYRAND, in case it should not be assigned an explicit value. 6.326 : 25 January 2006 - Correct maximum initial-state radiation scale for processes 81 and 82 when MSTP(68) = 2 or = 3. When c or b is used, only emissions below the hard scale itself is now allowed, while for t (and a fourth generation) emissions still can go up to the kinematical limit. The origin of the difference is that t production is reasonably well described by lowest-order matrix elements, while the c and b are so light that further contributions from flavour excitations and gluon splitting are required to generate a sensible "K factor". These extra contributions then populate the same phase space as ISR processes would, leading to doublecounting in the high-pT region. - New options for colour reconnection in the new multiple-interactions scenario. The old options 2 and 3 have been moved to 4 and 5, while the new behaviour of 2 and 3 inserts one additional condition: when the mimimal-string-length "nearest neighbour" of a parton is searched for, a neighbour which is already colour-connected with the parton (either directly or through a string of other partons) is excluded. This avoids a tendency to form closed-colour-loop gluon-gluon systems, which is still there in the new options 4 and 5. - The SLHA decay table read-in interface has been extended to handle also generic (non-MSSM) states. If you want to introduce a particle that Pythia does not already know, give it any (non-conflicting) PDG number you like, then declare its mass in the normal SLHA block MASS, and use the new block, QNUMBERS, to define its quantum numbers. As an example, the following would need to be defined for the case of the extra states appearing in the NMSSM: BLOCK MASS # Mass Spectrum 1000045 3.417200E+02 # ~chi_50 46 4.862341E+02 # A0_2 45 4.903840E+02 # H0_3 BLOCK QNUMBERS 1000045 # ~chi_50 1 0 # 3 times electric charge 2 2 # number of spin states (2S+1) 3 1 # colour rep (1: singlet, 3: triplet, 8: octet) 4 0 # Particle/Antiparticle distinction (0=own anti) BLOCK QNUMBERS 45 # H0_3 1 0 # 3 times electric charge 2 1 # number of spin states (2S+1) 3 1 # colour rep (1: singlet, 3: triplet, 8: octet) 4 0 # Particle/Antiparticle distinction (0=own anti) BLOCK QNUMBERS 46 # A0_2 1 0 # 3 times electric charge 2 1 # number of spin states (2S+1) 3 1 # colour rep (1: singlet, 3: triplet, 8: octet) 4 0 # Particle/Antiparticle distinction (0=own anti) The new code also solves a bug found when reading in SLHA decay tables of antiparticles. Before, the sign of all the decay products was simply switched. Now it is first checked whether the given decay product actually has a different antiparticle, or if it is its own antiparticle. In the latter case, the sign is not switched. 6.327 : 25 March 2006 - Change in starting scale for ISR, affecting default behaviour for X+jet type processes. In the new PYEVNW underlying-event framework introduced in Pythia 6.3, the max scales for initial-state radiation and multiple interactions were set equal, with the switch MSTP(86) deciding the phase space for both and MSTP(68) only functioning as a switch for matrix-element corrections. (While the two are separated for the old standard PYEVNT, so that MSTP(86) only affects MI and MSTP(68) only ISR.) However, for some processes one would still want to choose the max scales individually, especially for X+jet type processes, for which the default behaviour in 6.327 is now changed. Now the two phase space switches have been separated again, with MSTP(86) only determining the phase space for multiple interactions, and MSTP(68) controlling the phase space for initial state radiation. Depending on process type and choice of MSTP(68) and MSTP(86), some changes with respect to the previous behaviour should be noted, as follows. MSTP(86) = 1: limits multiple interactions to below the factorisation scale of the hard process. Earlier, initial state radiation would then be limited to this scale as well, independently of MSTP(68). For this choice of MSTP(86), there will be an increase of the amount of ISR for values of MSTP(68) >= 1 (including the default, 3) for all processes except QCD min-bias/dijets and X+jet production. MSTP(86) = 2 (default): as =1 for QCD min-bias/dijet type processes, as =3 for all other processes. MSTP(86) = 3: forces multiple interactions to populate all of phase space, regardless of process type (of dubious use for min-bias / dijets type processes). Earlier, initial state radiation would then be produced over all of phase space as well. Here, MSTP(68) sets the ISR phase space, hence there will be a reduction of the amount of ISR radiation for all min-bias, dijet, and X+jet type processes, and MSTP(68) = 0 (default is MSTP(68) = 3) will now also reduce the amount of ISR radiation e.g. in ttbar, SUSY, etc events. Note: this should not lead to changes in the default behaviour, except for X+jet type processes, where MI still fills the whole phase space, but where the ISR evolution is now constrained to be below the factorisation scale. - Two new internal real numbers added, not intended to be changed by the user: VINT(61): max pT scale for Multiple Interactions. See MSTP(86). VINT(62): max pT2 scale for Multiple Interactions. See MSTP(86). - Problem in PYRESD corrected. The colour flow in 3-body squark decays to quark+nu+lepton was not set correctly, leading to problems in PYPREP at the fragmentation stage. Note: PYTHIA does not contain these decays internally; the problem occurred when reading in external decay tables via the SUSY Les Houches Accord. - Correct minor bug in printout info in PYMSIN. - Correct minor bug in documentation of the hardest multiple interaction in PYPTMI. - Correct typo in PYFSCR, MSTP(05) -> MSTP(95). - Insert extra comment line in PYVETO. - Corrrect bug in PYPTIS, where the evolution weight sum could become zero for heavy flavours, if a loopback occurs. - Replace a PAUSE statement in PYLDCM by a PYERRM one. -----------------------------------------------------------------------