File indexing completed on 2025-08-05 08:15:43
0001
0002
0003
0004
0005
0006 SUBROUTINE JETINI(JP,JT,I_TRIG)
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 CHARACTER BEAM*16,TARG*16
0022 DIMENSION XSEC0(8,0:200),COEF0(8,200,20),INI(8),
0023 & MINT44(8),MINT45(8)
0024
0025 SAVE XSEC0, COEF0, INI, MINT44, MINT45 ! Uzhi
0026
0027 COMMON/HIJCRDN/YP(3,300),YT(3,300)
0028 SAVE /HIJCRDN/
0029 COMMON/HIPARNT/HIPR1(100),IHPR2(50),HINT1(100),IHNT2(50)
0030 SAVE /HIPARNT/
0031 COMMON/HISTRNG/NFP(300,15),PP(300,15),NFT(300,15),PT(300,15)
0032 SAVE /HISTRNG/
0033 COMMON/HIPYINT/MINT4,MINT5,ATCO(200,20),ATXS(0:200)
0034 SAVE /HIPYINT/
0035
0036 COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0037 SAVE /LUDAT1/
0038 COMMON/LUDAT3/MDCY(500,3),MDME(2000,2),BRAT(2000),KFDP(2000,5)
0039 SAVE /LUDAT3/
0040 COMMON/PYHISUBS/MSEL,MSUB(200),KFIN(2,-40:40),CKIN(200)
0041 SAVE /PYHISUBS/
0042 COMMON/PYHIPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
0043 SAVE /PYHIPARS/
0044 COMMON/PYHIINT1/MINT(400),VINT(400)
0045 SAVE /PYHIINT1/
0046 COMMON/PYHIINT2/ISET(200),KFPR(200,2),COEF(200,20),ICOL(40,4,2)
0047 SAVE /PYHIINT2/
0048 COMMON/PYHIINT5/NGEN(0:200,3),XSEC(0:200,3)
0049 SAVE /PYHIINT5/
0050 DATA INI/8*0/I_LAST/-1/
0051
0052 SAVE I_LAST ! Uzhi
0053
0054
0055 IHNT2(11)=JP
0056 IHNT2(12)=JT
0057 IF(IHNT2(5).NE.0 .AND. IHNT2(6).NE.0) THEN
0058 I_TYPE=1
0059 ELSE IF(IHNT2(5).NE.0 .AND. IHNT2(6).EQ.0) THEN
0060 I_TYPE=1
0061 IF(NFT(JT,4).EQ.2112) I_TYPE=2
0062 ELSE IF(IHNT2(5).EQ.0 .AND. IHNT2(6).NE.0) THEN
0063 I_TYPE=1
0064 IF(NFP(JP,4).EQ.2112) I_TYPE=2
0065 ELSE
0066 IF(NFP(JP,4).EQ.2212 .AND. NFT(JT,4).EQ.2212) THEN
0067 I_TYPE=1
0068 ELSE IF(NFP(JP,4).EQ.2212 .AND. NFT(JT,4).EQ.2112) THEN
0069 I_TYPE=2
0070 ELSE IF(NFP(JP,4).EQ.2112 .AND. NFT(JT,4).EQ.2212) THEN
0071 I_TYPE=3
0072 ELSE
0073 I_TYPE=4
0074 ENDIF
0075 ENDIF
0076
0077 IF(I_TRIG.NE.0) GO TO 160
0078 IF(I_TRIG.EQ.I_LAST) GO TO 150
0079 MSTP(2)=2
0080
0081 MSTP(33)=1
0082 PARP(31)=HIPR1(17)
0083
0084 MSTP(51)=3
0085
0086 MSTP(61)=1
0087
0088 MSTP(71)=1
0089
0090 IF(IHPR2(2).EQ.0.OR.IHPR2(2).EQ.2) MSTP(61)=0
0091 IF(IHPR2(2).EQ.0.OR.IHPR2(2).EQ.1) MSTP(71)=0
0092
0093 MSTP(81)=0
0094
0095 MSTP(82)=1
0096
0097 MSTP(111)=0
0098
0099 IF(IHPR2(10).EQ.0) MSTP(122)=0
0100
0101 PARP(81)=HIPR1(8)
0102 CKIN(5)=HIPR1(8)
0103 CKIN(3)=HIPR1(8)
0104 CKIN(4)=HIPR1(9)
0105 IF(HIPR1(9).LE.HIPR1(8)) CKIN(4)=-1.0
0106 CKIN(9)=-10.0
0107 CKIN(10)=10.0
0108 MSEL=0
0109 DO 100 ISUB=1,200
0110 MSUB(ISUB)=0
0111 100 CONTINUE
0112 MSUB(11)=1
0113 MSUB(12)=1
0114 MSUB(13)=1
0115 MSUB(28)=1
0116 MSUB(53)=1
0117 MSUB(68)=1
0118 MSUB(81)=1
0119 MSUB(82)=1
0120 DO 110 J=1,MIN(8,MDCY(21,3))
0121 110 MDME(MDCY(21,2)+J-1,1)=0
0122 ISEL=4
0123 IF(HINT1(1).GE.20.0 .and. IHPR2(18).EQ.1) ISEL=5
0124 MDME(MDCY(21,2)+ISEL-1,1)=1
0125
0126 MSUB(14)=1
0127 MSUB(18)=1
0128 MSUB(29)=1
0129
0130 150 IF(INI(I_TYPE).NE.0) GO TO 800
0131 GO TO 400
0132
0133
0134
0135 160 I_TYPE=4+I_TYPE
0136 IF(I_TRIG.EQ.I_LAST) GO TO 260
0137 PARP(81)=ABS(HIPR1(10))-0.25
0138 CKIN(5)=ABS(HIPR1(10))-0.25
0139 CKIN(3)=ABS(HIPR1(10))-0.25
0140 CKIN(4)=ABS(HIPR1(10))+0.25
0141 IF(HIPR1(10).LT.HIPR1(8)) CKIN(4)=-1.0
0142
0143 MSEL=0
0144 DO 101 ISUB=1,200
0145 MSUB(ISUB)=0
0146 101 CONTINUE
0147 IF(IHPR2(3).EQ.1) THEN
0148 MSUB(11)=1
0149 MSUB(12)=1
0150 MSUB(13)=1
0151 MSUB(28)=1
0152 MSUB(53)=1
0153 MSUB(68)=1
0154 MSUB(81)=1
0155 MSUB(82)=1
0156 MSUB(14)=1
0157 MSUB(18)=1
0158 MSUB(29)=1
0159 DO 102 J=1,MIN(8,MDCY(21,3))
0160 102 MDME(MDCY(21,2)+J-1,1)=0
0161 ISEL=4
0162 IF(HINT1(1).GE.20.0 .and. IHPR2(18).EQ.1) ISEL=5
0163 MDME(MDCY(21,2)+ISEL-1,1)=1
0164
0165 ELSE IF(IHPR2(3).EQ.2) THEN
0166 MSUB(14)=1
0167 MSUB(18)=1
0168 MSUB(29)=1
0169
0170
0171 ELSE IF(IHPR2(3).EQ.3) THEN
0172 CKIN(3)=MAX(0.0,HIPR1(10))
0173 CKIN(5)=HIPR1(8)
0174 PARP(81)=HIPR1(8)
0175 MSUB(81)=1
0176 MSUB(82)=1
0177 DO 105 J=1,MIN(8,MDCY(21,3))
0178 105 MDME(MDCY(21,2)+J-1,1)=0
0179 ISEL=4
0180 IF(HINT1(1).GE.20.0 .and. IHPR2(18).EQ.1) ISEL=5
0181 MDME(MDCY(21,2)+ISEL-1,1)=1
0182
0183 ENDIF
0184 260 IF(INI(I_TYPE).NE.0) GO TO 800
0185
0186
0187 400 INI(I_TYPE)=1
0188 IF(IHPR2(10).EQ.0) MSTP(122)=0
0189 IF(NFP(JP,4).EQ.2212) THEN
0190 BEAM='P'
0191 ELSE IF(NFP(JP,4).EQ.-2212) THEN
0192 BEAM='P~'
0193 ELSE IF(NFP(JP,4).EQ.2112) THEN
0194 BEAM='N'
0195 ELSE IF(NFP(JP,4).EQ.-2112) THEN
0196 BEAM='N~'
0197 ELSE IF(NFP(JP,4).EQ.211) THEN
0198 BEAM='PI+'
0199 ELSE IF(NFP(JP,4).EQ.-211) THEN
0200 BEAM='PI-'
0201 ELSE IF(NFP(JP,4).EQ.321) THEN
0202 BEAM='PI+'
0203 ELSE IF(NFP(JP,4).EQ.-321) THEN
0204 BEAM='PI-'
0205 ELSE
0206 WRITE(6,*) 'unavailable beam type', NFP(JP,4)
0207 ENDIF
0208 IF(NFT(JT,4).EQ.2212) THEN
0209 TARG='P'
0210 ELSE IF(NFT(JT,4).EQ.-2212) THEN
0211 TARG='P~'
0212 ELSE IF(NFT(JT,4).EQ.2112) THEN
0213 TARG='N'
0214 ELSE IF(NFT(JT,4).EQ.-2112) THEN
0215 TARG='N~'
0216 ELSE IF(NFT(JT,4).EQ.211) THEN
0217 TARG='PI+'
0218 ELSE IF(NFT(JT,4).EQ.-211) THEN
0219 TARG='PI-'
0220 ELSE IF(NFT(JT,4).EQ.321) THEN
0221 TARG='PI+'
0222 ELSE IF(NFT(JT,4).EQ.-321) THEN
0223 TARG='PI-'
0224 ELSE
0225 WRITE(6,*) 'unavailable target type', NFT(JT,4)
0226 ENDIF
0227
0228 IHNT2(16)=1
0229
0230
0231
0232 CALL PYHIINIT('CMS',BEAM,TARG,HINT1(1))
0233 MINT4=MINT(44)
0234 MINT5=MINT(45)
0235 MINT44(I_TYPE)=MINT(44)
0236 MINT45(I_TYPE)=MINT(45)
0237 ATXS(0)=XSEC(0,1)
0238 XSEC0(I_TYPE,0)=XSEC(0,1)
0239 DO 500 I=1,200
0240 ATXS(I)=XSEC(I,1)
0241 XSEC0(I_TYPE,I)=XSEC(I,1)
0242 DO 500 J=1,20
0243 ATCO(I,J)=COEF(I,J)
0244 COEF0(I_TYPE,I,J)=COEF(I,J)
0245 500 CONTINUE
0246
0247 IHNT2(16)=0
0248
0249 RETURN
0250
0251
0252
0253
0254 800 MINT(44)=MINT44(I_TYPE)
0255 MINT(45)=MINT45(I_TYPE)
0256 MINT4=MINT(44)
0257 MINT5=MINT(45)
0258 XSEC(0,1)=XSEC0(I_TYPE,0)
0259 ATXS(0)=XSEC(0,1)
0260 DO 900 I=1,200
0261 XSEC(I,1)=XSEC0(I_TYPE,I)
0262 ATXS(I)=XSEC(I,1)
0263 DO 900 J=1,20
0264 COEF(I,J)=COEF0(I_TYPE,I,J)
0265 ATCO(I,J)=COEF(I,J)
0266 900 CONTINUE
0267 I_LAST=I_TRIG
0268 MINT(11)=NFP(JP,4)
0269 MINT(12)=NFT(JT,4)
0270 RETURN
0271 END