4 C*******************************************************************
8 C Scatter two excited strings, JP from proj and JT from target *
9 C*******************************************************************
10 SUBROUTINE HIJSFT(JP,JT,JOUT,IERROR)
12 #include "hijcrdn.inc"
13 #include "hiparnt.inc"
15 #include "hijjet1.inc"
16 #include "hijjet2.inc"
17 #include "histrng.inc"
18 #include "dpmcom1.inc"
19 #include "dpmcom2.inc"
21 C*******************************************************************
23 C of hard scatterings preceding this soft collision.
25 C double diffrac 2=single diffrac, 3=non-single diffrac.
26 C*******************************************************************
32 IF(JP.GT.IHNT2(1) .OR. JT.GT.IHNT2(3)) RETURN
42 C ********total W+,W- and center-of-mass energy
44 IF(WP.LT.0.0 .OR. WM.LT.0.0) GO TO 1000
47 IF(EPP.LT.0.0) GO TO 1000
48 IF(EPM.LT.0.0) GO TO 1000
49 IF(ETP.LT.0.0) GO TO 1000
50 IF(ETM.LT.0.0) GO TO 1000
51 IF(EPP/(EPM+0.01).LE.ETP/(ETM+0.01)) RETURN
53 C ********For strings which does not follow a jet-prod,
54 C scatter only if Ycm(JP)>Ycm(JT). When jets
55 C are produced just before this collision
56 C this requirement has already be enforced
57 C (see SUBROUTINE HIJHRD)
74 IF(NFP(JP,10).EQ.1.OR.NFT(JT,10).EQ.1) THEN
75 IF(NFP(JP,10).EQ.1) THEN
76 PHI1=ULANGL_HIJING(PP(JP,10),PP(JP,11))
77 PPJET=SQRT(PP(JP,10)**2+PP(JP,11)**2)
82 IF(NFT(JT,10).EQ.1) THEN
83 PHI2=ULANGL_HIJING(PT(JT,10),PT(JT,11))
84 PTJET=SQRT(PT(JT,10)**2+PT(JT,11)**2)
90 C Quenching requested ?
92 IF(IHPR2(4).GT.0.AND.IHNT2(1).GT.1.AND.IHNT2(3).GT.1) THEN
93 IF(NFP(JP,10).EQ.0) THEN
95 ELSE IF(NFT(JT,10).EQ.0) THEN
98 IF (PHI1.LT.0. .AND. PHI2.GT.0) THEN ! PH AM
99 PHI=(PHI1+PHI2-HIPR1(40))/2.0 ! PH AM
101 PHI=(PHI1+PHI2+HIPR1(40))/2.0 ! PH AM
104 BX=HINT1(19)*COS(HINT1(20))
105 BY=HINT1(19)*SIN(HINT1(20))
110 R1=MAX(1.2*IHNT2(1)**0.3333333,
111 & SQRT(XP0**2+YP0**2))
112 R2=MAX(1.2*IHNT2(3)**0.3333333,
113 & SQRT((XT0-BX)**2+(YT0-BY)**2))
114 IF(ABS(COS(PHI)).LT.1.0E-5) THEN
117 DD1 = ABS(SQRT(R1**2-(XT0-BX)**2) - YT0)
118 DD2 = ABS(SQRT(R1**2-(XT0-BX)**2) + YT0)
119 C PH DD3=ABS(BY+SQRT(R2**2-(XP0-BX)**2)-YP0)
120 C PH DD4=ABS(BY-SQRT(R2**2-(XP0-BX)**2)-YP0)
121 DD3=ABS(BY+SQRT(R2**2-(XT0-BX)**2)-YP0)
122 DD4=ABS(BY-SQRT(R2**2-(XT0-BX)**2)-YP0)
125 BB=2.0*SIN(PHI)*(COS(PHI)*YP0-SIN(PHI)*XP0)
126 CC=(YP0**2-R1**2)*COS(PHI)**2+XP0*SIN(PHI)*(
127 & XP0*SIN(PHI)-2.0*YP0*COS(PHI))
129 IF(DD.LT.0.0) GO TO 10
130 XX1=(-BB+SQRT(DD))/2.0
131 XX2=(-BB-SQRT(DD))/2.0
132 DD1=ABS((XX1-XP0)/COS(PHI))
133 DD2=ABS((XX2-XP0)/COS(PHI))
135 BB=2.0*SIN(PHI)*(COS(PHI)*(YT0-BY)-SIN(PHI)*XT0)-2.0*BX
136 CC=(BX**2+(YT0-BY)**2-R2**2)*COS(PHI)**2+XT0*SIN(PHI)
137 & *(XT0*SIN(PHI)-2.0*COS(PHI)*(YT0-BY))
138 & -2.0*BX*SIN(PHI)*(COS(PHI)*(YT0-BY)-SIN(PHI)*XT0)
140 IF(DD.LT.0.0) GO TO 10
141 XX1=(-BB+SQRT(DD))/2.0
142 XX2=(-BB-SQRT(DD))/2.0
143 DD3=ABS((XX1-XT0)/COS(PHI))
144 DD4=ABS((XX2-XT0)/COS(PHI))
148 IF(DD1.LT.HIPR1(13)) DD1=0.0
149 IF(DD2.LT.HIPR1(13)) DD2=0.0
150 IF(NFP(JP,10).EQ.1.AND.PPJET.GT.HIPR1(11)) THEN
151 IF (IHPR2(50) .EQ. 1) THEN
152 DEDX0 = HIPR1(14)*LOG10(PPJET)/LOG10(5.)
157 DP1=MIN(DP1,PPJET-HIPR1(11))
164 CTHEP=PP(JP,12)/SQRT(PP(JP,12)**2+PPJET**2)
165 DPZ1=DP1*CTHEP/SQRT(1.0-CTHEP**2)
166 DPE1=SQRT(DPX1**2+DPY1**2+DPZ1**2)
167 EPPPRM=PP(JP,4)+PP(JP,3)-DPE1-DPZ1
168 EPMPRM=PP(JP,4)-PP(JP,3)-DPE1+DPZ1
169 IF(EPPPRM.LE.0.0.OR.EPMPRM.LE.0.0) GO TO 15
176 PJPX(JP,NPJ(JP))=DPX1
177 PJPY(JP,NPJ(JP))=DPY1
178 PJPZ(JP,NPJ(JP))=DPZ1
179 PJPE(JP,NPJ(JP))=DPE1
181 PP(JP,3)=PP(JP,3)-DPZ1
182 PP(JP,4)=PP(JP,4)-DPE1
185 15 IF(NFT(JT,10).EQ.1.AND.PTJET.GT.HIPR1(11)) THEN
186 IF (IHPR2(50) .EQ. 1) THEN
187 DEDX0 = HIPR1(14)*LOG10(PTJET)/LOG10(5.)
192 DP2=MIN(DP2,PTJET-HIPR1(11))
199 CTHET=PT(JT,12)/SQRT(PT(JT,12)**2+PTJET**2)
200 DPZ2=DP2*CTHET/SQRT(1.0-CTHET**2)
201 DPE2=SQRT(DPX2**2+DPY2**2+DPZ2**2)
202 ETPPRM=PT(JT,4)+PT(JT,3)-DPE2-DPZ2
203 ETMPRM=PT(JT,4)-PT(JT,3)-DPE2+DPZ2
204 IF(ETPPRM.LE.0.0.OR.ETMPRM.LE.0.0) GO TO 16
211 PJTX(JT,NTJ(JT))=DPX2
212 PJTY(JT,NTJ(JT))=DPY2
213 PJTZ(JT,NTJ(JT))=DPZ2
214 PJTE(JT,NTJ(JT))=DPE2
216 PT(JT,3)=PT(JT,3)-DPZ2
217 PT(JT,4)=PT(JT,4)-DPE2
236 IF(NFP(JP,10).EQ.1) THEN
237 PPJET=SQRT(PP(JP,10)**2+PP(JP,11)**2)
240 IF(NFT(JT,10).EQ.1) THEN
241 PTJET=SQRT(PT(JT,10)**2+PT(JT,11)**2)
244 C ********If jet is quenched the pt from valence quark
245 C hard scattering has to reduced by d*kapa
248 10 PTP02=PP(JP,1)**2+PP(JP,2)**2
249 PTT02=PT(JT,1)**2+PT(JT,2)**2
251 AMQ=MAX(PP(JP,14)+PP(JP,15),PT(JT,14)+PT(JT,15))
253 C ********consider mass cut-off for strings which
254 C must also include quark's mass
258 IF(NFP(JP,5).LE.2.AND.NFP(JP,3).NE.0) THEN
259 AMP0=ULMASS_HIJING(NFP(JP,3))
260 NFDP=NFP(JP,3)+2*NFP(JP,3)/ABS(NFP(JP,3))
261 DPM0=ULMASS_HIJING(NFDP)
263 NFDP=NFDP-2*NFDP/ABS(NFDP)
264 DPM0=ULMASS_HIJING(NFDP)
270 IF(NFT(JT,5).LE.2.AND.NFT(JT,3).NE.0) THEN
271 AMT0=ULMASS_HIJING(NFT(JT,3))
272 NFDT=NFT(JT,3)+2*NFT(JT,3)/ABS(NFT(JT,3))
273 DTM0=ULMASS_HIJING(NFDT)
275 NFDT=NFDT-2*NFDT/ABS(NFDT)
276 DTM0=ULMASS_HIJING(NFDT)
280 AMPN=SQRT(AMP0**2+PTP02)
281 AMTN=SQRT(AMT0**2+PTT02)
282 SNN=(AMPN+AMTN)**2+0.001
284 IF(SW.LT.SNN+0.001) GO TO 4000
285 C ********Scatter only if SW>SNN
286 C*****give some PT kick to the two exited strings******************
287 20 SWPTN=4.0*(MAX(AMP0,AMT0)**2+MAX(PTP02,PTT02))
288 SWPTD=4.0*(MAX(DPM0,DTM0)**2+MAX(PTP02,PTT02))
289 SWPTX=4.0*(AMX**2+MAX(PTP02,PTT02))
292 ELSE IF(SW.GT.SWPTN .AND. SW.LE.SWPTD
293 & .AND.NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0) THEN
294 PKCMX=SQRT(SW/4.0-MAX(AMP0,AMT0)**2)
295 & -SQRT(MAX(PTP02,PTT02))
296 ELSE IF(SW.GT.SWPTD .AND. SW.LE.SWPTX
297 & .AND.NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0) THEN
298 PKCMX=SQRT(SW/4.0-MAX(DPM0,DTM0)**2)
299 & -SQRT(MAX(PTP02,PTT02))
300 ELSE IF(SW.GT.SWPTX) THEN
301 PKCMX=SQRT(SW/4.0-AMX**2)-SQRT(MAX(PTP02,PTT02))
303 C ********maximun PT kick
304 C*********************************************************
305 IF(NFP(JP,10).EQ.1.OR.NFT(JT,10).EQ.1) THEN
306 IF(PKC1.GT.PKCMX) THEN
310 DPKC11=-(PP(JP,10)-PKC11)/2.0
311 DPKC12=-(PP(JP,11)-PKC12)/2.0
313 IF(PKC2.GT.PKCMX) THEN
317 DPKC21=-(PT(JT,10)-PKC21)/2.0
318 DPKC22=-(PT(JT,11)-PKC22)/2.0
322 NFP(JP,10)=-NFP(JP,10)
323 NFT(JT,10)=-NFT(JT,10)
326 C ********If the valence quarks had a hard-collision
327 C the pt kick is the pt from hard-collision.
329 IF(IHPR2(13).NE.0 .AND. RLU_HIJING(0).LE.HIDAT(4)) I_SNG=1
330 IF((NFP(JP,5).EQ.3 .OR.NFT(JT,5).EQ.3).OR.
331 & (NPJ(JP).NE.0.OR.NFP(JP,10).NE.0).OR.
332 & (NTJ(JT).NE.0.OR.NFT(JT,10).NE.0)) I_SNG=0
334 C ********decite whether to have single-diffractive
335 IF(IHPR2(5).EQ.0) THEN
336 PKC=HIPR1(2)*SQRT(-ALOG(1.0-RLU_HIJING(0)
337 & *(1.0-EXP(-PKCMX**2/HIPR1(2)**2))))
340 PKC=HIRND2(3,0.0,PKCMX**2)
343 & PKC=HIPR1(2)*SQRT(-ALOG(EXP(-HIPR1(20)**2/HIPR1(2)**2)
344 & -RLU_HIJING(0)*(EXP(-HIPR1(20)**2/HIPR1(2)**2)-
345 & EXP(-PKCMX**2/HIPR1(2)**2))))
347 IF(I_SNG.EQ.1) PKC=0.65*SQRT(
348 & -ALOG(1.0-RLU_HIJING(0)*(1.0-EXP(-PKCMX**2/0.65**2))))
349 C ********select PT kick
350 30 PHI0=2.0*HIPR1(40)*RLU_HIJING(0)
357 40 PP11=PP(JP,1)+PKC11-DPKC1
358 PP12=PP(JP,2)+PKC12-DPKC2
359 PT11=PT(JT,1)+PKC21-DPKC1
360 PT12=PT(JT,2)+PKC22-DPKC2
364 AMPN=SQRT(AMP0**2+PTP2)
365 AMTN=SQRT(AMT0**2+PTT2)
366 SNN=(AMPN+AMTN)**2+0.001
367 C***************************************
371 C****************************************
379 & WRITE(6,*) 'Error occured in Pt kick section of HIJSFT'
382 C******************************************************************
383 AMPD=SQRT(DPM0**2+PTP2)
384 AMTD=SQRT(DTM0**2+PTT2)
386 AMPX=SQRT(AMX**2+PTP2)
387 AMTX=SQRT(AMX**2+PTT2)
398 C ********CM energy if proj=N,targ=N*
401 C ********CM energy if proj=N*,targ=N
409 C ********CM energy if proj=delta, targ=delta
410 C****************There are many different cases**********
411 c IF(IHPR2(15).EQ.1) GO TO 500
413 C ********to have DPM type soft interactions
416 IF(SW.GT.SXX+0.001) THEN
424 c**** 5/30/1998 this is identical to the above statement. Added to
425 c**** avoid questional branching to block.
426 IF((NFP(JP,5).EQ.3 .AND.NFT(JT,5).EQ.3).OR.
427 & (NPJ(JP).NE.0.OR.NFP(JP,10).NE.0).OR.
428 & (NTJ(JT).NE.0.OR.NFT(JT,10).NE.0)) THEN
435 C ********do not allow excited strings to have
437 IF(RLU_HIJING(0).GT.0.5.OR.(NFT(JT,5).GT.2.OR.
438 & NTJ(JT).NE.0.OR.NFT(JT,10).NE.0)) THEN
451 C ********have single diffractive collision
453 ELSE IF(SW.GT.MAX(SPDTX,SPXTD)+0.001 .AND.
454 & SW.LE.SXX+0.001) THEN
455 IF(((NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0.AND.
456 & RLU_HIJING(0).GT.0.5).OR.(NPJ(JP).EQ.0
457 & .AND.NTJ(JT).NE.0)).AND.NFP(JP,5).LE.2) THEN
463 ELSE IF(NTJ(JT).EQ.0.AND.NFT(JT,5).LE.2) THEN
471 ELSE IF(SW.GT.MIN(SPDTX,SPXTD)+0.001.AND.
472 & SW.LE.MAX(SPDTX,SPXTD)+0.001) THEN
473 IF(SPDTX.LE.SPXTD.AND.NPJ(JP).EQ.0
474 & .AND.NFP(JP,5).LE.2) THEN
480 ELSE IF(SPDTX.GT.SPXTD.AND.NTJ(JT).EQ.0
481 & .AND.NFT(JT,5).LE.2) THEN
488 c*** 5/30/1998 added to avoid questional branching to another block
489 c*** this is identical to the statement following the next ELSE IF
490 IF(((NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0
491 & .AND.RLU_HIJING(0).GT.0.5).OR.(NPJ(JP).EQ.0
492 & .AND.NTJ(JT).NE.0)).AND.NFP(JP,5).LE.2) THEN
498 ELSE IF(NTJ(JT).EQ.0.AND.NFT(JT,5).LE.2) THEN
506 ELSE IF(SW.GT.MAX(SPNTX,SPXTN)+0.001 .AND.
507 & SW.LE.MIN(SPDTX,SPXTD)+0.001) THEN
508 IF(((NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0
509 & .AND.RLU_HIJING(0).GT.0.5).OR.(NPJ(JP).EQ.0
510 & .AND.NTJ(JT).NE.0)).AND.NFP(JP,5).LE.2) THEN
516 ELSE IF(NTJ(JT).EQ.0.AND.NFT(JT,5).LE.2) THEN
524 ELSE IF(SW.GT.MIN(SPNTX,SPXTN)+0.001 .AND.
525 & SW.LE.MAX(SPNTX,SPXTN)+0.001) THEN
526 IF(SPNTX.LE.SPXTN.AND.NPJ(JP).EQ.0
527 & .AND.NFP(JP,5).LE.2) THEN
533 ELSEIF(SPNTX.GT.SPXTN.AND.NTJ(JT).EQ.0
534 & .AND.NFT(JT,5).LE.2) THEN
542 ELSE IF(SW.LE.MIN(SPNTX,SPXTN)+0.001 .AND.
543 & (NPJ(JP).NE.0 .OR.NTJ(JT).NE.0)) THEN
545 ELSE IF(SW.LE.MIN(SPNTX,SPXTN)+0.001 .AND.
546 & NFP(JP,5).GT.2.AND.NFT(JT,5).GT.2) THEN
548 ELSE IF(SW.GT.SDD+0.001.AND.SW.LE.
549 & MIN(SPNTX,SPXTN)+0.001) THEN
555 ELSE IF(SW.GT.MAX(SPNTD,SPDTN)+0.001
556 & .AND. SW.LE.SDD+0.001) THEN
557 IF(RLU_HIJING(0).GT.0.5) THEN
570 ELSE IF(SW.GT.MIN(SPNTD,SPDTN)+0.001
571 & .AND. SW.LE.MAX(SPNTD,SPDTN)+0.001) THEN
572 IF(SPNTD.GT.SPDTN) THEN
585 ELSE IF(SW.LE.MIN(SPNTD,SPDTN)+0.001) THEN
592 WRITE(6,*) ' Error in HIJSFT: There is no path to here'
595 C*************** elastic scattering ***************
596 C this is like elastic, both proj and targ mass
598 C***************************************************
599 100 NFP5=MAX(2,NFP(JP,5))
600 NFT5=MAX(2,NFT(JT,5))
603 IF(BB1**2.LT.4.0*D1 .OR. BB2**2.LT.4.0*D2) THEN
605 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
609 IF(RLU_HIJING(0).LT.0.5) THEN
610 X1=(BB1-SQRT(BB1**2-4.0*D1))/2.0
611 X2=(BB2-SQRT(BB2**2-4.0*D2))/2.0
613 X1=(BB1+SQRT(BB1**2-4.0*D1))/2.0
614 X2=(BB2+SQRT(BB2**2-4.0*D2))/2.0
619 C********** Single diffractive ***********************
620 C either proj or targ's mass is fixed
621 C*****************************************************
622 220 NFP5=MAX(2,NFP(JP,5))
626 IF(BB2**2.LT.4.0*D2) THEN
628 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
632 XMIN=(BB2-SQRT(BB2**2-4.0*D2))/2.0
633 XMAX=(BB2+SQRT(BB2**2-4.0*D2))/2.0
635 222 X2=HIRND2(6,XMIN,XMAX)
637 IF(X2*(1.0-X1).LT.(D2+1.E-4/SW)) THEN
639 IF(MISS4.LE.1000) GO TO 222
644 C ********Fix proj mass*********
646 NFT5=MAX(2,NFT(JT,5))
649 IF(BB1**2.LT.4.0*D1) THEN
651 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
655 XMIN=(BB1-SQRT(BB1**2-4.0*D1))/2.0
656 XMAX=(BB1+SQRT(BB1**2-4.0*D1))/2.0
658 242 X1=HIRND2(6,XMIN,XMAX)
660 IF(X1*(1.0-X2).LT.(D1+1.E-4/SW)) THEN
662 IF(MISS4.LE.1000) GO TO 242
667 C ********Fix targ mass*********
669 C*************non-single diffractive**********************
670 C both proj and targ may not be fixed in mass
671 C*********************************************************
677 IF(BB1**2.LT.4.0*D1 .OR. BB2**2.LT.4.0*D2) THEN
679 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
683 XMIN1=(BB1-SQRT(BB1**2-4.0*D1))/2.0
684 XMAX1=(BB1+SQRT(BB1**2-4.0*D1))/2.0
685 XMIN2=(BB2-SQRT(BB2**2-4.0*D2))/2.0
686 XMAX2=(BB2+SQRT(BB2**2-4.0*D2))/2.0
688 410 X1=HIRND2(4,XMIN1,XMAX1)
689 X2=HIRND2(4,XMIN2,XMAX2)
690 IF(NFP(JP,5).EQ.3.OR.NFT(JT,5).EQ.3) THEN
691 X1=HIRND2(6,XMIN1,XMAX1)
692 X2=HIRND2(6,XMIN2,XMAX2)
695 IF(ABS(NFP(JP,1)*NFP(JP,2)).GT.1000000.OR.
696 & ABS(NFP(JP,1)*NFP(JP,2)).LT.100) THEN
697 X1=HIRND2(5,XMIN1,XMAX1)
699 IF(ABS(NFT(JT,1)*NFT(JT,2)).GT.1000000.OR.
700 & ABS(NFT(JT,1)*NFT(JT,2)).LT.100) THEN
701 X2=HIRND2(5,XMIN2,XMAX2)
703 c IF(IOPMAIN.EQ.3) X1=HIRND2(6,XMIN1,XMAX1)
704 c IF(IOPMAIN.EQ.2) X2=HIRND2(6,XMIN2,XMAX2)
705 C ********For q-qbar or (qq)-(qq)bar system use symetric
706 C distribution, for q-(qq) or qbar-(qq)bar use
707 C unsymetrical distribution
709 IF(ABS(NFP(JP,1)*NFP(JP,2)).GT.1000000) X1=1.0-X1
712 IF(XXP.LT.(D1+1.E-4/SW) .OR. XXT.LT.(D2+1.E-4/SW)) THEN
714 IF(MISS4.LE.1000) GO TO 410
718 C***************************************************
719 C***************************************************
721 IF(X1*(1.0-X2).LT.(AMPN**2-1.E-4)/SW.OR.
722 & X2*(1.0-X1).LT.(AMTN**2-1.E-4)/SW) THEN
724 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 2000
733 PP(JP,3)=(EPP-EPM)/2.0
734 PP(JP,4)=(EPP+EPM)/2.0
735 IF(EPP*EPM-PTP2.LT.0.0) GO TO 6000
736 PP(JP,5)=SQRT(EPP*EPM-PTP2)
740 PT(JT,3)=(ETP-ETM)/2.0
741 PT(JT,4)=(ETP+ETM)/2.0
742 IF(ETP*ETM-PTT2.LT.0.0) GO TO 6000
743 PT(JT,5)=SQRT(ETP*ETM-PTT2)
746 C*****recoil PT from hard-inter is shared by two end-partons
753 IF(ABS(NFP(JP,1)*NFP(JP,2)).GT.1000000.OR.
754 & ABS(NFP(JP,1)*NFP(JP,2)).LT.100) THEN
757 IF(ABS(NFT(JT,1)*NFT(JT,2)).GT.1000000.OR.
758 & ABS(NFT(JT,1)*NFT(JT,2)).LT.100) THEN
761 IF((KICKDIP.EQ.0.AND.RLU_HIJING(0).LT.0.5)
762 & .OR.(KICKDIP.NE.0.AND.RLU_HIJING(0)
763 & .LT.0.5/(1.0+(PKC11**2+PKC12**2)/HIPR1(22)**2))) THEN
764 PP(JP,6)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0+PP(JP,6)
765 PP(JP,7)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0+PP(JP,7)
766 PP(JP,8)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0
768 PP(JP,9)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0
771 PP(JP,8)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0+PP(JP,8)
772 PP(JP,9)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0+PP(JP,9)
773 PP(JP,6)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0
775 PP(JP,7)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0
778 PP(JP,1)=PP(JP,6)+PP(JP,8)
779 PP(JP,2)=PP(JP,7)+PP(JP,9)
780 C ********pt kick for proj
783 IF((KICKDIT.EQ.0.AND.RLU_HIJING(0).LT.0.5)
784 & .OR.(KICKDIT.NE.0.AND.RLU_HIJING(0)
785 & .LT.0.5/(1.0+(PKC21**2+PKC22**2)/HIPR1(22)**2))) THEN
786 PT(JT,6)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0+PT(JT,6)
787 PT(JT,7)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0+PT(JT,7)
788 PT(JT,8)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0
790 PT(JT,9)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0
793 PT(JT,8)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0+PT(JT,8)
794 PT(JT,9)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0+PT(JT,9)
795 PT(JT,6)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0
797 PT(JT,7)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0
800 PT(JT,1)=PT(JT,6)+PT(JT,8)
801 PT(JT,2)=PT(JT,7)+PT(JT,9)
802 C ********pt kick for targ
804 IF(NPJ(JP).NE.0) NFP(JP,5)=3
805 IF(NTJ(JT).NE.0) NFT(JT,5)=3
806 C ********jets must be connected to string
807 IF(EPP/(EPM+0.0001).LT.ETP/(ETM+0.0001).AND.
808 & ABS(NFP(JP,1)*NFP(JP,2)).LT.1000000)THEN
811 PP(JP,JSB)=PT(JT,JSB)
814 NFP(JP,JSB)=NFT(JT,JSB)
817 C ********when Ycm(JP)<Ycm(JT) after the collision
818 C exchange the positions of the two
822 C**************************************************
823 C**************************************************
825 IF(IHPR2(10).EQ.0) RETURN
826 WRITE(6,*) ' Fatal HIJSFT start error,abandon this event'
827 WRITE(6,*) ' PROJ E+,E-,W+',EPP,EPM,WP
828 WRITE(6,*) ' TARG E+,E-,W-',ETP,ETM,WM
829 WRITE(6,*) ' W+*W-, (APN+ATN)^2',SW,SNN
832 IF(IHPR2(10).EQ.0) RETURN
833 WRITE(6,*) ' (2)energy partition fail,'
834 WRITE(6,*) ' HIJSFT not performed, but continue'
835 WRITE(6,*) ' MP1,MPN',X1*(1.0-X2)*SW,AMPN**2
836 WRITE(6,*) ' MT2,MTN',X2*(1.0-X1)*SW,AMTN**2
839 IF(IHPR2(10).EQ.0) RETURN
840 WRITE(6,*) ' (3)something is wrong with the pt kick, '
841 WRITE(6,*) ' HIJSFT not performed, but continue'
842 WRITE(6,*) ' D1=',D1,' D2=',D2,' SW=',SW
843 WRITE(6,*) ' HISTORY NFP5=',NFP(JP,5),' NFT5=',NFT(JT,5)
844 WRITE(6,*) ' THIS COLLISON NFP5=',NFP5, ' NFT5=',NFT5
845 WRITE(6,*) ' # OF JET IN PROJ',NPJ(JP),' IN TARG',NTJ(JT)
848 IF(IHPR2(10).EQ.0) RETURN
849 WRITE(6,*) ' (4)unable to choose process, but not harmful'
850 WRITE(6,*) ' HIJSFT not performed, but continue'
851 WRITE(6,*) ' PTP=',SQRT(PTP2),' PTT=',SQRT(PTT2),' SW=',SW
852 WRITE(6,*) ' AMCUT=',AMX,' JP=',JP,' JT=',JT
853 WRITE(6,*) ' HISTORY NFP5=',NFP(JP,5),' NFT5=',NFT(JT,5)
856 IF(IHPR2(10).EQ.0) RETURN
857 WRITE(6,*) ' energy partition failed(5),for limited try'
858 WRITE(6,*) ' HIJSFT not performed, but continue'
859 WRITE(6,*) ' NFP5=',NFP5,' NFT5=',NFT5
860 WRITE(6,*) ' D1',D1,' X1(1-X2)',X1*(1.0-X2)
861 WRITE(6,*) ' D2',D2,' X2(1-X1)',X2*(1.0-X1)
865 IF(MISS.LT.100) GO TO 30
867 IF(IHPR2(10).EQ.0) RETURN
868 WRITE(6,*) ' ERROR OCCURED, HIJSFT NOT PERFORMED'
869 WRITE(6,*) ' Abort this event'
870 WRITE(6,*) 'MTP,PTP2',EPP*EPM,PTP2,' MTT,PTT2',ETP*ETM,PTT2