1 #include "isajet/pilot.h"
4 C AUXILIARY ROUTINE FOR QCDINI. GENERATE A Z AND TWO DAUGHTER
5 C PARTONS FOR SPACELIKE PARTON J0.
7 #include "isajet/itapes.inc"
8 #include "isajet/jetset.inc"
9 #include "isajet/jwork.inc"
10 #include "isajet/jwork2.inc"
11 #include "isajet/qcdpar.inc"
12 #include "isajet/primar.inc"
14 DATA CA/3./,CF/1.333333333/
16 PQQ(Z)=CF*(1.+Z**2)/(1.-Z)
17 PQG(Z)=CF*(1.+(1.-Z)**2)/Z
18 PGQ(Z)=.5*(Z**2+(1.-Z)**2)
19 PGG(Z)=2.*CA*(1.-Z*(1.-Z))**2/(Z*(1.-Z))
26 X0=(PJSET(4,J0)+SGN*PJSET(3,J0))/ECM
28 IF(ZMIN.GE.ZMAX) RETURN
30 C SELECT BRANCHING AND GENERATE Z ACCORDING TO ALTARELLI-PARISI
31 C FUNCTIONS. THEN CHECK WITH STRUCTURE FUNCTIONS
39 110 ZGEN=DZMAX/ZMAX*(ZMAX*(1.-ZMIN)/(ZMIN*DZMAX))**RANF()
43 PGGZ=2.*CA*(1.-Z*(1.-Z))**2/(Z*DZ)
44 IF(PGGZ.LT.GZ*RANF()) GO TO 110
50 FX1=STRUC(X1,T0,1,IDIN(JET-10))
52 IF(FX1/FX0.GT.RANF()) ZGOOD=.TRUE.
58 ZGEN=1./RZMAX-RANF()*(1./RZMAX-1./RZMIN)
62 IF(PQG(Z)/RZ.LT.GZ*RANF()) GO TO 120
64 IF(JIN0.NE.2*IFL) IFL=-IFL
70 FX1=STRUC(X1,T0,JIN0,IDIN(JET-10))
72 IF(RZ*FX1/FX0.GT.RANF()) ZGOOD=.TRUE.
81 130 Z=ZMIN+(ZMAX-ZMIN)*RANF()
82 IF(PGQ(Z).LT..5*RANF()) GO TO 130
84 JTYPE(NJSET+2)=-JTYPE(J0)
88 FX1=STRUC(X1,T0,1,IDIN(JET-10))
90 IF(FX1/FX0.GT.RANF().OR.GLFORC(JET-10)) ZGOOD=.TRUE.
94 140 DZ=DZMAX*((1.-ZMIN)/DZMAX)**RANF()
98 IF(IDABS.LE.3) RZ=SQRT(Z)
100 IF(PQQZ/RZ.LT.GZ*RANF()) GO TO 140
101 JTYPE(NJSET+1)=JTYPE(J0)
106 FX1=STRUC(X1,T0,JIN0,IDIN(JET-10))
108 IF(RZ*FX1/FX0.GT.RANF()) ZGOOD=.TRUE.