7 IMPLICIT DOUBLE PRECISION(
d)
8 common/lujets/
n,
k(9000,5),
p(9000,5),
v(9000,5)
10 common/ludat1/mstu(200),paru(200),mstj(200),parj(200)
12 common/ludat2/kchg(500,3),pmas(500,4),parf(2000),vckm(4,4)
16 IF(mstu(12).GE.1) CALL
lulist(0)
17 IF(kfl.LT.0.OR.kfl.GT.8)
THEN
18 CALL
luerrm(16,
'(LUEEVT:) called with unknown flavour code')
19 IF(mstu(21).GE.1)
RETURN
21 IF(kfl.LE.5) ecmmin=parj(127)+2.02*parf(100+
max(1,kfl))
22 IF(kfl.GE.6) ecmmin=parj(127)+2.02*pmas(kfl,1)
23 IF(ecm.LT.ecmmin)
THEN
24 CALL
luerrm(16,
'(LUEEVT:) called with too small CM energy')
25 IF(mstu(21).GE.1)
RETURN
29 IF(mstj(109).EQ.2.AND.mstj(110).NE.1)
THEN
31 &
'(LUEEVT:) MSTJ(109) value requires MSTJ(110) = 1')
34 IF(mstj(109).EQ.2.AND.mstj(111).NE.0)
THEN
36 &
'(LUEEVT:) MSTJ(109) value requires MSTJ(111) = 0')
42 IF(mstj(108).EQ.2.AND.(mstj(101).EQ.0.OR.mstj(101).EQ.1))
45 IF(mstu(111).EQ.2) paru(112)=parj(122)
46 IF(mstj(116).GT.0.AND.(mstj(116).GE.2.OR.abs(ecm-parj(151)).GE.
47 &parj(139).OR.10*mstj(102)+kfl.NE.mstj(119))) CALL
luxtot(kfl,ecm,
49 IF(mstj(116).GE.3) mstj(116)=1
55 CALL
luerrm(14,
'(LUEEVT:) caught in an infinite loop')
59 IF(mstj(115).GE.2)
THEN
61 CALL
lu1ent(nc-1,11,0.5*ecm,0.,0.)
63 CALL
lu1ent(nc,-11,0.5*ecm,paru(1),0.)
70 IF(mstj(107).GE.1.AND.mstj(116).GE.1) CALL
luradk(ecm,mk,pak,
72 IF(mk.EQ.1) ecmc=sqrt(ecm*(ecm-2.*pak))
73 IF(mstj(115).GE.1.AND.mk.EQ.1)
THEN
75 CALL
lu1ent(nc,22,pak,thek,phik)
76 k(nc,3)=
min(mstj(115)/2,1)
80 IF(mstj(115).GE.3)
THEN
83 IF(mstj(102).EQ.2) kf=23
87 CALL
lu1ent(nc,kf,ecmc,0.,0.)
94 CALL
luxkfl(kfl,ecm,ecmc,kflc)
95 IF(kflc.EQ.0) goto 100
98 IF(njet.EQ.4) CALL
lux4jt(njet,cut,kflc,ecmc,kfln,x1,
x2,x4,
100 IF(njet.EQ.3) CALL
lux3jt(njet,cut,kflc,ecmc,x1,
x3)
101 IF(njet.EQ.2) mstj(120)=1
104 IF(njet.EQ.2.AND.mstj(101).NE.5) CALL
lu2ent(nc+1,kflc,-kflc,ecmc)
105 IF(njet.EQ.2.AND.mstj(101).EQ.5) CALL
lu2ent(-(nc+1),kflc,-kflc,
107 IF(njet.EQ.3) CALL
lu3ent(nc+1,kflc,21,-kflc,ecmc,x1,
x3)
108 IF(njet.EQ.4.AND.kfln.EQ.21) CALL
lu4ent(nc+1,kflc,kfln,kfln,
109 &-kflc,ecmc,x1,
x2,x4,x12,x14)
110 IF(njet.EQ.4.AND.kfln.NE.21) CALL
lu4ent(nc+1,kflc,-kfln,kfln,
111 &-kflc,ecmc,x1,
x2,x4,x12,x14)
113 110
k(
ip,3)=
k(
ip,3)+
min(mstj(115)/2,1)+(mstj(115)/3)*(nc-1)
116 IF(mstj(106).EQ.1)
THEN
117 CALL
luxdif(nc,njet,kflc,ecmc,chi,the,
phi)
118 CALL ludbrb(nc+1,
n,0.,chi,0d0,0d0,0d0)
119 CALL ludbrb(nc+1,
n,the,
phi,0d0,0d0,0d0)
125 nmin=nc+1-mstj(115)/3
126 CALL ludbrb(nmin,
n,0.,-phik,0d0,0d0,0d0)
127 CALL ludbrb(nmin,
n,alpk,0.,dbek*sin(thek),0d0,dbek*
cos(thek))
128 CALL ludbrb(nmin,
n,0.,phik,0d0,0d0,0d0)
132 IF(mstj(101).EQ.5)
THEN
135 IF(mstj(105).EQ.-1) mstj(14)=0
136 IF(mstj(105).GE.0) mstu(28)=0
139 IF(mstj(105).GE.0.AND.mstu(28).NE.0) goto 100
143 IF(mstj(105).EQ.1) CALL
luexec