File indexing completed on 2023-10-25 09:48:25
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032 SUBROUTINE PYSIGH(NCHN,SIGS)
0033
0034
0035 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0036 IMPLICIT INTEGER(I-N)
0037 INTEGER PYK,PYCHGE,PYCOMP
0038
0039 PARAMETER (KSUSY1=1000000,KSUSY2=2000000,KTECHN=3000000,
0040 &KEXCIT=4000000,KDIMEN=5000000)
0041
0042 COMMON/PYJETS/N,NPAD,K(4000,5),P(4000,5),V(4000,5)
0043 COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0044 COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
0045 COMMON/PYDAT3/MDCY(500,3),MDME(8000,2),BRAT(8000),KFDP(8000,5)
0046 COMMON/PYSUBS/MSEL,MSELPD,MSUB(500),KFIN(2,-40:40),CKIN(200)
0047 COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
0048 COMMON/PYINT1/MINT(400),VINT(400)
0049 COMMON/PYINT2/ISET(500),KFPR(500,2),COEF(500,20),ICOL(40,4,2)
0050 COMMON/PYINT3/XSFX(2,-40:40),ISIG(1000,3),SIGH(1000)
0051 COMMON/PYINT4/MWID(500),WIDS(500,5)
0052 COMMON/PYINT5/NGENPD,NGEN(0:500,3),XSEC(0:500,3)
0053 COMMON/PYINT7/SIGT(0:6,0:6,0:5)
0054 COMMON/PYMSSM/IMSS(0:99),RMSS(0:99)
0055 COMMON/PYSSMT/ZMIX(4,4),UMIX(2,2),VMIX(2,2),SMZ(4),SMW(2),
0056 &SFMIX(16,4),ZMIXI(4,4),UMIXI(2,2),VMIXI(2,2)
0057 COMMON/PYTCSM/ITCM(0:99),RTCM(0:99)
0058 COMMON/PYPUED/IUED(0:99),RUED(0:99)
0059 COMMON/PYSGCM/ISUB,ISUBSV,MMIN1,MMAX1,MMIN2,MMAX2,MMINA,MMAXA,
0060 &KFAC(2,-40:40),COMFAC,FACK,FACA,SH,TH,UH,SH2,TH2,UH2,SQM3,SQM4,
0061 &SHR,SQPTH,TAUP,BE34,CTH,X(2),SQMZ,SQMW,GMMZ,GMMW,
0062 &AEM,AS,XW,XW1,XWC,XWV,POLL,POLR,POLLL,POLRR
0063 COMMON/PYTCCO/COEFX(194:380,2)
0064 SAVE /PYJETS/,/PYDAT1/,/PYDAT2/,/PYDAT3/,/PYSUBS/,/PYPARS/,
0065 &/PYINT1/,/PYINT2/,/PYINT3/,/PYINT4/,/PYINT5/,/PYINT7/,
0066 &/PYMSSM/,/PYSSMT/,/PYTCSM/,/PYPUED/,/PYSGCM/,/PYTCCO/
0067
0068 DIMENSION XPQ(-25:25)
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081 DIMENSION MAPPR(500)
0082 DATA (MAPPR(I),I=1,180)/
0083 & 3, 3, 4, 0, 4, 0, 0, 4, 0, 1,
0084 1 1, 1, 1, 1, 3, 3, 0, 1, 3, 3,
0085 2 0, 3, 3, 4, 3, 4, 0, 1, 1, 3,
0086 3 3, 4, 1, 1, 3, 3, 0, 0, 0, 0,
0087 4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0088 5 0, 0, 1, 1, 0, 0, 0, 1, 0, 0,
0089 6 0, 0, 0, 0, 0, 0, 0, 1, 3, 3,
0090 7 4, 4, 4, 0, 0, 4, 4, 0, 0, 1,
0091 8 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
0092 9 1, 1, 1, 1, 1, 1, 0, 0, 1, 0,
0093 & 0, 4, 4, 2, 2, 2, 2, 2, 0, 4,
0094 1 4, 4, 4, 1, 1, 0, 0, 0, 0, 0,
0095 2 4, 4, 4, 4, 0, 0, 0, 0, 0, 0,
0096 3 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0097 4 7, 7, 4, 7, 7, 7, 7, 7, 6, 0,
0098 5 4, 4, 4, 0, 0, 4, 4, 4, 0, 0,
0099 6 4, 7, 7, 7, 6, 6, 7, 7, 7, 0,
0100 7 4, 4, 4, 4, 0, 4, 4, 4, 4, 0/
0101 DATA (MAPPR(I),I=181,500)/
0102 8 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
0103 9 6, 6, 6, 6, 6, 0, 0, 0, 0, 0,
0104 & 100*5,
0105 & 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0106 & 8, 8, 8, 8, 8, 8, 8, 8, 8, 0,
0107 1 20*0,
0108 4 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
0109 5 7, 7, 7, 7, 0, 0, 0, 0, 0, 0,
0110 6 6, 6, 6, 6, 6, 6, 6, 6, 0, 6,
0111 7 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
0112 8 6, 6, 6, 6, 6, 6, 6, 6, 0, 0,
0113 9 7, 7, 7, 7, 7, 0, 0, 0, 0, 0,
0114 & 4, 4, 18*0,
0115 2 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
0116 3 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
0117 4 20*0,
0118 6 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
0119 7 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
0120 8 20*0/
0121
0122
0123
0124
0125 EXTERNAL HCS_XS
0126
0127
0128
0129
0130
0131
0132 NCHN=0
0133 SIGS=0D0
0134
0135
0136 ISUB=MINT(1)
0137 ISUBSV=ISUB
0138 MAP=MAPPR(ISUB)
0139
0140
0141 ISTSB=ISET(ISUBSV)
0142 TAUMIN=VINT(11)
0143 YSTMIN=VINT(12)
0144 CTNMIN=VINT(13)
0145 CTPMIN=VINT(14)
0146 TAUPMN=VINT(16)
0147 TAU=VINT(21)
0148 YST=VINT(22)
0149 CTH=VINT(23)
0150 XT2=VINT(25)
0151 TAUP=VINT(26)
0152 TAUMAX=VINT(31)
0153 YSTMAX=VINT(32)
0154 CTNMAX=VINT(33)
0155 CTPMAX=VINT(34)
0156 TAUPMX=VINT(36)
0157
0158
0159 TAUE=TAU
0160 IF(ISTSB.GE.3.AND.ISTSB.LE.5) TAUE=TAUP
0161 X(1)=SQRT(TAUE)*EXP(YST)
0162 X(2)=SQRT(TAUE)*EXP(-YST)
0163 IF(MINT(45).EQ.2.AND.ISTSB.GE.1) THEN
0164 IF(X(1).GT.1D0-1D-7) RETURN
0165 ELSEIF(MINT(45).EQ.3) THEN
0166 X(1)=MIN(1D0-1.1D-10,X(1))
0167 ENDIF
0168 IF(MINT(46).EQ.2.AND.ISTSB.GE.1) THEN
0169 IF(X(2).GT.1D0-1D-7) RETURN
0170 ELSEIF(MINT(46).EQ.3) THEN
0171 X(2)=MIN(1D0-1.1D-10,X(2))
0172 ENDIF
0173 SH=MAX(1D0,TAU*VINT(2))
0174 SQM3=VINT(63)
0175 SQM4=VINT(64)
0176 RM3=SQM3/SH
0177 RM4=SQM4/SH
0178 BE34=SQRT(MAX(0D0,(1D0-RM3-RM4)**2-4D0*RM3*RM4))
0179 RPTS=4D0*VINT(71)**2/SH
0180 BE34L=SQRT(MAX(0D0,(1D0-RM3-RM4)**2-4D0*RM3*RM4-RPTS))
0181 RM34=MAX(1D-20,2D0*RM3*RM4)
0182 RSQM=1D0+RM34
0183 IF(2D0*VINT(71)**2/MAX(1D0,VINT(21)*VINT(2)).LT.0.0001D0)
0184 &RM34=MAX(RM34,2D0*VINT(71)**2/MAX(1D0,VINT(21)*VINT(2)))
0185 RTHM=(4D0*RM3*RM4+RPTS)/(1D0-RM3-RM4+BE34L)
0186 IF(ISTSB.EQ.0) THEN
0187 TH=VINT(45)
0188 UH=-0.5D0*SH*MAX(RTHM,1D0-RM3-RM4+BE34*CTH)
0189 SQPTH=MAX(VINT(71)**2,0.25D0*SH*BE34**2*VINT(59)**2)
0190 ELSE
0191
0192
0193 RM1=0D0
0194 IF(MINT(15).EQ.22.AND.VINT(3).LT.0D0) RM1=-VINT(3)**2/SH
0195 RM2=0D0
0196 IF(MINT(16).EQ.22.AND.VINT(4).LT.0D0) RM2=-VINT(4)**2/SH
0197 IF(ISUB.EQ.35) THEN
0198 RM2=MIN(RM1,RM2)
0199 RM1=0D0
0200 ENDIF
0201 BE12=SQRT(MAX(0D0,(1D0-RM1-RM2)**2-4D0*RM1*RM2))
0202 TUCOM=(1D0-RM1-RM2)*(1D0-RM3-RM4)
0203 TH=-0.5D0*SH*MAX(RTHM,TUCOM-2D0*RM1*RM4-2D0*RM2*RM3-
0204 & BE12*BE34*CTH)
0205 UH=-0.5D0*SH*MAX(RTHM,TUCOM-2D0*RM1*RM3-2D0*RM2*RM4+
0206 & BE12*BE34*CTH)
0207 SQPTH=MAX(VINT(71)**2,0.25D0*SH*BE34**2*(1D0-CTH**2))
0208 ENDIF
0209 SHR=SQRT(SH)
0210 SH2=SH**2
0211 TH2=TH**2
0212 UH2=UH**2
0213
0214
0215 IF(ISTSB.EQ.1.OR.ISTSB.EQ.3.OR.ISTSB.EQ.5) THEN
0216 Q2=SH
0217 ELSEIF(ISTSB.EQ.8) THEN
0218 IF(MINT(107).EQ.4) Q2=VINT(307)
0219 IF(MINT(108).EQ.4) Q2=VINT(308)
0220 ELSEIF(MOD(ISTSB,2).EQ.0.OR.ISTSB.EQ.9) THEN
0221 Q2IN1=0D0
0222 IF(MINT(11).EQ.22.AND.VINT(3).LT.0D0) Q2IN1=VINT(3)**2
0223 Q2IN2=0D0
0224 IF(MINT(12).EQ.22.AND.VINT(4).LT.0D0) Q2IN2=VINT(4)**2
0225 IF(MSTP(32).EQ.1) THEN
0226 Q2=2D0*SH*TH*UH/(SH**2+TH**2+UH**2)
0227 ELSEIF(MSTP(32).EQ.2) THEN
0228 Q2=SQPTH+0.5D0*(SQM3+SQM4)
0229 ELSEIF(MSTP(32).EQ.3) THEN
0230 Q2=MIN(-TH,-UH)
0231 ELSEIF(MSTP(32).EQ.4) THEN
0232 Q2=SH
0233 ELSEIF(MSTP(32).EQ.5) THEN
0234 Q2=-TH
0235 ELSEIF(MSTP(32).EQ.6) THEN
0236 XSF1=X(1)
0237 IF(ISTSB.EQ.9) XSF1=X(1)/VINT(143)
0238 XSF2=X(2)
0239 IF(ISTSB.EQ.9) XSF2=X(2)/VINT(144)
0240 Q2=(1D0+XSF1*Q2IN1/SH+XSF2*Q2IN2/SH)*
0241 & (SQPTH+0.5D0*(SQM3+SQM4))
0242 ELSEIF(MSTP(32).EQ.7) THEN
0243 Q2=(1D0+Q2IN1/SH+Q2IN2/SH)*(SQPTH+0.5D0*(SQM3+SQM4))
0244 ELSEIF(MSTP(32).EQ.8) THEN
0245 Q2=SQPTH+0.5D0*(Q2IN1+Q2IN2+SQM3+SQM4)
0246 ELSEIF(MSTP(32).EQ.9) THEN
0247 Q2=SQPTH+Q2IN1+Q2IN2+SQM3+SQM4
0248 ELSEIF(MSTP(32).EQ.10) THEN
0249 Q2=VINT(2)
0250
0251 ELSEIF(MSTP(32).EQ.11) THEN
0252 Q2=0.25*(SQM3+SQM4+2*SQRT(SQM3*SQM4))
0253 ELSEIF(MSTP(32).EQ.12) THEN
0254 Q2=PARP(193)
0255
0256 ELSEIF(MSTP(32).EQ.13) THEN
0257 Q2=SQPTH
0258 ENDIF
0259 IF(MINT(35).LE.2.AND.ISTSB.EQ.9) Q2=SQPTH
0260 IF(ISTSB.EQ.9.AND.MSTP(82).GE.2) Q2=Q2+
0261 & (PARP(82)*(VINT(1)/PARP(89))**PARP(90))**2
0262 ENDIF
0263
0264
0265 Q2SF=Q2
0266
0267 IF(MSTP(32).EQ.12.AND.(MOD(ISTSB,2).EQ.0.OR.ISTSB.EQ.9)
0268 & .OR.MSTP(39).EQ.8.AND.(ISTSB.GE.3.AND.ISTSB.LE.5))
0269 & Q2=PARP(194)
0270
0271 IF(ISTSB.GE.3.AND.ISTSB.LE.5) THEN
0272 Q2SF=PMAS(23,1)**2
0273 IF(ISUB.EQ.8.OR.ISUB.EQ.76.OR.ISUB.EQ.77.OR.ISUB.EQ.124.OR.
0274 & ISUB.EQ.174.OR.ISUB.EQ.179.OR.ISUB.EQ.351) Q2SF=PMAS(24,1)**2
0275 IF(ISUB.EQ.352) Q2SF=PMAS(PYCOMP(9900024),1)**2
0276 IF(ISUB.EQ.121.OR.ISUB.EQ.122.OR.ISUB.EQ.181.OR.ISUB.EQ.182.OR.
0277 & ISUB.EQ.186.OR.ISUB.EQ.187.OR.ISUB.EQ.401.OR.ISUB.EQ.402) THEN
0278 Q2SF=PMAS(PYCOMP(KFPR(ISUBSV,2)),1)**2
0279 IF(MSTP(39).EQ.2) Q2SF=
0280 & MAX(VINT(201)**2+VINT(202),VINT(206)**2+VINT(207))
0281 IF(MSTP(39).EQ.3) Q2SF=SH
0282 IF(MSTP(39).EQ.4) Q2SF=VINT(26)*VINT(2)
0283 IF(MSTP(39).EQ.5) Q2SF=PMAS(PYCOMP(KFPR(ISUBSV,1)),1)**2
0284
0285 IF(MSTP(39).EQ.6) Q2SF=0.25*(VINT(201)+SQRT(SH))**2
0286 IF(MSTP(39).EQ.7) Q2SF=
0287 & (VINT(201)**2+VINT(202)+VINT(206)**2+VINT(207))/2d0
0288 IF(MSTP(39).EQ.8) Q2SF=PARP(193)
0289
0290 ENDIF
0291 ENDIF
0292 IF(MINT(35).GE.3.AND.ISTSB.EQ.9) Q2SF=SQPTH
0293
0294 Q2PS=Q2SF
0295 Q2SF=Q2SF*PARP(34)
0296 IF(MSTP(69).GE.1.AND.MINT(47).EQ.5) Q2SF=VINT(2)
0297 IF(MSTP(69).GE.2) Q2SF=VINT(2)
0298
0299
0300 ISMECR=0
0301 ISQCD=0
0302 ISJETS=0
0303 IF (ISUBSV.EQ.1.OR.ISUBSV.EQ.2.OR.ISUBSV.EQ.3.OR.
0304 & ISUBSV.EQ.102.OR.ISUBSV.EQ.141.OR.ISUBSV.EQ.142.OR.
0305 & ISUBSV.EQ.144.OR.ISUBSV.EQ.151.OR.ISUBSV.EQ.152.OR.
0306 & ISUBSV.EQ.156.OR.ISUBSV.EQ.157) ISMECR=1
0307 IF (ISUBSV.EQ.11.OR.ISUBSV.EQ.12.OR.ISUBSV.EQ.13.OR.
0308 & ISUBSV.EQ.28.OR.ISUBSV.EQ.53.OR.ISUBSV.EQ.68) ISQCD=1
0309 IF ((ISUBSV.EQ.81.OR.ISUBSV.EQ.82).AND.MINT(55).LE.5) ISQCD=1
0310 IF (ISUBSV.GE.381.AND.ISUBSV.LE.386) ISQCD=1
0311 IF ((ISUBSV.EQ.387.OR.ISUBSV.EQ.388).AND.MINT(55).LE.5) ISQCD=1
0312 IF (ISTSB.EQ.9) ISQCD=1
0313 IF ((ISUBSV.GE.86.AND.ISUBSV.LE.89).OR.ISUBSV.EQ.107.OR.
0314 & (ISUBSV.GE.14.AND.ISUBSV.LE.16).OR.(ISUBSV.GE.29.AND.
0315 & ISUBSV.LE.32).OR.(ISUBSV.GE.111.AND.ISUBSV.LE.113).OR.
0316 & ISUBSV.EQ.115.OR.(ISUBSV.GE.183.AND.ISUBSV.LE.185).OR.
0317 & (ISUBSV.GE.188.AND.ISUBSV.LE.190).OR.ISUBSV.EQ.161.OR.
0318 & ISUBSV.EQ.167.OR.ISUBSV.EQ.168.OR.(ISUBSV.GE.393.AND.
0319 & ISUBSV.LE.395).OR.(ISUBSV.GE.421.AND.ISUBSV.LE.439).OR.
0320 & (ISUBSV.GE.461.AND.ISUBSV.LE.479)) ISJETS=1
0321
0322 IF (ISUBSV.EQ.5.OR.ISUBSV.EQ.8.OR.
0323 & (ISUBSV.GE.71.AND.ISUBSV.LE.73).OR.
0324 & ISUBSV.EQ.76.OR.ISUBSV.EQ.77.OR.
0325 & (ISUBSV.GE.121.AND.ISUBSV.LE.124).OR.
0326 & ISUBSV.EQ.173.OR.ISUBSV.EQ.174.OR.
0327 & ISUBSV.EQ.178.OR.ISUBSV.EQ.179.OR.
0328 & ISUBSV.EQ.181.OR.ISUBSV.EQ.182.OR.
0329 & ISUBSV.EQ.186.OR.ISUBSV.EQ.187.OR.
0330 & ISUBSV.EQ.351.OR.ISUBSV.EQ.352) ISJETS=2
0331
0332 IF (ISUBSV.EQ.10.OR.(ISUBSV.GE.18.AND.ISUBSV.LE.20).OR.
0333 & (ISUBSV.GE.33.AND.ISUBSV.LE.36).OR.ISUBSV.EQ.54.OR.
0334 & ISUBSV.EQ.58.OR.ISUBSV.EQ.69.OR.ISUBSV.EQ.70.OR.
0335 & ISUBSV.EQ.80.OR.(ISUBSV.GE.83.AND.ISUBSV.LE.85).OR.
0336 & (ISUBSV.GE.106.AND.ISUBSV.LE.110).OR.ISUBSV.EQ.114.OR.
0337 & (ISUBSV.GE.131.AND.ISUBSV.LE.140)) ISJETS=3
0338
0339
0340 IF(MSTP(22).GE.1.AND.(ISUB.EQ.10.OR.ISUB.EQ.83).AND.
0341 &(MINT(43).EQ.2.OR.MINT(43).EQ.3)) THEN
0342 XBJ=X(2)
0343 IF(MINT(43).EQ.3) XBJ=X(1)
0344 IF(MSTP(22).EQ.1) THEN
0345 Q2PS=-TH
0346 ELSEIF(MSTP(22).EQ.2) THEN
0347 Q2PS=((1D0-XBJ)/XBJ)*(-TH)
0348 ELSEIF(MSTP(22).EQ.3) THEN
0349 Q2PS=SQRT((1D0-XBJ)/XBJ)*(-TH)
0350 ELSE
0351 Q2PS=(1D0-XBJ)*MAX(1D0,-LOG(XBJ))*(-TH)
0352 ENDIF
0353 ENDIF
0354
0355
0356 IF (ISJETS.EQ.1.OR.ISQCD.EQ.1.AND.ISTSB.NE.9) Q2PS=SQPTH
0357 IF((MSTP(68).EQ.1.OR.MSTP(68).EQ.3).AND.ISMECR.EQ.1) THEN
0358
0359
0360 Q2PS=VINT(2)
0361 IF (MINT(35).GE.3) Q2PS=Q2PS*0.25D0
0362 ELSEIF(MSTP(68).GE.2.AND.ISQCD.EQ.0.AND.ISJETS.EQ.0) THEN
0363
0364
0365 Q2PS=VINT(2)
0366 IF (MINT(35).GE.3) Q2PS=Q2PS*0.25D0
0367 ENDIF
0368 IF(MINT(35).EQ.2.AND.ISTSB.EQ.9) Q2PS=SQPTH
0369
0370
0371 IF(ISUBSV.GE.91.AND.ISUBSV.LE.94) THEN
0372 Q2SF=0D0
0373 Q2PS=0D0
0374 ENDIF
0375
0376
0377 VINT(41)=X(1)
0378 VINT(42)=X(2)
0379 VINT(44)=SH
0380 VINT(43)=SQRT(SH)
0381 VINT(45)=TH
0382 VINT(46)=UH
0383 IF(ISTSB.NE.8) VINT(48)=SQPTH
0384 IF(ISTSB.NE.8) VINT(47)=SQRT(SQPTH)
0385 VINT(50)=TAUP*VINT(2)
0386 VINT(49)=SQRT(MAX(0D0,VINT(50)))
0387 VINT(52)=Q2
0388 VINT(51)=SQRT(Q2)
0389 VINT(54)=Q2SF
0390 VINT(53)=SQRT(Q2SF)
0391 VINT(56)=Q2PS
0392 VINT(55)=SQRT(Q2PS)
0393
0394
0395 IF (ISUBSV.EQ.95) THEN
0396 XT2GMX=0D0
0397 ELSEIF(MSTP(86).EQ.3.OR.(MSTP(86).EQ.2.AND.ISUBSV.NE.11.AND.
0398 & ISUBSV.NE.12.AND.ISUBSV.NE.13.AND.ISUBSV.NE.28.AND.
0399 & ISUBSV.NE.53.AND.ISUBSV.NE.68.AND.ISUBSV.NE.95.AND.
0400 & ISUBSV.NE.96)) THEN
0401
0402 XT2GMX=(1D0-VINT(41))*(1D0-VINT(42))
0403 ELSE
0404
0405
0406
0407
0408 XT2GMX=VINT(25)
0409 IF(ISTSB.EQ.1) XT2GMX=VINT(21)
0410 IF(ISTSB.EQ.2)
0411 & XT2GMX=(4D0*VINT(48)+2D0*VINT(63)+2D0*VINT(64))/VINT(2)
0412 IF(ISTSB.GE.3.AND.ISTSB.LE.5) XT2GMX=VINT(26)
0413 ENDIF
0414 VINT(62)=0.25D0*XT2GMX*VINT(2)
0415 VINT(61)=SQRT(MAX(0D0,VINT(62)))
0416
0417
0418 IF(ISTSB.LE.0) GOTO 160
0419 IF(MINT(47).GE.2) THEN
0420 DO 110 I=3-MIN(2,MINT(45)),MIN(2,MINT(46))
0421 XSF=X(I)
0422 IF(ISTSB.EQ.9) XSF=X(I)/VINT(142+I)
0423 IF(ISUB.EQ.99) THEN
0424 IF(MINT(140+I).EQ.0) THEN
0425 XSF=VINT(309-I)/(VINT(2)+VINT(309-I)-VINT(I+2)**2)
0426 ELSE
0427 XSF=VINT(309-I)/(VINT(2)+VINT(307)+VINT(308))
0428 ENDIF
0429 VINT(40+I)=XSF
0430 Q2SF=VINT(309-I)
0431 ENDIF
0432 MINT(105)=MINT(102+I)
0433 MINT(109)=MINT(106+I)
0434 VINT(120)=VINT(2+I)
0435 IF(MSTP(57).LE.1) THEN
0436 CALL PYPDFU(MINT(10+I),XSF,Q2SF,XPQ)
0437 ELSE
0438 CALL PYPDFL(MINT(10+I),XSF,Q2SF,XPQ)
0439 ENDIF
0440
0441
0442 IF(Q2SF.LT.1.1*PMAS(4,1)**2) THEN
0443 XPQ(4)=0D0
0444 XPQ(-4)=0D0
0445 ENDIF
0446 IF(Q2SF.LT.1.1*PMAS(5,1)**2) THEN
0447 XPQ(5)=0D0
0448 XPQ(-5)=0D0
0449 ENDIF
0450 DO 100 KFL=-25,25
0451 XSFX(I,KFL)=XPQ(KFL)
0452 100 CONTINUE
0453 110 CONTINUE
0454 ENDIF
0455
0456
0457 XW=PARU(102)
0458 XWV=XW
0459 IF(MSTP(8).GE.2.OR.(ISUB.GE.71.AND.ISUB.LE.77)) XW=
0460 &1D0-(PMAS(24,1)/PMAS(23,1))**2
0461 XW1=1D0-XW
0462 XWC=1D0/(16D0*XW*XW1)
0463 AEM=PYALEM(Q2)
0464 IF(MSTP(8).GE.1) AEM=SQRT(2D0)*PARU(105)*PMAS(24,1)**2*XW/PARU(1)
0465 IF(MSTP(33).NE.3) AS=PYALPS(PARP(34)*Q2)
0466 FACK=1D0
0467 FACA=1D0
0468 IF(MSTP(33).EQ.1) THEN
0469 FACK=PARP(31)
0470 ELSEIF(MSTP(33).EQ.2) THEN
0471 FACK=PARP(31)
0472 FACA=PARP(32)/PARP(31)
0473 ELSEIF(MSTP(33).EQ.3) THEN
0474 Q2AS=PARP(33)*Q2
0475 IF(ISTSB.EQ.9.AND.MSTP(82).GE.2) Q2AS=Q2AS+
0476 & PARU(112)*PARP(82)*(VINT(1)/PARP(89))**PARP(90)
0477 AS=PYALPS(Q2AS)
0478 ENDIF
0479 VINT(138)=1D0
0480 VINT(57)=AEM
0481 VINT(58)=AS
0482
0483
0484 DO 140 I=1,2
0485 DO 120 J=-25,25
0486 KFAC(I,J)=0
0487 120 CONTINUE
0488 IF(MINT(44+I).EQ.1) THEN
0489 KFAC(I,MINT(10+I))=1
0490 ELSEIF(MINT(40+I).EQ.1.AND.MSTP(12).EQ.0) THEN
0491 KFAC(I,MINT(10+I))=1
0492 KFAC(I,22)=1
0493 KFAC(I,24)=1
0494 KFAC(I,-24)=1
0495 ELSE
0496 DO 130 J=-25,25
0497 KFAC(I,J)=KFIN(I,J)
0498 IF(IABS(J).GT.MSTP(58).AND.IABS(J).LE.10) KFAC(I,J)=0
0499 IF(XSFX(I,J).LT.1D-10) KFAC(I,J)=0
0500 130 CONTINUE
0501 ENDIF
0502 140 CONTINUE
0503
0504
0505 MMIN1=0
0506 MMAX1=0
0507 MMIN2=0
0508 MMAX2=0
0509 DO 150 J=-20,20
0510 IF(KFAC(1,-J).EQ.1) MMIN1=-J
0511 IF(KFAC(1,J).EQ.1) MMAX1=J
0512 IF(KFAC(2,-J).EQ.1) MMIN2=-J
0513 IF(KFAC(2,J).EQ.1) MMAX2=J
0514 150 CONTINUE
0515 MMINA=MIN(MMIN1,MMIN2)
0516 MMAXA=MAX(MMAX1,MMAX2)
0517
0518
0519 SQMZ=PMAS(23,1)**2
0520 SQMW=PMAS(24,1)**2
0521 GMMZ=PMAS(23,1)*PMAS(23,2)
0522 GMMW=PMAS(24,1)*PMAS(24,2)
0523
0524
0525 POLR=(1D0+PARJ(132))*(1D0-PARJ(131))
0526 POLL=(1D0-PARJ(132))*(1D0+PARJ(131))
0527 POLRR=(1D0+PARJ(132))*(1D0+PARJ(131))
0528 POLLL=(1D0-PARJ(132))*(1D0-PARJ(131))
0529
0530
0531 COMFAC=PARU(1)*PARU(5)/VINT(2)
0532 IF(MINT(41).EQ.2.AND.MINT(42).EQ.2) COMFAC=COMFAC*FACK
0533 IF((MINT(47).GE.2.OR.(ISTSB.GE.3.AND.ISTSB.LE.5)).AND.
0534 &ISTSB.NE.8.AND.ISTSB.NE.9) THEN
0535 ATAU1=LOG(TAUMAX/TAUMIN)
0536 ATAU2=(TAUMAX-TAUMIN)/(TAUMAX*TAUMIN)
0537 H1=COEF(ISUBSV,1)+(ATAU1/ATAU2)*COEF(ISUBSV,2)/TAU
0538 IF(MINT(72).GE.1) THEN
0539 TAUR1=VINT(73)
0540 GAMR1=VINT(74)
0541 ATAUD=LOG(TAUMAX/TAUMIN*(TAUMIN+TAUR1)/(TAUMAX+TAUR1))
0542 ATAU3=ATAUD/TAUR1
0543 IF(ATAUD.GT.1D-10) H1=H1+
0544 & (ATAU1/ATAU3)*COEF(ISUBSV,3)/(TAU+TAUR1)
0545 ATAUD=ATAN((TAUMAX-TAUR1)/GAMR1)-ATAN((TAUMIN-TAUR1)/GAMR1)
0546 ATAU4=ATAUD/GAMR1
0547 IF(ATAUD.GT.1D-10) H1=H1+
0548 & (ATAU1/ATAU4)*COEF(ISUBSV,4)*TAU/((TAU-TAUR1)**2+GAMR1**2)
0549 ENDIF
0550 IF(MINT(72).GE.2) THEN
0551 TAUR2=VINT(75)
0552 GAMR2=VINT(76)
0553 ATAUD=LOG(TAUMAX/TAUMIN*(TAUMIN+TAUR2)/(TAUMAX+TAUR2))
0554 ATAU5=ATAUD/TAUR2
0555 IF(ATAUD.GT.1D-10) H1=H1+
0556 & (ATAU1/ATAU5)*COEF(ISUBSV,5)/(TAU+TAUR2)
0557 ATAUD=ATAN((TAUMAX-TAUR2)/GAMR2)-ATAN((TAUMIN-TAUR2)/GAMR2)
0558 ATAU6=ATAUD/GAMR2
0559 IF(ATAUD.GT.1D-10) H1=H1+
0560 & (ATAU1/ATAU6)*COEF(ISUBSV,6)*TAU/((TAU-TAUR2)**2+GAMR2**2)
0561 ENDIF
0562 IF(MINT(72).EQ.3) THEN
0563 TAUR3=VINT(77)
0564 GAMR3=VINT(78)
0565 ATAUD=LOG(TAUMAX/TAUMIN*(TAUMIN+TAUR3)/(TAUMAX+TAUR3))
0566 ATAU50=ATAUD/TAUR3
0567 IF(ATAUD.GT.1D-10) H1=H1+
0568 & (ATAU1/ATAU50)*COEFX(ISUBSV,1)/(TAU+TAUR3)
0569 ATAUD=ATAN((TAUMAX-TAUR3)/GAMR3)-ATAN((TAUMIN-TAUR3)/GAMR3)
0570 ATAU60=ATAUD/GAMR3
0571 IF(ATAUD.GT.1D-10) H1=H1+
0572 & (ATAU1/ATAU60)*COEFX(ISUBSV,2)*TAU/((TAU-TAUR3)**2+GAMR3**2)
0573 ENDIF
0574 IF(MINT(47).EQ.5.AND.(ISTSB.LE.2.OR.ISTSB.GE.5)) THEN
0575 ATAU7=LOG(MAX(2D-10,1D0-TAUMIN)/MAX(2D-10,1D0-TAUMAX))
0576 IF(ATAU7.GT.1D-10) H1=H1+(ATAU1/ATAU7)*COEF(ISUBSV,7)*TAU/
0577 & MAX(2D-10,1D0-TAU)
0578 ELSEIF(MINT(47).GE.6.AND.(ISTSB.LE.2.OR.ISTSB.GE.5)) THEN
0579 ATAU7=LOG(MAX(1D-10,1D0-TAUMIN)/MAX(1D-10,1D0-TAUMAX))
0580 IF(ATAU7.GT.1D-10) H1=H1+(ATAU1/ATAU7)*COEF(ISUBSV,7)*TAU/
0581 & MAX(1D-10,1D0-TAU)
0582 ENDIF
0583 COMFAC=COMFAC*ATAU1/(TAU*H1)
0584 ENDIF
0585
0586
0587 IF((MINT(47).EQ.4.OR.MINT(47).EQ.5).AND.ISTSB.NE.8.AND.ISTSB.NE.9)
0588 &THEN
0589 AYST0=YSTMAX-YSTMIN
0590 IF(AYST0.LT.1D-10) THEN
0591 COMFAC=0D0
0592 ELSE
0593 AYST1=0.5D0*(YSTMAX-YSTMIN)**2
0594 AYST2=AYST1
0595 AYST3=2D0*(ATAN(EXP(YSTMAX))-ATAN(EXP(YSTMIN)))
0596 H2=(AYST0/AYST1)*COEF(ISUBSV,8)*(YST-YSTMIN)+
0597 & (AYST0/AYST2)*COEF(ISUBSV,9)*(YSTMAX-YST)+
0598 & (AYST0/AYST3)*COEF(ISUBSV,10)/COSH(YST)
0599 IF(MINT(45).EQ.3) THEN
0600 YST0=-0.5D0*LOG(TAUE)
0601 AYST4=LOG(MAX(1D-10,EXP(YST0-YSTMIN)-1D0)/
0602 & MAX(1D-10,EXP(YST0-YSTMAX)-1D0))
0603 IF(AYST4.GT.1D-10) H2=H2+(AYST0/AYST4)*COEF(ISUBSV,11)/
0604 & MAX(1D-10,1D0-EXP(YST-YST0))
0605 ENDIF
0606 IF(MINT(46).EQ.3) THEN
0607 YST0=-0.5D0*LOG(TAUE)
0608 AYST5=LOG(MAX(1D-10,EXP(YST0+YSTMAX)-1D0)/
0609 & MAX(1D-10,EXP(YST0+YSTMIN)-1D0))
0610 IF(AYST5.GT.1D-10) H2=H2+(AYST0/AYST5)*COEF(ISUBSV,12)/
0611 & MAX(1D-10,1D0-EXP(-YST-YST0))
0612 ENDIF
0613 COMFAC=COMFAC*AYST0/H2
0614 ENDIF
0615 ENDIF
0616
0617
0618
0619 ACTH0=CTNMAX-CTNMIN+CTPMAX-CTPMIN
0620 IF((ISTSB.EQ.1.OR.ISTSB.EQ.3.OR.ISTSB.EQ.5)) THEN
0621 IF(MDCY(PYCOMP(KFPR(ISUBSV,1)),1).EQ.1) THEN
0622 IF(KFPR(ISUB,1).EQ.25.OR.KFPR(ISUB,1).EQ.37.OR.
0623 & KFPR(ISUB,1).EQ.39) THEN
0624 COMFAC=COMFAC*0.5D0*ACTH0
0625 ELSE
0626 COMFAC=COMFAC*0.125D0*(3D0*ACTH0+CTNMAX**3-CTNMIN**3+
0627 & CTPMAX**3-CTPMIN**3)
0628 ENDIF
0629 ENDIF
0630
0631
0632 ELSEIF(ISTSB.EQ.2.OR.ISTSB.EQ.4) THEN
0633 ACTH1=LOG((MAX(RM34,RSQM-CTNMIN)*MAX(RM34,RSQM-CTPMIN))/
0634 & (MAX(RM34,RSQM-CTNMAX)*MAX(RM34,RSQM-CTPMAX)))
0635 ACTH2=LOG((MAX(RM34,RSQM+CTNMAX)*MAX(RM34,RSQM+CTPMAX))/
0636 & (MAX(RM34,RSQM+CTNMIN)*MAX(RM34,RSQM+CTPMIN)))
0637 ACTH3=1D0/MAX(RM34,RSQM-CTNMAX)-1D0/MAX(RM34,RSQM-CTNMIN)+
0638 & 1D0/MAX(RM34,RSQM-CTPMAX)-1D0/MAX(RM34,RSQM-CTPMIN)
0639 ACTH4=1D0/MAX(RM34,RSQM+CTNMIN)-1D0/MAX(RM34,RSQM+CTNMAX)+
0640 & 1D0/MAX(RM34,RSQM+CTPMIN)-1D0/MAX(RM34,RSQM+CTPMAX)
0641 H3=COEF(ISUBSV,13)+
0642 & (ACTH0/ACTH1)*COEF(ISUBSV,14)/MAX(RM34,RSQM-CTH)+
0643 & (ACTH0/ACTH2)*COEF(ISUBSV,15)/MAX(RM34,RSQM+CTH)+
0644 & (ACTH0/ACTH3)*COEF(ISUBSV,16)/MAX(RM34,RSQM-CTH)**2+
0645 & (ACTH0/ACTH4)*COEF(ISUBSV,17)/MAX(RM34,RSQM+CTH)**2
0646 COMFAC=COMFAC*ACTH0*0.5D0*BE34/H3
0647
0648
0649 COMFAC=COMFAC*VINT(80)
0650 ENDIF
0651
0652
0653 IF(MINT(47).GE.2.AND.ISTSB.GE.3.AND.ISTSB.LE.5) THEN
0654 ATAUP1=LOG(TAUPMX/TAUPMN)
0655 ATAUP2=((1D0-TAU/TAUPMX)**4-(1D0-TAU/TAUPMN)**4)/(4D0*TAU)
0656 H4=COEF(ISUBSV,18)+
0657 & (ATAUP1/ATAUP2)*COEF(ISUBSV,19)*(1D0-TAU/TAUP)**3/TAUP
0658 IF(MINT(47).EQ.5) THEN
0659 ATAUP3=LOG(MAX(2D-10,1D0-TAUPMN)/MAX(2D-10,1D0-TAUPMX))
0660 H4=H4+(ATAUP1/ATAUP3)*COEF(ISUBSV,20)*TAUP/MAX(2D-10,1D0-TAUP)
0661 ELSEIF(MINT(47).GE.6) THEN
0662 ATAUP3=LOG(MAX(1D-10,1D0-TAUPMN)/MAX(1D-10,1D0-TAUPMX))
0663 H4=H4+(ATAUP1/ATAUP3)*COEF(ISUBSV,20)*TAUP/MAX(1D-10,1D0-TAUP)
0664 ENDIF
0665 COMFAC=COMFAC*ATAUP1/H4
0666 ENDIF
0667
0668
0669 IF(ISTSB.EQ.3.OR.ISTSB.EQ.4) THEN
0670 IF(1D0-TAU/TAUP.GT.1D-4) THEN
0671 FZW=(1D0+TAU/TAUP)*LOG(TAUP/TAU)-2D0*(1D0-TAU/TAUP)
0672 ELSE
0673 FZW=1D0/6D0*(1D0-TAU/TAUP)**3*TAU/TAUP
0674 ENDIF
0675 COMFAC=COMFAC*FZW
0676 ENDIF
0677
0678
0679 IF(ISTSB.EQ.5) THEN
0680 COMFAC=COMFAC*VINT(205)*VINT(210)*VINT(212)*VINT(214)/
0681 & (128D0*PARU(1)**4*VINT(220))*(TAU**2/TAUP)
0682 ENDIF
0683
0684
0685 IF(ISTSB.EQ.9) THEN
0686 COMFAC=PARU(1)*PARU(5)*FACK*0.5D0*VINT(2)/SH2
0687 ATAU1=LOG(2D0*(1D0+SQRT(1D0-XT2))/XT2-1D0)
0688 ATAU2=2D0*ATAN(1D0/XT2-1D0)/SQRT(XT2)
0689 H1=COEF(ISUBSV,1)+(ATAU1/ATAU2)*COEF(ISUBSV,2)/SQRT(TAU)
0690 COMFAC=COMFAC*ATAU1/H1
0691 AYST0=YSTMAX-YSTMIN
0692 AYST1=0.5D0*(YSTMAX-YSTMIN)**2
0693 AYST3=2D0*(ATAN(EXP(YSTMAX))-ATAN(EXP(YSTMIN)))
0694 H2=(AYST0/AYST1)*COEF(ISUBSV,8)*(YST-YSTMIN)+
0695 & (AYST0/AYST1)*COEF(ISUBSV,9)*(YSTMAX-YST)+
0696 & (AYST0/AYST3)*COEF(ISUBSV,10)/COSH(YST)
0697 COMFAC=COMFAC*AYST0/H2
0698 IF(MSTP(82).LE.1) COMFAC=COMFAC*XT2**2*(1D0/VINT(149)-1D0)
0699
0700
0701 IF(MSTP(82).GE.2) COMFAC=COMFAC*XT2**2/(VINT(149)*
0702 & (1D0+VINT(149)))
0703 ENDIF
0704
0705
0706 160 IF(MINT(11).EQ.22.AND.MINT(12).EQ.22.AND.MINT(123).GE.4.AND.
0707 &MSTP(14).LE.10) COMFAC=2D0*COMFAC
0708
0709
0710
0711 DO 170 ISDE=1,2
0712 IF(MINT(10+ISDE).EQ.22.AND.MINT(106+ISDE).GE.1.AND.
0713 & MINT(106+ISDE).LE.3) THEN
0714 VINT(314+ISDE)=1D0
0715 XY=PARP(166+ISDE)
0716 IF(MSTP(16).EQ.0) THEN
0717 IF(VINT(304+ISDE).GT.0D0.AND.VINT(304+ISDE).LT.1D0)
0718 & XY=VINT(304+ISDE)
0719 ELSE
0720 IF(VINT(308+ISDE).GT.0D0.AND.VINT(308+ISDE).LT.1D0)
0721 & XY=VINT(308+ISDE)
0722 ENDIF
0723 Q2GA=VINT(306+ISDE)
0724 IF(MSTP(17).GT.0.AND.XY.GT.0D0.AND.XY.LT.1D0.AND.
0725 & Q2GA.GT.0D0) THEN
0726 REDUCE=0D0
0727 IF(MSTP(17).EQ.1) THEN
0728 REDUCE=4D0*Q2*Q2GA/(Q2+Q2GA)**2
0729 ELSEIF(MSTP(17).EQ.2) THEN
0730 REDUCE=4D0*Q2GA/(Q2+Q2GA)
0731 ELSEIF(MSTP(17).EQ.3) THEN
0732 PMVIRT=PMAS(PYCOMP(113),1)
0733 REDUCE=4D0*Q2GA/(PMVIRT**2+Q2GA)
0734 ELSEIF(MSTP(17).EQ.4.AND.MINT(106+ISDE).EQ.1) THEN
0735 PMVIRT=PMAS(PYCOMP(113),1)
0736 REDUCE=4D0*PMVIRT**2*Q2GA/(PMVIRT**2+Q2GA)**2
0737 ELSEIF(MSTP(17).EQ.4.AND.MINT(106+ISDE).EQ.2) THEN
0738 PMVIRT=PMAS(PYCOMP(113),1)
0739 REDUCE=4D0*PMVIRT**2*Q2GA/(PMVIRT**2+Q2GA)**2
0740 ELSEIF(MSTP(17).EQ.4.AND.MINT(106+ISDE).EQ.3) THEN
0741 PMVSMN=4D0*PARP(15)**2
0742 PMVSMX=4D0*VINT(154)**2
0743 REDTRA=1D0/(PMVSMN+Q2GA)-1D0/(PMVSMX+Q2GA)
0744 REDLON=(3D0*PMVSMN+Q2GA)/(PMVSMN+Q2GA)**3-
0745 & (3D0*PMVSMX+Q2GA)/(PMVSMX+Q2GA)**3
0746 REDUCE=4D0*(Q2GA/6D0)*REDLON/REDTRA
0747 ELSEIF(MSTP(17).EQ.5.AND.MINT(106+ISDE).EQ.1) THEN
0748 PMVIRT=PMAS(PYCOMP(113),1)
0749 REDUCE=4D0*Q2GA/(PMVIRT**2+Q2GA)
0750 ELSEIF(MSTP(17).EQ.5.AND.MINT(106+ISDE).EQ.2) THEN
0751 PMVIRT=PMAS(PYCOMP(113),1)
0752 REDUCE=4D0*Q2GA/(PMVIRT**2+Q2GA)
0753 ELSEIF(MSTP(17).EQ.5.AND.MINT(106+ISDE).EQ.3) THEN
0754 PMVSMN=4D0*PARP(15)**2
0755 PMVSMX=4D0*VINT(154)**2
0756 REDTRA=1D0/(PMVSMN+Q2GA)-1D0/(PMVSMX+Q2GA)
0757 REDLON=1D0/(PMVSMN+Q2GA)**2-1D0/(PMVSMX+Q2GA)**2
0758 REDUCE=4D0*(Q2GA/2D0)*REDLON/REDTRA
0759 ENDIF
0760 BEAMAS=PYMASS(11)
0761 IF(VINT(302+ISDE).GT.0D0) BEAMAS=VINT(302+ISDE)
0762 FRACLT=1D0/(1D0+XY**2/2D0/(1D0-XY)*
0763 & (1D0-2D0*BEAMAS**2/Q2GA))
0764 VINT(314+ISDE)=1D0+PARP(165)*REDUCE*FRACLT
0765 ENDIF
0766 ELSE
0767 VINT(314+ISDE)=1D0
0768 ENDIF
0769 COMFAC=COMFAC*VINT(314+ISDE)
0770 170 CONTINUE
0771
0772
0773
0774 IF(MAP.EQ.1) THEN
0775
0776 CALL PYSGQC(NCHN,SIGS)
0777 ELSEIF(MAP.EQ.2) THEN
0778
0779 CALL PYSGHF(NCHN,SIGS)
0780 ELSEIF(MAP.EQ.3) THEN
0781
0782 CALL PYSGWZ(NCHN,SIGS)
0783 ELSEIF(MAP.EQ.4) THEN
0784
0785 CALL PYSGHG(NCHN,SIGS)
0786 ELSEIF(MAP.EQ.5) THEN
0787
0788 CALL PYSGSU(NCHN,SIGS)
0789 ELSEIF(MAP.EQ.6) THEN
0790
0791 CALL PYSGTC(NCHN,SIGS)
0792 ELSEIF(MAP.EQ.7) THEN
0793
0794 CALL PYSGEX(NCHN,SIGS)
0795 ELSEIF(MAP.EQ.8) THEN
0796
0797 CALL PYXUED(NCHN,SIGS)
0798
0799
0800
0801
0802
0803
0804
0805
0806
0807
0808
0809
0810
0811
0812 ELSEIF(ISUB.GE.403.OR.ISUB.LE.408) THEN
0813
0814 IF((MSUB(403).NE.0.OR.MSUB(404).NE.0.OR.MSUB(405).NE.0)
0815 & .AND.(MSUB(406).NE.0.OR.MSUB(407).NE.0.OR.MSUB(408).NE.0))
0816 & THEN
0817 WRITE(*,*)
0818 WRITE(*,*) 'ERROR: BOTH MUELLER-TANG AND BFKL SWITCHED ON!'
0819 WRITE(*,*) ' STOPPING EXECUTION...'
0820 WRITE(*,*)
0821 STOP
0822 ENDIF
0823
0824 IF(ISUB.EQ.403) THEN
0825
0826 RAPID=DLOG(ABS(SH/TH))
0827 FACFF=COMFAC*(0.25D0/PARU(1))*((AS*4D0/3D0)**4)/TH2
0828 FACFF=FACFF*(0.86643D0*RAPID**2-5.71049D0*RAPID+15.85634D0)
0829
0830 FACFF=FACFF*SH2/PARU(1)
0831 DO 401 I=MMIN1,MMAX1
0832 IA=IABS(I)
0833 IF(I.EQ.0.OR.IA.GT.MSTP(58).OR.KFAC(1,I).EQ.0) GOTO 401
0834 DO 411 J=MMIN2,MMAX2
0835 JA=IABS(J)
0836 IF(J.EQ.0.OR.JA.GT.MSTP(58).OR.KFAC(2,J).EQ.0) GOTO 411
0837 NCHN=NCHN+1
0838 ISIG(NCHN,1)=I
0839 ISIG(NCHN,2)=J
0840 ISIG(NCHN,3)=1
0841 SIGH(NCHN)=FACFF
0842 IF(I.EQ.J) SIGH(NCHN)=SIGH(NCHN)*0.5D0
0843 411 CONTINUE
0844 401 CONTINUE
0845
0846
0847 ELSEIF(ISUB.EQ.404) THEN
0848
0849 RAPID=DLOG(ABS(SH/TH))
0850 FACFG=COMFAC*(0.25D0/PARU(1))*((AS*4D0/3D0)**4)/TH2
0851 FACFG=FACFG*(0.86643D0*RAPID**2-5.71049D0*RAPID+15.85634D0)
0852 FACFG=FACFG*81D0/16D0
0853 FACFG=FACFG*SH2/PARU(1)
0854 DO 421 I=MMINA,MMAXA
0855 IF(I.EQ.0.OR.IABS(I).GT.10) GOTO 421
0856 DO 431 ISDE=1,2
0857 IF(ISDE.EQ.1.AND.KFAC(1,I)*KFAC(2,21).EQ.0) GOTO 431
0858 IF(ISDE.EQ.2.AND.KFAC(1,21)*KFAC(2,I).EQ.0) GOTO 431
0859 NCHN=NCHN+1
0860 ISIG(NCHN,ISDE)=I
0861 ISIG(NCHN,3-ISDE)=21
0862 ISIG(NCHN,3)=1
0863 SIGH(NCHN)=FACFG
0864 431 CONTINUE
0865 421 CONTINUE
0866
0867 ELSEIF(ISUB.EQ.405) THEN
0868
0869 RAPID=DLOG(ABS(SH/TH))
0870 FACGG=COMFAC*(0.25D0/PARU(1))*((AS*4D0/3D0)**4)/TH2
0871 FACGG=FACGG*(0.86643D0*RAPID**2-5.71049D0*RAPID+15.85634D0)
0872 FACGG=FACGG*(81D0/16D0)**2
0873 FACGG=FACGG*SH2/PARU(1)
0874 IF(KFAC(1,21)*KFAC(2,21).NE.0) THEN
0875 NCHN=NCHN+1
0876 ISIG(NCHN,1)=21
0877 ISIG(NCHN,2)=21
0878 ISIG(NCHN,3)=1
0879 SIGH(NCHN)=0.5D0*FACGG
0880 ENDIF
0881
0882 ELSEIF(ISUB.EQ.406) THEN
0883
0884 RAPID=DLOG(ABS(SH/TH))
0885 FACFF=COMFAC*HCS_XS(RAPID,SQRT(-TH))
0886 FACFF=FACFF*SH2/PARU(1)
0887 DO 501 I=MMIN1,MMAX1
0888 IA=IABS(I)
0889 IF(I.EQ.0.OR.IA.GT.MSTP(58).OR.KFAC(1,I).EQ.0) GOTO 501
0890 DO 511 J=MMIN2,MMAX2
0891 JA=IABS(J)
0892 IF(J.EQ.0.OR.JA.GT.MSTP(58).OR.KFAC(2,J).EQ.0) GOTO 511
0893 NCHN=NCHN+1
0894 ISIG(NCHN,1)=I
0895 ISIG(NCHN,2)=J
0896 ISIG(NCHN,3)=1
0897 SIGH(NCHN)=FACFF
0898 IF(I.EQ.J) SIGH(NCHN)=SIGH(NCHN)*0.5D0
0899 511 CONTINUE
0900 501 CONTINUE
0901
0902
0903 ELSEIF(ISUB.EQ.407) THEN
0904
0905 RAPID=DLOG(ABS(SH/TH))
0906 FACFG=COMFAC*HCS_XS(RAPID,SQRT(-TH))
0907 FACFG=FACFG*81D0/16D0
0908 FACFG=FACFG*SH2/PARU(1)
0909 DO 521 I=MMINA,MMAXA
0910 IF(I.EQ.0.OR.IABS(I).GT.10) GOTO 521
0911 DO 531 ISDE=1,2
0912 IF(ISDE.EQ.1.AND.KFAC(1,I)*KFAC(2,21).EQ.0) GOTO 531
0913 IF(ISDE.EQ.2.AND.KFAC(1,21)*KFAC(2,I).EQ.0) GOTO 531
0914 NCHN=NCHN+1
0915 ISIG(NCHN,ISDE)=I
0916 ISIG(NCHN,3-ISDE)=21
0917 ISIG(NCHN,3)=1
0918 SIGH(NCHN)=FACFG
0919 531 CONTINUE
0920 521 CONTINUE
0921
0922 ELSEIF(ISUB.EQ.408) THEN
0923
0924 RAPID=DLOG(ABS(SH/TH))
0925 FACGG=COMFAC*HCS_XS(RAPID,SQRT(-TH))
0926 FACGG=FACGG*(81D0/16D0)**2
0927 FACGG=FACGG*SH2/PARU(1)
0928 IF(KFAC(1,21)*KFAC(2,21).NE.0) THEN
0929 NCHN=NCHN+1
0930 ISIG(NCHN,1)=21
0931 ISIG(NCHN,2)=21
0932 ISIG(NCHN,3)=1
0933 SIGH(NCHN)=0.5D0*FACGG
0934 ENDIF
0935 ENDIF
0936
0937
0938
0939
0940
0941
0942 ENDIF
0943
0944
0945 IF(ISUB.LE.90.OR.ISUB.GE.96) THEN
0946 DO 180 ICHN=1,NCHN
0947 IF(MINT(45).GE.2) THEN
0948 KFL1=ISIG(ICHN,1)
0949 SIGH(ICHN)=SIGH(ICHN)*XSFX(1,KFL1)
0950 ENDIF
0951 IF(MINT(46).GE.2) THEN
0952 KFL2=ISIG(ICHN,2)
0953 SIGH(ICHN)=SIGH(ICHN)*XSFX(2,KFL2)
0954 ENDIF
0955 SIGS=SIGS+SIGH(ICHN)
0956 180 CONTINUE
0957 ENDIF
0958
0959 RETURN
0960 END