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)
89 C Quenching requested ?
91 IF(IHPR2(4).GT.0.AND.IHNT2(1).GT.1.AND.IHNT2(3).GT.1) THEN
92 IF(NFP(JP,10).EQ.0) THEN
94 ELSE IF(NFT(JT,10).EQ.0) THEN
97 IF (PHI1.LT.0. .AND. PHI2.GT.0) THEN ! PH AM
98 PHI=(PHI1+PHI2-HIPR1(40))/2.0 ! PH AM
100 PHI=(PHI1+PHI2+HIPR1(40))/2.0 ! PH AM
103 BX=HINT1(19)*COS(HINT1(20))
104 BY=HINT1(19)*SIN(HINT1(20))
109 R1=MAX(1.2*IHNT2(1)**0.3333333,
110 & SQRT(XP0**2+YP0**2))
111 R2=MAX(1.2*IHNT2(3)**0.3333333,
112 & SQRT((XT0-BX)**2+(YT0-BY)**2))
113 IF(ABS(COS(PHI)).LT.1.0E-5) THEN
116 DD1 = ABS(SQRT(R1**2-(XT0-BX)**2) - YT0)
117 DD2 = ABS(SQRT(R1**2-(XT0-BX)**2) + YT0)
118 C PH DD3=ABS(BY+SQRT(R2**2-(XP0-BX)**2)-YP0)
119 C PH DD4=ABS(BY-SQRT(R2**2-(XP0-BX)**2)-YP0)
120 DD3=ABS(BY+SQRT(R2**2-(XT0-BX)**2)-YP0)
121 DD4=ABS(BY-SQRT(R2**2-(XT0-BX)**2)-YP0)
124 BB=2.0*SIN(PHI)*(COS(PHI)*YP0-SIN(PHI)*XP0)
125 CC=(YP0**2-R1**2)*COS(PHI)**2+XP0*SIN(PHI)*(
126 & XP0*SIN(PHI)-2.0*YP0*COS(PHI))
128 IF(DD.LT.0.0) GO TO 10
129 XX1=(-BB+SQRT(DD))/2.0
130 XX2=(-BB-SQRT(DD))/2.0
131 DD1=ABS((XX1-XP0)/COS(PHI))
132 DD2=ABS((XX2-XP0)/COS(PHI))
134 BB=2.0*SIN(PHI)*(COS(PHI)*(YT0-BY)-SIN(PHI)*XT0)-2.0*BX
135 CC=(BX**2+(YT0-BY)**2-R2**2)*COS(PHI)**2+XT0*SIN(PHI)
136 & *(XT0*SIN(PHI)-2.0*COS(PHI)*(YT0-BY))
137 & -2.0*BX*SIN(PHI)*(COS(PHI)*(YT0-BY)-SIN(PHI)*XT0)
139 IF(DD.LT.0.0) GO TO 10
140 XX1=(-BB+SQRT(DD))/2.0
141 XX2=(-BB-SQRT(DD))/2.0
142 DD3=ABS((XX1-XT0)/COS(PHI))
143 DD4=ABS((XX2-XT0)/COS(PHI))
147 IF(DD1.LT.HIPR1(13)) DD1=0.0
148 IF(DD2.LT.HIPR1(13)) DD2=0.0
149 IF(NFP(JP,10).EQ.1.AND.PPJET.GT.HIPR1(11)) THEN
150 IF (IHPR2(50) .EQ. 1) THEN
151 DEDX0 = HIPR1(14)*LOG10(PPJET)/LOG10(5.)
156 DP1=MIN(DP1,PPJET-HIPR1(11))
163 CTHEP=PP(JP,12)/SQRT(PP(JP,12)**2+PPJET**2)
164 DPZ1=DP1*CTHEP/SQRT(1.0-CTHEP**2)
165 DPE1=SQRT(DPX1**2+DPY1**2+DPZ1**2)
166 EPPPRM=PP(JP,4)+PP(JP,3)-DPE1-DPZ1
167 EPMPRM=PP(JP,4)-PP(JP,3)-DPE1+DPZ1
168 IF(EPPPRM.LE.0.0.OR.EPMPRM.LE.0.0) GO TO 15
175 PJPX(JP,NPJ(JP))=DPX1
176 PJPY(JP,NPJ(JP))=DPY1
177 PJPZ(JP,NPJ(JP))=DPZ1
178 PJPE(JP,NPJ(JP))=DPE1
180 PP(JP,3)=PP(JP,3)-DPZ1
181 PP(JP,4)=PP(JP,4)-DPE1
184 15 IF(NFT(JT,10).EQ.1.AND.PTJET.GT.HIPR1(11)) THEN
185 IF (IHPR2(50) .EQ. 1) THEN
186 DEDX0 = HIPR1(14)*LOG10(PTJET)/LOG10(5.)
191 DP2=MIN(DP2,PTJET-HIPR1(11))
198 CTHET=PT(JT,12)/SQRT(PT(JT,12)**2+PTJET**2)
199 DPZ2=DP2*CTHET/SQRT(1.0-CTHET**2)
200 DPE2=SQRT(DPX2**2+DPY2**2+DPZ2**2)
201 ETPPRM=PT(JT,4)+PT(JT,3)-DPE2-DPZ2
202 ETMPRM=PT(JT,4)-PT(JT,3)-DPE2+DPZ2
203 IF(ETPPRM.LE.0.0.OR.ETMPRM.LE.0.0) GO TO 16
210 PJTX(JT,NTJ(JT))=DPX2
211 PJTY(JT,NTJ(JT))=DPY2
212 PJTZ(JT,NTJ(JT))=DPZ2
213 PJTE(JT,NTJ(JT))=DPE2
215 PT(JT,3)=PT(JT,3)-DPZ2
216 PT(JT,4)=PT(JT,4)-DPE2
235 IF(NFP(JP,10).EQ.1) THEN
236 PPJET=SQRT(PP(JP,10)**2+PP(JP,11)**2)
239 IF(NFT(JT,10).EQ.1) THEN
240 PTJET=SQRT(PT(JT,10)**2+PT(JT,11)**2)
243 C ********If jet is quenched the pt from valence quark
244 C hard scattering has to reduced by d*kapa
247 10 PTP02=PP(JP,1)**2+PP(JP,2)**2
248 PTT02=PT(JT,1)**2+PT(JT,2)**2
250 AMQ=MAX(PP(JP,14)+PP(JP,15),PT(JT,14)+PT(JT,15))
252 C ********consider mass cut-off for strings which
253 C must also include quark's mass
257 IF(NFP(JP,5).LE.2.AND.NFP(JP,3).NE.0) THEN
258 AMP0=ULMASS_HIJING(NFP(JP,3))
259 NFDP=NFP(JP,3)+2*NFP(JP,3)/ABS(NFP(JP,3))
260 DPM0=ULMASS_HIJING(NFDP)
262 NFDP=NFDP-2*NFDP/ABS(NFDP)
263 DPM0=ULMASS_HIJING(NFDP)
269 IF(NFT(JT,5).LE.2.AND.NFT(JT,3).NE.0) THEN
270 AMT0=ULMASS_HIJING(NFT(JT,3))
271 NFDT=NFT(JT,3)+2*NFT(JT,3)/ABS(NFT(JT,3))
272 DTM0=ULMASS_HIJING(NFDT)
274 NFDT=NFDT-2*NFDT/ABS(NFDT)
275 DTM0=ULMASS_HIJING(NFDT)
279 AMPN=SQRT(AMP0**2+PTP02)
280 AMTN=SQRT(AMT0**2+PTT02)
281 SNN=(AMPN+AMTN)**2+0.001
283 IF(SW.LT.SNN+0.001) GO TO 4000
284 C ********Scatter only if SW>SNN
285 C*****give some PT kick to the two exited strings******************
286 20 SWPTN=4.0*(MAX(AMP0,AMT0)**2+MAX(PTP02,PTT02))
287 SWPTD=4.0*(MAX(DPM0,DTM0)**2+MAX(PTP02,PTT02))
288 SWPTX=4.0*(AMX**2+MAX(PTP02,PTT02))
291 ELSE IF(SW.GT.SWPTN .AND. SW.LE.SWPTD
292 & .AND.NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0) THEN
293 PKCMX=SQRT(SW/4.0-MAX(AMP0,AMT0)**2)
294 & -SQRT(MAX(PTP02,PTT02))
295 ELSE IF(SW.GT.SWPTD .AND. SW.LE.SWPTX
296 & .AND.NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0) THEN
297 PKCMX=SQRT(SW/4.0-MAX(DPM0,DTM0)**2)
298 & -SQRT(MAX(PTP02,PTT02))
299 ELSE IF(SW.GT.SWPTX) THEN
300 PKCMX=SQRT(SW/4.0-AMX**2)-SQRT(MAX(PTP02,PTT02))
302 C ********maximun PT kick
303 C*********************************************************
304 IF(NFP(JP,10).EQ.1.OR.NFT(JT,10).EQ.1) THEN
305 IF(PKC1.GT.PKCMX) THEN
309 DPKC11=-(PP(JP,10)-PKC11)/2.0
310 DPKC12=-(PP(JP,11)-PKC12)/2.0
312 IF(PKC2.GT.PKCMX) THEN
316 DPKC21=-(PT(JT,10)-PKC21)/2.0
317 DPKC22=-(PT(JT,11)-PKC22)/2.0
321 NFP(JP,10)=-NFP(JP,10)
322 NFT(JT,10)=-NFT(JT,10)
325 C ********If the valence quarks had a hard-collision
326 C the pt kick is the pt from hard-collision.
328 IF(IHPR2(13).NE.0 .AND. RLU_HIJING(0).LE.HIDAT(4)) I_SNG=1
329 IF((NFP(JP,5).EQ.3 .OR.NFT(JT,5).EQ.3).OR.
330 & (NPJ(JP).NE.0.OR.NFP(JP,10).NE.0).OR.
331 & (NTJ(JT).NE.0.OR.NFT(JT,10).NE.0)) I_SNG=0
333 C ********decite whether to have single-diffractive
334 IF(IHPR2(5).EQ.0) THEN
335 PKC=HIPR1(2)*SQRT(-ALOG(1.0-RLU_HIJING(0)
336 & *(1.0-EXP(-PKCMX**2/HIPR1(2)**2))))
339 PKC=HIRND2(3,0.0,PKCMX**2)
342 & PKC=HIPR1(2)*SQRT(-ALOG(EXP(-HIPR1(20)**2/HIPR1(2)**2)
343 & -RLU_HIJING(0)*(EXP(-HIPR1(20)**2/HIPR1(2)**2)-
344 & EXP(-PKCMX**2/HIPR1(2)**2))))
346 IF(I_SNG.EQ.1) PKC=0.65*SQRT(
347 & -ALOG(1.0-RLU_HIJING(0)*(1.0-EXP(-PKCMX**2/0.65**2))))
348 C ********select PT kick
349 30 PHI0=2.0*HIPR1(40)*RLU_HIJING(0)
356 40 PP11=PP(JP,1)+PKC11-DPKC1
357 PP12=PP(JP,2)+PKC12-DPKC2
358 PT11=PT(JT,1)+PKC21-DPKC1
359 PT12=PT(JT,2)+PKC22-DPKC2
363 AMPN=SQRT(AMP0**2+PTP2)
364 AMTN=SQRT(AMT0**2+PTT2)
365 SNN=(AMPN+AMTN)**2+0.001
366 C***************************************
370 C****************************************
378 & WRITE(6,*) 'Error occured in Pt kick section of HIJSFT'
381 C******************************************************************
382 AMPD=SQRT(DPM0**2+PTP2)
383 AMTD=SQRT(DTM0**2+PTT2)
385 AMPX=SQRT(AMX**2+PTP2)
386 AMTX=SQRT(AMX**2+PTT2)
397 C ********CM energy if proj=N,targ=N*
400 C ********CM energy if proj=N*,targ=N
408 C ********CM energy if proj=delta, targ=delta
409 C****************There are many different cases**********
410 c IF(IHPR2(15).EQ.1) GO TO 500
412 C ********to have DPM type soft interactions
415 IF(SW.GT.SXX+0.001) THEN
423 c**** 5/30/1998 this is identical to the above statement. Added to
424 c**** avoid questional branching to block.
425 IF((NFP(JP,5).EQ.3 .AND.NFT(JT,5).EQ.3).OR.
426 & (NPJ(JP).NE.0.OR.NFP(JP,10).NE.0).OR.
427 & (NTJ(JT).NE.0.OR.NFT(JT,10).NE.0)) THEN
434 C ********do not allow excited strings to have
436 IF(RLU_HIJING(0).GT.0.5.OR.(NFT(JT,5).GT.2.OR.
437 & NTJ(JT).NE.0.OR.NFT(JT,10).NE.0)) THEN
450 C ********have single diffractive collision
452 ELSE IF(SW.GT.MAX(SPDTX,SPXTD)+0.001 .AND.
453 & SW.LE.SXX+0.001) THEN
454 IF(((NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0.AND.
455 & RLU_HIJING(0).GT.0.5).OR.(NPJ(JP).EQ.0
456 & .AND.NTJ(JT).NE.0)).AND.NFP(JP,5).LE.2) THEN
462 ELSE IF(NTJ(JT).EQ.0.AND.NFT(JT,5).LE.2) THEN
470 ELSE IF(SW.GT.MIN(SPDTX,SPXTD)+0.001.AND.
471 & SW.LE.MAX(SPDTX,SPXTD)+0.001) THEN
472 IF(SPDTX.LE.SPXTD.AND.NPJ(JP).EQ.0
473 & .AND.NFP(JP,5).LE.2) THEN
479 ELSE IF(SPDTX.GT.SPXTD.AND.NTJ(JT).EQ.0
480 & .AND.NFT(JT,5).LE.2) THEN
487 c*** 5/30/1998 added to avoid questional branching to another block
488 c*** this is identical to the statement following the next ELSE IF
489 IF(((NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0
490 & .AND.RLU_HIJING(0).GT.0.5).OR.(NPJ(JP).EQ.0
491 & .AND.NTJ(JT).NE.0)).AND.NFP(JP,5).LE.2) THEN
497 ELSE IF(NTJ(JT).EQ.0.AND.NFT(JT,5).LE.2) THEN
505 ELSE IF(SW.GT.MAX(SPNTX,SPXTN)+0.001 .AND.
506 & SW.LE.MIN(SPDTX,SPXTD)+0.001) THEN
507 IF(((NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0
508 & .AND.RLU_HIJING(0).GT.0.5).OR.(NPJ(JP).EQ.0
509 & .AND.NTJ(JT).NE.0)).AND.NFP(JP,5).LE.2) THEN
515 ELSE IF(NTJ(JT).EQ.0.AND.NFT(JT,5).LE.2) THEN
523 ELSE IF(SW.GT.MIN(SPNTX,SPXTN)+0.001 .AND.
524 & SW.LE.MAX(SPNTX,SPXTN)+0.001) THEN
525 IF(SPNTX.LE.SPXTN.AND.NPJ(JP).EQ.0
526 & .AND.NFP(JP,5).LE.2) THEN
532 ELSEIF(SPNTX.GT.SPXTN.AND.NTJ(JT).EQ.0
533 & .AND.NFT(JT,5).LE.2) THEN
541 ELSE IF(SW.LE.MIN(SPNTX,SPXTN)+0.001 .AND.
542 & (NPJ(JP).NE.0 .OR.NTJ(JT).NE.0)) THEN
544 ELSE IF(SW.LE.MIN(SPNTX,SPXTN)+0.001 .AND.
545 & NFP(JP,5).GT.2.AND.NFT(JT,5).GT.2) THEN
547 ELSE IF(SW.GT.SDD+0.001.AND.SW.LE.
548 & MIN(SPNTX,SPXTN)+0.001) THEN
554 ELSE IF(SW.GT.MAX(SPNTD,SPDTN)+0.001
555 & .AND. SW.LE.SDD+0.001) THEN
556 IF(RLU_HIJING(0).GT.0.5) THEN
569 ELSE IF(SW.GT.MIN(SPNTD,SPDTN)+0.001
570 & .AND. SW.LE.MAX(SPNTD,SPDTN)+0.001) THEN
571 IF(SPNTD.GT.SPDTN) THEN
584 ELSE IF(SW.LE.MIN(SPNTD,SPDTN)+0.001) THEN
591 WRITE(6,*) ' Error in HIJSFT: There is no path to here'
594 C*************** elastic scattering ***************
595 C this is like elastic, both proj and targ mass
597 C***************************************************
598 100 NFP5=MAX(2,NFP(JP,5))
599 NFT5=MAX(2,NFT(JT,5))
602 IF(BB1**2.LT.4.0*D1 .OR. BB2**2.LT.4.0*D2) THEN
604 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
608 IF(RLU_HIJING(0).LT.0.5) THEN
609 X1=(BB1-SQRT(BB1**2-4.0*D1))/2.0
610 X2=(BB2-SQRT(BB2**2-4.0*D2))/2.0
612 X1=(BB1+SQRT(BB1**2-4.0*D1))/2.0
613 X2=(BB2+SQRT(BB2**2-4.0*D2))/2.0
618 C********** Single diffractive ***********************
619 C either proj or targ's mass is fixed
620 C*****************************************************
621 220 NFP5=MAX(2,NFP(JP,5))
625 IF(BB2**2.LT.4.0*D2) THEN
627 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
631 XMIN=(BB2-SQRT(BB2**2-4.0*D2))/2.0
632 XMAX=(BB2+SQRT(BB2**2-4.0*D2))/2.0
634 222 X2=HIRND2(6,XMIN,XMAX)
636 IF(X2*(1.0-X1).LT.(D2+1.E-4/SW)) THEN
638 IF(MISS4.LE.1000) GO TO 222
643 C ********Fix proj mass*********
645 NFT5=MAX(2,NFT(JT,5))
648 IF(BB1**2.LT.4.0*D1) THEN
650 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
654 XMIN=(BB1-SQRT(BB1**2-4.0*D1))/2.0
655 XMAX=(BB1+SQRT(BB1**2-4.0*D1))/2.0
657 242 X1=HIRND2(6,XMIN,XMAX)
659 IF(X1*(1.0-X2).LT.(D1+1.E-4/SW)) THEN
661 IF(MISS4.LE.1000) GO TO 242
666 C ********Fix targ mass*********
668 C*************non-single diffractive**********************
669 C both proj and targ may not be fixed in mass
670 C*********************************************************
676 IF(BB1**2.LT.4.0*D1 .OR. BB2**2.LT.4.0*D2) THEN
678 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
682 XMIN1=(BB1-SQRT(BB1**2-4.0*D1))/2.0
683 XMAX1=(BB1+SQRT(BB1**2-4.0*D1))/2.0
684 XMIN2=(BB2-SQRT(BB2**2-4.0*D2))/2.0
685 XMAX2=(BB2+SQRT(BB2**2-4.0*D2))/2.0
687 410 X1=HIRND2(4,XMIN1,XMAX1)
688 X2=HIRND2(4,XMIN2,XMAX2)
689 IF(NFP(JP,5).EQ.3.OR.NFT(JT,5).EQ.3) THEN
690 X1=HIRND2(6,XMIN1,XMAX1)
691 X2=HIRND2(6,XMIN2,XMAX2)
694 IF(ABS(NFP(JP,1)*NFP(JP,2)).GT.1000000.OR.
695 & ABS(NFP(JP,1)*NFP(JP,2)).LT.100) THEN
696 X1=HIRND2(5,XMIN1,XMAX1)
698 IF(ABS(NFT(JT,1)*NFT(JT,2)).GT.1000000.OR.
699 & ABS(NFT(JT,1)*NFT(JT,2)).LT.100) THEN
700 X2=HIRND2(5,XMIN2,XMAX2)
702 c IF(IOPMAIN.EQ.3) X1=HIRND2(6,XMIN1,XMAX1)
703 c IF(IOPMAIN.EQ.2) X2=HIRND2(6,XMIN2,XMAX2)
704 C ********For q-qbar or (qq)-(qq)bar system use symetric
705 C distribution, for q-(qq) or qbar-(qq)bar use
706 C unsymetrical distribution
708 IF(ABS(NFP(JP,1)*NFP(JP,2)).GT.1000000) X1=1.0-X1
711 IF(XXP.LT.(D1+1.E-4/SW) .OR. XXT.LT.(D2+1.E-4/SW)) THEN
713 IF(MISS4.LE.1000) GO TO 410
717 C***************************************************
718 C***************************************************
720 IF(X1*(1.0-X2).LT.(AMPN**2-1.E-4)/SW.OR.
721 & X2*(1.0-X1).LT.(AMTN**2-1.E-4)/SW) THEN
723 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 2000
732 PP(JP,3)=(EPP-EPM)/2.0
733 PP(JP,4)=(EPP+EPM)/2.0
734 IF(EPP*EPM-PTP2.LT.0.0) GO TO 6000
735 PP(JP,5)=SQRT(EPP*EPM-PTP2)
739 PT(JT,3)=(ETP-ETM)/2.0
740 PT(JT,4)=(ETP+ETM)/2.0
741 IF(ETP*ETM-PTT2.LT.0.0) GO TO 6000
742 PT(JT,5)=SQRT(ETP*ETM-PTT2)
745 C*****recoil PT from hard-inter is shared by two end-partons
752 IF(ABS(NFP(JP,1)*NFP(JP,2)).GT.1000000.OR.
753 & ABS(NFP(JP,1)*NFP(JP,2)).LT.100) THEN
756 IF(ABS(NFT(JT,1)*NFT(JT,2)).GT.1000000.OR.
757 & ABS(NFT(JT,1)*NFT(JT,2)).LT.100) THEN
760 IF((KICKDIP.EQ.0.AND.RLU_HIJING(0).LT.0.5)
761 & .OR.(KICKDIP.NE.0.AND.RLU_HIJING(0)
762 & .LT.0.5/(1.0+(PKC11**2+PKC12**2)/HIPR1(22)**2))) THEN
763 PP(JP,6)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0+PP(JP,6)
764 PP(JP,7)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0+PP(JP,7)
765 PP(JP,8)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0
767 PP(JP,9)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0
770 PP(JP,8)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0+PP(JP,8)
771 PP(JP,9)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0+PP(JP,9)
772 PP(JP,6)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0
774 PP(JP,7)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0
777 PP(JP,1)=PP(JP,6)+PP(JP,8)
778 PP(JP,2)=PP(JP,7)+PP(JP,9)
779 C ********pt kick for proj
782 IF((KICKDIT.EQ.0.AND.RLU_HIJING(0).LT.0.5)
783 & .OR.(KICKDIT.NE.0.AND.RLU_HIJING(0)
784 & .LT.0.5/(1.0+(PKC21**2+PKC22**2)/HIPR1(22)**2))) THEN
785 PT(JT,6)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0+PT(JT,6)
786 PT(JT,7)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0+PT(JT,7)
787 PT(JT,8)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0
789 PT(JT,9)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0
792 PT(JT,8)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0+PT(JT,8)
793 PT(JT,9)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0+PT(JT,9)
794 PT(JT,6)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0
796 PT(JT,7)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0
799 PT(JT,1)=PT(JT,6)+PT(JT,8)
800 PT(JT,2)=PT(JT,7)+PT(JT,9)
801 C ********pt kick for targ
803 IF(NPJ(JP).NE.0) NFP(JP,5)=3
804 IF(NTJ(JT).NE.0) NFT(JT,5)=3
805 C ********jets must be connected to string
806 IF(EPP/(EPM+0.0001).LT.ETP/(ETM+0.0001).AND.
807 & ABS(NFP(JP,1)*NFP(JP,2)).LT.1000000)THEN
810 PP(JP,JSB)=PT(JT,JSB)
813 NFP(JP,JSB)=NFT(JT,JSB)
816 C ********when Ycm(JP)<Ycm(JT) after the collision
817 C exchange the positions of the two
821 C**************************************************
822 C**************************************************
824 IF(IHPR2(10).EQ.0) RETURN
825 WRITE(6,*) ' Fatal HIJSFT start error,abandon this event'
826 WRITE(6,*) ' PROJ E+,E-,W+',EPP,EPM,WP
827 WRITE(6,*) ' TARG E+,E-,W-',ETP,ETM,WM
828 WRITE(6,*) ' W+*W-, (APN+ATN)^2',SW,SNN
831 IF(IHPR2(10).EQ.0) RETURN
832 WRITE(6,*) ' (2)energy partition fail,'
833 WRITE(6,*) ' HIJSFT not performed, but continue'
834 WRITE(6,*) ' MP1,MPN',X1*(1.0-X2)*SW,AMPN**2
835 WRITE(6,*) ' MT2,MTN',X2*(1.0-X1)*SW,AMTN**2
838 IF(IHPR2(10).EQ.0) RETURN
839 WRITE(6,*) ' (3)something is wrong with the pt kick, '
840 WRITE(6,*) ' HIJSFT not performed, but continue'
841 WRITE(6,*) ' D1=',D1,' D2=',D2,' SW=',SW
842 WRITE(6,*) ' HISTORY NFP5=',NFP(JP,5),' NFT5=',NFT(JT,5)
843 WRITE(6,*) ' THIS COLLISON NFP5=',NFP5, ' NFT5=',NFT5
844 WRITE(6,*) ' # OF JET IN PROJ',NPJ(JP),' IN TARG',NTJ(JT)
847 IF(IHPR2(10).EQ.0) RETURN
848 WRITE(6,*) ' (4)unable to choose process, but not harmful'
849 WRITE(6,*) ' HIJSFT not performed, but continue'
850 WRITE(6,*) ' PTP=',SQRT(PTP2),' PTT=',SQRT(PTT2),' SW=',SW
851 WRITE(6,*) ' AMCUT=',AMX,' JP=',JP,' JT=',JT
852 WRITE(6,*) ' HISTORY NFP5=',NFP(JP,5),' NFT5=',NFT(JT,5)
855 IF(IHPR2(10).EQ.0) RETURN
856 WRITE(6,*) ' energy partition failed(5),for limited try'
857 WRITE(6,*) ' HIJSFT not performed, but continue'
858 WRITE(6,*) ' NFP5=',NFP5,' NFT5=',NFT5
859 WRITE(6,*) ' D1',D1,' X1(1-X2)',X1*(1.0-X2)
860 WRITE(6,*) ' D2',D2,' X2(1-X1)',X2*(1.0-X1)
864 IF(MISS.LT.100) GO TO 30
866 IF(IHPR2(10).EQ.0) RETURN
867 WRITE(6,*) ' ERROR OCCURED, HIJSFT NOT PERFORMED'
868 WRITE(6,*) ' Abort this event'
869 WRITE(6,*) 'MTP,PTP2',EPP*EPM,PTP2,' MTT,PTT2',ETP*ETM,PTT2