1 #include "isajet/pilot.h"
4 C Auxiliary routine for QCDJET. Calculate ZC and store in
5 C ZZC(J). Generate new mass with ZC and store in PJSET(5,J).
7 C Must include 1/2 symmetry factor in GAMGG. No fix is needed
8 C in QCDZ since GAMGG+2*GAMQQ is used as the normalization.
10 C Include GM, W+, W-, and Z0 radiation.
12 C Ver 7.20: Anomalous dimensions were coded incorrectly!
14 #if defined(CERNLIB_IMPNONE)
17 #include "isajet/itapes.inc"
18 #include "isajet/jetset.inc"
19 #include "isajet/jwork.inc"
20 #include "isajet/qcdpar.inc"
21 #include "isajet/const.inc"
22 #include "isajet/wcon.inc"
23 #include "isajet/primar.inc"
25 REAL AM0,AM1,AM2,AMASS,T0,T1,T2,ZC,B0,GAMEW,GAMQQ,GAMGG,GAM,GAMZC
26 REAL AM1W,AM2W,T1W,T2W,TERM,GB,PROB,RANF,RND,POW,AMNEW,AMOLD
28 INTEGER J,JTLV1,NF,IQ,JTABS,IW,JT0,JT1,IFL1,I
30 DATA JWTYPE/10,80,-80,90/
32 C Set ZC = 0 and return for W+- or Z0
35 IF(JTABS.GE.80.AND.JTABS.LE.90) THEN
44 AM1=AMASS(JTLV1)+CUTJET
46 IF(AM1+AM2.GE.AM0) GO TO 300
50 ZC=(T0-T1+T2-SQRT((T0-T1-T2)**2-4*T1*T2))/(2*T0)
52 C Count light fermions
55 IF(AM0.LT.2*AMASS(IQ)) GO TO 120
60 C Calculate GAMMA(ZC) and GAMEW for quarks
66 GAMQQ=(1.-2.*ZC)*(1.-ZC*(1.-ZC))/3.
67 GAMGG=12.*ALOG((1.-ZC)/ZC)-9.*(1.-2.*ZC)-6.*GAMQQ
72 ELSEIF(JTABS.LT.9) THEN
73 GAMZC=2.*ALOG((1-ZC)/ZC)-1.5*(1.-2.*ZC)
75 GAMEW=ALFA/(2.*PI)*AQ(JTABS,1)**2*GAMZC
76 IF(AM0.GT.WMASS(4)) THEN
79 IF(JTYPE(J).LT.0) JT0=JT0+1
81 IF(JT1.EQ.0) GO TO 130
85 AM2W=AMASS(JWTYPE(IW))
86 IF(AM1W+AM2W.GE.AM0) GO TO 130
89 ZC=(T0-T1W+T2W-SQRT((T0-T1W-T2W)**2-4*T1W*T2W))/(2*T0)
90 GAMZC=2.*ALOG((1-ZC)/ZC)-1.5*(1.-2.*ZC)
91 TERM=(AQ(JTABS,IW)**2+BQ(JTABS,IW)**2)*GAMZC
92 GAMEW=GAMEW+ALFA/(2.*PI)*TERM
97 ELSEIF(MOD(JTABS,100).EQ.0) THEN
98 GAM=8./3.*ALOG((1-ZC)/ZC)-2.*(1.-2.*ZC)
101 ELSEIF(JTABS.EQ.29) THEN
102 GAM=6.*ALOG((1.-ZC)/ZC)-9./2.*(1.-2.*ZC)
105 ELSEIF(JTABS.GT.20.AND.JTABS.LT.29) THEN
106 GAM = 8./3.*(ALOG((1.-ZC)/ZC)-(1.-2.*ZC))
112 PROB=(ALOG(AM1/ALAM)/ALOG(AM0/ALAM))**GB
113 PROB=PROB*(AM1/AM0)**(2.*GAMEW)
114 IF(PROB.GT.RANF()) GO TO 300
116 POW=(1.-(1.-PROB)*RND)**(1./GB)
117 AMNEW=ALAM*(AM0/ALAM)**POW
118 C For quark, add effect of GM, W+-, Z0 radiation
119 IF(IABS(JTYPE(J)).LT.9) THEN
122 POWEW=POW/((AMOLD/AM0)**(2.*GAMEW))**(1./GB)
123 AMNEW=ALAM*(AM0/ALAM)**POWEW
124 IF(ABS(AMNEW-AMOLD).LT.0.001*AMOLD) GO TO 210
127 210 IF(AMNEW.LE.AM1) GO TO 300
131 C Final parton -- set mass to physical value
133 300 PJSET(5,J)=AM1-CUTJET