File indexing completed on 2025-08-05 08:15:43
0001
0002
0003
0004
0005
0006
0007
0008 SUBROUTINE HIJSRT(JPJT,NPT)
0009 DIMENSION KF(100),PX(100),PY(100),PZ(100),PE(100),PM(100)
0010 DIMENSION Y(100),IP(100,2)
0011 COMMON/HIJJET1/NPJ(300),KFPJ(300,500),PJPX(300,500),
0012 & PJPY(300,500),PJPZ(300,500),PJPE(300,500),
0013 & PJPM(300,500),NTJ(300),KFTJ(300,500),
0014 & PJTX(300,500),PJTY(300,500),PJTZ(300,500),
0015 & PJTE(300,500),PJTM(300,500)
0016 SAVE /HIJJET1/
0017 IF(NPT.EQ.2) GO TO 500
0018 JP=JPJT
0019 IQ=0
0020 I=1
0021 100 KF(I)=KFPJ(JP,I)
0022 PX(I)=PJPX(JP,I)
0023 PY(I)=PJPY(JP,I)
0024 PZ(I)=PJPZ(JP,I)
0025 PE(I)=PJPE(JP,I)
0026 PM(I)=PJPM(JP,I)
0027 Y(I-IQ)=0.5*ALOG((ABS(PE(I)+PZ(I))+1.E-5)
0028 & /(ABS(PE(I)-PZ(I))+1.E-5))
0029 IP(I-IQ,1)=I
0030 IP(I-IQ,2)=0
0031 IF(KF(I).NE.21) THEN
0032 IP(I-IQ,2)=1
0033 IQ=IQ+1
0034 I=I+1
0035 KF(I)=KFPJ(JP,I)
0036 PX(I)=PJPX(JP,I)
0037 PY(I)=PJPY(JP,I)
0038 PZ(I)=PJPZ(JP,I)
0039 PE(I)=PJPE(JP,I)
0040 PM(I)=PJPM(JP,I)
0041 ENDIF
0042 I=I+1
0043 IF(I.LE.NPJ(JP)) GO TO 100
0044
0045 DO 200 I=1,NPJ(JP)-IQ
0046 DO 200 J=I+1,NPJ(JP)-IQ
0047 IF(Y(I).GT.Y(J)) GO TO 200
0048 IP1=IP(I,1)
0049 IP2=IP(I,2)
0050 IP(I,1)=IP(J,1)
0051 IP(I,2)=IP(J,2)
0052 IP(J,1)=IP1
0053 IP(J,2)=IP2
0054 200 CONTINUE
0055
0056 IQQ=0
0057 I=1
0058 300 KFPJ(JP,I)=KF(IP(I-IQQ,1))
0059 PJPX(JP,I)=PX(IP(I-IQQ,1))
0060 PJPY(JP,I)=PY(IP(I-IQQ,1))
0061 PJPZ(JP,I)=PZ(IP(I-IQQ,1))
0062 PJPE(JP,I)=PE(IP(I-IQQ,1))
0063 PJPM(JP,I)=PM(IP(I-IQQ,1))
0064 IF(IP(I-IQQ,2).EQ.1) THEN
0065 KFPJ(JP,I+1)=KF(IP(I-IQQ,1)+1)
0066 PJPX(JP,I+1)=PX(IP(I-IQQ,1)+1)
0067 PJPY(JP,I+1)=PY(IP(I-IQQ,1)+1)
0068 PJPZ(JP,I+1)=PZ(IP(I-IQQ,1)+1)
0069 PJPE(JP,I+1)=PE(IP(I-IQQ,1)+1)
0070 PJPM(JP,I+1)=PM(IP(I-IQQ,1)+1)
0071 I=I+1
0072 IQQ=IQQ+1
0073 ENDIF
0074 I=I+1
0075 IF(I.LE.NPJ(JP)) GO TO 300
0076
0077 RETURN
0078
0079 500 JT=JPJT
0080 IQ=0
0081 I=1
0082 600 KF(I)=KFTJ(JT,I)
0083 PX(I)=PJTX(JT,I)
0084 PY(I)=PJTY(JT,I)
0085 PZ(I)=PJTZ(JT,I)
0086 PE(I)=PJTE(JT,I)
0087 PM(I)=PJTM(JT,I)
0088 Y(I-IQ)=0.5*ALOG((ABS(PE(I)+PZ(I))+1.E-5)
0089 & /(ABS(PE(I)-PZ(I))+1.E-5))
0090 IP(I-IQ,1)=I
0091 IP(I-IQ,2)=0
0092 IF(KF(I).NE.21) THEN
0093 IP(I-IQ,2)=1
0094 IQ=IQ+1
0095 I=I+1
0096 KF(I)=KFTJ(JT,I)
0097 PX(I)=PJTX(JT,I)
0098 PY(I)=PJTY(JT,I)
0099 PZ(I)=PJTZ(JT,I)
0100 PE(I)=PJTE(JT,I)
0101 PM(I)=PJTM(JT,I)
0102 ENDIF
0103 I=I+1
0104 IF(I.LE.NTJ(JT)) GO TO 600
0105
0106 DO 700 I=1,NTJ(JT)-IQ
0107 DO 700 J=I+1,NTJ(JT)-IQ
0108 IF(Y(I).LT.Y(J)) GO TO 700
0109 IP1=IP(I,1)
0110 IP2=IP(I,2)
0111 IP(I,1)=IP(J,1)
0112 IP(I,2)=IP(J,2)
0113 IP(J,1)=IP1
0114 IP(J,2)=IP2
0115 700 CONTINUE
0116
0117 IQQ=0
0118 I=1
0119 800 KFTJ(JT,I)=KF(IP(I-IQQ,1))
0120 PJTX(JT,I)=PX(IP(I-IQQ,1))
0121 PJTY(JT,I)=PY(IP(I-IQQ,1))
0122 PJTZ(JT,I)=PZ(IP(I-IQQ,1))
0123 PJTE(JT,I)=PE(IP(I-IQQ,1))
0124 PJTM(JT,I)=PM(IP(I-IQQ,1))
0125 IF(IP(I-IQQ,2).EQ.1) THEN
0126 KFTJ(JT,I+1)=KF(IP(I-IQQ,1)+1)
0127 PJTX(JT,I+1)=PX(IP(I-IQQ,1)+1)
0128 PJTY(JT,I+1)=PY(IP(I-IQQ,1)+1)
0129 PJTZ(JT,I+1)=PZ(IP(I-IQQ,1)+1)
0130 PJTE(JT,I+1)=PE(IP(I-IQQ,1)+1)
0131 PJTM(JT,I+1)=PM(IP(I-IQQ,1)+1)
0132 I=I+1
0133 IQQ=IQQ+1
0134 ENDIF
0135 I=I+1
0136 IF(I.LE.NTJ(JT)) GO TO 800
0137 RETURN
0138 END