In the manual parts of this report, some conventions are used. All names of subprograms, common blocks and variables are given in upper-case `typewriter' style, e.g. MSTP(111) = 0. Also program examples are given in this style.
If a common-block variable must have a value set at the beginning of execution, then a default value is stored in the block data subprogram PYDATA. Such a default value is usually indicated by a `(D = ...)' immediately after the variable name, e.g.
All variables in the fragmentation-related common blocks (with very few exceptions, clearly marked) can be freely changed from one event to the next, or even within the treatment of one single event; see discussion on initialization in the previous section. In the process-generation machinery common blocks the situation is more complicated. The values of many switches and parameters are used already in the PYINIT call, and cannot be changed after that. The problem is mentioned in the preamble to the afflicted common blocks, which in particular means PYPARS and PYSUBS. For the variables which may still be changed from one event to the next, a `(C)' is added after the `(D = ...)' statement.
Normally, variables internal to the program are kept in separate common blocks and arrays, but in a few cases such internal variables appear among arrays of switches and parameters, mainly for historical reasons. These are denoted by `(R)' for variables you may want to read, because they contain potentially interesting information, and by `(I)' for purely internal variables. In neither case may the variables be changed by you.
In the description of a switch, the alternatives that this switch may take are often enumerated, e.g.
It is also up to you to choose physically sensible values for parameters: there is no check on the allowed ranges of variables. We gave an example of this at the end of the preceding section.
Subroutines you are expected to use are enclosed in a box at the point where they are defined:
This is followed by a description of input or output parameters. The difference between input and output is not explicitly marked, but should be obvious from the context. In fact, the event-analysis routines of section return values, while all the rest only have input variables.
Routines that are only used internally are not boxed in. However, we use boxes for all common blocks, so as to enhance the readability.
In running text, often specific switches and parameters will be mentioned, without a reference to the place where they are described further. The Index at the very end of the document allows you to find this place. Often names for switches begin with MST and parameters with PAR. No common-block variables begin with PY. There is thus no possibility to confuse an array element with a function or subroutine call.
An almost complete list of common blocks, with brief comments on their main functions, is the following:
C...The event record. COMMON/PYJETS/N,NPAD,K(4000,5),P(4000,5),V(4000,5) C...Parameters. COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200) C...Particle properties + some flavour parameters. COMMON/PYDAT2KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4) C...Decay information. COMMON/PYDAT3/MDCY(500,3),MDME(8000,2),BRAT(8000),KFDP(8000,5) C...Particle names COMMON/PYDAT4/CHAF(500,2) CHARACTER CHAF*16 C...Random number generator information. COMMON/PYDATR/MRPY(6),RRPY(100) C...Selection of hard scattering subprocesses. COMMON/PYSUBS/MSEL,MSELPD,MSUB(500),KFIN(2,-40:40),CKIN(200) C...Parameters. COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200) C...Internal variables. COMMON/PYINT1/MINT(400),VINT(400) C...Process information. COMMON/PYINT2/ISET(500),KFPR(500,2),COEF(500,20),ICOL(40,4,2) C...Parton distributions and cross sections. COMMON/PYINT3/XSFX(2,-40:40),ISIG(1000,3),SIGH(1000) C...Resonance width and secondary decay treatment. COMMON/PYINT4/MWID(500),WIDS(500,5) C...Generation and cross section statistics. COMMON/PYINT5/NGENPD,NGEN(0:500,3),XSEC(0:500,3) C...Process names. COMMON/PYINT6/PROC(0:500) CHARACTER PROC*28 C...Total cross sections. COMMON/PYINT7/SIGT(0:6,0:6,0:5) C...Photon parton distributions: total and valence only. COMMON/PYINT8/XPVMD(-6:6),XPANL(-6:6),XPANH(-6:6),XPBEH(-6:6), &XPDIR(-6:6) COMMON/PYINT9/VXPVMD(-6:6),VXPANL(-6:6),VXPANH(-6:6),VXPDGM(-6:6) C...Colour tag information in the Les Houches Accord format. COMMON/PYCTAG/NCT, MCT(4000,2) C...Partons and their scales for the new pT-ordered final-state showers. PARAMETER (MAXNUP=500) COMMON/PYPART/NPART,NPARTD,IPART(MAXNUP),PTPART(MAXNUP) C...Multiple interactions in the new model. 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),Q2MI(240),IMISEP(0:240) C...Hardest initial-state radiation in the new model. COMMON/PYISMX/MIMX,JSMX,KFLAMX,KFLCMX,KFBEAM(2),NISGEN(2,240), &PT2MX,PT2AMX,ZMX,RM2CMX,Q2BMX,PHIMX C...Possible joined interactions in backwards evolution. COMMON/PYISJN/MJN1MX,MJN2MX,MJOIND(2,240) C...Supersymmetry parameters. COMMON/PYMSSM/IMSS(0:99),RMSS(0:99) C...Supersymmetry mixing matrices. COMMON/PYSSMT/ZMIX(4,4),UMIX(2,2),VMIX(2,2),SMZ(4),SMW(2), &SFMIX(16,4),ZMIXI(4,4),UMIXI(2,2),VMIXI(2,2) C...R-parity-violating couplings in supersymmetry. COMMON/PYMSRV/RVLAM(3,3,3), RVLAMP(3,3,3), RVLAMB(3,3,3) C...Internal parameters for R-parity-violating processes. COMMON/PYRVNV/AB(2,16,2),RMS(0:3),RES(6,5),IDR,IDR2,DCMASS,KFR(3) COMMON/PYRVPM/RM(0:3),A(2),B(2),RESM(2),RESW(2),MFLAG LOGICAL MFLAG C...Parameters for Gauss integration of supersymmetric widths. COMMON/PYINTS/XXM(20) COMMON/PYG2DX/X1 C...Parameters of TechniColor Strawman Model and other compositeness. COMMON/PYTCSM/ITCM(0:99),RTCM(0:99) C...Histogram information. COMMON/PYBINS/IHIST(4),INDX(1000),BIN(20000) C...HEPEVT common block. PARAMETER (NMXHEP=4000) COMMON/HEPEVT/NEVHEP,NHEP,ISTHEP(NMXHEP),IDHEP(NMXHEP), &JMOHEP(2,NMXHEP),JDAHEP(2,NMXHEP),PHEP(5,NMXHEP),VHEP(4,NMXHEP) DOUBLE PRECISION PHEP,VHEP C...User process initialization common block. INTEGER MAXPUP PARAMETER (MAXPUP=100) INTEGER IDBMUP,PDFGUP,PDFSUP,IDWTUP,NPRUP,LPRUP DOUBLE PRECISION EBMUP,XSECUP,XERRUP,XMAXUP COMMON/HEPRUP/IDBMUP(2),EBMUP(2),PDFGUP(2),PDFSUP(2), &IDWTUP,NPRUP,XSECUP(MAXPUP),XERRUP(MAXPUP),XMAXUP(MAXPUP), &LPRUP(MAXPUP) C...User process event common block. INTEGER MAXNUP PARAMETER (MAXNUP=500) INTEGER NUP,IDPRUP,IDUP,ISTUP,MOTHUP,ICOLUP DOUBLE PRECISION XWGTUP,SCALUP,AQEDUP,AQCDUP,PUP,VTIMUP,SPINUP COMMON/HEPEUP/NUP,IDPRUP,XWGTUP,SCALUP,AQEDUP,AQCDUP,IDUP(MAXNUP), &ISTUP(MAXNUP),MOTHUP(2,MAXNUP),ICOLUP(2,MAXNUP),PUP(5,MAXNUP), &VTIMUP(MAXNUP),SPINUP(MAXNUP)