]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HIJING/hijing1_36/hijsrt.F
Additional protection
[u/mrichter/AliRoot.git] / HIJING / hijing1_36 / hijsrt.F
CommitLineData
e74335a4 1* $Id$
2C
3C
4C
5C********************************************************************
6C Sort the jets associated with a nucleon in order of their
7C rapdities
8C********************************************************************
9 SUBROUTINE HIJSRT(JPJT,NPT)
10 DIMENSION KF(100),PX(100),PY(100),PZ(100),PE(100),PM(100)
11 DIMENSION Y(100),IP(100,2)
12#include "hijjet1.inc"
13 SAVE
14 IF(NPT.EQ.2) GO TO 500
15 JP=JPJT
16 IQ=0
17 I=1
18100 KF(I)=KFPJ(JP,I)
19 PX(I)=PJPX(JP,I)
20 PY(I)=PJPY(JP,I)
21 PZ(I)=PJPZ(JP,I)
22 PE(I)=PJPE(JP,I)
23 PM(I)=PJPM(JP,I)
24 Y(I-IQ)=0.5*ALOG((ABS(PE(I)+PZ(I))+1.E-5)
25 & /(ABS(PE(I)-PZ(I))+1.E-5))
26 IP(I-IQ,1)=I
27 IP(I-IQ,2)=0
28 IF(KF(I).NE.21) THEN
29 IP(I-IQ,2)=1
30 IQ=IQ+1
31 I=I+1
32 KF(I)=KFPJ(JP,I)
33 PX(I)=PJPX(JP,I)
34 PY(I)=PJPY(JP,I)
35 PZ(I)=PJPZ(JP,I)
36 PE(I)=PJPE(JP,I)
37 PM(I)=PJPM(JP,I)
38 ENDIF
39 I=I+1
40 IF(I.LE.NPJ(JP)) GO TO 100
41
42 DO 200 I=1,NPJ(JP)-IQ
43 DO 200 J=I+1,NPJ(JP)-IQ
44 IF(Y(I).GT.Y(J)) GO TO 200
45 IP1=IP(I,1)
46 IP2=IP(I,2)
47 IP(I,1)=IP(J,1)
48 IP(I,2)=IP(J,2)
49 IP(J,1)=IP1
50 IP(J,2)=IP2
51200 CONTINUE
52C ********sort in decending y
53 IQQ=0
54 I=1
55300 KFPJ(JP,I)=KF(IP(I-IQQ,1))
56 PJPX(JP,I)=PX(IP(I-IQQ,1))
57 PJPY(JP,I)=PY(IP(I-IQQ,1))
58 PJPZ(JP,I)=PZ(IP(I-IQQ,1))
59 PJPE(JP,I)=PE(IP(I-IQQ,1))
60 PJPM(JP,I)=PM(IP(I-IQQ,1))
61 IF(IP(I-IQQ,2).EQ.1) THEN
62 KFPJ(JP,I+1)=KF(IP(I-IQQ,1)+1)
63 PJPX(JP,I+1)=PX(IP(I-IQQ,1)+1)
64 PJPY(JP,I+1)=PY(IP(I-IQQ,1)+1)
65 PJPZ(JP,I+1)=PZ(IP(I-IQQ,1)+1)
66 PJPE(JP,I+1)=PE(IP(I-IQQ,1)+1)
67 PJPM(JP,I+1)=PM(IP(I-IQQ,1)+1)
68 I=I+1
69 IQQ=IQQ+1
70 ENDIF
71 I=I+1
72 IF(I.LE.NPJ(JP)) GO TO 300
73
74 RETURN
75
76500 JT=JPJT
77 IQ=0
78 I=1
79600 KF(I)=KFTJ(JT,I)
80 PX(I)=PJTX(JT,I)
81 PY(I)=PJTY(JT,I)
82 PZ(I)=PJTZ(JT,I)
83 PE(I)=PJTE(JT,I)
84 PM(I)=PJTM(JT,I)
85 Y(I-IQ)=0.5*ALOG((ABS(PE(I)+PZ(I))+1.E-5)
86 & /(ABS(PE(I)-PZ(I))+1.E-5))
87 IP(I-IQ,1)=I
88 IP(I-IQ,2)=0
89 IF(KF(I).NE.21) THEN
90 IP(I-IQ,2)=1
91 IQ=IQ+1
92 I=I+1
93 KF(I)=KFTJ(JT,I)
94 PX(I)=PJTX(JT,I)
95 PY(I)=PJTY(JT,I)
96 PZ(I)=PJTZ(JT,I)
97 PE(I)=PJTE(JT,I)
98 PM(I)=PJTM(JT,I)
99 ENDIF
100 I=I+1
101 IF(I.LE.NTJ(JT)) GO TO 600
102
103 DO 700 I=1,NTJ(JT)-IQ
104 DO 700 J=I+1,NTJ(JT)-IQ
105 IF(Y(I).LT.Y(J)) GO TO 700
106 IP1=IP(I,1)
107 IP2=IP(I,2)
108 IP(I,1)=IP(J,1)
109 IP(I,2)=IP(J,2)
110 IP(J,1)=IP1
111 IP(J,2)=IP2
112700 CONTINUE
113C ********sort in acending y
114 IQQ=0
115 I=1
116800 KFTJ(JT,I)=KF(IP(I-IQQ,1))
117 PJTX(JT,I)=PX(IP(I-IQQ,1))
118 PJTY(JT,I)=PY(IP(I-IQQ,1))
119 PJTZ(JT,I)=PZ(IP(I-IQQ,1))
120 PJTE(JT,I)=PE(IP(I-IQQ,1))
121 PJTM(JT,I)=PM(IP(I-IQQ,1))
122 IF(IP(I-IQQ,2).EQ.1) THEN
123 KFTJ(JT,I+1)=KF(IP(I-IQQ,1)+1)
124 PJTX(JT,I+1)=PX(IP(I-IQQ,1)+1)
125 PJTY(JT,I+1)=PY(IP(I-IQQ,1)+1)
126 PJTZ(JT,I+1)=PZ(IP(I-IQQ,1)+1)
127 PJTE(JT,I+1)=PE(IP(I-IQQ,1)+1)
128 PJTM(JT,I+1)=PM(IP(I-IQQ,1)+1)
129 I=I+1
130 IQQ=IQQ+1
131 ENDIF
132 I=I+1
133 IF(I.LE.NTJ(JT)) GO TO 800
134 RETURN
135 END