1 #include "isajet/pilot.h"
4 C CARRY OUT BACKWARDS EVOLUTION QK --> QK + W FOR LONGITUDINAL
5 C W-W FUSION, GENERATING Z AND KT**2 FROM RELATION OF W AND
6 C QUARK STRUCTURE FUNCTIONS.
8 #include "isajet/itapes.inc"
9 #include "isajet/qcdpar.inc"
10 #include "isajet/jetpar.inc"
11 #include "isajet/pjets.inc"
12 #include "isajet/jetset.inc"
13 #include "isajet/primar.inc"
14 #include "isajet/wcon.inc"
15 #include "isajet/const.inc"
16 #include "isajet/idrun.inc"
17 #include "isajet/hcon.inc"
21 DIMENSION FZIQ(13),IWPICK(2),PFINAL(5),BST1(5),BST2(5),B2B1(5)
24 ALAMF(A,B,C)=SQRT((A-B-C)**2-4.*B*C)
32 10 PSAVE(K,I)=PJSET(K,I)
36 30 PJSET(K,I)=PSAVE(K,I)
41 C CHOOSE A W AND DO BACKWARDS EVOLUTION FOR QK -> QK + W.
54 C OTHER PARTICLE IS W FOR JJ=1, QUARK FOR JJ=2:
66 ELSEIF(JTLV1.EQ.80) THEN
68 ELSEIF(JTLV1.EQ.-80) THEN
70 ELSEIF(JTLV1.EQ.90) THEN
73 XV=(PJSET(4,J1)+ABS(PJSET(3,J1)))/ECM
76 C GENERATE VARIABLES FOR BRANCHING
77 C FIND MAXIMUM OF INTEGRAND USING 20 POINTS IN LOG(Z)
85 IF(MATCH(IQ,IW).NE.0) THEN
87 CIQ=AQ(IFL,IW)**2+BQ(IFL,IW)**2
88 FSUM=FSUM+CIQ*(1.-ZIZ)/ZIZ*STRUC(XV/ZIZ,AMV**2,IQ,IDIN(J1))
93 C GENERATE Z UNIFORMLY IN (XV,1) AND TEST
95 120 ZV=XV+(1.-XV)*RANF()
98 IF(MATCH(IQ,IW).NE.0) THEN
100 CIQ=AQ(IFL,IW)**2+BQ(IFL,IW)**2
101 FZIQ(IQ)=CIQ*(1.-ZV)/ZV*STRUC(XV/ZV,AMV**2,IQ,IDIN(J1))
106 IF(FZ.LT.FMAX*RANF()) THEN
108 IF(NREJ1.GT.NTRIES) GO TO 9999
111 C DETERMINE QUARK TYPE
117 140 IF(SUM.GT.TRY) GO TO 150
118 150 IQ3=MATCH(IQ1,IW)
120 C GENERATE T=-K**2 AND UNIFORM PHI
121 T=AMV**2*(1./RANF()-1.)
124 C SOLVE KINEMATICS FOR THIS SIDE
125 S=(PJSET(4,J1)+PJSET(4,J2))**2-(PJSET(1,J1)+PJSET(1,J2))**2
126 $-(PJSET(2,J1)+PJSET(2,J2))**2-(PJSET(3,J1)+PJSET(3,J2))**2
138 P2PL=PJSET(4,J2)+PJSET(3,J2)
141 P2MN=PJSET(4,J2)-PJSET(3,J2)
144 C STEP 1: SOLVE FOR PP1=PJSET(K,NEWV)
146 PP1PL=(SP-AM1SQ-AM2SQ+ALAMF(SP,AM1SQ,AM2SQ))/(2.*P2MN)
149 PP1MN=(SP-AM1SQ-AM2SQ+ALAMF(SP,AM1SQ,AM2SQ))/(2.*P2PL)
152 C STEP 2: SOLVE FOR K = VIRTUAL W MOMENTUM
153 DEN=PP1PL*P2MN-PP1MN*P2PL
154 AKPL=(+PP1PL*(S+T-AM2SQ)+P2PL*(T+AM3SQ-AM1SQ))/DEN
155 AKMN=(-PP1MN*(S+T-AM2SQ)-P2MN*(T+AM3SQ-AM1SQ))/DEN
159 C STEP 3: START OVER IF AKT2 UNPHYSICAL
160 IF(AKT2.LE.0..OR.PP1PL.GE.ECM.OR.PP1MN.GE.ECM.OR.
161 $P2PL.GE.ECM.OR.P2MN.GE.ECM) THEN
163 IF(NREJ2.GT.NTRIES) GO TO 9999
175 PJSET(3,J1)=.5*(AKPL-AKMN)
176 PJSET(4,J1)=.5*(AKPL+AKMN)
178 JDCAY(J1)=JPACK*NJ1+NJ2
179 JET=IABS(JORIG(J1))/JPACK
183 PJSET(3,NJ1)=.5*(PP1PL-PP1MN)
184 PJSET(4,NJ1)=.5*(PP1PL+PP1MN)
186 JORIG(NJ1)=JPACK*JET+J1
192 PJSET(3,NJ2)=.5*(WPL-WMN)
193 PJSET(4,NJ2)=.5*(WPL+WMN)
195 JORIG(NJ2)=JPACK*JET+J1
199 C BOOST OTHER VECTORS TO NEW FRAME GIVEN BY DIFFERENCE OF
200 C OLD AND NEW FINAL MOMENTA.
203 200 BST2(K)=PJSET(K,J1)+PJSET(K,J2)
208 C PARAMETERS FOR COMBINED BOOSTS.
209 BDOTB=BST1(4)*BST2(4)-BST1(1)*BST2(1)-BST1(2)*BST2(2)
212 210 B2B1(K)=BST2(K)-BST1(K)
216 BI42=(BDOTB-BMASS**2-B2B1(4)*BMASS)/(BMASS**2*(BST2(4)+BMASS))
218 B4K2=(BMASS**2-BDOTB-B2B1(4)*BMASS)/(BMASS**2*(BST1(4)+BMASS))
219 BIK1=-1./(BMASS*(BST1(4)+BMASS))
220 BIK2=1./(BMASS*(BST2(4)+BMASS))
221 BIK3=(BMASS**2-BDOTB)/(BMASS**2*(BST1(4)+BMASS)
226 IF(J.EQ.J1.OR.J.EQ.J2) GO TO 220
227 IF(PJSET(5,J).LT.0.) GO TO 220
231 BP1=BP1+BST1(K)*PJSET(K,J)
232 221 BP21=BP21+B2B1(K)*PJSET(K,J)
234 222 PJSET(K,J)=PJSET(K,J)
235 $+(B2B1(K)*BI41+BST2(K)*BI42)*PJSET(4,J)
236 $+B2B1(K)*BP1*BIK1+BST2(K)*BP21*BIK2+BST2(K)*BP1*BIK3
237 PJSET(4,J)=B44*PJSET(4,J)+BP21*B4K1+BP1*B4K2
240 C RESET VIRTUAL MOMENTA
242 IF(J.EQ.J1.OR.J.EQ.J2) GO TO 230
243 IF(PJSET(5,J).GE.0.) GO TO 230
245 JX2=JDCAY(J)-JPACK*JX1
247 231 PJSET(K,J)=PJSET(K,JX1)-PJSET(K,JX2)
248 AMJ=PJSET(4,J)**2-PJSET(1,J)**2-PJSET(2,J)**2-PJSET(3,J)**2
249 PJSET(5,J)=-SQRT(ABS(AMJ))
252 C RESET PFINAL AND NJSET
254 240 PFINAL(K)=PJSET(K,J2)+PJSET(K,NJ1)
261 WRITE(ITLIS,9998) IEVT
262 9998 FORMAT(/' ***** ERROR IN HEVOLV ... EVENT',I8,' DISCARDED *****')