File indexing completed on 2025-08-05 08:21:17
0001
0002
0003
0004
0005
0006
0007
0008
0009 SUBROUTINE PYSGWZ(NCHN,SIGS)
0010
0011
0012 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0013 IMPLICIT INTEGER(I-N)
0014 INTEGER PYK,PYCHGE,PYCOMP
0015
0016 PARAMETER (KSUSY1=1000000,KSUSY2=2000000,KTECHN=3000000,
0017 &KEXCIT=4000000,KDIMEN=5000000)
0018
0019 COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0020 COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
0021 COMMON/PYDAT3/MDCY(500,3),MDME(8000,2),BRAT(8000),KFDP(8000,5)
0022 COMMON/PYSUBS/MSEL,MSELPD,MSUB(500),KFIN(2,-40:40),CKIN(200)
0023 COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
0024 COMMON/PYINT1/MINT(400),VINT(400)
0025 COMMON/PYINT2/ISET(500),KFPR(500,2),COEF(500,20),ICOL(40,4,2)
0026 COMMON/PYINT3/XSFX(2,-40:40),ISIG(1000,3),SIGH(1000)
0027 COMMON/PYINT4/MWID(500),WIDS(500,5)
0028 COMMON/PYTCSM/ITCM(0:99),RTCM(0:99)
0029 COMMON/PYSGCM/ISUB,ISUBSV,MMIN1,MMAX1,MMIN2,MMAX2,MMINA,MMAXA,
0030 &KFAC(2,-40:40),COMFAC,FACK,FACA,SH,TH,UH,SH2,TH2,UH2,SQM3,SQM4,
0031 &SHR,SQPTH,TAUP,BE34,CTH,X(2),SQMZ,SQMW,GMMZ,GMMW,
0032 &AEM,AS,XW,XW1,XWC,XWV,POLL,POLR,POLLL,POLRR
0033 SAVE /PYDAT1/,/PYDAT2/,/PYDAT3/,/PYSUBS/,/PYPARS/,/PYINT1/,
0034 &/PYINT2/,/PYINT3/,/PYINT4/,/PYTCSM/,/PYSGCM/
0035
0036 DIMENSION WDTP(0:400),WDTE(0:400,0:5),HGZ(6,3),HL3(3),HR3(3),
0037 &HL4(3),HR4(3)
0038 COMPLEX*16 COULCK,COULCP,COULCD,COULCR,COULCS
0039
0040
0041
0042 IF(ISUB.LE.20) THEN
0043 IF(ISUB.EQ.1) THEN
0044
0045 MINT(61)=2
0046 CALL PYWIDT(23,SH,WDTP,WDTE)
0047 HS=SHR*WDTP(0)
0048 FACZ=4D0*COMFAC*3D0
0049 HP0=AEM/3D0*SH
0050 HP1=AEM/3D0*XWC*SH
0051 DO 100 I=MMINA,MMAXA
0052 IF(I.EQ.0.OR.KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 100
0053 EI=KCHG(IABS(I),1)/3D0
0054 AI=SIGN(1D0,EI)
0055 VI=AI-4D0*EI*XWV
0056 HI0=HP0
0057 IF(IABS(I).LE.10) HI0=HI0*FACA/3D0
0058 HI1=HP1
0059 IF(IABS(I).LE.10) HI1=HI1*FACA/3D0
0060 NCHN=NCHN+1
0061 ISIG(NCHN,1)=I
0062 ISIG(NCHN,2)=-I
0063 ISIG(NCHN,3)=1
0064 SIGH(NCHN)=FACZ*(EI**2/SH2*HI0*HP0*VINT(111)+
0065 & EI*VI*(1D0-SQMZ/SH)/((SH-SQMZ)**2+HS**2)*
0066 & (HI0*HP1+HI1*HP0)*VINT(112)+(VI**2+AI**2)/
0067 & ((SH-SQMZ)**2+HS**2)*HI1*HP1*VINT(114))
0068 100 CONTINUE
0069
0070 ELSEIF(ISUB.EQ.2) THEN
0071
0072 CALL PYWIDT(24,SH,WDTP,WDTE)
0073 HS=SHR*WDTP(0)
0074 FACBW=4D0*COMFAC/((SH-SQMW)**2+HS**2)*3D0
0075 HP=AEM/(24D0*XW)*SH
0076 DO 120 I=MMIN1,MMAX1
0077 IF(I.EQ.0.OR.KFAC(1,I).EQ.0) GOTO 120
0078 IA=IABS(I)
0079 DO 110 J=MMIN2,MMAX2
0080 IF(J.EQ.0.OR.KFAC(2,J).EQ.0) GOTO 110
0081 JA=IABS(J)
0082 IF(I*J.GT.0.OR.MOD(IA+JA,2).EQ.0) GOTO 110
0083 IF((IA.LE.10.AND.JA.GT.10).OR.(IA.GT.10.AND.JA.LE.10))
0084 & GOTO 110
0085 KCHW=(KCHG(IA,1)*ISIGN(1,I)+KCHG(JA,1)*ISIGN(1,J))/3
0086 HI=HP*2D0
0087 IF(IA.LE.10) HI=HI*VCKM((IA+1)/2,(JA+1)/2)*FACA/3D0
0088 NCHN=NCHN+1
0089 ISIG(NCHN,1)=I
0090 ISIG(NCHN,2)=J
0091 ISIG(NCHN,3)=1
0092 HF=SHR*(WDTE(0,1)+WDTE(0,(5-KCHW)/2)+WDTE(0,4))
0093 SIGH(NCHN)=HI*FACBW*HF
0094 110 CONTINUE
0095 120 CONTINUE
0096
0097 ELSEIF(ISUB.EQ.15) THEN
0098
0099 FACZG=COMFAC*AS*AEM*(8D0/9D0)*(TH2+UH2+2D0*SQM4*SH)/(TH*UH)
0100
0101 HFGG=0D0
0102 HFGZ=0D0
0103 HFZZ=0D0
0104 RADC4=1D0+PYALPS(SQM4)/PARU(1)
0105 DO 130 I=1,MIN(16,MDCY(23,3))
0106 IDC=I+MDCY(23,2)-1
0107 IF(MDME(IDC,1).LT.0) GOTO 130
0108 IMDM=0
0109 IF(MDME(IDC,1).EQ.1.OR.MDME(IDC,1).EQ.2.OR.MDME(IDC,1).EQ.4)
0110 & IMDM=1
0111 IF(I.LE.8) THEN
0112 EF=KCHG(I,1)/3D0
0113 AF=SIGN(1D0,EF+0.1D0)
0114 VF=AF-4D0*EF*XWV
0115 ELSEIF(I.LE.16) THEN
0116 EF=KCHG(I+2,1)/3D0
0117 AF=SIGN(1D0,EF+0.1D0)
0118 VF=AF-4D0*EF*XWV
0119 ENDIF
0120 RM1=PMAS(IABS(KFDP(IDC,1)),1)**2/SQM4
0121 IF(4D0*RM1.LT.1D0) THEN
0122 FCOF=1D0
0123 IF(I.LE.8) FCOF=3D0*RADC4
0124 BE34=SQRT(MAX(0D0,1D0-4D0*RM1))
0125 IF(IMDM.EQ.1) THEN
0126 HFGG=HFGG+FCOF*EF**2*(1D0+2D0*RM1)*BE34
0127 HFGZ=HFGZ+FCOF*EF*VF*(1D0+2D0*RM1)*BE34
0128 HFZZ=HFZZ+FCOF*(VF**2*(1D0+2D0*RM1)+
0129 & AF**2*(1D0-4D0*RM1))*BE34
0130 ENDIF
0131 ENDIF
0132 130 CONTINUE
0133
0134 HBW4=(1D0/PARU(1))*GMMZ/((SQM4-SQMZ)**2+GMMZ**2)
0135 MINT15=MINT(15)
0136 MINT(15)=1
0137 MINT(61)=1
0138 CALL PYWIDT(23,SQM4,WDTP,WDTE)
0139 MINT(15)=MINT15
0140 HFAEM=(PARU(108)/PARU(2))*(2D0/3D0)
0141 HFGG=HFGG*HFAEM*VINT(111)/SQM4
0142 HFGZ=HFGZ*HFAEM*VINT(112)/SQM4
0143 HFZZ=HFZZ*HFAEM*VINT(114)/SQM4
0144
0145 DO 140 I=MMINA,MMAXA
0146 IF(I.EQ.0.OR.IABS(I).GT.MSTP(58).OR.
0147 & KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 140
0148 EI=KCHG(IABS(I),1)/3D0
0149 AI=SIGN(1D0,EI)
0150 VI=AI-4D0*EI*XWV
0151 NCHN=NCHN+1
0152 ISIG(NCHN,1)=I
0153 ISIG(NCHN,2)=-I
0154 ISIG(NCHN,3)=1
0155 SIGH(NCHN)=FACZG*(EI**2*HFGG+EI*VI*HFGZ+
0156 & (VI**2+AI**2)*HFZZ)/HBW4
0157 140 CONTINUE
0158
0159 ELSEIF(ISUB.EQ.16) THEN
0160
0161 FACWG=COMFAC*AS*AEM/XW*2D0/9D0*(TH2+UH2+2D0*SQM4*SH)/(TH*UH)
0162
0163 HBW4=GMMW/((SQM4-SQMW)**2+GMMW**2)
0164 CALL PYWIDT(24,SQM4,WDTP,WDTE)
0165 GMMWC=SQRT(SQM4)*WDTP(0)
0166 HBW4C=GMMWC/((SQM4-SQMW)**2+GMMWC**2)
0167 FACWG=FACWG*HBW4C/HBW4
0168 DO 160 I=MMIN1,MMAX1
0169 IA=IABS(I)
0170 IF(I.EQ.0.OR.IA.GT.10.OR.KFAC(1,I).EQ.0) GOTO 160
0171 DO 150 J=MMIN2,MMAX2
0172 JA=IABS(J)
0173 IF(J.EQ.0.OR.JA.GT.10.OR.KFAC(2,J).EQ.0) GOTO 150
0174 IF(I*J.GT.0.OR.MOD(IA+JA,2).EQ.0) GOTO 150
0175 KCHW=(KCHG(IA,1)*ISIGN(1,I)+KCHG(JA,1)*ISIGN(1,J))/3
0176 WIDSC=(WDTE(0,1)+WDTE(0,(5-KCHW)/2)+WDTE(0,4))/WDTP(0)
0177 FCKM=VCKM((IA+1)/2,(JA+1)/2)
0178 NCHN=NCHN+1
0179 ISIG(NCHN,1)=I
0180 ISIG(NCHN,2)=J
0181 ISIG(NCHN,3)=1
0182 SIGH(NCHN)=FACWG*FCKM*WIDSC
0183 150 CONTINUE
0184 160 CONTINUE
0185
0186 ELSEIF(ISUB.EQ.19) THEN
0187
0188 FACGZ=COMFAC*2D0*AEM**2*(TH2+UH2+2D0*SQM4*SH)/(TH*UH)
0189
0190 HFGG=0D0
0191 HFGZ=0D0
0192 HFZZ=0D0
0193 RADC4=1D0+PYALPS(SQM4)/PARU(1)
0194 DO 170 I=1,MIN(16,MDCY(23,3))
0195 IDC=I+MDCY(23,2)-1
0196 IF(MDME(IDC,1).LT.0) GOTO 170
0197 IMDM=0
0198 IF(MDME(IDC,1).EQ.1.OR.MDME(IDC,1).EQ.2.OR.MDME(IDC,1).EQ.4)
0199 & IMDM=1
0200 IF(I.LE.8) THEN
0201 EF=KCHG(I,1)/3D0
0202 AF=SIGN(1D0,EF+0.1D0)
0203 VF=AF-4D0*EF*XWV
0204 ELSEIF(I.LE.16) THEN
0205 EF=KCHG(I+2,1)/3D0
0206 AF=SIGN(1D0,EF+0.1D0)
0207 VF=AF-4D0*EF*XWV
0208 ENDIF
0209 RM1=PMAS(IABS(KFDP(IDC,1)),1)**2/SQM4
0210 IF(4D0*RM1.LT.1D0) THEN
0211 FCOF=1D0
0212 IF(I.LE.8) FCOF=3D0*RADC4
0213 BE34=SQRT(MAX(0D0,1D0-4D0*RM1))
0214 IF(IMDM.EQ.1) THEN
0215 HFGG=HFGG+FCOF*EF**2*(1D0+2D0*RM1)*BE34
0216 HFGZ=HFGZ+FCOF*EF*VF*(1D0+2D0*RM1)*BE34
0217 HFZZ=HFZZ+FCOF*(VF**2*(1D0+2D0*RM1)+
0218 & AF**2*(1D0-4D0*RM1))*BE34
0219 ENDIF
0220 ENDIF
0221 170 CONTINUE
0222
0223 HBW4=(1D0/PARU(1))*GMMZ/((SQM4-SQMZ)**2+GMMZ**2)
0224 MINT15=MINT(15)
0225 MINT(15)=1
0226 MINT(61)=1
0227 CALL PYWIDT(23,SQM4,WDTP,WDTE)
0228 MINT(15)=MINT15
0229 HFAEM=(PARU(108)/PARU(2))*(2D0/3D0)
0230 HFGG=HFGG*HFAEM*VINT(111)/SQM4
0231 HFGZ=HFGZ*HFAEM*VINT(112)/SQM4
0232 HFZZ=HFZZ*HFAEM*VINT(114)/SQM4
0233
0234 DO 180 I=MMINA,MMAXA
0235 IF(I.EQ.0.OR.KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 180
0236 EI=KCHG(IABS(I),1)/3D0
0237 AI=SIGN(1D0,EI)
0238 VI=AI-4D0*EI*XWV
0239 FCOI=1D0
0240 IF(IABS(I).LE.10) FCOI=FACA/3D0
0241 NCHN=NCHN+1
0242 ISIG(NCHN,1)=I
0243 ISIG(NCHN,2)=-I
0244 ISIG(NCHN,3)=1
0245 SIGH(NCHN)=FACGZ*FCOI*EI**2*(EI**2*HFGG+EI*VI*HFGZ+
0246 & (VI**2+AI**2)*HFZZ)/HBW4
0247 180 CONTINUE
0248
0249 ELSEIF(ISUB.EQ.20) THEN
0250
0251 FACGW=COMFAC*0.5D0*AEM**2/XW
0252
0253 HBW4=GMMW/((SQM4-SQMW)**2+GMMW**2)
0254 CALL PYWIDT(24,SQM4,WDTP,WDTE)
0255 GMMWC=SQRT(SQM4)*WDTP(0)
0256 HBW4C=GMMWC/((SQM4-SQMW)**2+GMMWC**2)
0257 FACGW=FACGW*HBW4C/HBW4
0258
0259 TERM1=(TH2+UH2+2D0*SQM4*SH)/(TH*UH)
0260 TERM2=0D0
0261 TERM3=0D0
0262 IF(ITCM(5).GE.1.AND.ITCM(5).LE.4) THEN
0263 TERM2=RTCM(46)*(TH-UH)/(TH+UH)
0264 TERM3=0.5D0*RTCM(46)**2*(TH*UH+(TH2+UH2)*SH/
0265 & (4D0*SQMW))/(TH+UH)**2
0266 ENDIF
0267 DO 200 I=MMIN1,MMAX1
0268 IA=IABS(I)
0269 IF(I.EQ.0.OR.IA.GT.20.OR.KFAC(1,I).EQ.0) GOTO 200
0270 DO 190 J=MMIN2,MMAX2
0271 JA=IABS(J)
0272 IF(J.EQ.0.OR.JA.GT.20.OR.KFAC(2,J).EQ.0) GOTO 190
0273 IF(I*J.GT.0.OR.MOD(IA+JA,2).EQ.0) GOTO 190
0274 IF((IA.LE.10.AND.JA.GT.10).OR.(IA.GT.10.AND.JA.LE.10))
0275 & GOTO 190
0276 KCHW=(KCHG(IA,1)*ISIGN(1,I)+KCHG(JA,1)*ISIGN(1,J))/3
0277 WIDSC=(WDTE(0,1)+WDTE(0,(5-KCHW)/2)+WDTE(0,4))/WDTP(0)
0278 IF(IA.LE.10) THEN
0279 FACWR=UH/(TH+UH)-1D0/3D0
0280 FCKM=VCKM((IA+1)/2,(JA+1)/2)
0281 FCOI=FACA/3D0
0282 ELSE
0283 FACWR=-TH/(TH+UH)
0284 FCKM=1D0
0285 FCOI=1D0
0286 ENDIF
0287 FACWK=TERM1*FACWR**2+TERM2*FACWR+TERM3
0288 NCHN=NCHN+1
0289 ISIG(NCHN,1)=I
0290 ISIG(NCHN,2)=J
0291 ISIG(NCHN,3)=1
0292 SIGH(NCHN)=FACGW*FACWK*FCOI*FCKM*WIDSC
0293 190 CONTINUE
0294 200 CONTINUE
0295 ENDIF
0296
0297 ELSEIF(ISUB.LE.40) THEN
0298 IF(ISUB.EQ.22) THEN
0299
0300
0301 FACZZ=COMFAC*AEM**2*((TH2+UH2+2D0*(SQM3+SQM4)*SH)/(TH*UH)-
0302 & SQM3*SQM4*(1D0/TH2+1D0/UH2))
0303
0304 DO 220 I=1,6
0305 DO 210 J=1,3
0306 HGZ(I,J)=0D0
0307 210 CONTINUE
0308 220 CONTINUE
0309 RADC3=1D0+PYALPS(SQM3)/PARU(1)
0310 RADC4=1D0+PYALPS(SQM4)/PARU(1)
0311 DO 230 I=1,MIN(16,MDCY(23,3))
0312 IDC=I+MDCY(23,2)-1
0313 IF(MDME(IDC,1).LT.0) GOTO 230
0314 IMDM=0
0315 IF(MDME(IDC,1).EQ.1.OR.MDME(IDC,1).EQ.2) IMDM=1
0316 IF(MDME(IDC,1).EQ.4.OR.MDME(IDC,1).EQ.5) IMDM=MDME(IDC,1)-2
0317 IF(I.LE.8) THEN
0318 EF=KCHG(I,1)/3D0
0319 AF=SIGN(1D0,EF+0.1D0)
0320 VF=AF-4D0*EF*XWV
0321 ELSEIF(I.LE.16) THEN
0322 EF=KCHG(I+2,1)/3D0
0323 AF=SIGN(1D0,EF+0.1D0)
0324 VF=AF-4D0*EF*XWV
0325 ENDIF
0326 RM1=PMAS(IABS(KFDP(IDC,1)),1)**2/SQM3
0327 IF(4D0*RM1.LT.1D0) THEN
0328 FCOF=1D0
0329 IF(I.LE.8) FCOF=3D0*RADC3
0330 BE34=SQRT(MAX(0D0,1D0-4D0*RM1))
0331 IF(IMDM.GE.1) THEN
0332 HGZ(1,IMDM)=HGZ(1,IMDM)+FCOF*EF**2*(1D0+2D0*RM1)*BE34
0333 HGZ(2,IMDM)=HGZ(2,IMDM)+FCOF*EF*VF*(1D0+2D0*RM1)*BE34
0334 HGZ(3,IMDM)=HGZ(3,IMDM)+FCOF*(VF**2*(1D0+2D0*RM1)+
0335 & AF**2*(1D0-4D0*RM1))*BE34
0336 ENDIF
0337 ENDIF
0338 RM1=PMAS(IABS(KFDP(IDC,1)),1)**2/SQM4
0339 IF(4D0*RM1.LT.1D0) THEN
0340 FCOF=1D0
0341 IF(I.LE.8) FCOF=3D0*RADC4
0342 BE34=SQRT(MAX(0D0,1D0-4D0*RM1))
0343 IF(IMDM.GE.1) THEN
0344 HGZ(4,IMDM)=HGZ(4,IMDM)+FCOF*EF**2*(1D0+2D0*RM1)*BE34
0345 HGZ(5,IMDM)=HGZ(5,IMDM)+FCOF*EF*VF*(1D0+2D0*RM1)*BE34
0346 HGZ(6,IMDM)=HGZ(6,IMDM)+FCOF*(VF**2*(1D0+2D0*RM1)+
0347 & AF**2*(1D0-4D0*RM1))*BE34
0348 ENDIF
0349 ENDIF
0350 230 CONTINUE
0351
0352 HBW3=(1D0/PARU(1))*GMMZ/((SQM3-SQMZ)**2+GMMZ**2)
0353 HBW4=(1D0/PARU(1))*GMMZ/((SQM4-SQMZ)**2+GMMZ**2)
0354 MINT15=MINT(15)
0355 MINT(15)=1
0356 MINT(61)=1
0357 CALL PYWIDT(23,SQM3,WDTP,WDTE)
0358 MINT(15)=MINT15
0359 HFAEM=(PARU(108)/PARU(2))*(2D0/3D0)
0360 DO 240 J=1,3
0361 HGZ(1,J)=HGZ(1,J)*HFAEM*VINT(111)/SQM3
0362 HGZ(2,J)=HGZ(2,J)*HFAEM*VINT(112)/SQM3
0363 HGZ(3,J)=HGZ(3,J)*HFAEM*VINT(114)/SQM3
0364 240 CONTINUE
0365 MINT15=MINT(15)
0366 MINT(15)=1
0367 MINT(61)=1
0368 CALL PYWIDT(23,SQM4,WDTP,WDTE)
0369 MINT(15)=MINT15
0370 HFAEM=(PARU(108)/PARU(2))*(2D0/3D0)
0371 DO 250 J=1,3
0372 HGZ(4,J)=HGZ(4,J)*HFAEM*VINT(111)/SQM4
0373 HGZ(5,J)=HGZ(5,J)*HFAEM*VINT(112)/SQM4
0374 HGZ(6,J)=HGZ(6,J)*HFAEM*VINT(114)/SQM4
0375 250 CONTINUE
0376
0377 DO 270 I=MMINA,MMAXA
0378 IF(I.EQ.0.OR.KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 270
0379 EI=KCHG(IABS(I),1)/3D0
0380 AI=SIGN(1D0,EI)
0381 VI=AI-4D0*EI*XWV
0382 VALI=VI-AI
0383 VARI=VI+AI
0384 FCOI=1D0
0385 IF(IABS(I).LE.10) FCOI=FACA/3D0
0386 DO 260 J=1,3
0387 HL3(J)=EI**2*HGZ(1,J)+EI*VALI*HGZ(2,J)+VALI**2*HGZ(3,J)
0388 HR3(J)=EI**2*HGZ(1,J)+EI*VARI*HGZ(2,J)+VARI**2*HGZ(3,J)
0389 HL4(J)=EI**2*HGZ(4,J)+EI*VALI*HGZ(5,J)+VALI**2*HGZ(6,J)
0390 HR4(J)=EI**2*HGZ(4,J)+EI*VARI*HGZ(5,J)+VARI**2*HGZ(6,J)
0391 260 CONTINUE
0392 FACLR=HL3(1)*HL4(1)+HL3(1)*(HL4(2)+HL4(3))+
0393 & HL4(1)*(HL3(2)+HL3(3))+HL3(2)*HL4(3)+HL4(2)*HL3(3)+
0394 & HR3(1)*HR4(1)+HR3(1)*(HR4(2)+HR4(3))+
0395 & HR4(1)*(HR3(2)+HR3(3))+HR3(2)*HR4(3)+HR4(2)*HR3(3)
0396 NCHN=NCHN+1
0397 ISIG(NCHN,1)=I
0398 ISIG(NCHN,2)=-I
0399 ISIG(NCHN,3)=1
0400 SIGH(NCHN)=0.5D0*FACZZ*FCOI*FACLR/(HBW3*HBW4)
0401 270 CONTINUE
0402
0403 ELSEIF(ISUB.EQ.23) THEN
0404
0405 FACZW=COMFAC*0.5D0*(AEM/XW)**2
0406 FACZW=FACZW*WIDS(23,2)
0407 THUH=MAX(TH*UH-SQM3*SQM4,SH*CKIN(3)**2)
0408 FACBW=1D0/((SH-SQMW)**2+GMMW**2)
0409 DO 290 I=MMIN1,MMAX1
0410 IA=IABS(I)
0411 IF(I.EQ.0.OR.IA.GT.20.OR.KFAC(1,I).EQ.0) GOTO 290
0412 DO 280 J=MMIN2,MMAX2
0413 JA=IABS(J)
0414 IF(J.EQ.0.OR.JA.GT.20.OR.KFAC(2,J).EQ.0) GOTO 280
0415 IF(I*J.GT.0.OR.MOD(IA+JA,2).EQ.0) GOTO 280
0416 IF((IA.LE.10.AND.JA.GT.10).OR.(IA.GT.10.AND.JA.LE.10))
0417 & GOTO 280
0418 KCHW=(KCHG(IA,1)*ISIGN(1,I)+KCHG(JA,1)*ISIGN(1,J))/3
0419 EI=KCHG(IA,1)/3D0
0420 AI=SIGN(1D0,EI+0.1D0)
0421 VI=AI-4D0*EI*XWV
0422 EJ=KCHG(JA,1)/3D0
0423 AJ=SIGN(1D0,EJ+0.1D0)
0424 VJ=AJ-4D0*EJ*XWV
0425 IF(VI+AI.GT.0) THEN
0426 VISAV=VI
0427 AISAV=AI
0428 VI=VJ
0429 AI=AJ
0430 VJ=VISAV
0431 AJ=AISAV
0432 ENDIF
0433 FCKM=1D0
0434 IF(IA.LE.10) FCKM=VCKM((IA+1)/2,(JA+1)/2)
0435 FCOI=1D0
0436 IF(IA.LE.10) FCOI=FACA/3D0
0437 NCHN=NCHN+1
0438 ISIG(NCHN,1)=I
0439 ISIG(NCHN,2)=J
0440 ISIG(NCHN,3)=1
0441 SIGH(NCHN)=FACZW*FCOI*FCKM*(FACBW*((9D0-8D0*XW)/4D0*THUH+
0442 & (8D0*XW-6D0)/4D0*SH*(SQM3+SQM4))+(THUH-SH*(SQM3+SQM4))*
0443 & (SH-SQMW)*FACBW*0.5D0*((VJ+AJ)/TH-(VI+AI)/UH)+
0444 & THUH/(16D0*XW1)*((VJ+AJ)**2/TH2+(VI+AI)**2/UH2)+
0445 & SH*(SQM3+SQM4)/(8D0*XW1)*(VI+AI)*(VJ+AJ)/(TH*UH))*
0446 & WIDS(24,(5-KCHW)/2)
0447
0448
0449 SIGH(NCHN)=MAX(0D0,SIGH(NCHN))
0450 280 CONTINUE
0451 290 CONTINUE
0452
0453 ELSEIF(ISUB.EQ.25) THEN
0454
0455
0456 GMMZC=GMMZ
0457 HBWZC=SH**2/((SH-SQMZ)**2+GMMZC**2)
0458 HBW3=GMMW/((SQM3-SQMW)**2+GMMW**2)
0459 CALL PYWIDT(24,SQM3,WDTP,WDTE)
0460 GMMW3=SQRT(SQM3)*WDTP(0)
0461 HBW3C=GMMW3/((SQM3-SQMW)**2+GMMW3**2)
0462 HBW4=GMMW/((SQM4-SQMW)**2+GMMW**2)
0463 CALL PYWIDT(24,SQM4,WDTP,WDTE)
0464 GMMW4=SQRT(SQM4)*WDTP(0)
0465 HBW4C=GMMW4/((SQM4-SQMW)**2+GMMW4**2)
0466
0467 THUH=MAX(TH*UH-SQM3*SQM4,SH*CKIN(3)**2)
0468 THUH34=(2D0*SH*(SQM3+SQM4)+THUH)/(SQM3*SQM4)
0469 GS=(((SH-SQM3-SQM4)**2-4D0*SQM3*SQM4)*THUH34+12D0*THUH)/SH2
0470 GT=THUH34+4D0*THUH/TH2
0471 GST=((SH-SQM3-SQM4)*THUH34+4D0*(SH*(SQM3+SQM4)-THUH)/TH)/SH
0472 GU=THUH34+4D0*THUH/UH2
0473 GSU=((SH-SQM3-SQM4)*THUH34+4D0*(SH*(SQM3+SQM4)-THUH)/UH)/SH
0474
0475 FACWW=COMFAC*(HBW3C/HBW3)*(HBW4C/HBW4)
0476 FACWW=FACWW*WIDS(24,1)
0477 CGG=AEM**2/2D0
0478 CGZ=AEM**2/(4D0*XW)*HBWZC*(1D0-SQMZ/SH)
0479 CZZ=AEM**2/(32D0*XW**2)*HBWZC
0480 CNG=AEM**2/(4D0*XW)
0481 CNZ=AEM**2/(16D0*XW**2)*HBWZC*(1D0-SQMZ/SH)
0482 CNN=AEM**2/(16D0*XW**2)
0483
0484 IF(MSTP(40).GE.1.AND.MSTP(40).LE.3) THEN
0485 COULE=(SH-4D0*SQMW)/(4D0*PMAS(24,1))
0486 COULP=MAX(1D-10,0.5D0*BE34*SQRT(SH))
0487 IF(COULE.LT.100D0*PMAS(24,2)) THEN
0488 COULP1=SQRT(0.5D0*PMAS(24,1)*(SQRT(COULE**2+
0489 & PMAS(24,2)**2)-COULE))
0490 ELSE
0491 COULP1=SQRT(0.5D0*PMAS(24,1)*(0.5D0*PMAS(24,2)**2/COULE))
0492 ENDIF
0493 IF(COULE.GT.-100D0*PMAS(24,2)) THEN
0494 COULP2=SQRT(0.5D0*PMAS(24,1)*(SQRT(COULE**2+
0495 & PMAS(24,2)**2)+COULE))
0496 ELSE
0497 COULP2=SQRT(0.5D0*PMAS(24,1)*(0.5D0*PMAS(24,2)**2/
0498 & ABS(COULE)))
0499 ENDIF
0500 IF(MSTP(40).EQ.1) THEN
0501 COULDC=PARU(1)-2D0*ATAN((COULP1**2+COULP2**2-COULP**2)/
0502 & MAX(1D-10,2D0*COULP*COULP1))
0503 FACCOU=1D0+0.5D0*PARU(101)*COULDC/MAX(1D-5,BE34)
0504 ELSEIF(MSTP(40).EQ.2) THEN
0505 COULCK=DCMPLX(DBLE(COULP1),DBLE(COULP2))
0506 COULCP=DCMPLX(0D0,DBLE(COULP))
0507 COULCD=(COULCK+COULCP)/(COULCK-COULCP)
0508 COULCR=1D0+DBLE(PARU(101)*SQRT(SH))/
0509 & (4D0*COULCP)*LOG(COULCD)
0510 COULCS=DCMPLX(0D0,0D0)
0511 NSTP=100
0512 DO 300 ISTP=1,NSTP
0513 COULXX=(ISTP-0.5)/NSTP
0514 COULCS=COULCS+(1D0/COULXX)*LOG((1D0+COULXX*COULCD)/
0515 & (1D0+COULXX/COULCD))
0516 300 CONTINUE
0517 COULCR=COULCR+DBLE(PARU(101)**2*SH)/(16D0*COULCP*COULCK)*
0518 & (COULCS/NSTP)
0519 FACCOU=ABS(COULCR)**2
0520 ELSEIF(MSTP(40).EQ.3) THEN
0521 COULDC=PARU(1)-2D0*(1D0-BE34)**2*ATAN((COULP1**2+
0522 & COULP2**2-COULP**2)/MAX(1D-10,2D0*COULP*COULP1))
0523 FACCOU=1D0+0.5D0*PARU(101)*COULDC/MAX(1D-5,BE34)
0524 ENDIF
0525 ELSEIF(MSTP(40).EQ.4) THEN
0526 FACCOU=1D0+0.5D0*PARU(101)*PARU(1)/MAX(1D-5,BE34)
0527 ELSE
0528 FACCOU=1D0
0529 ENDIF
0530 VINT(95)=FACCOU
0531 FACWW=FACWW*FACCOU
0532
0533 DO 310 I=MMINA,MMAXA
0534 IF(I.EQ.0.OR.KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 310
0535 EI=KCHG(IABS(I),1)/3D0
0536 AI=SIGN(1D0,EI+0.1D0)
0537 VI=AI-4D0*EI*XWV
0538 FCOI=1D0
0539 IF(IABS(I).LE.10) FCOI=FACA/3D0
0540 IF(MSTP(50).LE.0.OR.IABS(I).LE.10) THEN
0541 IF(AI.LT.0D0) THEN
0542 DSIGWW=(CGG*EI**2+CGZ*VI*EI+CZZ*(VI**2+AI**2))*GS+
0543 & (CNG*EI+CNZ*(VI+AI))*GST+CNN*GT
0544 ELSE
0545 DSIGWW=(CGG*EI**2+CGZ*VI*EI+CZZ*(VI**2+AI**2))*GS-
0546 & (CNG*EI+CNZ*(VI+AI))*GSU+CNN*GU
0547 ENDIF
0548 ELSE
0549 XMW02=0.5D0*(SQM3+SQM4)-0.25D0*(SQM3-SQM4)**2/SH
0550 BET=SQRT(1D0-4D0*XMW02/SH)
0551 GAT=1D0/SQRT(1D0-BET**2)
0552 STHE2=1D0-CTH**2
0553 AMPZG=BET**3*(16D0+(4D0*BET**2*GAT**2+3D0/GAT**2)*STHE2)
0554 AMPNU=BET*(2D0+BET**2*GAT**2*STHE2/2D0+
0555 & 2D0*BET**2*(1D0-BET**2)*STHE2/(1D0-2D0*BET*CTH+BET**2)**2)
0556 AMPNG=BET*((1D0+BET**2)*(4D0+BET**2*GAT**2*STHE2)+
0557 & 2D0*(1D0-BET**2)*(BET**2*STHE2-2D0*(1D0-BET**2))/
0558 & (1D0-2D0*BET*CTH+BET**2))
0559 PROPI1=(0.25D0*SQMZ/XMW02)*HBWZC*(1D0-SQMZ/SH)
0560 PROPI2=(0.25D0*SQMZ/XMW02)**2*HBWZC
0561 A0=(2D0*(XMW02/SQMZ)-(1D0-BET**2)*XW)*POLL
0562 A1=(2D0*(XMW02/SQMZ)**2-2*XMW02/SQMZ*(1D0-BET**2)*XW)*POLL
0563 A2=(1D0-BET**2)**2*XW**2*(POLR+POLL)/2D0
0564 ATOT=AMPNU*POLL+(A1+A2)*PROPI2*AMPZG-A0*PROPI1*AMPNG
0565 ATOT=ATOT*CNN/SQMW*SH/BET*2D0
0566 DSIGWW=ATOT
0567 ENDIF
0568 NCHN=NCHN+1
0569 ISIG(NCHN,1)=I
0570 ISIG(NCHN,2)=-I
0571 ISIG(NCHN,3)=1
0572 SIGH(NCHN)=FACWW*FCOI*DSIGWW
0573 310 CONTINUE
0574
0575 ELSEIF(ISUB.EQ.30) THEN
0576
0577 FZQ=COMFAC*FACA*AS*AEM*(1D0/3D0)*(SH2+UH2+2D0*SQM4*TH)/
0578 & (-SH*UH)
0579
0580 HFGG=0D0
0581 HFGZ=0D0
0582 HFZZ=0D0
0583 RADC4=1D0+PYALPS(SQM4)/PARU(1)
0584 DO 320 I=1,MIN(16,MDCY(23,3))
0585 IDC=I+MDCY(23,2)-1
0586 IF(MDME(IDC,1).LT.0) GOTO 320
0587 IMDM=0
0588 IF(MDME(IDC,1).EQ.1.OR.MDME(IDC,1).EQ.2.OR.MDME(IDC,1).EQ.4)
0589 & IMDM=1
0590 IF(I.LE.8) THEN
0591 EF=KCHG(I,1)/3D0
0592 AF=SIGN(1D0,EF+0.1D0)
0593 VF=AF-4D0*EF*XWV
0594 ELSEIF(I.LE.16) THEN
0595 EF=KCHG(I+2,1)/3D0
0596 AF=SIGN(1D0,EF+0.1D0)
0597 VF=AF-4D0*EF*XWV
0598 ENDIF
0599 RM1=PMAS(IABS(KFDP(IDC,1)),1)**2/SQM4
0600 IF(4D0*RM1.LT.1D0) THEN
0601 FCOF=1D0
0602 IF(I.LE.8) FCOF=3D0*RADC4
0603 BE34=SQRT(MAX(0D0,1D0-4D0*RM1))
0604 IF(IMDM.EQ.1) THEN
0605 HFGG=HFGG+FCOF*EF**2*(1D0+2D0*RM1)*BE34
0606 HFGZ=HFGZ+FCOF*EF*VF*(1D0+2D0*RM1)*BE34
0607 HFZZ=HFZZ+FCOF*(VF**2*(1D0+2D0*RM1)+
0608 & AF**2*(1D0-4D0*RM1))*BE34
0609 ENDIF
0610 ENDIF
0611 320 CONTINUE
0612
0613 HBW4=(1D0/PARU(1))*GMMZ/((SQM4-SQMZ)**2+GMMZ**2)
0614 MINT15=MINT(15)
0615 MINT(15)=1
0616 MINT(61)=1
0617 CALL PYWIDT(23,SQM4,WDTP,WDTE)
0618 MINT(15)=MINT15
0619 HFAEM=(PARU(108)/PARU(2))*(2D0/3D0)
0620 HFGG=HFGG*HFAEM*VINT(111)/SQM4
0621 HFGZ=HFGZ*HFAEM*VINT(112)/SQM4
0622 HFZZ=HFZZ*HFAEM*VINT(114)/SQM4
0623
0624 DO 340 I=MMINA,MMAXA
0625 IF(I.EQ.0.OR.IABS(I).GT.MSTP(58)) GOTO 340
0626 EI=KCHG(IABS(I),1)/3D0
0627 AI=SIGN(1D0,EI)
0628 VI=AI-4D0*EI*XWV
0629 FACZQ=FZQ*(EI**2*HFGG+EI*VI*HFGZ+
0630 & (VI**2+AI**2)*HFZZ)/HBW4
0631 DO 330 ISDE=1,2
0632 IF(ISDE.EQ.1.AND.KFAC(1,I)*KFAC(2,21).EQ.0) GOTO 330
0633 IF(ISDE.EQ.2.AND.KFAC(1,21)*KFAC(2,I).EQ.0) GOTO 330
0634 NCHN=NCHN+1
0635 ISIG(NCHN,ISDE)=I
0636 ISIG(NCHN,3-ISDE)=21
0637 ISIG(NCHN,3)=1
0638 SIGH(NCHN)=FACZQ
0639 330 CONTINUE
0640 340 CONTINUE
0641
0642 ELSEIF(ISUB.EQ.31) THEN
0643
0644 FACWQ=COMFAC*FACA*AS*AEM/XW*1D0/12D0*
0645 & (SH2+UH2+2D0*SQM4*TH)/(-SH*UH)
0646
0647 HBW4=GMMW/((SQM4-SQMW)**2+GMMW**2)
0648 CALL PYWIDT(24,SQM4,WDTP,WDTE)
0649 GMMWC=SQRT(SQM4)*WDTP(0)
0650 HBW4C=GMMWC/((SQM4-SQMW)**2+GMMWC**2)
0651 FACWQ=FACWQ*HBW4C/HBW4
0652 DO 360 I=MMINA,MMAXA
0653 IF(I.EQ.0.OR.IABS(I).GT.MSTP(58)) GOTO 360
0654 IA=IABS(I)
0655 KCHW=ISIGN(1,KCHG(IA,1)*ISIGN(1,I))
0656 WIDSC=(WDTE(0,1)+WDTE(0,(5-KCHW)/2)+WDTE(0,4))/WDTP(0)
0657 DO 350 ISDE=1,2
0658 IF(ISDE.EQ.1.AND.KFAC(1,I)*KFAC(2,21).EQ.0) GOTO 350
0659 IF(ISDE.EQ.2.AND.KFAC(1,21)*KFAC(2,I).EQ.0) GOTO 350
0660 NCHN=NCHN+1
0661 ISIG(NCHN,ISDE)=I
0662 ISIG(NCHN,3-ISDE)=21
0663 ISIG(NCHN,3)=1
0664 SIGH(NCHN)=FACWQ*VINT(180+I)*WIDSC
0665 350 CONTINUE
0666 360 CONTINUE
0667
0668 ELSEIF(ISUB.EQ.35) THEN
0669
0670 IF(MINT(15).EQ.22.AND.VINT(3).LT.0D0) THEN
0671 FZQN=SH2+UH2+2D0*(SQM4-VINT(3)**2)*TH
0672 FZQDTM=VINT(3)**2*SQM4-SH*(UH-VINT(4)**2)
0673 ELSEIF(MINT(16).EQ.22.AND.VINT(4).LT.0D0) THEN
0674 FZQN=SH2+UH2+2D0*(SQM4-VINT(4)**2)*TH
0675 FZQDTM=VINT(4)**2*SQM4-SH*(UH-VINT(3)**2)
0676 ELSE
0677 FZQN=SH2+UH2+2D0*SQM4*TH
0678 FZQDTM=-SH*UH
0679 ENDIF
0680 FZQN=COMFAC*2D0*AEM**2*MAX(0D0,FZQN)
0681
0682 HFGG=0D0
0683 HFGZ=0D0
0684 HFZZ=0D0
0685 RADC4=1D0+PYALPS(SQM4)/PARU(1)
0686 DO 370 I=1,MIN(16,MDCY(23,3))
0687 IDC=I+MDCY(23,2)-1
0688 IF(MDME(IDC,1).LT.0) GOTO 370
0689 IMDM=0
0690 IF(MDME(IDC,1).EQ.1.OR.MDME(IDC,1).EQ.2.OR.MDME(IDC,1).EQ.4)
0691 & IMDM=1
0692 IF(I.LE.8) THEN
0693 EF=KCHG(I,1)/3D0
0694 AF=SIGN(1D0,EF+0.1D0)
0695 VF=AF-4D0*EF*XWV
0696 ELSEIF(I.LE.16) THEN
0697 EF=KCHG(I+2,1)/3D0
0698 AF=SIGN(1D0,EF+0.1D0)
0699 VF=AF-4D0*EF*XWV
0700 ENDIF
0701 RM1=PMAS(IABS(KFDP(IDC,1)),1)**2/SQM4
0702 IF(4D0*RM1.LT.1D0) THEN
0703 FCOF=1D0
0704 IF(I.LE.8) FCOF=3D0*RADC4
0705 BE34=SQRT(MAX(0D0,1D0-4D0*RM1))
0706 IF(IMDM.EQ.1) THEN
0707 HFGG=HFGG+FCOF*EF**2*(1D0+2D0*RM1)*BE34
0708 HFGZ=HFGZ+FCOF*EF*VF*(1D0+2D0*RM1)*BE34
0709 HFZZ=HFZZ+FCOF*(VF**2*(1D0+2D0*RM1)+
0710 & AF**2*(1D0-4D0*RM1))*BE34
0711 ENDIF
0712 ENDIF
0713 370 CONTINUE
0714
0715 HBW4=(1D0/PARU(1))*GMMZ/((SQM4-SQMZ)**2+GMMZ**2)
0716 MINT15=MINT(15)
0717 MINT(15)=1
0718 MINT(61)=1
0719 CALL PYWIDT(23,SQM4,WDTP,WDTE)
0720 MINT(15)=MINT15
0721 HFAEM=(PARU(108)/PARU(2))*(2D0/3D0)
0722 HFGG=HFGG*HFAEM*VINT(111)/SQM4
0723 HFGZ=HFGZ*HFAEM*VINT(112)/SQM4
0724 HFZZ=HFZZ*HFAEM*VINT(114)/SQM4
0725
0726 DO 390 I=MMINA,MMAXA
0727 IF(I.EQ.0) GOTO 390
0728 EI=KCHG(IABS(I),1)/3D0
0729 AI=SIGN(1D0,EI)
0730 VI=AI-4D0*EI*XWV
0731 FACZQ=EI**2*(EI**2*HFGG+EI*VI*HFGZ+
0732 & (VI**2+AI**2)*HFZZ)/HBW4
0733 FZQD=MAX(PMAS(IABS(I),1)**2*SQM4,FZQDTM)
0734 DO 380 ISDE=1,2
0735 IF(ISDE.EQ.1.AND.KFAC(1,I)*KFAC(2,22).EQ.0) GOTO 380
0736 IF(ISDE.EQ.2.AND.KFAC(1,22)*KFAC(2,I).EQ.0) GOTO 380
0737 NCHN=NCHN+1
0738 ISIG(NCHN,ISDE)=I
0739 ISIG(NCHN,3-ISDE)=22
0740 ISIG(NCHN,3)=1
0741 SIGH(NCHN)=FACZQ*FZQN/FZQD
0742 380 CONTINUE
0743 390 CONTINUE
0744
0745 ELSEIF(ISUB.EQ.36) THEN
0746
0747 FWQ=COMFAC*AEM**2/(2D0*XW)*
0748 & (SH2+UH2+2D0*SQM4*TH)/(SQPTH*SQM4-SH*UH)
0749
0750 HBW4=GMMW/((SQM4-SQMW)**2+GMMW**2)
0751 CALL PYWIDT(24,SQM4,WDTP,WDTE)
0752 GMMWC=SQRT(SQM4)*WDTP(0)
0753 HBW4C=GMMWC/((SQM4-SQMW)**2+GMMWC**2)
0754 FWQ=FWQ*HBW4C/HBW4
0755 DO 410 I=MMINA,MMAXA
0756 IF(I.EQ.0) GOTO 410
0757 IA=IABS(I)
0758 EIA=ABS(KCHG(IABS(I),1)/3D0)
0759 FACWQ=FWQ*(EIA-SH/(SH+UH))**2
0760 KCHW=ISIGN(1,KCHG(IA,1)*ISIGN(1,I))
0761 WIDSC=(WDTE(0,1)+WDTE(0,(5-KCHW)/2)+WDTE(0,4))/WDTP(0)
0762 DO 400 ISDE=1,2
0763 IF(ISDE.EQ.1.AND.KFAC(1,I)*KFAC(2,22).EQ.0) GOTO 400
0764 IF(ISDE.EQ.2.AND.KFAC(1,22)*KFAC(2,I).EQ.0) GOTO 400
0765 NCHN=NCHN+1
0766 ISIG(NCHN,ISDE)=I
0767 ISIG(NCHN,3-ISDE)=22
0768 ISIG(NCHN,3)=1
0769 SIGH(NCHN)=FACWQ*VINT(180+I)*WIDSC
0770 400 CONTINUE
0771 410 CONTINUE
0772 ENDIF
0773
0774 ELSEIF(ISUB.LE.100) THEN
0775 IF(ISUB.EQ.69) THEN
0776
0777 SQMWE=MAX(0.5D0*SQMW,SQRT(SQM3*SQM4))
0778 FPROP=SH2/((SQMWE-TH)*(SQMWE-UH))
0779 FACWW=COMFAC*6D0*AEM**2*(1D0-FPROP*(4D0/3D0+2D0*SQMWE/SH)+
0780 & FPROP**2*(2D0/3D0+2D0*(SQMWE/SH)**2))*WIDS(24,1)
0781 IF(KFAC(1,22)*KFAC(2,22).EQ.0) GOTO 420
0782 NCHN=NCHN+1
0783 ISIG(NCHN,1)=22
0784 ISIG(NCHN,2)=22
0785 ISIG(NCHN,3)=1
0786 SIGH(NCHN)=FACWW
0787 420 CONTINUE
0788
0789 ELSEIF(ISUB.EQ.70) THEN
0790
0791 SQMWE=MAX(0.5D0*SQMW,SQRT(SQM3*SQM4))
0792 FPROP=(TH-SQMWE)**2/(-SH*(SQMWE-UH))
0793 FACZW=COMFAC*6D0*AEM**2*(XW1/XW)*
0794 & (1D0-FPROP*(4D0/3D0+2D0*SQMWE/(TH-SQMWE))+
0795 & FPROP**2*(2D0/3D0+2D0*(SQMWE/(TH-SQMWE))**2))*WIDS(23,2)
0796 DO 440 KCHW=1,-1,-2
0797 DO 430 ISDE=1,2
0798 IF(KFAC(ISDE,22)*KFAC(3-ISDE,24*KCHW).EQ.0) GOTO 430
0799 NCHN=NCHN+1
0800 ISIG(NCHN,ISDE)=22
0801 ISIG(NCHN,3-ISDE)=24*KCHW
0802 ISIG(NCHN,3)=1
0803 SIGH(NCHN)=FACZW*WIDS(24,(5-KCHW)/2)
0804 430 CONTINUE
0805 440 CONTINUE
0806 ENDIF
0807 ENDIF
0808
0809 RETURN
0810 END