1 #include "isajet/pilot.h"
4 C Set the W parameters in /WCON/.
5 C SIN2W = sin**2(theta-sub-w)
6 C AQ, BQ = vector, axial couplings normalized to ALFA.
7 C MATCH(IQ1,IW) = Cabibbo favored type for W --> QK1 + QK2.
8 C WCBR(IQ,IW) = cumulative branching ratio for JETTYP(1)=IQ
10 #if defined(CERNLIB_IMPNONE)
13 #include "isajet/itapes.inc"
14 #include "isajet/keys.inc"
15 #include "isajet/wcon.inc"
16 #include "isajet/qlmass.inc"
17 #include "isajet/q1q2.inc"
18 #include "isajet/nodcay.inc"
19 #include "isajet/const.inc"
20 #include "isajet/xmssm.inc"
22 REAL SINW,COSW,AMW,AMZ,AW,FACZ,GAMW,GAMZ,TERM,SUM,AM1,AMASS,AM2
23 INTEGER I1,I2,I3,J,INDEX,IFL,NGAM,NUP,IW,IQ1,IQ2,IFL1,JET,IQ,IFL2
26 INTEGER NUTYP(25),LISTJ(25)
27 #if defined(CERNLIB_SINGLE)
28 REAL SIN2WD,SINWD,COSWD,AWD,FACZD
30 #if defined(CERNLIB_DOUBLE)
31 DOUBLE PRECISION SIN2WD,SINWD,COSWD,AWD,FACZD
33 DATA T3/.5,-.5,-.5,.5,-.5,.5,.5,-.5,.5,-.5,.5,-.5/
34 DATA EQ3/2.,-1.,-1.,2.,-1.,2.,0.,-3.,0.,-3.,0.,-3./
35 DATA NUTYP/13*0,1,1,0,0,1,1,0,0,1,1,0,0/
36 DATA LISTJ/9,1,-1,2,-2,3,-3,4,-4,5,-5,6,-6,
37 $11,-11,12,-12,13,-13,14,-14,15,-15,16,-16/
39 C Masses can be changed with WMASS
46 C Couplings for Weinberg-Salam model
49 FACZ=1./(2.*SINW*COSW)
50 EZ=SQRT((1.-SIN2W)/SIN2W)
58 AQ(IFL,4)=FACZ*(T3(IFL)-2.*EQ3(IFL)/3.*SIN2W)
59 BQ(IFL,4)=FACZ*T3(IFL)
61 #if defined(CERNLIB_SINGLE)
62 C Double precision couplings not needed.
66 AQDP(IFL,IW)=AQ(IFL,IW)
67 BQDP(IFL,IW)=BQ(IFL,IW)
70 #if defined(CERNLIB_DOUBLE)
71 C Double precision couplings for 32-bit machines.
74 COSWD=DSQRT(1.-SIN2WD)
75 AWD=1./(2.*DSQRT(2.D0)*SINWD)
76 FACZD=1./(2.*SINWD*COSWD)
79 AQDP(IFL,1)=EQ3(IFL)/3.D0
85 AQDP(IFL,4)=FACZD*(T3(IFL)-2.D0*EQ3(IFL)/3.D0*SIN2WD)
86 BQDP(IFL,4)=FACZD*T3(IFL)
93 IF(AMLEP(5)+AMLEP(6).GT.AMW) NGAM=9
94 GAMW=GF*AMW**3/(6.*PI*SQRT2)*NGAM
96 IF(2.*AMLEP(6).GT.AMZ) NUP=2
97 GAMZ=NUP*3.*(AQ(1,4)**2+BQ(1,4)**2)+3.*3.*(AQ(2,4)**2+BQ(2,4)**2)
98 1+3.*(AQ(7,4)**2+BQ(7,4)**2+AQ(8,4)**2+BQ(8,4)**2)
100 GAMZ=GAMZ*GF*AMZ**3/(12.*PI*SQRT2)
106 C Branching ratios for secondary W+- and Z0
113 CUMWBR(IQ1,IW1)=CUMWBR(IQ1-1,IW1)
115 IF(IQ2.EQ.0) GO TO 220
116 IF(.NOT.(GOWMOD(IQ1,IW-1).AND.GOWMOD(IQ2,IW-1))) GO TO 220
121 IF(AM1+AM2.GE.WMASS(IW)) GO TO 220
122 TERM=AQ(IQ1/2,IW)**2+BQ(IQ1/2,IW)**2
123 IF(IQ1.LE.13) TERM=3.*TERM
124 CUMWBR(IQ1,IW1)=CUMWBR(IQ1-1,IW1)+TERM
129 2000 FORMAT(//' ***** NO ALLOWED DECAY MODE FOR SECONDARY W TYPE',
134 CUMWBR(IQ1,IW1)=CUMWBR(IQ1,IW1)/SUM
138 C Decay channels for DRELLYAN
143 IF(.NOT.GODY(IW)) GO TO 310
146 IF(IQ2.EQ.0) GO TO 320
147 IF(.NOT.(GOQ(IQ1,1).AND.GOQ(IQ2,2))) GO TO 320
148 IF(NUTYP(IQ1)*NUTYP(IQ2).EQ.1.AND.NONUNU) GO TO 320
150 TERM=.5*(AQ(IFL1,IW)**2+BQ(IFL1,IW)**2)
151 IF(IQ1.LE.13) TERM=3.*TERM
152 COUT(IW)=COUT(IW)+TERM
154 IF(COUT(IW).EQ.0.) THEN
156 3000 FORMAT(//' ***** ERROR IN SETW ... NO ALLOWED DECAY MODE ',
157 $ 'FOR W TYPE',I2,' *****')
163 IF(.NOT.GODY(IW)) GO TO 330
168 IF(IQ2.EQ.0) GO TO 340
169 IF(.NOT.(GOQ(IQ1,1).AND.GOQ(IQ2,2))) GO TO 340
170 IF(NUTYP(IQ1)*NUTYP(IQ2).EQ.1.AND.NONUNU) GO TO 340
172 TERM=.5*(AQ(IFL1,IW)**2+BQ(IFL1,IW)**2)/COUT(IW)
173 IF(IQ1.LE.13) TERM=3.*TERM
180 C Calculate branching ratios for WPAIR events summed over
181 C modes allowed by WMODE cards.
182 C TBRWW = total allowed branching ratio.
183 C RBRWW = relative branching ratios.
184 C TBRWW*RBRWW = physical branching ratios.
186 IF((KEYS(2).AND.(.NOT.GOMSSM)).OR.KEYS(6)
187 ,.OR.KEYS(7).OR.KEYS(9).OR.KEYS(10)) THEN
192 IF(KEYS(6).OR.KEYS(9)) THEN
193 IF(.NOT.GOQ(IW,JET)) GO TO 410
194 ELSEIF((KEYS(2).OR.KEYS(7).OR.KEYS(10)).AND..NOT.GOMSSM)THEN
195 IF(.NOT.GOQ(IW+25,JET)) GO TO 410
196 ELSEIF((KEYS(7).OR.KEYS(10)).AND.GOMSSM) THEN
197 IF(.NOT.GOQ(IW+76,JET)) GO TO 410
204 IF(IQ2.EQ.0) GO TO 420
206 IF(IQ1.GT.13) IFL1=IFL1+4
208 IF(IQ2.GT.13) IFL2=IFL2+4
211 IF(AM1+AM2.GE.WMASS(IW)) GO TO 420
212 TERM=AQ(IQ1/2,IW)**2+BQ(IQ1/2,IW)**2
213 IF(IQ1.LE.13) TERM=3*TERM
215 IF(.NOT.(GOWW(IQ1,JET).AND.GOWW(IQ2,JET))) GO TO 420
216 RBRWW(IQ,IW,JET)=TERM
217 TBRWW(IW,JET)=TBRWW(IW,JET)+TERM
219 TBRWW(IW,JET)=TBRWW(IW,JET)/SUM
220 IF(TBRWW(IW,JET).GT.0.) THEN
222 430 RBRWW(IQ,IW,JET)=RBRWW(IQ,IW,JET)/(SUM*TBRWW(IW,JET))
224 WRITE(ITLIS,445) IW,JET
225 445 FORMAT(/' ***** NO ALLOWED MODE FOR W TYPE ',I2,
226 $ ' IN JET ',I2,' *****'/)