File indexing completed on 2025-08-05 08:21:17
0001
0002
0003
0004
0005
0006
0007
0008 SUBROUTINE PYSGTC(NCHN,SIGS)
0009
0010
0011 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0012 IMPLICIT INTEGER(I-N)
0013 INTEGER PYK,PYCHGE,PYCOMP
0014
0015 PARAMETER (KSUSY1=1000000,KSUSY2=2000000,KTECHN=3000000,
0016 &KEXCIT=4000000,KDIMEN=5000000)
0017
0018 COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0019 COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
0020 COMMON/PYDAT3/MDCY(500,3),MDME(8000,2),BRAT(8000),KFDP(8000,5)
0021 COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
0022 COMMON/PYINT1/MINT(400),VINT(400)
0023 COMMON/PYINT2/ISET(500),KFPR(500,2),COEF(500,20),ICOL(40,4,2)
0024 COMMON/PYINT3/XSFX(2,-40:40),ISIG(1000,3),SIGH(1000)
0025 COMMON/PYINT4/MWID(500),WIDS(500,5)
0026 COMMON/PYTCSM/ITCM(0:99),RTCM(0:99)
0027 COMMON/PYSGCM/ISUB,ISUBSV,MMIN1,MMAX1,MMIN2,MMAX2,MMINA,MMAXA,
0028 &KFAC(2,-40:40),COMFAC,FACK,FACA,SH,TH,UH,SH2,TH2,UH2,SQM3,SQM4,
0029 &SHR,SQPTH,TAUP,BE34,CTH,X(2),SQMZ,SQMW,GMMZ,GMMW,
0030 &AEM,AS,XW,XW1,XWC,XWV,POLL,POLR,POLLL,POLRR
0031 SAVE /PYDAT1/,/PYDAT2/,/PYDAT3/,/PYPARS/,/PYINT1/,/PYINT2/,
0032 &/PYINT3/,/PYINT4/,/PYTCSM/,/PYSGCM/
0033
0034 DIMENSION WDTP(0:400),WDTE(0:400,0:5)
0035 COMPLEX*16 SSMZ,SSMR,SSMO,DETD,F2L,F2R,DARHO,DZRHO,DAOME,DZOME
0036 COMPLEX*16 DAA,DZZ,DAZ,DWW,DWRHO
0037 COMPLEX*16 ZTC(6,6),YTC(6,6),DGGS,DGGT,DGGU,DGVS,DGVT,DGVU
0038 COMPLEX*16 DQQS,DQQT,DQQU,DQTS,DQGS,DTGS
0039 COMPLEX*16 DVVS,DVVT,DVVU
0040 INTEGER INDX(6)
0041
0042
0043 TANW=SQRT(XW/XW1)
0044 CT2W=(1D0-2D0*XW)/(2D0*XW/TANW)
0045
0046
0047
0048 IF(ISUB.GE.361.AND.ISUB.LE.379) THEN
0049 SQTV=RTCM(12)**2
0050 SQTA=RTCM(13)**2
0051 SN2W=2D0*SQRT(PARU(102)*(1D0-PARU(102)))
0052 CS2W=1D0-2D0*PARU(102)
0053 TANW=SQRT(PARU(102)/(1D0-PARU(102)))
0054 CT2W=CS2W/SN2W
0055 CSXI=COS(ASIN(RTCM(3)))
0056 CSXIP=COS(ASIN(RTCM(4)))
0057 QUPD=2D0*RTCM(2)-1D0
0058 Q2UD=RTCM(2)**2+(RTCM(2)-1D0)**2
0059
0060 IF(ISUB.EQ.361) THEN
0061 KFA=24
0062 KFB=24
0063 CAB2=RTCM(3)**4
0064
0065 ELSEIF(ISUB.EQ.362) THEN
0066 KFA=24
0067 KFB=KTECHN+211
0068 ISUB=361
0069 CAB2=RTCM(3)**2*(1D0-RTCM(3)**2)
0070
0071 ELSEIF(ISUB.EQ.363) THEN
0072 KFA=KTECHN+211
0073 KFB=KTECHN+211
0074 ISUB=361
0075 CAB2=(1D0-RTCM(3)**2)**2
0076
0077 ELSEIF(ISUB.EQ.364) THEN
0078 KFA=22
0079 KFB=KTECHN+111
0080 VOGP=CSXI/RTCM(12)
0081
0082 VRGP=VOGP*QUPD
0083 AOGP=0D0
0084 ARGP=0D0
0085 VAGP=2D0*QUPD*CSXI
0086 VZGP=QUPD*CSXI*(1D0-4D0*PARU(102))/SN2W
0087
0088 ELSEIF(ISUB.EQ.365) THEN
0089 KFA=22
0090 KFB=KTECHN+221
0091 ISUB=364
0092 VRGP=CSXIP/RTCM(12)
0093
0094 VOGP=VRGP*QUPD
0095 AOGP=0D0
0096 ARGP=0D0
0097 VAGP=2D0*Q2UD*CSXIP
0098 VZGP=CSXIP/SN2W*(1D0-4D0*PARU(102)*Q2UD)
0099
0100 ELSEIF(ISUB.EQ.366) THEN
0101 KFA=23
0102 KFB=KTECHN+111
0103 ISUB=364
0104 VOGP=CSXI*CT2W/RTCM(12)
0105 VRGP=-QUPD*CSXI*TANW/RTCM(12)
0106 AOGP=0D0
0107 ARGP=0D0
0108 VAGP=QUPD*CSXI*(1D0-4D0*PARU(102))/SN2W
0109 VZGP=-QUPD*CSXI*CS2W/(1D0-PARU(102))
0110
0111 ELSEIF(ISUB.EQ.367) THEN
0112 KFA=23
0113 KFB=KTECHN+221
0114 ISUB=364
0115 VRGP=CSXIP*CT2W/RTCM(12)
0116 VOGP=-QUPD*CSXIP*TANW/RTCM(12)
0117 AOGP=0D0
0118 ARGP=0D0
0119 VAGP=CSXIP*(1D0-4D0*Q2UD*PARU(102))/SN2W
0120 VZGP=2D0*CSXIP*(CS2W+4D0*Q2UD*PARU(102)**2)/SN2W**2
0121
0122 ELSEIF(ISUB.EQ.368) THEN
0123 KFA=24
0124 KFB=KTECHN+211
0125 ISUB=364
0126 VOGP=CSXI/(2D0*SQRT(PARU(102)))/RTCM(12)
0127 VRGP=0D0
0128 AOGP=0D0
0129
0130 ARGP=-CSXI/(2D0*SQRT(PARU(102)))/RTCM(13)
0131 VAGP=QUPD*CSXI/(2D0*SQRT(PARU(102)))
0132 VZGP=-QUPD*CSXI/(2D0*SQRT(1D0-PARU(102)))
0133
0134 ELSEIF(ISUB.EQ.370) THEN
0135 KFA=24
0136 KFB=23
0137 CAB2=RTCM(3)**4
0138
0139 ELSEIF(ISUB.EQ.371) THEN
0140 KFA=24
0141 KFB=KTECHN+111
0142 ISUB=370
0143 CAB2=RTCM(3)**2*(1D0-RTCM(3)**2)
0144
0145 ELSEIF(ISUB.EQ.372) THEN
0146 KFA=KTECHN+211
0147 KFB=23
0148 ISUB=370
0149 CAB2=RTCM(3)**2*(1D0-RTCM(3)**2)
0150
0151 ELSEIF(ISUB.EQ.373) THEN
0152 KFA=KTECHN+211
0153 KFB=KTECHN+111
0154 ISUB=370
0155 CAB2=(1D0-RTCM(3)**2)**2
0156
0157 ELSEIF(ISUB.EQ.374) THEN
0158 KFA=KTECHN+211
0159 KFB=22
0160 VRGP=QUPD*CSXI
0161 ARGP=0D0
0162 VWGP=QUPD*CSXI/(2D0*SQRT(PARU(102)))
0163
0164 ELSEIF(ISUB.EQ.375) THEN
0165 KFA=KTECHN+211
0166 KFB=23
0167 ISUB=374
0168 VRGP=-QUPD*CSXI*TANW
0169 ARGP=CSXI/(2D0*SQRT(PARU(102)*(1D0-PARU(102))))
0170 VWGP=-QUPD*CSXI/(2D0*SQRT(1D0-PARU(102)))
0171
0172 ELSEIF(ISUB.EQ.376) THEN
0173 KFA=24
0174 KFB=KTECHN+111
0175 ISUB=374
0176 VRGP=0D0
0177 ARGP=-CSXI/(2D0*SQRT(PARU(102)))
0178 VWGP=0D0
0179
0180 ELSEIF(ISUB.EQ.377) THEN
0181 KFA=24
0182 KFB=KTECHN+221
0183 ISUB=374
0184 ARGP=0D0
0185 VRGP=CSXIP/(2D0*SQRT(PARU(102)))
0186 VWGP=CSXIP/(2D0*PARU(102))
0187 ENDIF
0188 ENDIF
0189
0190
0191 IF(ISUB.GE.381.AND.ISUB.LE.388) THEN
0192 IF(ITCM(5).LE.4) THEN
0193 SQDQQS=1D0/SH2
0194 SQDQQT=1D0/TH2
0195 SQDQQU=1D0/UH2
0196 SQDGGS=SQDQQS
0197 SQDGGT=SQDQQT
0198 SQDGGU=SQDQQU
0199 REDGGS=1D0/SH
0200 REDGGT=1D0/TH
0201 REDGGU=1D0/UH
0202 REDGTU=1D0/UH/TH
0203 REDGSU=1D0/SH/UH
0204 REDGST=1D0/SH/TH
0205 REDQST=1D0/SH/TH
0206 REDQTU=1D0/UH/TH
0207 SQDLGS=0D0
0208 SQDLGT=0D0
0209 SQDQTS=SQDQQS
0210 ELSEIF(ITCM(5).EQ.5) THEN
0211 TANT3=RTCM(21)
0212 IF(ITCM(2).EQ.0) THEN
0213 IMDL=1
0214 ELSE
0215 IMDL=2
0216 ENDIF
0217 ALPRHT=2.91D0*(3D0/ITCM(1))
0218 SIN2T=2D0*TANT3/(TANT3**2+1D0)
0219 SINT3=TANT3/SQRT(TANT3**2+1D0)
0220 XIG=SQRT(PYALPS(SH)/ALPRHT)
0221 X12=(RTCM(29)*SQRT(1D0-RTCM(29)**2)*COS(RTCM(30))+
0222 & RTCM(31)*SQRT(1D0-RTCM(31)**2)*COS(RTCM(32)))/SQRT(2D0)/SIN2T
0223 X21=(RTCM(29)*SQRT(1D0-RTCM(29)**2)*SIN(RTCM(30))+
0224 & RTCM(31)*SQRT(1D0-RTCM(31)**2)*SIN(RTCM(32)))/SQRT(2D0)/SIN2T
0225 X11=(.25D0*(RTCM(29)**2+RTCM(31)**2+2D0)-
0226 & SINT3**2)*2D0/SIN2T
0227 X22=(.25D0*(2D0-RTCM(29)**2-RTCM(31)**2)-
0228 & SINT3**2)*2D0/SIN2T
0229
0230 SM1122=.5D0*(2D0-RTCM(29)**2-RTCM(31)**2)*RTCM(28)**2
0231 SM1112=X12*RTCM(28)**2*SIN2T
0232 SM1121=-X21*RTCM(28)**2*SIN2T
0233 SM2212=-SM1112
0234 SM2221=-SM1121
0235 SM1221=-.5D0*((1D0-RTCM(29)**2)*SIN(2D0*RTCM(30))+
0236 & (1D0-RTCM(31)**2)*SIN(2D0*RTCM(32)))*RTCM(28)**2
0237
0238
0239 ZTC(1,1)=DCMPLX(SH,0D0)
0240 CALL PYWIDT(3100021,SH,WDTP,WDTE)
0241 IF(WDTP(0).GT.RTCM(33)*SHR) WDTP(0)=RTCM(33)*SHR
0242 ZTC(2,2)=DCMPLX(SH-PMAS(PYCOMP(3100021),1)**2,-SHR*WDTP(0))
0243 CALL PYWIDT(3100113,SH,WDTP,WDTE)
0244 ZTC(3,3)=DCMPLX(SH-PMAS(PYCOMP(3100113),1)**2,-SHR*WDTP(0))
0245 CALL PYWIDT(3400113,SH,WDTP,WDTE)
0246 ZTC(4,4)=DCMPLX(SH-PMAS(PYCOMP(3400113),1)**2,-SHR*WDTP(0))
0247 CALL PYWIDT(3200113,SH,WDTP,WDTE)
0248 ZTC(5,5)=DCMPLX(SH-PMAS(PYCOMP(3200113),1)**2,-SHR*WDTP(0))
0249 CALL PYWIDT(3300113,SH,WDTP,WDTE)
0250 ZTC(6,6)=DCMPLX(SH-PMAS(PYCOMP(3300113),1)**2,-SHR*WDTP(0))
0251 ZTC(1,2)=(0D0,0D0)
0252 ZTC(1,3)=DCMPLX(SH*XIG,0D0)
0253 ZTC(1,4)=ZTC(1,3)
0254 ZTC(1,5)=ZTC(1,2)
0255 ZTC(1,6)=ZTC(1,2)
0256 ZTC(2,3)=DCMPLX(SH*XIG*X11,0D0)
0257 ZTC(2,4)=DCMPLX(SH*XIG*X22,0D0)
0258 ZTC(2,5)=DCMPLX(SH*XIG*X12,0D0)
0259 ZTC(2,6)=DCMPLX(SH*XIG*X21,0D0)
0260 ZTC(3,4)=-SM1122
0261 ZTC(3,5)=-SM1112
0262 ZTC(3,6)=-SM1121
0263 ZTC(4,5)=-SM2212
0264 ZTC(4,6)=-SM2221
0265 ZTC(5,6)=-SM1221
0266
0267 DO 110 I=1,5
0268 DO 100 J=I+1,6
0269 ZTC(J,I)=ZTC(I,J)
0270 100 CONTINUE
0271 110 CONTINUE
0272 CALL PYLDCM(ZTC,6,6,INDX,D)
0273 DO 130 I=1,6
0274 DO 120 J=1,6
0275 YTC(I,J)=(0D0,0D0)
0276 IF(I.EQ.J) YTC(I,J)=(1D0,0D0)
0277 120 CONTINUE
0278 130 CONTINUE
0279
0280 DO 140 I=1,6
0281 CALL PYBKSB(ZTC,6,6,INDX,YTC(1,I))
0282 140 CONTINUE
0283 DGGS=YTC(1,1)
0284 DVVS=YTC(2,2)
0285 DGVS=YTC(1,2)
0286
0287 XIG=SQRT(PYALPS(-TH)/ALPRHT)
0288
0289 ZTC(1,1)=DCMPLX(TH)
0290 ZTC(2,2)=DCMPLX(TH-PMAS(PYCOMP(3100021),1)**2)
0291 ZTC(3,3)=DCMPLX(TH-PMAS(PYCOMP(3100113),1)**2)
0292 ZTC(4,4)=DCMPLX(TH-PMAS(PYCOMP(3400113),1)**2)
0293 ZTC(5,5)=DCMPLX(TH-PMAS(PYCOMP(3200113),1)**2)
0294 ZTC(6,6)=DCMPLX(TH-PMAS(PYCOMP(3300113),1)**2)
0295 ZTC(1,2)=(0D0,0D0)
0296 ZTC(1,3)=DCMPLX(TH*XIG,0D0)
0297 ZTC(1,4)=ZTC(1,3)
0298 ZTC(1,5)=ZTC(1,2)
0299 ZTC(1,6)=ZTC(1,2)
0300 ZTC(2,3)=DCMPLX(TH*XIG*X11,0D0)
0301 ZTC(2,4)=DCMPLX(TH*XIG*X22,0D0)
0302 ZTC(2,5)=DCMPLX(TH*XIG*X12,0D0)
0303 ZTC(2,6)=DCMPLX(TH*XIG*X21,0D0)
0304 ZTC(3,4)=-SM1122
0305 ZTC(3,5)=-SM1112
0306 ZTC(3,6)=-SM1121
0307 ZTC(4,5)=-SM2212
0308 ZTC(4,6)=-SM2221
0309 ZTC(5,6)=-SM1221
0310 DO 160 I=1,5
0311 DO 150 J=I+1,6
0312 ZTC(J,I)=ZTC(I,J)
0313 150 CONTINUE
0314 160 CONTINUE
0315 CALL PYLDCM(ZTC,6,6,INDX,D)
0316 DO 180 I=1,6
0317 DO 170 J=1,6
0318 YTC(I,J)=(0D0,0D0)
0319 IF(I.EQ.J) YTC(I,J)=(1D0,0D0)
0320 170 CONTINUE
0321 180 CONTINUE
0322 DO 190 I=1,6
0323 CALL PYBKSB(ZTC,6,6,INDX,YTC(1,I))
0324 190 CONTINUE
0325 DGGT=YTC(1,1)
0326 DVVT=YTC(2,2)
0327 DGVT=YTC(1,2)
0328
0329 XIG=SQRT(PYALPS(-UH)/ALPRHT)
0330
0331 ZTC(1,1)=DCMPLX(UH,0D0)
0332 ZTC(2,2)=DCMPLX(UH-PMAS(PYCOMP(3100021),1)**2)
0333 ZTC(3,3)=DCMPLX(UH-PMAS(PYCOMP(3100113),1)**2)
0334 ZTC(4,4)=DCMPLX(UH-PMAS(PYCOMP(3400113),1)**2)
0335 ZTC(5,5)=DCMPLX(UH-PMAS(PYCOMP(3200113),1)**2)
0336 ZTC(6,6)=DCMPLX(UH-PMAS(PYCOMP(3300113),1)**2)
0337 ZTC(1,2)=(0D0,0D0)
0338 ZTC(1,3)=DCMPLX(UH*XIG,0D0)
0339 ZTC(1,4)=ZTC(1,3)
0340 ZTC(1,5)=ZTC(1,2)
0341 ZTC(1,6)=ZTC(1,2)
0342 ZTC(2,3)=DCMPLX(UH*XIG*X11,0D0)
0343 ZTC(2,4)=DCMPLX(UH*XIG*X22,0D0)
0344 ZTC(2,5)=DCMPLX(UH*XIG*X12,0D0)
0345 ZTC(2,6)=DCMPLX(UH*XIG*X21,0D0)
0346 ZTC(3,4)=-SM1122
0347 ZTC(3,5)=-SM1112
0348 ZTC(3,6)=-SM1121
0349 ZTC(4,5)=-SM2212
0350 ZTC(4,6)=-SM2221
0351 ZTC(5,6)=-SM1221
0352 DO 210 I=1,5
0353 DO 200 J=I+1,6
0354 ZTC(J,I)=ZTC(I,J)
0355 200 CONTINUE
0356 210 CONTINUE
0357 CALL PYLDCM(ZTC,6,6,INDX,D)
0358 DO 230 I=1,6
0359 DO 220 J=1,6
0360 YTC(I,J)=(0D0,0D0)
0361 IF(I.EQ.J) YTC(I,J)=(1D0,0D0)
0362 220 CONTINUE
0363 230 CONTINUE
0364 DO 240 I=1,6
0365 CALL PYBKSB(ZTC,6,6,INDX,YTC(1,I))
0366 240 CONTINUE
0367 DGGU=YTC(1,1)
0368 DVVU=YTC(2,2)
0369 DGVU=YTC(1,2)
0370
0371 IF(IMDL.EQ.1) THEN
0372 DQQS=DGGS+DVVS*DCMPLX(TANT3**2)-DGVS*DCMPLX(2D0*TANT3)
0373 DQQT=DGGT+DVVT*DCMPLX(TANT3**2)-DGVT*DCMPLX(2D0*TANT3)
0374 DQQU=DGGU+DVVU*DCMPLX(TANT3**2)-DGVU*DCMPLX(2D0*TANT3)
0375 DQTS=DGGS-DVVS-DGVS*DCMPLX(TANT3-1D0/TANT3)
0376 DQGS=DGGS-DGVS*DCMPLX(TANT3)
0377 DTGS=DGGS+DGVS*DCMPLX(1D0/TANT3)
0378 ELSE
0379 DQQS=DGGS+DVVS*DCMPLX(1D0/TANT3**2)+DGVS*DCMPLX(2D0/TANT3)
0380 DQQT=DGGT+DVVT*DCMPLX(1D0/TANT3**2)+DGVT*DCMPLX(2D0/TANT3)
0381 DQQU=DGGU+DVVU*DCMPLX(1D0/TANT3**2)+DGVU*DCMPLX(2D0/TANT3)
0382 DQTS=DGGS+DVVS*DCMPLX(1D0/TANT3**2)+DGVS*DCMPLX(2D0/TANT3)
0383 DQGS=DGGS+DGVS*DCMPLX(1D0/TANT3)
0384 DTGS=DGGS+DGVS*DCMPLX(1D0/TANT3)
0385 ENDIF
0386
0387 SQDQTS=ABS(DQTS)**2
0388 SQDQQS=ABS(DQQS)**2
0389 SQDQQT=ABS(DQQT)**2
0390 SQDQQU=ABS(DQQU)**2
0391 SQDLGS=ABS(DCMPLX(SH)*DQGS-DCMPLX(1D0))**2
0392 REDLGS=DBLE(DQGS)
0393 SQDHGS=ABS(DCMPLX(SH)*DTGS-DCMPLX(1D0))**2
0394 REDHGS=DBLE(DTGS)
0395 SQDLGT=ABS(DCMPLX(TH)*DGGT-DCMPLX(1D0))**2
0396
0397 SQDGGS=ABS(DGGS)**2
0398 SQDGGT=ABS(DGGT)**2
0399 SQDGGU=ABS(DGGU)**2
0400 REDGGS=DBLE(DGGS)
0401 REDGGT=DBLE(DGGT)
0402 REDGGU=DBLE(DGGU)
0403 REDGTU=DBLE(DGGU*DCONJG(DGGT))
0404 REDGSU=DBLE(DGGU*DCONJG(DGGS))
0405 REDGST=DBLE(DGGS*DCONJG(DGGT))
0406 REDQST=DBLE(DQQS*DCONJG(DQQT))
0407 REDQTU=DBLE(DQQT*DCONJG(DQQU))
0408 ENDIF
0409 ENDIF
0410
0411
0412
0413
0414 IF(ISUB.LE.190) THEN
0415 IF(ISUB.EQ.149) THEN
0416
0417 KCTC=PYCOMP(KTECHN+331)
0418 CALL PYWIDT(KTECHN+331,SH,WDTP,WDTE)
0419 HS=SHR*WDTP(0)
0420 FACBW=COMFAC*0.5D0/((SH-PMAS(KCTC,1)**2)**2+HS**2)
0421 IF(ABS(SHR-PMAS(KCTC,1)).GT.PARP(48)*PMAS(KCTC,2)) FACBW=0D0
0422 HP=SH
0423 IF(KFAC(1,21)*KFAC(2,21).EQ.0) GOTO 250
0424 HI=HP*WDTP(3)
0425 HF=SHR*(WDTE(0,1)+WDTE(0,2)+WDTE(0,4))
0426 NCHN=NCHN+1
0427 ISIG(NCHN,1)=21
0428 ISIG(NCHN,2)=21
0429 ISIG(NCHN,3)=1
0430 SIGH(NCHN)=HI*FACBW*HF
0431 250 CONTINUE
0432
0433 ELSEIF(ISUB.EQ.165) THEN
0434
0435 ZRATR=XWC*SH*(SH-SQMZ)/((SH-SQMZ)**2+GMMZ**2)
0436 ZRATI=XWC*SH*GMMZ/((SH-SQMZ)**2+GMMZ**2)
0437 KFF=IABS(KFPR(ISUB,1))
0438 EF=KCHG(KFF,1)/3D0
0439 AF=SIGN(1D0,EF+0.1D0)
0440 VF=AF-4D0*EF*XWV
0441 VALF=VF+AF
0442 VARF=VF-AF
0443 FCOF=1D0
0444 IF(KFF.LE.10) FCOF=3D0
0445 WID2=1D0
0446 IF(KFF.EQ.6) WID2=WIDS(6,1)
0447 IF(KFF.EQ.7.OR.KFF.EQ.8) WID2=WIDS(KFF,1)
0448 IF(KFF.EQ.17.OR.KFF.EQ.18) WID2=WIDS(KFF,1)
0449 DO 260 I=MMINA,MMAXA
0450 IF(I.EQ.0.OR.KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 260
0451 EI=KCHG(IABS(I),1)/3D0
0452 AI=SIGN(1D0,EI+0.1D0)
0453 VI=AI-4D0*EI*XWV
0454 VALI=VI+AI
0455 VARI=VI-AI
0456 FCOI=1D0
0457 IF(IABS(I).LE.10) FCOI=FACA/3D0
0458 IF((ITCM(5).EQ.1.AND.IABS(I).LE.2).OR.ITCM(5).EQ.2) THEN
0459 FGZA=(EI*EF+VALI*VALF*ZRATR+RTCM(42)*SH/
0460 & (AEM*RTCM(41)**2))**2+(VALI*VALF*ZRATI)**2+
0461 & (EI*EF+VARI*VARF*ZRATR)**2+(VARI*VARF*ZRATI)**2
0462 ELSE
0463 FGZA=(EI*EF+VALI*VALF*ZRATR)**2+(VALI*VALF*ZRATI)**2+
0464 & (EI*EF+VARI*VARF*ZRATR)**2+(VARI*VARF*ZRATI)**2
0465 ENDIF
0466 FGZB=(EI*EF+VALI*VARF*ZRATR)**2+(VALI*VARF*ZRATI)**2+
0467 & (EI*EF+VARI*VALF*ZRATR)**2+(VARI*VALF*ZRATI)**2
0468 FGZAB=AEM**2*(FGZA*UH2/SH2+FGZB*TH2/SH2)
0469 IF((ITCM(5).EQ.3.AND.IABS(I).EQ.2).OR.(ITCM(5).EQ.4.AND.
0470 & MOD(IABS(I),2).EQ.0)) FGZAB=FGZAB+SH2/(2D0*RTCM(41)**4)
0471 NCHN=NCHN+1
0472 ISIG(NCHN,1)=I
0473 ISIG(NCHN,2)=-I
0474 ISIG(NCHN,3)=1
0475 SIGH(NCHN)=COMFAC*FCOI*FCOF*FGZAB*WID2
0476 260 CONTINUE
0477
0478 ELSEIF(ISUB.EQ.166) THEN
0479
0480 WFAC=(1D0/4D0)*(AEM/XW)**2*UH2/((SH-SQMW)**2+GMMW**2)
0481 WCIFAC=WFAC+SH2/(4D0*RTCM(41)**4)
0482 KFF=IABS(KFPR(ISUB,1))
0483 FCOF=1D0
0484 IF(KFF.LE.10) FCOF=3D0
0485 DO 280 I=MMIN1,MMAX1
0486 IF(I.EQ.0.OR.KFAC(1,I).EQ.0) GOTO 280
0487 IA=IABS(I)
0488 DO 270 J=MMIN2,MMAX2
0489 IF(J.EQ.0.OR.KFAC(2,J).EQ.0) GOTO 270
0490 JA=IABS(J)
0491 IF(I*J.GT.0.OR.MOD(IA+JA,2).EQ.0) GOTO 270
0492 IF((IA.LE.10.AND.JA.GT.10).OR.(IA.GT.10.AND.JA.LE.10))
0493 & GOTO 270
0494 FCOI=1D0
0495 IF(IA.LE.10) FCOI=VCKM((IA+1)/2,(JA+1)/2)*FACA/3D0
0496 WID2=1D0
0497 IF((I.GT.0.AND.MOD(I,2).EQ.0).OR.(J.GT.0.AND.
0498 & MOD(J,2).EQ.0)) THEN
0499 IF(KFF.EQ.5) WID2=WIDS(6,2)
0500 IF(KFF.EQ.7) WID2=WIDS(8,2)*WIDS(7,3)
0501 IF(KFF.EQ.17) WID2=WIDS(18,2)*WIDS(17,3)
0502 ELSE
0503 IF(KFF.EQ.5) WID2=WIDS(6,3)
0504 IF(KFF.EQ.7) WID2=WIDS(8,3)*WIDS(7,2)
0505 IF(KFF.EQ.17) WID2=WIDS(18,3)*WIDS(17,2)
0506 ENDIF
0507 NCHN=NCHN+1
0508 ISIG(NCHN,1)=I
0509 ISIG(NCHN,2)=J
0510 ISIG(NCHN,3)=1
0511 SIGH(NCHN)=COMFAC*FCOI*FCOF*WFAC*WID2
0512 IF((ITCM(5).EQ.3.AND.IA.LE.2.AND.JA.LE.2).OR.ITCM(5).EQ.4)
0513 & SIGH(NCHN)=COMFAC*FCOI*FCOF*WCIFAC*WID2
0514 270 CONTINUE
0515 280 CONTINUE
0516 ENDIF
0517
0518 ELSEIF(ISUB.LE.200) THEN
0519 IF(ISUB.EQ.191) THEN
0520
0521 KCTC=PYCOMP(KTECHN+113)
0522 SQMRHT=PMAS(KCTC,1)**2
0523 CALL PYWIDT(KTECHN+113,SH,WDTP,WDTE)
0524 HS=SHR*WDTP(0)
0525 FACBW=12D0*COMFAC/((SH-SQMRHT)**2+HS**2)
0526 IF(ABS(SHR-PMAS(KCTC,1)).GT.PARP(48)*PMAS(KCTC,2)) FACBW=0D0
0527 HF=SHR*(WDTE(0,1)+WDTE(0,2)+WDTE(0,4))
0528 ALPRHT=2.91D0*(3D0/ITCM(1))
0529 HP=(1D0/6D0)*(AEM**2/ALPRHT)*(SQMRHT**2/SH)
0530 XWRHT=(1D0-2D0*XW)/(4D0*XW*(1D0-XW))
0531 BWZR=XWRHT*SH*(SH-SQMZ)/((SH-SQMZ)**2+GMMZ**2)
0532 BWZI=XWRHT*SH*GMMZ/((SH-SQMZ)**2+GMMZ**2)
0533 DO 290 I=MMINA,MMAXA
0534 IF(I.EQ.0.OR.KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 290
0535 IA=IABS(I)
0536 EI=KCHG(IABS(I),1)/3D0
0537 AI=SIGN(1D0,EI+0.1D0)
0538 VI=AI-4D0*EI*XWV
0539 VALI=0.5D0*(VI+AI)
0540 VARI=0.5D0*(VI-AI)
0541 HI=HP*((EI+VALI*BWZR)**2+(VALI*BWZI)**2+
0542 & (EI+VARI*BWZR)**2+(VARI*BWZI)**2)
0543 IF(IA.LE.10) HI=HI*FACA/3D0
0544 NCHN=NCHN+1
0545 ISIG(NCHN,1)=I
0546 ISIG(NCHN,2)=-I
0547 ISIG(NCHN,3)=1
0548 SIGH(NCHN)=HI*FACBW*HF
0549 290 CONTINUE
0550
0551 ELSEIF(ISUB.EQ.192) THEN
0552
0553 KCTC=PYCOMP(KTECHN+213)
0554 SQMRHT=PMAS(KCTC,1)**2
0555 CALL PYWIDT(KTECHN+213,SH,WDTP,WDTE)
0556 HS=SHR*WDTP(0)
0557 FACBW=12D0*COMFAC/((SH-SQMRHT)**2+HS**2)
0558 IF(ABS(SHR-PMAS(KCTC,1)).GT.PARP(48)*PMAS(KCTC,2)) FACBW=0D0
0559 ALPRHT=2.91D0*(3D0/ITCM(1))
0560 HP=(1D0/6D0)*(AEM**2/ALPRHT)*(SQMRHT**2/SH)*
0561 & (0.25D0/XW**2)*SH**2/((SH-SQMW)**2+GMMW**2)
0562 DO 310 I=MMIN1,MMAX1
0563 IF(I.EQ.0.OR.KFAC(1,I).EQ.0) GOTO 310
0564 IA=IABS(I)
0565 DO 300 J=MMIN2,MMAX2
0566 IF(J.EQ.0.OR.KFAC(2,J).EQ.0) GOTO 300
0567 JA=IABS(J)
0568 IF(I*J.GT.0.OR.MOD(IA+JA,2).EQ.0) GOTO 300
0569 IF((IA.LE.10.AND.JA.GT.10).OR.(IA.GT.10.AND.JA.LE.10))
0570 & GOTO 300
0571 KCHR=(KCHG(IA,1)*ISIGN(1,I)+KCHG(JA,1)*ISIGN(1,J))/3
0572 HF=SHR*(WDTE(0,1)+WDTE(0,(5-KCHR)/2)+WDTE(0,4))
0573 HI=HP
0574 IF(IA.LE.10) HI=HI*VCKM((IA+1)/2,(JA+1)/2)*FACA/3D0
0575 NCHN=NCHN+1
0576 ISIG(NCHN,1)=I
0577 ISIG(NCHN,2)=J
0578 ISIG(NCHN,3)=1
0579 SIGH(NCHN)=HI*FACBW*HF
0580 300 CONTINUE
0581 310 CONTINUE
0582
0583 ELSEIF(ISUB.EQ.193) THEN
0584
0585 KCTC=PYCOMP(KTECHN+223)
0586 SQMOMT=PMAS(KCTC,1)**2
0587 CALL PYWIDT(KTECHN+223,SH,WDTP,WDTE)
0588 HS=SHR*WDTP(0)
0589 FACBW=12D0*COMFAC/((SH-SQMOMT)**2+HS**2)
0590 IF(ABS(SHR-PMAS(KCTC,1)).GT.PARP(48)*PMAS(KCTC,2)) FACBW=0D0
0591 HF=SHR*(WDTE(0,1)+WDTE(0,2)+WDTE(0,4))
0592 ALPRHT=2.91D0*(3D0/ITCM(1))
0593 HP=(1D0/6D0)*(AEM**2/ALPRHT)*(SQMOMT**2/SH)*
0594 & (2D0*RTCM(2)-1D0)**2
0595 BWZR=(0.5D0/(1D0-XW))*SH*(SH-SQMZ)/((SH-SQMZ)**2+GMMZ**2)
0596 BWZI=(0.5D0/(1D0-XW))*SH*GMMZ/((SH-SQMZ)**2+GMMZ**2)
0597 DO 320 I=MMINA,MMAXA
0598 IF(I.EQ.0.OR.KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 320
0599 IA=IABS(I)
0600 EI=KCHG(IABS(I),1)/3D0
0601 AI=SIGN(1D0,EI+0.1D0)
0602 VI=AI-4D0*EI*XWV
0603 VALI=0.5D0*(VI+AI)
0604 VARI=0.5D0*(VI-AI)
0605 HI=HP*((EI-VALI*BWZR)**2+(VALI*BWZI)**2+
0606 & (EI-VARI*BWZR)**2+(VARI*BWZI)**2)
0607 IF(IA.LE.10) HI=HI*FACA/3D0
0608 NCHN=NCHN+1
0609 ISIG(NCHN,1)=I
0610 ISIG(NCHN,2)=-I
0611 ISIG(NCHN,3)=1
0612 SIGH(NCHN)=HI*FACBW*HF
0613 320 CONTINUE
0614
0615 ELSEIF(ISUB.EQ.194) THEN
0616
0617 KFA=KFPR(ISUBSV,1)
0618 ALPRHT=2.91D0*(3D0/ITCM(1))
0619 HP=AEM**2*COMFAC
0620 TANW=SQRT(PARU(102)/(1D0-PARU(102)))
0621 CT2W=(1D0-2D0*PARU(102))/(2D0*PARU(102)/TANW)
0622
0623 QUPD=2D0*RTCM(2)-1D0
0624 FAR=SQRT(AEM/ALPRHT)
0625 FAO=FAR*QUPD
0626 FZR=FAR*CT2W
0627 FZO=-FAO*TANW
0628 SFAR=FAR**2
0629 SFAO=FAO**2
0630 SFZR=FZR**2
0631 SFZO=FZO**2
0632 CALL PYWIDT(23,SH,WDTP,WDTE)
0633 SSMZ=DCMPLX(1D0-PMAS(23,1)**2/SH,WDTP(0)/SHR)
0634 CALL PYWIDT(KTECHN+113,SH,WDTP,WDTE)
0635 SSMR=DCMPLX(1D0-PMAS(PYCOMP(KTECHN+113),1)**2/SH,WDTP(0)/SHR)
0636 CALL PYWIDT(KTECHN+223,SH,WDTP,WDTE)
0637 SSMO=DCMPLX(1D0-PMAS(PYCOMP(KTECHN+223),1)**2/SH,WDTP(0)/SHR)
0638 DETD=(FAR*FZO-FAO*FZR)**2+SSMZ*SSMR*SSMO-SFZR*SSMO-
0639 $ SFZO*SSMR-SFAR*SSMO*SSMZ-SFAO*SSMR*SSMZ
0640 DAA=(-Sfzr*SSMO - Sfzo*SSMR + SSMO*SSMR*SSMZ)/DETD/SH
0641 DZZ=(-Sfar*SSMO - Sfao*SSMR + SSMO*SSMR)/DETD/SH
0642 DAZ=(far*fzr*SSMO + fao*fzo*SSMR)/DETD/SH
0643
0644 XWRHT=1D0/(4D0*XW*(1D0-XW))
0645 KFF=IABS(KFPR(ISUB,1))
0646 EF=KCHG(KFF,1)/3D0
0647 AF=SIGN(1D0,EF+0.1D0)
0648 VF=AF-4D0*EF*XWV
0649 VALF=0.5D0*(VF+AF)
0650 VARF=0.5D0*(VF-AF)
0651 FCOF=1D0
0652 IF(KFF.LE.10) FCOF=3D0
0653
0654 WID2=1D0
0655 IF(KFF.GE.6.AND.KFF.LE.8) WID2=WIDS(KFF,1)
0656 IF(KFF.EQ.17.OR.KFF.EQ.18) WID2=WIDS(KFF,1)
0657 DZZ=DZZ*DCMPLX(XWRHT,0D0)
0658 DAZ=DAZ*DCMPLX(SQRT(XWRHT),0D0)
0659
0660 DO 330 I=MMINA,MMAXA
0661 IF(I.EQ.0.OR.KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 330
0662 EI=KCHG(IABS(I),1)/3D0
0663 AI=SIGN(1D0,EI+0.1D0)
0664 VI=AI-4D0*EI*XWV
0665 VALI=0.5D0*(VI+AI)
0666 VARI=0.5D0*(VI-AI)
0667 FCOI=FCOF
0668 IF(IABS(I).LE.10) FCOI=FCOI/3D0
0669 DIFLL=ABS(EI*EF*DAA+VALI*VALF*DZZ+DAZ*(EI*VALF+EF*VALI))**2
0670 DIFRR=ABS(EI*EF*DAA+VARI*VARF*DZZ+DAZ*(EI*VARF+EF*VARI))**2
0671 DIFLR=ABS(EI*EF*DAA+VALI*VARF*DZZ+DAZ*(EI*VARF+EF*VALI))**2
0672 DIFRL=ABS(EI*EF*DAA+VARI*VALF*DZZ+DAZ*(EI*VALF+EF*VARI))**2
0673 FACSIG=(DIFLL+DIFRR)*((UH-SQM4)**2+SH*SQM4)+
0674 & (DIFLR+DIFRL)*((TH-SQM3)**2+SH*SQM3)
0675 NCHN=NCHN+1
0676 ISIG(NCHN,1)=I
0677 ISIG(NCHN,2)=-I
0678 ISIG(NCHN,3)=1
0679 SIGH(NCHN)=HP*FCOI*FACSIG*WID2
0680 330 CONTINUE
0681
0682 ELSEIF(ISUB.EQ.195) THEN
0683
0684 KFA=KFPR(ISUBSV,1)
0685 KFB=KFA+1
0686 ALPRHT=2.91D0*(3D0/ITCM(1))
0687 FACTC=COMFAC*(AEM**2/12D0/XW**2)*(UH-SQM3)*(UH-SQM4)*3D0
0688
0689 FWR=SQRT(AEM/ALPRHT)/(2D0*SQRT(XW))
0690 CALL PYWIDT(24,SH,WDTP,WDTE)
0691 SSMZ=DCMPLX(1D0-PMAS(24,1)**2/SH,WDTP(0)/SHR)
0692 CALL PYWIDT(KTECHN+213,SH,WDTP,WDTE)
0693 SSMR=DCMPLX(1D0-PMAS(PYCOMP(KTECHN+213),1)**2/SH,WDTP(0)/SHR)
0694
0695 FCOF=1D0
0696 IF(KFA.LE.8) FCOF=3D0
0697 DETD=SSMZ*SSMR-DCMPLX(FWR**2,0D0)
0698 HP=FACTC*ABS(SSMR/DETD)**2/SH**2*FCOF
0699
0700 DO 350 I=MMIN1,MMAX1
0701 IF(I.EQ.0.OR.KFAC(1,I).EQ.0) GOTO 350
0702 IA=IABS(I)
0703 DO 340 J=MMIN2,MMAX2
0704 IF(J.EQ.0.OR.KFAC(2,J).EQ.0) GOTO 340
0705 JA=IABS(J)
0706 IF(I*J.GT.0.OR.MOD(IA+JA,2).EQ.0) GOTO 340
0707 IF((IA.LE.10.AND.JA.GT.10).OR.(IA.GT.10.AND.JA.LE.10))
0708 & GOTO 340
0709 KCHR=(KCHG(IA,1)*ISIGN(1,I)+KCHG(JA,1)*ISIGN(1,J))/3
0710 HI=HP
0711 IF(IA.LE.10) HI=HI*VCKM((IA+1)/2,(JA+1)/2)/3D0
0712 NCHN=NCHN+1
0713 ISIG(NCHN,1)=I
0714 ISIG(NCHN,2)=J
0715 ISIG(NCHN,3)=1
0716 SIGH(NCHN)=HI*WIDS(KFA,(5-KCHR)/2)*WIDS(KFB,(5+KCHR)/2)
0717 340 CONTINUE
0718 350 CONTINUE
0719 ENDIF
0720
0721 ELSEIF(ISUB.LE.380) THEN
0722 IF(ISUB.EQ.361) THEN
0723
0724 FACA=(SH**2*BE34**2-(TH-UH)**2)
0725 ALPRHT=2.91D0*(3D0/ITCM(1))
0726 HP=(1D0/12D0)*AEM**2*CAB2*COMFAC*FACA*3D0
0727 FAR=SQRT(AEM/ALPRHT)
0728 FAO=FAR*QUPD
0729 FZR=FAR*CT2W
0730 FZO=-FAO*TANW
0731 SFAR=FAR**2
0732 SFAO=FAO**2
0733 SFZR=FZR**2
0734 SFZO=FZO**2
0735 CALL PYWIDT(23,SH,WDTP,WDTE)
0736 SSMZ=DCMPLX(1D0-PMAS(23,1)**2/SH,WDTP(0)/SHR)
0737 CALL PYWIDT(KTECHN+113,SH,WDTP,WDTE)
0738 SSMR=DCMPLX(1D0-PMAS(PYCOMP(KTECHN+113),1)**2/SH,WDTP(0)/SHR)
0739 CALL PYWIDT(KTECHN+223,SH,WDTP,WDTE)
0740 SSMO=DCMPLX(1D0-PMAS(PYCOMP(KTECHN+223),1)**2/SH,WDTP(0)/SHR)
0741 DETD=(FAR*FZO-FAO*FZR)**2+SSMZ*SSMR*SSMO-SFZR*SSMO-
0742 $ SFZO*SSMR-SFAR*SSMO*SSMZ-SFAO*SSMR*SSMZ
0743 DARHO=-(-FAR*SFZO+FAO*FZO*FZR+FAR*SSMO*SSMZ)/DETD/SH
0744 DZRHO=-(-FZR*SFAO+FAO*FZO*FAR+FZR*SSMO)/DETD/SH
0745 DAA=-(SFZO*SSMR+SFZR*SSMO-SSMO*SSMR*SSMZ)/DETD/SH
0746 DZZ=-(SFAO*SSMR+SFAR*SSMO-SSMO*SSMR)/DETD/SH
0747 DAZ=(FAR*FZR*SSMO+FAO*FZO*SSMR)/DETD/SH
0748
0749 DO 360 I=MMINA,MMAXA
0750 IF(I.EQ.0.OR.KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 360
0751 IA=IABS(I)
0752 EI=KCHG(IABS(I),1)/3D0
0753 AI=SIGN(1D0,EI+0.1D0)
0754 VI=AI-4D0*EI*XWV
0755 VALI=0.25D0*(VI+AI)
0756 VARI=0.25D0*(VI-AI)
0757 F2L=EI*(DARHO/FAR+DAA+CT2W*DAZ)+
0758 $ VALI*(CT2W*DZRHO/FZR+CT2W*DZZ+DAZ)/SQRT(XW*XW1)
0759 F2R=EI*(DARHO/FAR+DAA+CT2W*DAZ)+
0760 $ VARI*(CT2W*DZRHO/FZR+CT2W*DZZ+DAZ)/SQRT(XW*XW1)
0761 HI=ABS(F2L)**2+ABS(F2R)**2
0762 IF(IA.LE.10) HI=HI/3D0
0763 NCHN=NCHN+1
0764 ISIG(NCHN,1)=I
0765 ISIG(NCHN,2)=-I
0766 ISIG(NCHN,3)=1
0767 IF(KFA.EQ.KFB) THEN
0768 SIGH(NCHN)=HI*HP*WIDS(PYCOMP(KFA),1)
0769 ELSE
0770 SIGH(NCHN)=HI*HP*WIDS(PYCOMP(KFA),2)*WIDS(PYCOMP(KFB),3)
0771 NCHN=NCHN+1
0772 ISIG(NCHN,1)=I
0773 ISIG(NCHN,2)=-I
0774 ISIG(NCHN,3)=2
0775 SIGH(NCHN)=HI*HP*WIDS(PYCOMP(KFA),3)*WIDS(PYCOMP(KFB),2)
0776 ENDIF
0777 360 CONTINUE
0778
0779 ELSEIF(ISUB.EQ.364) THEN
0780
0781
0782 VFAC=(TH**2+UH**2-2D0*SQM3*SQM4)
0783 AFAC=(TH**2+UH**2-2D0*SQM3*SQM4+4D0*SH*SQM3)
0784 FANOM=SQRT(PARU(1)*AEM)*ITCM(1)/PARU(2)**2/RTCM(1)
0785
0786 ALPRHT=2.91D0*(3D0/ITCM(1))
0787 HP=(1D0/24D0)*AEM**2*COMFAC*3D0*SH
0788 FAR=SQRT(AEM/ALPRHT)
0789 FAO=FAR*QUPD
0790 FZR=FAR*CT2W
0791 FZO=-FAO*TANW
0792 SFAR=FAR**2
0793 SFAO=FAO**2
0794 SFZR=FZR**2
0795 SFZO=FZO**2
0796 CALL PYWIDT(23,SH,WDTP,WDTE)
0797 SSMZ=DCMPLX(1D0-PMAS(23,1)**2/SH,WDTP(0)/SHR)
0798 CALL PYWIDT(KTECHN+113,SH,WDTP,WDTE)
0799 SSMR=DCMPLX(1D0-PMAS(PYCOMP(KTECHN+113),1)**2/SH,WDTP(0)/SHR)
0800 CALL PYWIDT(KTECHN+223,SH,WDTP,WDTE)
0801 SSMO=DCMPLX(1D0-PMAS(PYCOMP(KTECHN+223),1)**2/SH,WDTP(0)/SHR)
0802 DETD=(FAR*FZO-FAO*FZR)**2+SSMZ*SSMR*SSMO-SFZR*SSMO-
0803 $ SFZO*SSMR-SFAR*SSMO*SSMZ-SFAO*SSMR*SSMZ
0804 DARHO=(-FAR*SFZO+FAO*FZO*FZR+FAR*SSMO*SSMZ)/DETD/SH
0805 DZRHO=(-FZR*SFAO+FAO*FZO*FAR+FZR*SSMO)/DETD/SH
0806 DAOME=(-FAO*SFZR+FAR*FZO*FZR+FAO*SSMR*SSMZ)/DETD/SH
0807 DZOME=(-FZO*SFAR+FAR*FAO*FZR+FZO*SSMR)/DETD/SH
0808 DAA=(SFZO*SSMR+SFZR*SSMO-SSMO*SSMR*SSMZ)/DETD/SH
0809 DZZ=(SFAO*SSMR+SFAR*SSMO-SSMO*SSMR)/DETD/SH
0810 DAZ=(FAR*FZR*SSMO+FAO*FZO*SSMR)/DETD/SH
0811
0812 DO 370 I=MMINA,MMAXA
0813 IF(I.EQ.0.OR.KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 370
0814 IA=IABS(I)
0815 EI=KCHG(IABS(I),1)/3D0
0816 AI=SIGN(1D0,EI+0.1D0)
0817 VI=AI-4D0*EI*XWV
0818 VALI=0.25D0*(VI+AI)
0819 VARI=0.25D0*(VI-AI)
0820
0821 F2L=(EI*DARHO+VALI*DZRHO/SQRT(XW*XW1))*VRGP
0822 F2L=F2L+(EI*DAOME+VALI*DZOME/SQRT(XW*XW1))*VOGP
0823 F2L=F2L+FANOM*(VAGP*(EI*DAA+VALI*DAZ/SQRT(XW*XW1))+
0824 $ VZGP*(EI*DAZ+VALI*DZZ/SQRT(XW*XW1)))
0825 F2R=(EI*DARHO+VARI*DZRHO/SQRT(XW*XW1))*VRGP
0826 F2R=F2R+(EI*DAOME+VARI*DZOME/SQRT(XW*XW1))*VOGP
0827 F2R=F2R+FANOM*(VAGP*(EI*DAA+VARI*DAZ/SQRT(XW*XW1))+
0828 $ VZGP*(EI*DAZ+VARI*DZZ/SQRT(XW*XW1)))
0829 HI=(ABS(F2L)**2+ABS(F2R)**2)*VFAC
0830 F2L=(EI*DARHO+VALI*DZRHO/SQRT(XW*XW1))*ARGP
0831 F2L=F2L+(EI*DAOME+VALI*DZOME/SQRT(XW*XW1))*AOGP
0832 F2R=(EI*DARHO+VARI*DZRHO/SQRT(XW*XW1))*ARGP
0833 F2R=F2R+(EI*DAOME+VARI*DZOME/SQRT(XW*XW1))*AOGP
0834 HJ=(ABS(F2L)**2+ABS(F2R)**2)*AFAC
0835 HI=HI+HJ
0836 IF(IA.LE.10) HI=HI/3D0
0837 NCHN=NCHN+1
0838 ISIG(NCHN,1)=I
0839 ISIG(NCHN,2)=-I
0840 ISIG(NCHN,3)=1
0841 IF(ISUBSV.NE.368) THEN
0842 SIGH(NCHN)=HI*HP*WIDS(PYCOMP(KFA),2)*WIDS(PYCOMP(KFB),2)
0843 ELSE
0844 SIGH(NCHN)=HI*HP*WIDS(PYCOMP(KFA),2)*WIDS(PYCOMP(KFB),3)
0845 NCHN=NCHN+1
0846 ISIG(NCHN,1)=I
0847 ISIG(NCHN,2)=-I
0848 ISIG(NCHN,3)=2
0849 SIGH(NCHN)=HI*HP*WIDS(PYCOMP(KFA),3)*WIDS(PYCOMP(KFB),2)
0850 ENDIF
0851 370 CONTINUE
0852
0853 ELSEIF(ISUB.EQ.370) THEN
0854
0855
0856 FACA=(SH**2*BE34**2-(TH-UH)**2)
0857 ALPRHT=2.91D0*(3D0/ITCM(1))
0858 HP=(1D0/96D0)*AEM**2*CAB2*COMFAC*FACA*3D0/XW**2
0859 FWR=SQRT(AEM/ALPRHT)/(2D0*SQRT(XW))
0860 CALL PYWIDT(24,SH,WDTP,WDTE)
0861 SSMZ=DCMPLX(1D0-PMAS(24,1)**2/SH,WDTP(0)/SHR)
0862 CALL PYWIDT(KTECHN+213,SH,WDTP,WDTE)
0863 SSMR=DCMPLX(1D0-PMAS(PYCOMP(KTECHN+213),1)**2/SH,WDTP(0)/SHR)
0864 DETD=SSMZ*SSMR-DCMPLX(FWR**2,0D0)
0865 DWW=SSMR/DETD/SH
0866 DWRHO=-1D0/DETD/SH
0867 HP=HP*ABS(DWW+DWRHO)**2
0868 DO 390 I=MMIN1,MMAX1
0869 IF(I.EQ.0.OR.KFAC(1,I).EQ.0) GOTO 390
0870 IA=IABS(I)
0871 DO 380 J=MMIN2,MMAX2
0872 IF(J.EQ.0.OR.KFAC(2,J).EQ.0) GOTO 380
0873 JA=IABS(J)
0874 IF(I*J.GT.0.OR.MOD(IA+JA,2).EQ.0) GOTO 380
0875 IF((IA.LE.10.AND.JA.GT.10).OR.(IA.GT.10.AND.JA.LE.10))
0876 & GOTO 380
0877 KCHR=(KCHG(IA,1)*ISIGN(1,I)+KCHG(JA,1)*ISIGN(1,J))/3
0878 HI=HP
0879 IF(IA.LE.10) HI=HI*VCKM((IA+1)/2,(JA+1)/2)/3D0
0880 NCHN=NCHN+1
0881 ISIG(NCHN,1)=I
0882 ISIG(NCHN,2)=J
0883 ISIG(NCHN,3)=1
0884 SIGH(NCHN)=HI*WIDS(PYCOMP(KFA),(5-KCHR)/2)*
0885 & WIDS(PYCOMP(KFB),2)
0886 380 CONTINUE
0887 390 CONTINUE
0888
0889 ELSEIF(ISUB.EQ.374) THEN
0890
0891 FANOM=SQRT(AEM)*ITCM(1)/2D0/PARU(2)/RTCM(1)
0892 VFAC=(TH**2+UH**2-2D0*SQM3*SQM4)
0893 AFAC=(TH**2+UH**2-2D0*SQM3*SQM4+4D0*SH*SQM3)/SQTA*ARGP**2
0894 ALPRHT=2.91D0*(3D0/ITCM(1))
0895 HP=(1D0/48D0)*AEM**2/XW*COMFAC*3D0*SH
0896 FWR=SQRT(AEM/ALPRHT)/(2D0*SQRT(XW))
0897 CALL PYWIDT(24,SH,WDTP,WDTE)
0898 SSMZ=DCMPLX(1D0-PMAS(24,1)**2/SH,WDTP(0)/SHR)
0899 CALL PYWIDT(KTECHN+213,SH,WDTP,WDTE)
0900 SSMR=DCMPLX(1D0-PMAS(PYCOMP(KTECHN+213),1)**2/SH,WDTP(0)/SHR)
0901 DETD=SSMZ*SSMR-DCMPLX(FWR**2,0D0)
0902 DWW=SSMR/DETD/SH
0903 DWRHO=-DCMPLX(FWR,0D0)/DETD/SH
0904 HP=HP*(AFAC*ABS(DWRHO)**2+
0905 $ VFAC*ABS(FANOM*DWW*VWGP+DWRHO*VRGP/SQRT(SQTV))**2)
0906 DO 410 I=MMIN1,MMAX1
0907 IF(I.EQ.0.OR.KFAC(1,I).EQ.0) GOTO 410
0908 IA=IABS(I)
0909 DO 400 J=MMIN2,MMAX2
0910 IF(J.EQ.0.OR.KFAC(2,J).EQ.0) GOTO 400
0911 JA=IABS(J)
0912 IF(I*J.GT.0.OR.MOD(IA+JA,2).EQ.0) GOTO 400
0913 IF((IA.LE.10.AND.JA.GT.10).OR.(IA.GT.10.AND.JA.LE.10))
0914 & GOTO 400
0915 KCHR=(KCHG(IA,1)*ISIGN(1,I)+KCHG(JA,1)*ISIGN(1,J))/3
0916 HI=HP
0917 IF(IA.LE.10) HI=HI*VCKM((IA+1)/2,(JA+1)/2)/3D0
0918 NCHN=NCHN+1
0919 ISIG(NCHN,1)=I
0920 ISIG(NCHN,2)=J
0921 ISIG(NCHN,3)=1
0922 SIGH(NCHN)=HI*WIDS(PYCOMP(KFA),(5-KCHR)/2)*
0923 & WIDS(PYCOMP(KFB),2)
0924 400 CONTINUE
0925 410 CONTINUE
0926 ENDIF
0927
0928 ELSEIF(ISUB.LE.390) THEN
0929 IF(ISUB.EQ.381) THEN
0930
0931 FACQQ1=COMFAC*AS**2*4D0/9D0*(SH2+UH2)*SQDQQT
0932 FACQQB=COMFAC*AS**2*4D0/9D0*((SH2+UH2)*SQDQQT*FACA-
0933 & MSTP(34)*2D0/3D0*UH2*REDQST)
0934 FACQQ2=COMFAC*AS**2*4D0/9D0*(SH2+TH2)*SQDQQU
0935 FACQQI=-COMFAC*AS**2*4D0/9D0*MSTP(34)*2D0/3D0*SH2/(TH*UH)
0936 RATQQI=(FACQQ1+FACQQ2+FACQQI)/(FACQQ1+FACQQ2)
0937 IF(ITCM(5).GE.1.AND.ITCM(5).LE.4) THEN
0938
0939 FACCI1=FACQQ1+COMFAC*(SH2/RTCM(41)**4)
0940 FACCIB=FACQQB+COMFAC*(8D0/9D0)*(AS*RTCM(42)/RTCM(41)**2)*
0941 & (UH2/TH+UH2/SH)+COMFAC*(5D0/3D0)*(UH2/RTCM(41)**4)
0942 FACCI2=FACQQ2+COMFAC*(8D0/9D0)*(AS*RTCM(42)/RTCM(41)**2)*
0943 & (SH2/TH+SH2/UH)+COMFAC*(5D0/3D0)*(SH2/RTCM(41)**4)
0944 FACCI3=FACQQ1+COMFAC*(UH2/RTCM(41)**4)
0945 RATCII=(FACCI1+FACCI2+FACQQI)/(FACCI1+FACCI2)
0946 ELSEIF(ITCM(5).EQ.5) THEN
0947 FACCI1=FACQQ1
0948 FACCIB=FACQQB
0949 FACCI2=FACQQ2
0950 FACCI3=FACQQ1
0951
0952
0953 RATCII=RATQQI
0954 ENDIF
0955 DO 430 I=MMIN1,MMAX1
0956 IA=IABS(I)
0957 IF(I.EQ.0.OR.IA.GT.MSTP(58).OR.KFAC(1,I).EQ.0) GOTO 430
0958 DO 420 J=MMIN2,MMAX2
0959 JA=IABS(J)
0960 IF(J.EQ.0.OR.JA.GT.MSTP(58).OR.KFAC(2,J).EQ.0) GOTO 420
0961 NCHN=NCHN+1
0962 ISIG(NCHN,1)=I
0963 ISIG(NCHN,2)=J
0964 ISIG(NCHN,3)=1
0965 IF(ITCM(5).LE.0.OR.(ITCM(5).EQ.1.AND.(IA.GE.3.OR.
0966 & JA.GE.3))) THEN
0967 SIGH(NCHN)=FACQQ1
0968 IF(I.EQ.-J) SIGH(NCHN)=FACQQB
0969 ELSE
0970 SIGH(NCHN)=FACCI1
0971 IF(I*J.LT.0) SIGH(NCHN)=FACCI3
0972 IF(I.EQ.-J) SIGH(NCHN)=FACCIB
0973 ENDIF
0974 IF(I.EQ.J) THEN
0975 NCHN=NCHN+1
0976 ISIG(NCHN,1)=I
0977 ISIG(NCHN,2)=J
0978 ISIG(NCHN,3)=2
0979 IF(ITCM(5).LE.0.OR.(ITCM(5).EQ.1.AND.IA.GE.3)) THEN
0980 SIGH(NCHN-1)=0.5D0*FACQQ1*RATQQI
0981 SIGH(NCHN)=0.5D0*FACQQ2*RATQQI
0982 ELSE
0983 SIGH(NCHN-1)=0.5D0*FACCI1*RATCII
0984 SIGH(NCHN)=0.5D0*FACCI2*RATCII
0985 ENDIF
0986 ENDIF
0987 420 CONTINUE
0988 430 CONTINUE
0989
0990 ELSEIF(ISUB.EQ.382) THEN
0991
0992 CALL PYWIDT(21,SH,WDTP,WDTE)
0993 FACQQF=COMFAC*AS**2*4D0/9D0*(TH2+UH2)
0994 FACQQB=FACQQF*SQDQQS*(WDTE(0,1)+WDTE(0,2)+WDTE(0,4))
0995 IF(ITCM(5).EQ.1) THEN
0996
0997 FACCIB=FACQQB
0998 DO 440 I=1,2
0999 FACCIB=FACCIB+COMFAC*(UH2/RTCM(41)**4)*(WDTE(I,1)+
1000 & WDTE(I,2)+WDTE(I,4))
1001 440 CONTINUE
1002 ELSEIF(ITCM(5).GE.2.AND.ITCM(5).LE.4) THEN
1003 FACCIB=FACQQB+COMFAC*(UH2/RTCM(41)**4)*
1004 & (WDTE(0,1)+WDTE(0,2)+WDTE(0,4))
1005 ELSEIF(ITCM(5).EQ.5) THEN
1006 FACQQB=FACQQF*SQDQQS*(WDTE(0,1)+WDTE(0,2)+WDTE(0,4)-
1007 & WDTE(5,1)-WDTE(5,2)-WDTE(5,4))
1008 FACCIB=FACQQF*SQDQTS*(WDTE(5,1)+WDTE(5,2)+WDTE(5,4))
1009 ENDIF
1010 DO 450 I=MMINA,MMAXA
1011 IF(I.EQ.0.OR.IABS(I).GT.MSTP(58).OR.
1012 & KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 450
1013 NCHN=NCHN+1
1014 ISIG(NCHN,1)=I
1015 ISIG(NCHN,2)=-I
1016 ISIG(NCHN,3)=1
1017 IF(ITCM(5).LE.0.OR.(ITCM(5).EQ.1.AND.IABS(I).GE.3)) THEN
1018 SIGH(NCHN)=FACQQB
1019 ELSEIF(ITCM(5).EQ.5) THEN
1020 SIGH(NCHN)=FACQQB
1021 NCHN=NCHN+1
1022 ISIG(NCHN,1)=I
1023 ISIG(NCHN,2)=-I
1024 ISIG(NCHN,3)=2
1025 SIGH(NCHN)=FACCIB
1026 ELSE
1027 SIGH(NCHN)=FACCIB
1028 ENDIF
1029 450 CONTINUE
1030
1031 ELSEIF(ISUB.EQ.383) THEN
1032
1033 FACGG1=COMFAC*AS**2*32D0/27D0*(UH/TH-(2D0+MSTP(34)*1D0/4D0)*
1034 & UH2/SH2+9D0/4D0*TH*UH/SH2*SQDLGS)
1035 FACGG2=COMFAC*AS**2*32D0/27D0*(TH/UH-(2D0+MSTP(34)*1D0/4D0)*
1036 & TH2/SH2+9D0/4D0*TH*UH/SH2*SQDLGS)
1037 IF(ITCM(5).EQ.5) THEN
1038 FACGG3=COMFAC*AS**2*32D0/27D0*(UH/TH-(2D0+MSTP(34)*1D0/4D0)*
1039 & UH2/SH2+9D0/4D0*TH*UH/SH2*SQDHGS)
1040 FACGG4=COMFAC*AS**2*32D0/27D0*(TH/UH-(2D0+MSTP(34)*1D0/4D0)*
1041 & TH2/SH2+9D0/4D0*TH*UH/SH2*SQDHGS)
1042 ENDIF
1043 DO 460 I=MMINA,MMAXA
1044 IF(I.EQ.0.OR.IABS(I).GT.MSTP(58).OR.
1045 & KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 460
1046 NCHN=NCHN+1
1047 ISIG(NCHN,1)=I
1048 ISIG(NCHN,2)=-I
1049 ISIG(NCHN,3)=1
1050 SIGH(NCHN)=0.5D0*FACGG1
1051 IF(ITCM(5).EQ.5.AND.IABS(I).EQ.5) SIGH(NCHN)=0.5D0*FACGG3
1052 NCHN=NCHN+1
1053 ISIG(NCHN,1)=I
1054 ISIG(NCHN,2)=-I
1055 ISIG(NCHN,3)=2
1056 SIGH(NCHN)=0.5D0*FACGG2
1057 IF(ITCM(5).EQ.5.AND.IABS(I).EQ.5) SIGH(NCHN)=0.5D0*FACGG4
1058 460 CONTINUE
1059
1060 ELSEIF(ISUB.EQ.384) THEN
1061
1062 FACQG1=COMFAC*AS**2*4D0/9D0*((2D0+MSTP(34)*1D0/4D0)*UH2/TH2-
1063 & UH/SH-9D0/4D0*SH*UH/TH2*SQDLGT)*FACA
1064 FACQG2=COMFAC*AS**2*4D0/9D0*((2D0+MSTP(34)*1D0/4D0)*SH2/TH2-
1065 & SH/UH-9D0/4D0*SH*UH/TH2*SQDLGT)
1066 DO 480 I=MMINA,MMAXA
1067 IF(I.EQ.0.OR.IABS(I).GT.10) GOTO 480
1068 DO 470 ISDE=1,2
1069 IF(ISDE.EQ.1.AND.KFAC(1,I)*KFAC(2,21).EQ.0) GOTO 470
1070 IF(ISDE.EQ.2.AND.KFAC(1,21)*KFAC(2,I).EQ.0) GOTO 470
1071 NCHN=NCHN+1
1072 ISIG(NCHN,ISDE)=I
1073 ISIG(NCHN,3-ISDE)=21
1074 ISIG(NCHN,3)=1
1075 SIGH(NCHN)=FACQG1
1076 NCHN=NCHN+1
1077 ISIG(NCHN,ISDE)=I
1078 ISIG(NCHN,3-ISDE)=21
1079 ISIG(NCHN,3)=2
1080 SIGH(NCHN)=FACQG2
1081 470 CONTINUE
1082 480 CONTINUE
1083
1084 ELSEIF(ISUB.EQ.385) THEN
1085
1086 IF(KFAC(1,21)*KFAC(2,21).EQ.0) GOTO 500
1087 IDC0=MDCY(21,2)-1
1088
1089 FLAVWT=0D0
1090 IF(MDME(IDC0+1,1).GE.1) FLAVWT=FLAVWT+
1091 & SQRT(MAX(0D0,1D0-4D0*PMAS(1,1)**2/SH))
1092 IF(MDME(IDC0+2,1).GE.1) FLAVWT=FLAVWT+
1093 & SQRT(MAX(0D0,1D0-4D0*PMAS(2,1)**2/SH))
1094 IF(MDME(IDC0+3,1).GE.1) FLAVWT=FLAVWT+
1095 & SQRT(MAX(0D0,1D0-4D0*PMAS(3,1)**2/SH))
1096 FACQQ1=COMFAC*AS**2*1D0/6D0*(UH/TH-(2D0+MSTP(34)*1D0/4D0)*
1097 & UH2/SH2+9D0/4D0*TH*UH/SH2*SQDLGS)*FLAVWT*FACA
1098 FACQQ2=COMFAC*AS**2*1D0/6D0*(TH/UH-(2D0+MSTP(34)*1D0/4D0)*
1099 & TH2/SH2+9D0/4D0*TH*UH/SH2*SQDLGS)*FLAVWT*FACA
1100 NCHN=NCHN+1
1101 ISIG(NCHN,1)=21
1102 ISIG(NCHN,2)=21
1103 ISIG(NCHN,3)=1
1104 SIGH(NCHN)=FACQQ1
1105 NCHN=NCHN+1
1106 ISIG(NCHN,1)=21
1107 ISIG(NCHN,2)=21
1108 ISIG(NCHN,3)=2
1109 SIGH(NCHN)=FACQQ2
1110
1111
1112 DO 490 IFL=4,5
1113 SQMAVG=PMAS(IFL,1)**2
1114 IF(MDME(IDC0+IFL,1).GE.1.AND.SH.GT.4.04D0*SQMAVG) THEN
1115 BE34=SQRT(1D0-4D0*SQMAVG/SH)
1116 THQ=-0.5D0*SH*(1D0-BE34*CTH)
1117 UHQ=-0.5D0*SH*(1D0+BE34*CTH)
1118 THUHQ=THQ*UHQ-SQMAVG*SH
1119 IF(MSTP(34).EQ.0) THEN
1120 FACQQ1=UHQ/THQ-2D0*UHQ**2/SH2+4D0*(SQMAVG/SH)*THUHQ/THQ**2
1121 FACQQ2=THQ/UHQ-2D0*THQ**2/SH2+4D0*(SQMAVG/SH)*THUHQ/UHQ**2
1122 ELSE
1123 FACQQ1=UHQ/THQ-2.25D0*UHQ**2/SH2+4.5D0*(SQMAVG/SH)*THUHQ/
1124 & THQ**2+0.5D0*SQMAVG*(THQ+SQMAVG)/THQ**2-SQMAVG**2/(SH*THQ)
1125 FACQQ2=THQ/UHQ-2.25D0*THQ**2/SH2+4.5D0*(SQMAVG/SH)*THUHQ/
1126 & UHQ**2+0.5D0*SQMAVG*(UHQ+SQMAVG)/UHQ**2-SQMAVG**2/(SH*UHQ)
1127 ENDIF
1128 IF(ITCM(5).GE.5) THEN
1129 IF(IFL.EQ.4) THEN
1130 FACQQ1=FACQQ1+2.25D0*SQMAVG*(THQ-UHQ)/(SH*THQ)*REDLGS+
1131 & 2.25D0*THQ*UHQ/SH2*SQDLGS
1132 FACQQ2=FACQQ2+2.25D0*SQMAVG*(UHQ-THQ)/(SH*UHQ)*REDLGS+
1133 & 2.25D0*THQ*UHQ/SH2*SQDLGS
1134 ELSE
1135 FACQQ1=FACQQ1+2.25D0*SQMAVG*(THQ-UHQ)/(SH*THQ)*REDHGS+
1136 & 2.25D0*THQ*UHQ/SH2*SQDHGS
1137 FACQQ2=FACQQ2+2.25D0*SQMAVG*(UHQ-THQ)/(SH*UHQ)*REDHGS+
1138 & 2.25D0*THQ*UHQ/SH2*SQDHGS
1139 ENDIF
1140 ENDIF
1141 FACQQ1=COMFAC*FACA*AS**2*(1D0/6D0)*FACQQ1*BE34
1142 FACQQ2=COMFAC*FACA*AS**2*(1D0/6D0)*FACQQ2*BE34
1143 NCHN=NCHN+1
1144 ISIG(NCHN,1)=21
1145 ISIG(NCHN,2)=21
1146 ISIG(NCHN,3)=1+2*(IFL-3)
1147 SIGH(NCHN)=FACQQ1
1148 NCHN=NCHN+1
1149 ISIG(NCHN,1)=21
1150 ISIG(NCHN,2)=21
1151 ISIG(NCHN,3)=2+2*(IFL-3)
1152 SIGH(NCHN)=FACQQ2
1153 ENDIF
1154 490 CONTINUE
1155 500 CONTINUE
1156
1157 ELSEIF(ISUB.EQ.386) THEN
1158
1159 IF(ITCM(5).LE.4) THEN
1160 FACGG1=COMFAC*AS**2*9D0/4D0*(SH2/TH2+2D0*SH/TH+3D0+
1161 & 2D0*TH/SH+TH2/SH2)*FACA
1162 FACGG2=COMFAC*AS**2*9D0/4D0*(UH2/SH2+2D0*UH/SH+3D0+
1163 & 2D0*SH/UH+SH2/UH2)*FACA
1164 FACGG3=COMFAC*AS**2*9D0/4D0*(TH2/UH2+2D0*TH/UH+3D0+
1165 & 2D0*UH/TH+UH2/TH2)
1166 ELSE
1167 GST= (12D0 + 40D0*TH/SH + 56D0*TH2/SH2 + 32D0*TH**3/SH**3 +
1168 & 16D0*TH**4/SH**4 + SQDGGS*(4D0*SH2 + 16D0*SH*TH + 16D0*TH2)+
1169 & 4D0*REDGST*(SH + 2D0*TH)*
1170 & (2D0*SH**3 - 3D0*SH2*TH - 2D0*SH*TH2 + 2D0*TH**3)/SH2 +
1171 & 2D0*REDGGS*(2D0*SH - 12D0*TH2/SH - 8D0*TH**3/SH2) +
1172 & 2D0*REDGGT*(4D0*SH - 22D0*TH - 68D0*TH2/SH - 60D0*TH**3/SH2-
1173 & 32D0*TH**4/SH**3 - 16D0*TH**5/SH**4) +
1174 & SQDGGT*(16D0*SH2 + 16D0*SH*TH + 68D0*TH2 + 144D0*TH**3/SH +
1175 & 96D0*TH**4/SH2 + 32D0*TH**5/SH**3 + 16D0*TH**6/SH**4))/16D0
1176 GSU= (12D0 + 40D0*UH/SH + 56D0*UH2/SH2 + 32D0*UH**3/SH**3 +
1177 & 16D0*UH**4/SH**4 + SQDGGS*(4D0*SH2 + 16D0*SH*UH + 16D0*UH2)+
1178 & 4D0*REDGSU*(SH + 2D0*UH)*
1179 & (2D0*SH**3 - 3D0*SH2*UH - 2D0*SH*UH2 + 2D0*UH**3)/SH2 +
1180 & 2D0*REDGGS*(2D0*SH - 12D0*UH2/SH - 8D0*UH**3/SH2) +
1181 & 2D0*REDGGU*(4D0*SH - 22D0*UH - 68D0*UH2/SH - 60D0*UH**3/SH2-
1182 & 32D0*UH**4/SH**3 - 16D0*UH**5/SH**4) +
1183 & SQDGGU*(16D0*SH2 + 16D0*SH*UH + 68D0*UH2 + 144D0*UH**3/SH +
1184 & 96D0*UH**4/SH2 + 32D0*UH**5/SH**3 + 16D0*UH**6/SH**4))/16D0
1185 GUT= (12D0 - 16D0*TH*(TH - UH)**2*UH/SH**4 +
1186 & 4D0*REDGGU*(2D0*TH**5 - 15D0*TH**4*UH - 48D0*TH**3*UH2 -
1187 & 58D0*TH2*UH**3 - 10D0*TH*UH**4 + UH**5)/SH**4 +
1188 & 4D0*REDGGT*(TH**5 - 10D0*TH**4*UH - 58D0*TH**3*UH2 -
1189 & 48D0*TH2*UH**3 - 15D0*TH*UH**4 + 2D0*UH**5)/SH**4 +
1190 & 4D0*SQDGGU*(4D0*TH**6 + 20D0*TH**5*UH + 57D0*TH**4*UH2 +
1191 & 72D0*TH**3*UH**3+ 38D0*TH2*UH**4+4D0*TH*UH**5 +UH**6)/SH**4+
1192 & 4D0*SQDGGT*(4D0*UH**6 + 4D0*TH**5*UH + 38D0*TH**4*UH2 +
1193 & 72D0*TH**3*UH**3 +57D0*TH2*UH**4+20D0*TH*UH**5+TH**6)/SH**4+
1194 & 2D0*REDGTU*((TH - UH)**2* (TH**4 + 20D0*TH**3*UH +
1195 & 30D0*TH2*UH2 + 20D0*TH*UH**3 + UH**4) +
1196 & SH2*(7D0*TH**4 + 52D0*TH**3*UH + 274D0*TH2*UH2 +
1197 & 52D0*TH*UH**3 + 7D0*UH**4))/(2D0*SH**4))/16D0
1198 FACGG1=COMFAC*AS**2*9D0/4D0*GST*FACA
1199 FACGG2=COMFAC*AS**2*9D0/4D0*GSU*FACA
1200 FACGG3=COMFAC*AS**2*9D0/4D0*GUT
1201 ENDIF
1202 IF(KFAC(1,21)*KFAC(2,21).EQ.0) GOTO 510
1203 NCHN=NCHN+1
1204 ISIG(NCHN,1)=21
1205 ISIG(NCHN,2)=21
1206 ISIG(NCHN,3)=1
1207 SIGH(NCHN)=0.5D0*FACGG1
1208 NCHN=NCHN+1
1209 ISIG(NCHN,1)=21
1210 ISIG(NCHN,2)=21
1211 ISIG(NCHN,3)=2
1212 SIGH(NCHN)=0.5D0*FACGG2
1213 NCHN=NCHN+1
1214 ISIG(NCHN,1)=21
1215 ISIG(NCHN,2)=21
1216 ISIG(NCHN,3)=3
1217 SIGH(NCHN)=0.5D0*FACGG3
1218 510 CONTINUE
1219
1220 ELSEIF(ISUB.EQ.387) THEN
1221
1222 SQMAVG=0.5D0*(SQM3+SQM4)-0.25D0*(SQM3-SQM4)**2/SH
1223 THQ=-0.5D0*SH*(1D0-BE34*CTH)
1224 UHQ=-0.5D0*SH*(1D0+BE34*CTH)
1225 FACQQB=COMFAC*AS**2*4D0/9D0*((THQ**2+UHQ**2)/SH2+
1226 & 2D0*SQMAVG/SH)
1227 IF(ITCM(5).GE.5) THEN
1228 IF(MINT(55).EQ.5.OR.MINT(55).EQ.6) THEN
1229 FACQQB=FACQQB*SH2*SQDQTS
1230 ELSE
1231 FACQQB=FACQQB*SH2*SQDQQS
1232 ENDIF
1233 ENDIF
1234 IF(MSTP(35).GE.1) FACQQB=FACQQB*PYHFTH(SH,SQMAVG,0D0)
1235 WID2=1D0
1236 IF(MINT(55).EQ.6) WID2=WIDS(6,1)
1237 IF(MINT(55).EQ.7.OR.MINT(55).EQ.8) WID2=WIDS(MINT(55),1)
1238 FACQQB=FACQQB*WID2
1239 DO 520 I=MMINA,MMAXA
1240 IF(I.EQ.0.OR.IABS(I).GT.MSTP(58).OR.
1241 & KFAC(1,I)*KFAC(2,-I).EQ.0) GOTO 520
1242 NCHN=NCHN+1
1243 ISIG(NCHN,1)=I
1244 ISIG(NCHN,2)=-I
1245 ISIG(NCHN,3)=1
1246 SIGH(NCHN)=FACQQB
1247 520 CONTINUE
1248
1249 ELSEIF(ISUB.EQ.388) THEN
1250
1251 SQMAVG=0.5D0*(SQM3+SQM4)-0.25D0*(SQM3-SQM4)**2/SH
1252 THQ=-0.5D0*SH*(1D0-BE34*CTH)
1253 UHQ=-0.5D0*SH*(1D0+BE34*CTH)
1254 THUHQ=THQ*UHQ-SQMAVG*SH
1255 IF(MSTP(34).EQ.0) THEN
1256 FACQQ1=UHQ/THQ-2D0*UHQ**2/SH2+4D0*(SQMAVG/SH)*THUHQ/THQ**2
1257 FACQQ2=THQ/UHQ-2D0*THQ**2/SH2+4D0*(SQMAVG/SH)*THUHQ/UHQ**2
1258 ELSE
1259 FACQQ1=UHQ/THQ-2.25D0*UHQ**2/SH2+4.5D0*(SQMAVG/SH)*THUHQ/
1260 & THQ**2+0.5D0*SQMAVG*(THQ+SQMAVG)/THQ**2-SQMAVG**2/(SH*THQ)
1261 FACQQ2=THQ/UHQ-2.25D0*THQ**2/SH2+4.5D0*(SQMAVG/SH)*THUHQ/
1262 & UHQ**2+0.5D0*SQMAVG*(UHQ+SQMAVG)/UHQ**2-SQMAVG**2/(SH*UHQ)
1263 ENDIF
1264 IF(ITCM(5).GE.5) THEN
1265 IF(MINT(55).EQ.5.OR.MINT(55).EQ.6) THEN
1266 FACQQ1=FACQQ1+2.25D0*SQMAVG*(THQ-UHQ)/(SH*THQ)*REDHGS+
1267 & 2.25D0*THQ*UHQ/SH2*SQDHGS
1268 FACQQ2=FACQQ2+2.25D0*SQMAVG*(UHQ-THQ)/(SH*UHQ)*REDHGS+
1269 & 2.25D0*THQ*UHQ/SH2*SQDHGS
1270 ELSE
1271 FACQQ1=FACQQ1+2.25D0*SQMAVG*(THQ-UHQ)/(SH*THQ)*REDLGS+
1272 & 2.25D0*THQ*UHQ/SH2*SQDLGS
1273 FACQQ2=FACQQ2+2.25D0*SQMAVG*(UHQ-THQ)/(SH*UHQ)*REDLGS+
1274 & 2.25D0*THQ*UHQ/SH2*SQDLGS
1275 ENDIF
1276 ENDIF
1277 FACQQ1=COMFAC*FACA*AS**2*(1D0/6D0)*FACQQ1
1278 FACQQ2=COMFAC*FACA*AS**2*(1D0/6D0)*FACQQ2
1279 IF(MSTP(35).GE.1) THEN
1280 FATRE=PYHFTH(SH,SQMAVG,2D0/7D0)
1281 FACQQ1=FACQQ1*FATRE
1282 FACQQ2=FACQQ2*FATRE
1283 ENDIF
1284 WID2=1D0
1285 IF(MINT(55).EQ.6) WID2=WIDS(6,1)
1286 IF(MINT(55).EQ.7.OR.MINT(55).EQ.8) WID2=WIDS(MINT(55),1)
1287 FACQQ1=FACQQ1*WID2
1288 FACQQ2=FACQQ2*WID2
1289 IF(KFAC(1,21)*KFAC(2,21).EQ.0) GOTO 530
1290 NCHN=NCHN+1
1291 ISIG(NCHN,1)=21
1292 ISIG(NCHN,2)=21
1293 ISIG(NCHN,3)=1
1294 SIGH(NCHN)=FACQQ1
1295 NCHN=NCHN+1
1296 ISIG(NCHN,1)=21
1297 ISIG(NCHN,2)=21
1298 ISIG(NCHN,3)=2
1299 SIGH(NCHN)=FACQQ2
1300 530 CONTINUE
1301 ENDIF
1302 ENDIF
1303
1304
1305
1306 RETURN
1307 END