]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HIJING/hijing1_36/quench.F
changed the order of call of endofcycle so that images are produced
[u/mrichter/AliRoot.git] / HIJING / hijing1_36 / quench.F
1 C $Id$
2 C
3 C
4 C
5 C
6         SUBROUTINE QUENCH(JPJT,NTP)
7         DIMENSION RDP(300),LQP(300),RDT(300),LQT(300)
8 #define BLANKET_SAVE
9 #include "hijcrdn.inc"
10 #include "hiparnt.inc"
11 C
12 #include "hijjet1.inc"
13 #include "hijjet2.inc"
14 #include "histrng.inc"
15 C
16         SAVE
17 C
18         BB=HINT1(19)                                            ! Uzhi
19         PHI=HINT1(20)                                           ! Uzhi
20         BBX=BB*COS(PHI)                                         ! Uzhi
21         BBY=BB*SIN(PHI)                                         ! Uzhi
22 c
23         IF(NTP.EQ.2) GO TO 400
24         IF(NTP.EQ.3) GO TO 2000 
25 C*******************************************************
26 C Jet interaction for proj jet in the direction PHIP
27 C******************************************************
28 C
29         IF(NFP(JPJT,7).NE.1) RETURN
30
31         JP=JPJT
32         DO 290 I=1,NPJ(JP)
33            PTJET0=SQRT(PJPX(JP,I)**2+PJPY(JP,I)**2)
34            IF(PTJET0.LE.HIPR1(11)) GO TO 290
35            PTOT=SQRT(PTJET0*PTJET0+PJPZ(JP,I)**2)
36            IF (IHPR2(50) .EQ. 1) THEN 
37               DEDX0 = HIPR1(14)*LOG10(PTJET0)/LOG10(5.)
38            ELSE
39               DEDX0 = HIPR1(14)
40            ENDIF
41            IF(PTOT.LT.HIPR1(8)) GO TO 290
42            PHIP=ULANGL_HIJING(PJPX(JP,I),PJPY(JP,I))
43 C******* find the wounded proj which can interact with jet***
44            KP=0
45            DO 100 I2=1,IHNT2(1)
46               IF(NFP(I2,5).NE.3 .OR. I2.EQ.JP) GO TO 100
47               DX=YP(1,I2)-YP(1,JP)
48               DY=YP(2,I2)-YP(2,JP)
49               PHI=ULANGL_HIJING(DX,DY)
50               DPHI=ABS(PHI-PHIP)
51               IF(DPHI.GE.HIPR1(40)) DPHI=2.*HIPR1(40)-DPHI      ! Uzhi
52               IF(DPHI.GE.HIPR1(40)/2.0) GO TO 100
53               RD0=SQRT(DX*DX+DY*DY)
54               IF(RD0*SIN(DPHI).GT.HIPR1(12)) GO TO 100
55               KP=KP+1
56               LQP(KP)=I2
57               RDP(KP)=COS(DPHI)*RD0
58  100       CONTINUE
59 C*******        rearrange according decending rd************
60            DO 110 I2=1,KP-1
61               DO 110 J2=I2+1,KP
62                  IF(RDP(I2).LT.RDP(J2)) GO TO 110
63                  RD=RDP(I2)
64                  LQ=LQP(I2)
65                  RDP(I2)=RDP(J2)
66                  LQP(I2)=LQP(J2)
67                  RDP(J2)=RD
68                  LQP(J2)=LQ
69  110          CONTINUE
70 C****** find wounded targ which can interact with jet********
71               KT=0
72               DO 120 I2=1,IHNT2(3)
73                  IF(NFT(I2,5).NE.3) GO TO 120
74                  DX=YT(1,I2)-YP(1,JP)-BBX
75                  DY=YT(2,I2)-YP(2,JP)-BBY
76                  PHI=ULANGL_HIJING(DX,DY)
77                  DPHI=ABS(PHI-PHIP)
78                  IF(DPHI.GE.HIPR1(40)) DPHI=2.*HIPR1(40)-DPHI ! Uzhi
79                  IF(DPHI.GT.HIPR1(40)/2.0) GO TO 120
80                  RD0=SQRT(DX*DX+DY*DY)
81                  IF(RD0*SIN(DPHI).GT.HIPR1(12)) GO TO 120
82                  KT=KT+1
83                  LQT(KT)=I2
84                  RDT(KT)=COS(DPHI)*RD0
85  120          CONTINUE
86 C*******        rearrange according decending rd************
87               DO 130 I2=1,KT-1
88                  DO 130 J2=I2+1,KT
89                     IF(RDT(I2).LT.RDT(J2)) GO TO 130
90                     RD=RDT(I2)
91                     LQ=LQT(I2)
92                     RDT(I2)=RDT(J2)
93                     LQT(I2)=LQT(J2)
94                     RDT(J2)=RD
95                     LQT(J2)=LQ
96  130             CONTINUE
97                 
98                  MP=0
99                  MT=0
100                  R0=0.0
101                  NQ=0
102                  DP=0.0
103                  PTOT=SQRT(PJPX(JP,I)**2+PJPY(JP,I)**2+PJPZ(JP,I)**2)
104                  V1=PJPX(JP,I)/PTOT
105                  V2=PJPY(JP,I)/PTOT
106                  V3=PJPZ(JP,I)/PTOT
107
108  200             RN=RLU_HIJING(0)
109  210             IF(MT.GE.KT .AND. MP.GE.KP) GO TO 290
110                  IF(MT.GE.KT) GO TO 220
111                  IF(MP.GE.KP) GO TO 240
112                  IF(RDP(MP+1).GT.RDT(MT+1)) GO TO 240
113  220             MP=MP+1
114                  DRR=RDP(MP)-R0
115                  IF(RN.GE.1.0-EXP(-DRR/HIPR1(13))) GO TO 210
116                  DP=DRR*DEDX0
117                  IF(KFPJ(JP,I).NE.21) DP=0.5*DP
118 C       ********string tension of quark jet is 0.5 of gluon's 
119                  IF(DP.LE.0.2) GO TO 210
120                  IF(PTOT.LE.0.4) GO TO 290
121                  IF(PTOT.LE.DP) DP=PTOT-0.2
122                  DE=DP
123
124                  IF(KFPJ(JP,I).NE.21) THEN
125                     PRSHU=PP(LQP(MP),1)**2+PP(LQP(MP),2)**2
126      &                   +PP(LQP(MP),3)**2
127                     DE=SQRT(PJPM(JP,I)**2+PTOT**2)
128      &                  -SQRT(PJPM(JP,I)**2+(PTOT-DP)**2)
129                     ERSHU=(PP(LQP(MP),4)+DE-DP)**2
130                     AMSHU=ERSHU-PRSHU
131                     IF(AMSHU.LT.HIPR1(1)*HIPR1(1)) GO TO 210
132                     PP(LQP(MP),4)=SQRT(ERSHU)
133                     PP(LQP(MP),5)=SQRT(AMSHU)
134                  ENDIF
135 C               ********reshuffle the energy when jet has mass
136                  R0=RDP(MP)
137                  DP1=DP*V1
138                  DP2=DP*V2
139                  DP3=DP*V3
140 C               ********momentum and energy transfer from jet
141                  
142                  NPJ(LQP(MP))=NPJ(LQP(MP))+1
143                  KFPJ(LQP(MP),NPJ(LQP(MP)))=21
144                  PJPX(LQP(MP),NPJ(LQP(MP)))=DP1
145                  PJPY(LQP(MP),NPJ(LQP(MP)))=DP2
146                  PJPZ(LQP(MP),NPJ(LQP(MP)))=DP3
147                  PJPE(LQP(MP),NPJ(LQP(MP)))=DP
148                  PJPM(LQP(MP),NPJ(LQP(MP)))=0.0
149                  GO TO 260
150
151  240             MT=MT+1
152                  DRR=RDT(MT)-R0
153                  IF(RN.GE.1.0-EXP(-DRR/HIPR1(13))) GO TO 210
154                  DP=DRR*DEDX0
155                  IF(DP.LE.0.2) GO TO 210
156                  IF(PTOT.LE.0.4) GO TO 290
157                  IF(PTOT.LE.DP) DP=PTOT-0.2
158                  DE=DP
159
160                  IF(KFPJ(JP,I).NE.21) THEN
161                     PRSHU=PT(LQT(MT),1)**2+PT(LQT(MT),2)**2
162      &                   +PT(LQT(MT),3)**2
163                     DE=SQRT(PJPM(JP,I)**2+PTOT**2)
164      &                  -SQRT(PJPM(JP,I)**2+(PTOT-DP)**2)
165                     ERSHU=(PT(LQT(MT),4)+DE-DP)**2
166                     AMSHU=ERSHU-PRSHU
167                     IF(AMSHU.LT.HIPR1(1)*HIPR1(1)) GO TO 210
168                     PT(LQT(MT),4)=SQRT(ERSHU)
169                     PT(LQT(MT),5)=SQRT(AMSHU)
170                  ENDIF
171 C               ********reshuffle the energy when jet has mass
172
173                  R0=RDT(MT)
174                  DP1=DP*V1
175                  DP2=DP*V2
176                  DP3=DP*V3
177 C               ********momentum and energy transfer from jet
178                  NTJ(LQT(MT))=NTJ(LQT(MT))+1
179                  KFTJ(LQT(MT),NTJ(LQT(MT)))=21
180                  PJTX(LQT(MT),NTJ(LQT(MT)))=DP1
181                  PJTY(LQT(MT),NTJ(LQT(MT)))=DP2
182                  PJTZ(LQT(MT),NTJ(LQT(MT)))=DP3
183                  PJTE(LQT(MT),NTJ(LQT(MT)))=DP
184                  PJTM(LQT(MT),NTJ(LQT(MT)))=0.0
185
186  260             PJPX(JP,I)=(PTOT-DP)*V1
187                  PJPY(JP,I)=(PTOT-DP)*V2
188                  PJPZ(JP,I)=(PTOT-DP)*V3
189                  PJPE(JP,I)=PJPE(JP,I)-DE
190
191                  PTOT=PTOT-DP
192                  NQ=NQ+1
193                  GO TO 200
194  290          CONTINUE
195
196               RETURN
197
198 C*******************************************************
199 C Jet interaction for target jet in the direction PHIT
200 C******************************************************
201 C
202 C******* find the wounded proj which can interact with jet***
203
204  400          IF(NFT(JPJT,7).NE.1) RETURN
205               JT=JPJT
206               DO 690 I=1,NTJ(JT)
207                  PTJET0=SQRT(PJTX(JT,I)**2+PJTY(JT,I)**2)
208                  IF(PTJET0.LE.HIPR1(11)) GO TO 690
209                  PTOT=SQRT(PTJET0*PTJET0+PJTZ(JT,I)**2)
210                  IF (IHPR2(50) .EQ. 1) THEN 
211                     DEDX0 = HIPR1(14)*LOG10(PTJET0)/LOG10(5.)
212                  ELSE
213                     DEDX0 = HIPR1(14)
214                  ENDIF
215                  IF(PTOT.LT.HIPR1(8)) GO TO 690
216                  PHIT=ULANGL_HIJING(PJTX(JT,I),PJTY(JT,I))
217                  KP=0
218                  DO 500 I2=1,IHNT2(1)
219                     IF(NFP(I2,5).NE.3) GO TO 500
220                     DX=YP(1,I2)+BBX-YT(1,JT)
221                     DY=YP(2,I2)+BBY-YT(2,JT)
222                     PHI=ULANGL_HIJING(DX,DY)
223                     DPHI=ABS(PHI-PHIT)
224                     IF(DPHI.GE.HIPR1(40)) DPHI=2.*HIPR1(40)-DPHI ! Uzhi
225                     IF(DPHI.GT.HIPR1(40)/2.0) GO TO 500
226                     RD0=SQRT(DX*DX+DY*DY)
227                     IF(RD0*SIN(DPHI).GT.HIPR1(12)) GO TO 500
228                     KP=KP+1
229                     LQP(KP)=I2
230                     RDP(KP)=COS(DPHI)*RD0
231  500             CONTINUE
232 C*******        rearrange according to decending rd************
233                  DO 510 I2=1,KP-1
234                     DO 510 J2=I2+1,KP
235                        IF(RDP(I2).LT.RDP(J2)) GO TO 510
236                        RD=RDP(I2)
237                        LQ=LQP(I2)
238                        RDP(I2)=RDP(J2)
239                        LQP(I2)=LQP(J2)
240                        RDP(J2)=RD
241                        LQP(J2)=LQ
242  510                CONTINUE
243 C****** find wounded targ which can interact with jet********
244                     KT=0
245                     DO 520 I2=1,IHNT2(3)
246                        IF(NFT(I2,5).NE.3 .OR. I2.EQ.JT) GO TO 520
247                        DX=YT(1,I2)-YT(1,JT)
248                        DY=YT(2,I2)-YT(2,JT)
249                        PHI=ULANGL_HIJING(DX,DY)
250                        DPHI=ABS(PHI-PHIT)
251                        IF(DPHI.GE.HIPR1(40)) DPHI=2.*HIPR1(40)-DPHI ! Uzhi
252                        IF(DPHI.GT.HIPR1(40)/2.0) GO TO 520
253                        RD0=SQRT(DX*DX+DY*DY)
254                        IF(RD0*SIN(DPHI).GT.HIPR1(12)) GO TO 520
255                        KT=KT+1
256                        LQT(KT)=I2
257                        RDT(KT)=COS(DPHI)*RD0
258  520                CONTINUE
259 C*******        rearrange according to decending rd************
260                     DO 530 I2=1,KT-1
261                        DO 530 J2=I2+1,KT
262                           IF(RDT(I2).LT.RDT(J2)) GO TO 530
263                           RD=RDT(I2)
264                           LQ=LQT(I2)
265                           RDT(I2)=RDT(J2)
266                           LQT(I2)=LQT(J2)
267                           RDT(J2)=RD
268                           LQT(J2)=LQ
269  530                   CONTINUE
270                        
271                        MP=0
272                        MT=0
273                        NQ=0
274                        DP=0.0
275                        R0=0.0
276                 PTOT=SQRT(PJTX(JT,I)**2+PJTY(JT,I)**2+PJTZ(JT,I)**2)
277                 V1=PJTX(JT,I)/PTOT
278                 V2=PJTY(JT,I)/PTOT
279                 V3=PJTZ(JT,I)/PTOT
280
281  600            RN=RLU_HIJING(0)
282  610            IF(MT.GE.KT .AND. MP.GE.KP) GO TO 690
283                 IF(MT.GE.KT) GO TO 620
284                 IF(MP.GE.KP) GO TO 640
285                 IF(RDP(MP+1).GT.RDT(MT+1)) GO TO 640
286 620             MP=MP+1
287                 DRR=RDP(MP)-R0
288                 IF(RN.GE.1.0-EXP(-DRR/HIPR1(13))) GO TO 610
289                 DP=DRR*DEDX0
290                 IF(KFTJ(JT,I).NE.21) DP=0.5*DP
291 C       ********string tension of quark jet is 0.5 of gluon's 
292                 IF(DP.LE.0.2) GO TO 610
293                 IF(PTOT.LE.0.4) GO TO 690
294                 IF(PTOT.LE.DP) DP=PTOT-0.2
295                 DE=DP
296 C
297                 IF(KFTJ(JT,I).NE.21) THEN
298                    PRSHU=PP(LQP(MP),1)**2+PP(LQP(MP),2)**2
299      &                   +PP(LQP(MP),3)**2
300                    DE=SQRT(PJTM(JT,I)**2+PTOT**2)
301      &               -SQRT(PJTM(JT,I)**2+(PTOT-DP)**2)
302                    ERSHU=(PP(LQP(MP),4)+DE-DP)**2
303                    AMSHU=ERSHU-PRSHU
304                    IF(AMSHU.LT.HIPR1(1)*HIPR1(1)) GO TO 610
305                    PP(LQP(MP),4)=SQRT(ERSHU)
306                    PP(LQP(MP),5)=SQRT(AMSHU)
307                 ENDIF
308 C               ********reshuffle the energy when jet has mass
309 C
310                 R0=RDP(MP)
311                 DP1=DP*V1
312                 DP2=DP*V2
313                 DP3=DP*V3
314 C               ********momentum and energy transfer from jet
315                 NPJ(LQP(MP))=NPJ(LQP(MP))+1
316                 KFPJ(LQP(MP),NPJ(LQP(MP)))=21
317                 PJPX(LQP(MP),NPJ(LQP(MP)))=DP1
318                 PJPY(LQP(MP),NPJ(LQP(MP)))=DP2
319                 PJPZ(LQP(MP),NPJ(LQP(MP)))=DP3
320                 PJPE(LQP(MP),NPJ(LQP(MP)))=DP
321                 PJPM(LQP(MP),NPJ(LQP(MP)))=0.0
322
323                 GO TO 660
324
325 640             MT=MT+1
326                 DRR=RDT(MT)-R0
327                 IF(RN.GE.1.0-EXP(-DRR/HIPR1(13))) GO TO 610
328                 DP=DRR*DEDX0
329                 IF(DP.LE.0.2) GO TO 610
330                 IF(PTOT.LE.0.4) GO TO 690
331                 IF(PTOT.LE.DP) DP=PTOT-0.2
332                 DE=DP
333
334                 IF(KFTJ(JT,I).NE.21) THEN
335                    PRSHU=PT(LQT(MT),1)**2+PT(LQT(MT),2)**2
336      &                   +PT(LQT(MT),3)**2
337                    DE=SQRT(PJTM(JT,I)**2+PTOT**2)
338      &               -SQRT(PJTM(JT,I)**2+(PTOT-DP)**2)
339                    ERSHU=(PT(LQT(MT),4)+DE-DP)**2
340                    AMSHU=ERSHU-PRSHU
341                    IF(AMSHU.LT.HIPR1(1)*HIPR1(1)) GO TO 610
342                    PT(LQT(MT),4)=SQRT(ERSHU)
343                    PT(LQT(MT),5)=SQRT(AMSHU)
344                 ENDIF
345 C               ********reshuffle the energy when jet has mass
346
347                 R0=RDT(MT)
348                 DP1=DP*V1
349                 DP2=DP*V2
350                 DP3=DP*V3
351 C               ********momentum and energy transfer from jet
352                 NTJ(LQT(MT))=NTJ(LQT(MT))+1
353                 KFTJ(LQT(MT),NTJ(LQT(MT)))=21
354                 PJTX(LQT(MT),NTJ(LQT(MT)))=DP1
355                 PJTY(LQT(MT),NTJ(LQT(MT)))=DP2
356                 PJTZ(LQT(MT),NTJ(LQT(MT)))=DP3
357                 PJTE(LQT(MT),NTJ(LQT(MT)))=DP
358                 PJTM(LQT(MT),NTJ(LQT(MT)))=0.0
359
360 660             PJTX(JT,I)=(PTOT-DP)*V1
361                 PJTY(JT,I)=(PTOT-DP)*V2
362                 PJTZ(JT,I)=(PTOT-DP)*V3
363                 PJTE(JT,I)=PJTE(JT,I)-DE
364
365                 PTOT=PTOT-DP
366                 NQ=NQ+1
367                 GO TO 600
368 690     CONTINUE
369         RETURN
370 C********************************************************
371 C       Q-QBAR jet interaction
372 C********************************************************
373 2000    ISG=JPJT
374         IF(IASG(ISG,3).NE.1) RETURN
375 C
376         JP=IASG(ISG,1)
377         JT=IASG(ISG,2)
378         XJ=(YP(1,JP)+BBX+YT(1,JT))/2.0
379         YJ=(YP(2,JP)+BBY+YT(2,JT))/2.0
380         DO 2690 I=1,NJSG(ISG)
381            PTJET0=SQRT(PXSG(ISG,I)**2+PYSG(ISG,I)**2)
382            IF(PTJET0.LE.HIPR1(11).OR.PESG(ISG,I).LT.HIPR1(1))
383      &            GO TO 2690
384            PTOT=SQRT(PTJET0*PTJET0+PZSG(ISG,I)**2)
385            IF (IHPR2(50) .EQ. 1) THEN 
386               DEDX0 = HIPR1(14)*LOG10(PTJET0)/LOG10(5.)
387            ELSE
388               DEDX0 = HIPR1(14)
389            ENDIF
390            IF(PTOT.LT.MAX(HIPR1(1),HIPR1(8))) GO TO 2690
391            PHIQ=ULANGL_HIJING(PXSG(ISG,I),PYSG(ISG,I))
392            KP=0
393            DO 2500 I2=1,IHNT2(1)
394               IF(NFP(I2,5).NE.3.OR.I2.EQ.JP) GO TO 2500
395               DX=YP(1,I2)+BBX-XJ
396               DY=YP(2,I2)+BBY-YJ
397               PHI=ULANGL_HIJING(DX,DY)
398               DPHI=ABS(PHI-PHIQ)
399               IF(DPHI.GE.HIPR1(40)) DPHI=2.*HIPR1(40)-DPHI      ! Uzhi
400               IF(DPHI.GT.HIPR1(40)/2.0) GO TO 2500
401               RD0=SQRT(DX*DX+DY*DY)
402               IF(RD0*SIN(DPHI).GT.HIPR1(12)) GO TO 2500
403               KP=KP+1
404               LQP(KP)=I2
405               RDP(KP)=COS(DPHI)*RD0
406  2500      CONTINUE
407 C*******        rearrange according to decending rd************
408            DO 2510 I2=1,KP-1
409               DO 2510 J2=I2+1,KP
410                  IF(RDP(I2).LT.RDP(J2)) GO TO 2510
411                  RD=RDP(I2)
412                  LQ=LQP(I2)
413                  RDP(I2)=RDP(J2)
414                  LQP(I2)=LQP(J2)
415                  RDP(J2)=RD
416                  LQP(J2)=LQ
417  2510         CONTINUE
418 C****** find wounded targ which can interact with jet********
419               KT=0
420               DO 2520 I2=1,IHNT2(3)
421                  IF(NFT(I2,5).NE.3 .OR. I2.EQ.JT) GO TO 2520
422                  DX=YT(1,I2)-XJ
423                  DY=YT(2,I2)-YJ
424                  PHI=ULANGL_HIJING(DX,DY)
425                  DPHI=ABS(PHI-PHIQ)
426                  IF(DPHI.GE.HIPR1(40)) DPHI=2.*HIPR1(40)-DPHI ! Uzhi
427                  IF(DPHI.GT.HIPR1(40)/2.0) GO TO 2520
428                  RD0=SQRT(DX*DX+DY*DY)
429                  IF(RD0*SIN(DPHI).GT.HIPR1(12)) GO TO 2520
430                  KT=KT+1
431                  LQT(KT)=I2
432                  RDT(KT)=COS(DPHI)*RD0
433  2520         CONTINUE
434 C*******        rearrange according to decending rd************
435               DO 2530 I2=1,KT-1
436                  DO 2530 J2=I2+1,KT
437                     IF(RDT(I2).LT.RDT(J2)) GO TO 2530
438                     RD=RDT(I2)
439                     LQ=LQT(I2)
440                     RDT(I2)=RDT(J2)
441                     LQT(I2)=LQT(J2)
442                     RDT(J2)=RD
443                     LQT(J2)=LQ
444  2530            CONTINUE
445                 
446                  MP=0
447                  MT=0
448                  NQ=0
449                  DP=0.0
450                  R0=0.0
451                  PTOT=SQRT(PXSG(ISG,I)**2+PYSG(ISG,I)**2
452      &                +PZSG(ISG,I)**2)
453                  V1=PXSG(ISG,I)/PTOT
454                  V2=PYSG(ISG,I)/PTOT
455                  V3=PZSG(ISG,I)/PTOT
456
457  2600            RN=RLU_HIJING(0)
458  2610            IF(MT.GE.KT .AND. MP.GE.KP) GO TO 2690
459                  IF(MT.GE.KT) GO TO 2620
460                  IF(MP.GE.KP) GO TO 2640
461                  IF(RDP(MP+1).GT.RDT(MT+1)) GO TO 2640
462  2620            MP=MP+1
463                  DRR=RDP(MP)-R0
464                  IF(RN.GE.1.0-EXP(-DRR/HIPR1(13))) GO TO 2610
465                  DP=DRR*DEDX0/2.0
466                  IF(DP.LE.0.2) GO TO 2610
467                  IF(PTOT.LE.0.4) GO TO 2690
468                  IF(PTOT.LE.DP) DP=PTOT-0.2
469                  DE=DP
470 C
471                  IF(K2SG(ISG,I).NE.21) THEN
472                     IF(PTOT.LT.DP+HIPR1(1)) GO TO 2690
473                     PRSHU=PP(LQP(MP),1)**2+PP(LQP(MP),2)**2
474      &                    +PP(LQP(MP),3)**2
475                     DE=SQRT(PMSG(ISG,I)**2+PTOT**2)
476      &                 -SQRT(PMSG(ISG,I)**2+(PTOT-DP)**2)
477                     ERSHU=(PP(LQP(MP),4)+DE-DP)**2
478                     AMSHU=ERSHU-PRSHU
479                     IF(AMSHU.LT.HIPR1(1)*HIPR1(1)) GO TO 2610
480                     PP(LQP(MP),4)=SQRT(ERSHU)
481                     PP(LQP(MP),5)=SQRT(AMSHU)
482                  ENDIF
483 C               ********reshuffle the energy when jet has mass
484 C
485                  R0=RDP(MP)
486                  DP1=DP*V1
487                  DP2=DP*V2
488                  DP3=DP*V3
489 C               ********momentum and energy transfer from jet
490                  NPJ(LQP(MP))=NPJ(LQP(MP))+1
491                  KFPJ(LQP(MP),NPJ(LQP(MP)))=21
492                  PJPX(LQP(MP),NPJ(LQP(MP)))=DP1
493                  PJPY(LQP(MP),NPJ(LQP(MP)))=DP2
494                  PJPZ(LQP(MP),NPJ(LQP(MP)))=DP3
495                  PJPE(LQP(MP),NPJ(LQP(MP)))=DP
496                  PJPM(LQP(MP),NPJ(LQP(MP)))=0.0
497
498                  GO TO 2660
499
500  2640            MT=MT+1
501                  DRR=RDT(MT)-R0
502                  IF(RN.GE.1.0-EXP(-DRR/HIPR1(13))) GO TO 2610
503                  DP=DRR*DEDX0
504                  IF(DP.LE.0.2) GO TO 2610
505                  IF(PTOT.LE.0.4) GO TO 2690
506                  IF(PTOT.LE.DP) DP=PTOT-0.2
507                  DE=DP
508
509                  IF(K2SG(ISG,I).NE.21) THEN
510                     IF(PTOT.LT.DP+HIPR1(1)) GO TO 2690
511                     PRSHU=PT(LQT(MT),1)**2+PT(LQT(MT),2)**2
512      &                    +PT(LQT(MT),3)**2
513                     DE=SQRT(PMSG(ISG,I)**2+PTOT**2)
514      &                 -SQRT(PMSG(ISG,I)**2+(PTOT-DP)**2)
515                     ERSHU=(PT(LQT(MT),4)+DE-DP)**2
516                     AMSHU=ERSHU-PRSHU
517                     IF(AMSHU.LT.HIPR1(1)*HIPR1(1)) GO TO 2610
518                     PT(LQT(MT),4)=SQRT(ERSHU)
519                     PT(LQT(MT),5)=SQRT(AMSHU)
520                  ENDIF
521 C               ********reshuffle the energy when jet has mass
522
523                  R0=RDT(MT)
524                  DP1=DP*V1
525                  DP2=DP*V2
526                  DP3=DP*V3
527 C               ********momentum and energy transfer from jet
528                  NTJ(LQT(MT))=NTJ(LQT(MT))+1
529                  KFTJ(LQT(MT),NTJ(LQT(MT)))=21
530                  PJTX(LQT(MT),NTJ(LQT(MT)))=DP1
531                  PJTY(LQT(MT),NTJ(LQT(MT)))=DP2
532                  PJTZ(LQT(MT),NTJ(LQT(MT)))=DP3
533                  PJTE(LQT(MT),NTJ(LQT(MT)))=DP
534                  PJTM(LQT(MT),NTJ(LQT(MT)))=0.0
535
536  2660            PXSG(ISG,I)=(PTOT-DP)*V1
537                  PYSG(ISG,I)=(PTOT-DP)*V2
538                  PZSG(ISG,I)=(PTOT-DP)*V3
539                  PESG(ISG,I)=PESG(ISG,I)-DE
540
541                  PTOT=PTOT-DP
542                  NQ=NQ+1
543                  GO TO 2600
544  2690   CONTINUE
545         RETURN
546         END
547
548
549
550
551
552
553