4 C*******************************************************************
8 C Scatter two excited strings, JP from proj and JT from target *
9 C*******************************************************************
10 SUBROUTINE HIJSFT(JP,JT,JOUT,IERROR)
11 #include "hijcrdn.inc"
12 #include "hiparnt.inc"
14 #include "hijjet1.inc"
15 #include "hijjet2.inc"
16 #include "histrng.inc"
17 #include "dpmcom1.inc"
18 #include "dpmcom2.inc"
20 C*******************************************************************
22 C of hard scatterings preceding this soft collision.
24 C double diffrac 2=single diffrac, 3=non-single diffrac.
25 C*******************************************************************
31 IF(JP.GT.IHNT2(1) .OR. JT.GT.IHNT2(3)) RETURN
41 C ********total W+,W- and center-of-mass energy
43 IF(WP.LT.0.0 .OR. WM.LT.0.0) GO TO 1000
46 IF(EPP.LT.0.0) GO TO 1000
47 IF(EPM.LT.0.0) GO TO 1000
48 IF(ETP.LT.0.0) GO TO 1000
49 IF(ETM.LT.0.0) GO TO 1000
50 IF(EPP/(EPM+0.01).LE.ETP/(ETM+0.01)) RETURN
52 C ********For strings which does not follow a jet-prod,
53 C scatter only if Ycm(JP)>Ycm(JT). When jets
54 C are produced just before this collision
55 C this requirement has already be enforced
56 C (see SUBROUTINE HIJHRD)
73 IF(NFP(JP,10).EQ.1.OR.NFT(JT,10).EQ.1) THEN
74 IF(NFP(JP,10).EQ.1) THEN
75 PHI1=ULANGL_HIJING(PP(JP,10),PP(JP,11))
76 PPJET=SQRT(PP(JP,10)**2+PP(JP,11)**2)
81 IF(NFT(JT,10).EQ.1) THEN
82 PHI2=ULANGL_HIJING(PT(JT,10),PT(JT,11))
83 PTJET=SQRT(PT(JT,10)**2+PT(JT,11)**2)
88 IF(IHPR2(4).GT.0.AND.IHNT2(1).GT.1.AND.IHNT2(3).GT.1) THEN
89 IF(NFP(JP,10).EQ.0) THEN
91 ELSE IF(NFT(JT,10).EQ.0) THEN
94 PHI=(PHI1+PHI2-HIPR1(40))/2.0
96 BX=HINT1(19)*COS(HINT1(20))
97 BY=HINT1(19)*SIN(HINT1(20))
102 R1=MAX(1.2*IHNT2(1)**0.3333333,
103 & SQRT(XP0**2+YP0**2))
104 R2=MAX(1.2*IHNT2(3)**0.3333333,
105 & SQRT((XT0-BX)**2+(YT0-BY)**2))
106 IF(ABS(COS(PHI)).LT.1.0E-5) THEN
109 C PH DD3=ABS(BY+SQRT(R2**2-(XP0-BX)**2)-YP0)
110 C PH DD4=ABS(BY-SQRT(R2**2-(XP0-BX)**2)-YP0)
111 DD3=ABS(BY+SQRT(R2**2-(XT0-BX)**2)-YP0)
112 DD4=ABS(BY-SQRT(R2**2-(XT0-BX)**2)-YP0)
115 BB=2.0*SIN(PHI)*(COS(PHI)*YP0-SIN(PHI)*XP0)
116 CC=(YP0**2-R1**2)*COS(PHI)**2+XP0*SIN(PHI)*(
117 & XP0*SIN(PHI)-2.0*YP0*COS(PHI))
119 IF(DD.LT.0.0) GO TO 10
120 XX1=(-BB+SQRT(DD))/2.0
121 XX2=(-BB-SQRT(DD))/2.0
122 DD1=ABS((XX1-XP0)/COS(PHI))
123 DD2=ABS((XX2-XP0)/COS(PHI))
125 BB=2.0*SIN(PHI)*(COS(PHI)*(YT0-BY)-SIN(PHI)*XT0)-2.0*BX
126 CC=(BX**2+(YT0-BY)**2-R2**2)*COS(PHI)**2+XT0*SIN(PHI)
127 & *(XT0*SIN(PHI)-2.0*COS(PHI)*(YT0-BY))
128 & -2.0*BX*SIN(PHI)*(COS(PHI)*(YT0-BY)-SIN(PHI)*XT0)
130 IF(DD.LT.0.0) GO TO 10
131 XX1=(-BB+SQRT(DD))/2.0
132 XX2=(-BB-SQRT(DD))/2.0
133 DD3=ABS((XX1-XT0)/COS(PHI))
134 DD4=ABS((XX2-XT0)/COS(PHI))
138 IF(DD1.LT.HIPR1(13)) DD1=0.0
139 IF(DD2.LT.HIPR1(13)) DD2=0.0
140 IF(NFP(JP,10).EQ.1.AND.PPJET.GT.HIPR1(11)) THEN
141 IF (IHPR2(50) .EQ. 1) THEN
142 DEDX0 = HIPR1(14)*LOG10(PPJET)/LOG10(5.)
147 DP1=MIN(DP1,PPJET-HIPR1(11))
154 CTHEP=PP(JP,12)/SQRT(PP(JP,12)**2+PPJET**2)
155 DPZ1=DP1*CTHEP/SQRT(1.0-CTHEP**2)
156 DPE1=SQRT(DPX1**2+DPY1**2+DPZ1**2)
157 EPPPRM=PP(JP,4)+PP(JP,3)-DPE1-DPZ1
158 EPMPRM=PP(JP,4)-PP(JP,3)-DPE1+DPZ1
159 IF(EPPPRM.LE.0.0.OR.EPMPRM.LE.0.0) GO TO 15
166 PJPX(JP,NPJ(JP))=DPX1
167 PJPY(JP,NPJ(JP))=DPY1
168 PJPZ(JP,NPJ(JP))=DPZ1
169 PJPE(JP,NPJ(JP))=DPE1
171 PP(JP,3)=PP(JP,3)-DPZ1
172 PP(JP,4)=PP(JP,4)-DPE1
175 15 IF(NFT(JT,10).EQ.1.AND.PTJET.GT.HIPR1(11)) THEN
176 IF (IHPR2(50) .EQ. 1) THEN
177 DEDX0 = HIPR1(14)*LOG10(PTJET)/LOG10(5.)
182 DP2=MIN(DP2,PTJET-HIPR1(11))
189 CTHET=PT(JT,12)/SQRT(PT(JT,12)**2+PTJET**2)
190 DPZ2=DP2*CTHET/SQRT(1.0-CTHET**2)
191 DPE2=SQRT(DPX2**2+DPY2**2+DPZ2**2)
192 ETPPRM=PT(JT,4)+PT(JT,3)-DPE2-DPZ2
193 ETMPRM=PT(JT,4)-PT(JT,3)-DPE2+DPZ2
194 IF(ETPPRM.LE.0.0.OR.ETMPRM.LE.0.0) GO TO 16
201 PJTX(JT,NTJ(JT))=DPX2
202 PJTY(JT,NTJ(JT))=DPY2
203 PJTZ(JT,NTJ(JT))=DPZ2
204 PJTE(JT,NTJ(JT))=DPE2
206 PT(JT,3)=PT(JT,3)-DPZ2
207 PT(JT,4)=PT(JT,4)-DPE2
210 16 DPKC11=-(PP(JP,10)-PKC11)/2.0
211 DPKC12=-(PP(JP,11)-PKC12)/2.0
212 DPKC21=-(PT(JT,10)-PKC21)/2.0
213 DPKC22=-(PT(JT,11)-PKC22)/2.0
219 C ********If jet is quenched the pt from valence quark
220 C hard scattering has to reduced by d*kapa
223 10 PTP02=PP(JP,1)**2+PP(JP,2)**2
224 PTT02=PT(JT,1)**2+PT(JT,2)**2
226 AMQ=MAX(PP(JP,14)+PP(JP,15),PT(JT,14)+PT(JT,15))
228 C ********consider mass cut-off for strings which
229 C must also include quark's mass
233 IF(NFP(JP,5).LE.2.AND.NFP(JP,3).NE.0) THEN
234 AMP0=ULMASS_HIJING(NFP(JP,3))
235 NFDP=NFP(JP,3)+2*NFP(JP,3)/ABS(NFP(JP,3))
236 DPM0=ULMASS_HIJING(NFDP)
238 NFDP=NFDP-2*NFDP/ABS(NFDP)
239 DPM0=ULMASS_HIJING(NFDP)
245 IF(NFT(JT,5).LE.2.AND.NFT(JT,3).NE.0) THEN
246 AMT0=ULMASS_HIJING(NFT(JT,3))
247 NFDT=NFT(JT,3)+2*NFT(JT,3)/ABS(NFT(JT,3))
248 DTM0=ULMASS_HIJING(NFDT)
250 NFDT=NFDT-2*NFDT/ABS(NFDT)
251 DTM0=ULMASS_HIJING(NFDT)
255 AMPN=SQRT(AMP0**2+PTP02)
256 AMTN=SQRT(AMT0**2+PTT02)
257 SNN=(AMPN+AMTN)**2+0.001
259 IF(SW.LT.SNN+0.001) GO TO 4000
260 C ********Scatter only if SW>SNN
261 C*****give some PT kick to the two exited strings******************
262 20 SWPTN=4.0*(MAX(AMP0,AMT0)**2+MAX(PTP02,PTT02))
263 SWPTD=4.0*(MAX(DPM0,DTM0)**2+MAX(PTP02,PTT02))
264 SWPTX=4.0*(AMX**2+MAX(PTP02,PTT02))
267 ELSE IF(SW.GT.SWPTN .AND. SW.LE.SWPTD
268 & .AND.NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0) THEN
269 PKCMX=SQRT(SW/4.0-MAX(AMP0,AMT0)**2)
270 & -SQRT(MAX(PTP02,PTT02))
271 ELSE IF(SW.GT.SWPTD .AND. SW.LE.SWPTX
272 & .AND.NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0) THEN
273 PKCMX=SQRT(SW/4.0-MAX(DPM0,DTM0)**2)
274 & -SQRT(MAX(PTP02,PTT02))
275 ELSE IF(SW.GT.SWPTX) THEN
276 PKCMX=SQRT(SW/4.0-AMX**2)-SQRT(MAX(PTP02,PTT02))
278 C ********maximun PT kick
279 C*********************************************************
281 IF(NFP(JP,10).EQ.1.OR.NFT(JT,10).EQ.1) THEN
282 IF(PKC1.GT.PKCMX) THEN
286 DPKC11=-(PP(JP,10)-PKC11)/2.0
287 DPKC12=-(PP(JP,11)-PKC12)/2.0
289 IF(PKC2.GT.PKCMX) THEN
293 DPKC21=-(PT(JT,10)-PKC21)/2.0
294 DPKC22=-(PT(JT,11)-PKC22)/2.0
298 NFP(JP,10)=-NFP(JP,10)
299 NFT(JT,10)=-NFT(JT,10)
302 C ********If the valence quarks had a hard-collision
303 C the pt kick is the pt from hard-collision.
305 IF(IHPR2(13).NE.0 .AND. RLU_HIJING(0).LE.HIDAT(4)) I_SNG=1
306 IF((NFP(JP,5).EQ.3 .OR.NFT(JT,5).EQ.3).OR.
307 & (NPJ(JP).NE.0.OR.NFP(JP,10).NE.0).OR.
308 & (NTJ(JT).NE.0.OR.NFT(JT,10).NE.0)) I_SNG=0
310 C ********decite whether to have single-diffractive
311 IF(IHPR2(5).EQ.0) THEN
312 PKC=HIPR1(2)*SQRT(-ALOG(1.0-RLU_HIJING(0)
313 & *(1.0-EXP(-PKCMX**2/HIPR1(2)**2))))
316 PKC=HIRND2(3,0.0,PKCMX**2)
319 & PKC=HIPR1(2)*SQRT(-ALOG(EXP(-HIPR1(20)**2/HIPR1(2)**2)
320 & -RLU_HIJING(0)*(EXP(-HIPR1(20)**2/HIPR1(2)**2)-
321 & EXP(-PKCMX**2/HIPR1(2)**2))))
323 IF(I_SNG.EQ.1) PKC=0.65*SQRT(
324 & -ALOG(1.0-RLU_HIJING(0)*(1.0-EXP(-PKCMX**2/0.65**2))))
325 C ********select PT kick
326 30 PHI0=2.0*HIPR1(40)*RLU_HIJING(0)
333 40 PP11=PP(JP,1)+PKC11-DPKC1
334 PP12=PP(JP,2)+PKC12-DPKC2
335 PT11=PT(JT,1)+PKC21-DPKC1
336 PT12=PT(JT,2)+PKC22-DPKC2
340 AMPN=SQRT(AMP0**2+PTP2)
341 AMTN=SQRT(AMT0**2+PTT2)
342 SNN=(AMPN+AMTN)**2+0.001
343 C***************************************
347 C****************************************
355 & WRITE(6,*) 'Error occured in Pt kick section of HIJSFT'
358 C******************************************************************
359 AMPD=SQRT(DPM0**2+PTP2)
360 AMTD=SQRT(DTM0**2+PTT2)
362 AMPX=SQRT(AMX**2+PTP2)
363 AMTX=SQRT(AMX**2+PTT2)
374 C ********CM energy if proj=N,targ=N*
377 C ********CM energy if proj=N*,targ=N
385 C ********CM energy if proj=delta, targ=delta
386 C****************There are many different cases**********
387 c IF(IHPR2(15).EQ.1) GO TO 500
389 C ********to have DPM type soft interactions
392 IF(SW.GT.SXX+0.001) THEN
400 c**** 5/30/1998 this is identical to the above statement. Added to
401 c**** avoid questional branching to block.
402 IF((NFP(JP,5).EQ.3 .AND.NFT(JT,5).EQ.3).OR.
403 & (NPJ(JP).NE.0.OR.NFP(JP,10).NE.0).OR.
404 & (NTJ(JT).NE.0.OR.NFT(JT,10).NE.0)) THEN
411 C ********do not allow excited strings to have
413 IF(RLU_HIJING(0).GT.0.5.OR.(NFT(JT,5).GT.2.OR.
414 & NTJ(JT).NE.0.OR.NFT(JT,10).NE.0)) THEN
427 C ********have single diffractive collision
429 ELSE IF(SW.GT.MAX(SPDTX,SPXTD)+0.001 .AND.
430 & SW.LE.SXX+0.001) THEN
431 IF(((NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0.AND.
432 & RLU_HIJING(0).GT.0.5).OR.(NPJ(JP).EQ.0
433 & .AND.NTJ(JT).NE.0)).AND.NFP(JP,5).LE.2) THEN
439 ELSE IF(NTJ(JT).EQ.0.AND.NFT(JT,5).LE.2) THEN
447 ELSE IF(SW.GT.MIN(SPDTX,SPXTD)+0.001.AND.
448 & SW.LE.MAX(SPDTX,SPXTD)+0.001) THEN
449 IF(SPDTX.LE.SPXTD.AND.NPJ(JP).EQ.0
450 & .AND.NFP(JP,5).LE.2) THEN
456 ELSE IF(SPDTX.GT.SPXTD.AND.NTJ(JT).EQ.0
457 & .AND.NFT(JT,5).LE.2) THEN
464 c*** 5/30/1998 added to avoid questional branching to another block
465 c*** this is identical to the statement following the next ELSE IF
466 IF(((NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0
467 & .AND.RLU_HIJING(0).GT.0.5).OR.(NPJ(JP).EQ.0
468 & .AND.NTJ(JT).NE.0)).AND.NFP(JP,5).LE.2) THEN
474 ELSE IF(NTJ(JT).EQ.0.AND.NFT(JT,5).LE.2) THEN
482 ELSE IF(SW.GT.MAX(SPNTX,SPXTN)+0.001 .AND.
483 & SW.LE.MIN(SPDTX,SPXTD)+0.001) THEN
484 IF(((NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0
485 & .AND.RLU_HIJING(0).GT.0.5).OR.(NPJ(JP).EQ.0
486 & .AND.NTJ(JT).NE.0)).AND.NFP(JP,5).LE.2) THEN
492 ELSE IF(NTJ(JT).EQ.0.AND.NFT(JT,5).LE.2) THEN
500 ELSE IF(SW.GT.MIN(SPNTX,SPXTN)+0.001 .AND.
501 & SW.LE.MAX(SPNTX,SPXTN)+0.001) THEN
502 IF(SPNTX.LE.SPXTN.AND.NPJ(JP).EQ.0
503 & .AND.NFP(JP,5).LE.2) THEN
509 ELSEIF(SPNTX.GT.SPXTN.AND.NTJ(JT).EQ.0
510 & .AND.NFT(JT,5).LE.2) THEN
518 ELSE IF(SW.LE.MIN(SPNTX,SPXTN)+0.001 .AND.
519 & (NPJ(JP).NE.0 .OR.NTJ(JT).NE.0)) THEN
521 ELSE IF(SW.LE.MIN(SPNTX,SPXTN)+0.001 .AND.
522 & NFP(JP,5).GT.2.AND.NFT(JT,5).GT.2) THEN
524 ELSE IF(SW.GT.SDD+0.001.AND.SW.LE.
525 & MIN(SPNTX,SPXTN)+0.001) THEN
531 ELSE IF(SW.GT.MAX(SPNTD,SPDTN)+0.001
532 & .AND. SW.LE.SDD+0.001) THEN
533 IF(RLU_HIJING(0).GT.0.5) THEN
546 ELSE IF(SW.GT.MIN(SPNTD,SPDTN)+0.001
547 & .AND. SW.LE.MAX(SPNTD,SPDTN)+0.001) THEN
548 IF(SPNTD.GT.SPDTN) THEN
561 ELSE IF(SW.LE.MIN(SPNTD,SPDTN)+0.001) THEN
568 WRITE(6,*) ' Error in HIJSFT: There is no path to here'
571 C*************** elastic scattering ***************
572 C this is like elastic, both proj and targ mass
574 C***************************************************
575 100 NFP5=MAX(2,NFP(JP,5))
576 NFT5=MAX(2,NFT(JT,5))
579 IF(BB1**2.LT.4.0*D1 .OR. BB2**2.LT.4.0*D2) THEN
581 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
585 IF(RLU_HIJING(0).LT.0.5) THEN
586 X1=(BB1-SQRT(BB1**2-4.0*D1))/2.0
587 X2=(BB2-SQRT(BB2**2-4.0*D2))/2.0
589 X1=(BB1+SQRT(BB1**2-4.0*D1))/2.0
590 X2=(BB2+SQRT(BB2**2-4.0*D2))/2.0
595 C********** Single diffractive ***********************
596 C either proj or targ's mass is fixed
597 C*****************************************************
598 220 NFP5=MAX(2,NFP(JP,5))
602 IF(BB2**2.LT.4.0*D2) THEN
604 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
608 XMIN=(BB2-SQRT(BB2**2-4.0*D2))/2.0
609 XMAX=(BB2+SQRT(BB2**2-4.0*D2))/2.0
611 222 X2=HIRND2(6,XMIN,XMAX)
613 IF(X2*(1.0-X1).LT.(D2+1.E-4/SW)) THEN
615 IF(MISS4.LE.1000) GO TO 222
620 C ********Fix proj mass*********
622 NFT5=MAX(2,NFT(JT,5))
625 IF(BB1**2.LT.4.0*D1) THEN
627 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
631 XMIN=(BB1-SQRT(BB1**2-4.0*D1))/2.0
632 XMAX=(BB1+SQRT(BB1**2-4.0*D1))/2.0
634 242 X1=HIRND2(6,XMIN,XMAX)
636 IF(X1*(1.0-X2).LT.(D1+1.E-4/SW)) THEN
638 IF(MISS4.LE.1000) GO TO 242
643 C ********Fix targ mass*********
645 C*************non-single diffractive**********************
646 C both proj and targ may not be fixed in mass
647 C*********************************************************
653 IF(BB1**2.LT.4.0*D1 .OR. BB2**2.LT.4.0*D2) THEN
655 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
659 XMIN1=(BB1-SQRT(BB1**2-4.0*D1))/2.0
660 XMAX1=(BB1+SQRT(BB1**2-4.0*D1))/2.0
661 XMIN2=(BB2-SQRT(BB2**2-4.0*D2))/2.0
662 XMAX2=(BB2+SQRT(BB2**2-4.0*D2))/2.0
664 410 X1=HIRND2(4,XMIN1,XMAX1)
665 X2=HIRND2(4,XMIN2,XMAX2)
666 IF(NFP(JP,5).EQ.3.OR.NFT(JT,5).EQ.3) THEN
667 X1=HIRND2(6,XMIN1,XMAX1)
668 X2=HIRND2(6,XMIN2,XMAX2)
671 IF(ABS(NFP(JP,1)*NFP(JP,2)).GT.1000000.OR.
672 & ABS(NFP(JP,1)*NFP(JP,2)).LT.100) THEN
673 X1=HIRND2(5,XMIN1,XMAX1)
675 IF(ABS(NFT(JT,1)*NFT(JT,2)).GT.1000000.OR.
676 & ABS(NFT(JT,1)*NFT(JT,2)).LT.100) THEN
677 X2=HIRND2(5,XMIN2,XMAX2)
679 c IF(IOPMAIN.EQ.3) X1=HIRND2(6,XMIN1,XMAX1)
680 c IF(IOPMAIN.EQ.2) X2=HIRND2(6,XMIN2,XMAX2)
681 C ********For q-qbar or (qq)-(qq)bar system use symetric
682 C distribution, for q-(qq) or qbar-(qq)bar use
683 C unsymetrical distribution
685 IF(ABS(NFP(JP,1)*NFP(JP,2)).GT.1000000) X1=1.0-X1
688 IF(XXP.LT.(D1+1.E-4/SW) .OR. XXT.LT.(D2+1.E-4/SW)) THEN
690 IF(MISS4.LE.1000) GO TO 410
694 C***************************************************
695 C***************************************************
697 IF(X1*(1.0-X2).LT.(AMPN**2-1.E-4)/SW.OR.
698 & X2*(1.0-X1).LT.(AMTN**2-1.E-4)/SW) THEN
700 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 2000
709 PP(JP,3)=(EPP-EPM)/2.0
710 PP(JP,4)=(EPP+EPM)/2.0
711 IF(EPP*EPM-PTP2.LT.0.0) GO TO 6000
712 PP(JP,5)=SQRT(EPP*EPM-PTP2)
716 PT(JT,3)=(ETP-ETM)/2.0
717 PT(JT,4)=(ETP+ETM)/2.0
718 IF(ETP*ETM-PTT2.LT.0.0) GO TO 6000
719 PT(JT,5)=SQRT(ETP*ETM-PTT2)
722 C*****recoil PT from hard-inter is shared by two end-partons
729 IF(ABS(NFP(JP,1)*NFP(JP,2)).GT.1000000.OR.
730 & ABS(NFP(JP,1)*NFP(JP,2)).LT.100) THEN
733 IF(ABS(NFT(JT,1)*NFT(JT,2)).GT.1000000.OR.
734 & ABS(NFT(JT,1)*NFT(JT,2)).LT.100) THEN
737 IF((KICKDIP.EQ.0.AND.RLU_HIJING(0).LT.0.5)
738 & .OR.(KICKDIP.NE.0.AND.RLU_HIJING(0)
739 & .LT.0.5/(1.0+(PKC11**2+PKC12**2)/HIPR1(22)**2))) THEN
740 PP(JP,6)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0+PP(JP,6)
741 PP(JP,7)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0+PP(JP,7)
742 PP(JP,8)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0
744 PP(JP,9)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0
747 PP(JP,8)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0+PP(JP,8)
748 PP(JP,9)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0+PP(JP,9)
749 PP(JP,6)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0
751 PP(JP,7)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0
754 PP(JP,1)=PP(JP,6)+PP(JP,8)
755 PP(JP,2)=PP(JP,7)+PP(JP,9)
756 C ********pt kick for proj
759 IF((KICKDIT.EQ.0.AND.RLU_HIJING(0).LT.0.5)
760 & .OR.(KICKDIT.NE.0.AND.RLU_HIJING(0)
761 & .LT.0.5/(1.0+(PKC21**2+PKC22**2)/HIPR1(22)**2))) THEN
762 PT(JT,6)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0+PT(JT,6)
763 PT(JT,7)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0+PT(JT,7)
764 PT(JT,8)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0
766 PT(JT,9)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0
769 PT(JT,8)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0+PT(JT,8)
770 PT(JT,9)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0+PT(JT,9)
771 PT(JT,6)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0
773 PT(JT,7)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0
776 PT(JT,1)=PT(JT,6)+PT(JT,8)
777 PT(JT,2)=PT(JT,7)+PT(JT,9)
778 C ********pt kick for targ
780 IF(NPJ(JP).NE.0) NFP(JP,5)=3
781 IF(NTJ(JT).NE.0) NFT(JT,5)=3
782 C ********jets must be connected to string
783 IF(EPP/(EPM+0.0001).LT.ETP/(ETM+0.0001).AND.
784 & ABS(NFP(JP,1)*NFP(JP,2)).LT.1000000)THEN
787 PP(JP,JSB)=PT(JT,JSB)
790 NFP(JP,JSB)=NFT(JT,JSB)
793 C ********when Ycm(JP)<Ycm(JT) after the collision
794 C exchange the positions of the two
798 C**************************************************
799 C**************************************************
801 IF(IHPR2(10).EQ.0) RETURN
802 WRITE(6,*) ' Fatal HIJSFT start error,abandon this event'
803 WRITE(6,*) ' PROJ E+,E-,W+',EPP,EPM,WP
804 WRITE(6,*) ' TARG E+,E-,W-',ETP,ETM,WM
805 WRITE(6,*) ' W+*W-, (APN+ATN)^2',SW,SNN
808 IF(IHPR2(10).EQ.0) RETURN
809 WRITE(6,*) ' (2)energy partition fail,'
810 WRITE(6,*) ' HIJSFT not performed, but continue'
811 WRITE(6,*) ' MP1,MPN',X1*(1.0-X2)*SW,AMPN**2
812 WRITE(6,*) ' MT2,MTN',X2*(1.0-X1)*SW,AMTN**2
815 IF(IHPR2(10).EQ.0) RETURN
816 WRITE(6,*) ' (3)something is wrong with the pt kick, '
817 WRITE(6,*) ' HIJSFT not performed, but continue'
818 WRITE(6,*) ' D1=',D1,' D2=',D2,' SW=',SW
819 WRITE(6,*) ' HISTORY NFP5=',NFP(JP,5),' NFT5=',NFT(JT,5)
820 WRITE(6,*) ' THIS COLLISON NFP5=',NFP5, ' NFT5=',NFT5
821 WRITE(6,*) ' # OF JET IN PROJ',NPJ(JP),' IN TARG',NTJ(JT)
824 IF(IHPR2(10).EQ.0) RETURN
825 WRITE(6,*) ' (4)unable to choose process, but not harmful'
826 WRITE(6,*) ' HIJSFT not performed, but continue'
827 WRITE(6,*) ' PTP=',SQRT(PTP2),' PTT=',SQRT(PTT2),' SW=',SW
828 WRITE(6,*) ' AMCUT=',AMX,' JP=',JP,' JT=',JT
829 WRITE(6,*) ' HISTORY NFP5=',NFP(JP,5),' NFT5=',NFT(JT,5)
832 IF(IHPR2(10).EQ.0) RETURN
833 WRITE(6,*) ' energy partition failed(5),for limited try'
834 WRITE(6,*) ' HIJSFT not performed, but continue'
835 WRITE(6,*) ' NFP5=',NFP5,' NFT5=',NFT5
836 WRITE(6,*) ' D1',D1,' X1(1-X2)',X1*(1.0-X2)
837 WRITE(6,*) ' D2',D2,' X2(1-X1)',X2*(1.0-X1)
841 IF(MISS.LT.100) GO TO 30
843 IF(IHPR2(10).EQ.0) RETURN
844 WRITE(6,*) ' ERROR OCCURED, HIJSFT NOT PERFORMED'
845 WRITE(6,*) ' Abort this event'
846 WRITE(6,*) 'MTP,PTP2',EPP*EPM,PTP2,' MTT,PTT2',ETP*ETM,PTT2