Short description of the preliminary version (LEPTO 4.3) of THE LUND MONTE CARLO FOR DEEP INELASTIC LEPTON-NUCLEON SCATTERING ***************************************************************** A. If first order QCD is to be included in the simulation one must first calculate integrals of the QCD matrix elements. This is done by: CALL LWEITS(LEPIN,PLX,PLY,PLZ,PPX,PPY,PPZ,INTER) where LEPIN is type of lepton PLX,PLY,PLZ is the momentum vector for the lepton PPX,PPY,PPZ is the momentum vector for the nucleon INTER is the type of interaction to be simulated 1 = electromagnetic (EM) 2 = weak charged current (CC) 3 = weak neutral current (NC) 4 = neutral current, i.e. EM+NC with interference note however, that at present QCD is only included for the EM and CC cases. Resulting integrals will be written on logical file number 20 which thus has to be opened by the user. The integration is made using an adaptive gaussian method with a numerical precision controlled by the parameter PARL(13). The integra are calculated for a set of values of x and W, i.e. Bjorken-x and invariant mass of the hadronic system, forming a "grid" in the (x,W)- The grid is specified by the common block LGRID with default values given in block data LEPTOD. It may have to be changed to be suitable for the energy range the user intend to study and this can be made ei by setting LST(19)=2 in which case the user should specify the grid as input or by making the indicated changes in LEPTOD. This routine is rather time consuming so the idea is to calculate the QCD weights once and for all for a given type of interaction between a given type of lepton and target and energy range (essentially W-max B. To simulate events a main program of the following kind is needed: COMMON /LEPTOU/ CUT(14),LST(40),PARL(30),X,Y,W2,Q2,U COMMON /LUJETS/ N,K(2000,2),P(2000,5) ;specify cuts and parameter values if default values are not satisfactory CALL LINIT(LFILE) ;initialize routines, read QCD weights from logical file no. LFILE. DO 100 I=1,NEVENT ; loop over events CALL LEPTO(LEPIN,PLX,PLY,PLZ,PPX,PPY,PPZ,INTER) ;one event generated unless LST(21) nonzero in which case no event has been generated due to some error. Arguments are as for LWEITS above (INTER=1 to 4 OK, but no QCD corrections for 3 and 4) ;analyze event, event record stored in common block LUJETS. 100 CONTINUE END C. Common block LEPTOU contains parameters for cuts on kinematical variables, status codes and flags, useful parameters and values of some kinematical variables. a. Cuts on kinematical variables (default variables in parenthesis): CUT(1) (0.01) < x < (1.) CUT(2) CUT(3) (0.) < y < (1.) CUT(4) CUT(5) (4.) < Q**2 < (10**6) CUT(6) CUT(7) (5.) < W**2 < (10**6) CUT(8) CUT(9) (1.) < NU < (10**6) CUT(10) CUT(11) (1.) < E' < (10**6) CUT(12) (of scattered lepton) CUT(13) (0.) < THETA' < (3.1416) CUT(14) b. Flags and status codes, LST(I) (I=2-19 input, I=1,20-40 output): I Default Meaning 1 Interaction type given by INTER 2 1 1 = chose x,y from from cross section and apply cuts on kinematical varables as defined by CUT 2 = x,y supplied by the user via /LEPTOU/, apply cuts 3 = as 2 but no cuts applied 0 = when intgrating QCD matrix elements 3 0 0/1 initial particles and exchanged boson excluded/includ in the event record (as first three entries) 4 1 0/1 scattered lepton excluded/included in event record (first or fourth entry depending in LST(3)) 5 3 Determines in which frame the event is to be given 1 = hadronic CM frame, z-axis along boson 2 = lepton-nucleon CM frame, z-axis along lepton 3 = lab system as defined by the user 4 = as 3 but z-axis along exchanged boson 6 1 0/1 skip/do random rotation in azimuthal angle of the whole event, note this is made in system 2 7 1 0/1 skip/call LUEXEC to do fragmentation, i.e. if 0 only partons (and scattered lepton) are generated. 8 1 0/1 exclude/include hard, first order QCD processes 9 4 max no. of flavours in expression for alpha-strong 10 1 0/1 alpha-strong for soft gluon effects fixed/variable 11 4 threshold for production of heavy quarks with flavour >=LST(11) 12 3 max flavour in sea structure functions 13 4 max flavour produced in "photon"-gluon fusion 14 1 0/1 = exclude/include baryon production from target remna 15-18 unused at present 19 1 1/2 = grid to be chosen by program/user when integrating 20 0/1 = simulation integration 21 error flag: OK if = 0, otherwise some error has occurred and no event was generated 22 1/2 = proton/neutron target chosen 23 process simulated 1 = EM interaction 2 = W emitted from lepton 3 = W emitted from antilepton 4 = Z0 emitted from lepton 5 = Z0 emitted from antilepton 6 = EM + NC + interference 24 jet type simulated 1 = q - jet event 2 = qg - jet event 3 = qq - jet event 25 flavour of struck quark 26 entry line (in event record) of outgoing struck quark 27 = 1 when an extra hadron was formed from a target remnant which contained more quarks than a simple diquark (i.e. a sea (anti)quark was kicked out), = 0 otherwise. 28 tells what frame the event is given in, see LST(5) 29 tells whether a phi-rotation has been made or not, 1 and 0 resp., see LST(6) 30 unused at present 31 used for checking that read QCD weights correspond to the process to be simulated 32-40 unused at present c. Parameters PARL(I) (I = 1-15 input, I = 16-30 output): I Default Meaning 1 1. A = no. of nucleons in target nucleus 2 1. Z = no. of protons in target nucleus 3 .44 sigma for primordial transverse momentum distribution 4 .75 prob. that a ud-diquark in target remnant is I=S=0 5 .215 sin**2(theta-weinberg) 6 0. polarization (helicity) if incomimg lepton, only used for INTER = 4 7 4. minimum Q**2 in structure functions 8 .4 lambda-QCD in evolution of structure functions 9 .3 lambda-QCD in alpha-s for soft gluon effects (only used when MST(10)=3 and LST(10)=1) 10 .3 lambda-QCD in alpha-s for hard, first order QCD processe 11 1. average (transverse) hadron mass used for matrix element cuts 12 .05 min. required value of xi (=2Ei/W) for each jet, i=1,2,3 13 .01 required numerical accuracy when integrating matrix elem 14 .44 sigma for gaussian pt when splitting a target remnant into a particle and a jet, occurs when target remnant is not a simple diquark 15-20 unused at present 21 = 2*(p.pl), i.e. twice the four scalar product of incomi proton and lepton, equals s (inv. mass squared) if masse are neglected. 22 = 2*(p.q), i.e. twice the proton-boson scalar product. 23-24 unused at present 25 alpha-strong in current event 26-30 unused at present d. Other variables in common block LEPTOU: x Bjorken-x y = p.q/p.pl where p, q, pl is the four-momenta of incoming proton, exchanged boson and incoming lepton respectively W2 mass-squared of the hadronic system Q2 = - q.q , i.e. (minus) momentum tranfer squared U = nu = p.q/m , where p, q as above and m=proton mass D. Common block LINTER contains various internal parameters which normal should not be changed by the user. Internal parameters PARI(30) : I Default Meaning 1-10 max. values of dsigma/dxdy for process 1 to 10 11 = (A-Z)/A , i.e. relative number of neutrons in target 12 "proton weight" of structure functions 13 "neutron weight" of structure functions 14 unused 15-17 max. values of qg matrix elements (T,S,I) 18-20 max. values of qq matrix elements (T,S,I) 21-23 xi (=2Ei/W) for jets, i=1,2,3 24-30 unused at present E. Some other useful subroutines that the user may call directly : a. SUBROUTINE LPRWTS(LEPIN,PLX,PLY,PLZ,PPX,PPY,PPZ,INTER,NSTEP) can be called anytime after a call to LINIT to print out the probabil for q-, qg- and qq-event types using the present QCD weights stored in the common block LGRID. Arguments as for LWEITS and LEPTO, except NSTEP which if 1 gives values on each grid point, if 2 gives every second grid point etc. b. SUBROUTINE LFRAME(IFRAME,IPHI) Makes a transformation of the frame in which the event is presented from current frame (given by LST(28)) to the frame wanted and specifi by IFRAME (code as for LST(5)). If IPHI = 1 a random rotation of the whole event in azimuthal angle (phi) is made. Note that this rotation is always performed in the lepton-nucleon CM frame and that if IFRAME = 1 (hadronic cms) such a rotation is never made. If IPHI = 0 this rotation is not made or if it has been done in a previo call it is counteracted so that the event plane defined by the incoming and scattered lepton is always the x-z plane. c. SUBROUTINE LWWB(ENU) Gives energy (ENU) of a (anti-)neutrino chosen from a simple parametrization (defined by DATA statement in within the routine) of a wide band beam. Actually the energy chosen is not from the beam spectrum itself, but rather the beam spectrum weighted with energy, since the cross section rises linearly with energy. (This rise of course not taken into account in LEPTO since it assumes the given lepton energy given in its arguments.) F. The program makes heavy use of the latest version of the Lund Monte Carlo for jet fragmentation, JETSET 6.2. T. Sjostrand: The Lund Monte Carlo for Jet Fragmentation Lund preprint LU TP 82-3 and published in Computer Physics Communications 27 (1982) 243 The common block LUJETS and particle codes etc. are described in detail in those papers. G. Sample jobs (complete with JCL cards for CERN IBM) for calculating the QCD weights. a. Electromagnetic eletron(positron)-proton interaction at HERA collider energies. // JOB ,TIME=30,MSGLEVEL=(2,0),PRTY=0 // EXEC JFORTCG //C.SYSIN DD * C...Program to calculate QCD-weights for LEPTO 4.3 C...Resulting weights written on logical file no. 20. COMMON /LEPTOU/ CUT(14),LST(40),PARL(30),X,Y,W2,Q2,U C...Electron-proton electromagnetic interaction at HERA energies. C...Grid taken as default given in block data LEPTOD in LEPTO 4.3 C...Numerical accuracy taken as default, PARL(13) = 0.01 CALL LWEITS(7,0.,0.,30.,0.,0.,-820.,1) END /* //G.SYSLIN DD // DD DSN=T3.NGL.OBJECT(LEPTO43),DISP=SHR // DD DSN=T3.NGL.OBJECT(JETSET62),DISP=SHR //G.FT20F001 DD DSN=T3.NGL.WEIGHTS(HERAEM),DISP=SHR b. Charged weak current in eletron-proton interaction at HERA collider energies. // JOB ,TIME=30,MSGLEVEL=(2,0),PRTY=0 // EXEC JFORTCG //C.SYSIN DD * C...Program to calculate QCD-weights for LEPTO 4.3 C...Resulting weights written on logical file no. 20. COMMON /LEPTOU/ CUT(14),LST(40),PARL(30),X,Y,W2,Q2,U C...Electron-proton charged current interaction at HERA energies. C...Grid taken as default given in block data LEPTOD in LEPTO 4.3 C...Numerical accuracy taken as default, PARL(13) = 0.01 CALL LWEITS(7,0.,0.,30.,0.,0.,-820.,2) END /* //G.SYSLIN DD // DD DSN=T3.NGL.OBJECT(LEPTO43),DISP=SHR // DD DSN=T3.NGL.OBJECT(JETSET62),DISP=SHR //G.FT20F001 DD DSN=T3.NGL.WEIGHTS(HERACCE),DISP=SHR H. The programs needed are available in compiled object codes at the CER File Program T3.NGL.OBJECT(LEPTO43) Leptoproduction MC LEPTO 4.3 T3.NGL.OBJECT(JETSET62) Fragmentation routines JETSET 6.2 I. Sample jobs (complete with JCL cards for CERN IBM) for simulating eve // JOB ,MSGLEVEL=(2,0) // EXEC JFORTCG,LLB1='CR.PUB.PRO.GENLIB' //C.SYSIN DD * C...Program to demonstrate use of LEPTO 4.3 for neutrino scattering. COMMON /LEPTOU/ CUT(14),LST(40),PARL(30),X,Y,W2,Q2,U COMMON /LUJETS/ N,K(2000,2),P(2000,5) LST(3)=1 READ(5,*) CUT WRITE(6,3) CUT 3 FORMAT(' Cuts on kinematical variables; x, y, Q**2, W**2, nu,' &' E-lepout, theta-lepout',7(/,2F12.3)) CALL LINIT(20) CALL LPRWTS(10,0.,0.,300.,0.,0.,0.,2,3) DO 100 NE=1,10 10 CALL LWBB(PLEPIN) CALL LEPTO(10,0.,0.,PLEPIN,0.,0.,0.,2) IF(LST(21).NE.0) GOTO 10 CALL LULIST(1) 100 CONTINUE END /* //G.SYSLIN DD // DD DSN=T3.NGL.OBJECT(LEPTO43),DISP=SHR // DD DSN=T3.NGL.OBJECT(JETSET62),DISP=SHR //G.SYSIN DD * 0.01,1.,0.,1.,5.,1.E+06,5.,1.E+06,1.,1.E+06,1.,1.E+06,0.,3.14159 /* //G.FT20F001 DD DSN=T3.NGL.WEIGHTS(NUPCC),DISP=SHR