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 DP1=DD1*HIPR1(14)/2.0
142 DP1=MIN(DP1,PPJET-HIPR1(11))
149 CTHEP=PP(JP,12)/SQRT(PP(JP,12)**2+PPJET**2)
150 DPZ1=DP1*CTHEP/SQRT(1.0-CTHEP**2)
151 DPE1=SQRT(DPX1**2+DPY1**2+DPZ1**2)
152 EPPPRM=PP(JP,4)+PP(JP,3)-DPE1-DPZ1
153 EPMPRM=PP(JP,4)-PP(JP,3)-DPE1+DPZ1
154 IF(EPPPRM.LE.0.0.OR.EPMPRM.LE.0.0) GO TO 15
161 PJPX(JP,NPJ(JP))=DPX1
162 PJPY(JP,NPJ(JP))=DPY1
163 PJPZ(JP,NPJ(JP))=DPZ1
164 PJPE(JP,NPJ(JP))=DPE1
166 PP(JP,3)=PP(JP,3)-DPZ1
167 PP(JP,4)=PP(JP,4)-DPE1
170 15 IF(NFT(JT,10).EQ.1.AND.PTJET.GT.HIPR1(11)) THEN
171 DP2=DD2*HIPR1(14)/2.0
172 DP2=MIN(DP2,PTJET-HIPR1(11))
179 CTHET=PT(JT,12)/SQRT(PT(JT,12)**2+PTJET**2)
180 DPZ2=DP2*CTHET/SQRT(1.0-CTHET**2)
181 DPE2=SQRT(DPX2**2+DPY2**2+DPZ2**2)
182 ETPPRM=PT(JT,4)+PT(JT,3)-DPE2-DPZ2
183 ETMPRM=PT(JT,4)-PT(JT,3)-DPE2+DPZ2
184 IF(ETPPRM.LE.0.0.OR.ETMPRM.LE.0.0) GO TO 16
191 PJTX(JT,NTJ(JT))=DPX2
192 PJTY(JT,NTJ(JT))=DPY2
193 PJTZ(JT,NTJ(JT))=DPZ2
194 PJTE(JT,NTJ(JT))=DPE2
196 PT(JT,3)=PT(JT,3)-DPZ2
197 PT(JT,4)=PT(JT,4)-DPE2
200 16 DPKC11=-(PP(JP,10)-PKC11)/2.0
201 DPKC12=-(PP(JP,11)-PKC12)/2.0
202 DPKC21=-(PT(JT,10)-PKC21)/2.0
203 DPKC22=-(PT(JT,11)-PKC22)/2.0
209 C ********If jet is quenched the pt from valence quark
210 C hard scattering has to reduced by d*kapa
213 10 PTP02=PP(JP,1)**2+PP(JP,2)**2
214 PTT02=PT(JT,1)**2+PT(JT,2)**2
216 AMQ=MAX(PP(JP,14)+PP(JP,15),PT(JT,14)+PT(JT,15))
218 C ********consider mass cut-off for strings which
219 C must also include quark's mass
223 IF(NFP(JP,5).LE.2.AND.NFP(JP,3).NE.0) THEN
224 AMP0=ULMASS_HIJING(NFP(JP,3))
225 NFDP=NFP(JP,3)+2*NFP(JP,3)/ABS(NFP(JP,3))
226 DPM0=ULMASS_HIJING(NFDP)
228 NFDP=NFDP-2*NFDP/ABS(NFDP)
229 DPM0=ULMASS_HIJING(NFDP)
235 IF(NFT(JT,5).LE.2.AND.NFT(JT,3).NE.0) THEN
236 AMT0=ULMASS_HIJING(NFT(JT,3))
237 NFDT=NFT(JT,3)+2*NFT(JT,3)/ABS(NFT(JT,3))
238 DTM0=ULMASS_HIJING(NFDT)
240 NFDT=NFDT-2*NFDT/ABS(NFDT)
241 DTM0=ULMASS_HIJING(NFDT)
245 AMPN=SQRT(AMP0**2+PTP02)
246 AMTN=SQRT(AMT0**2+PTT02)
247 SNN=(AMPN+AMTN)**2+0.001
249 IF(SW.LT.SNN+0.001) GO TO 4000
250 C ********Scatter only if SW>SNN
251 C*****give some PT kick to the two exited strings******************
252 20 SWPTN=4.0*(MAX(AMP0,AMT0)**2+MAX(PTP02,PTT02))
253 SWPTD=4.0*(MAX(DPM0,DTM0)**2+MAX(PTP02,PTT02))
254 SWPTX=4.0*(AMX**2+MAX(PTP02,PTT02))
257 ELSE IF(SW.GT.SWPTN .AND. SW.LE.SWPTD
258 & .AND.NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0) THEN
259 PKCMX=SQRT(SW/4.0-MAX(AMP0,AMT0)**2)
260 & -SQRT(MAX(PTP02,PTT02))
261 ELSE IF(SW.GT.SWPTD .AND. SW.LE.SWPTX
262 & .AND.NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0) THEN
263 PKCMX=SQRT(SW/4.0-MAX(DPM0,DTM0)**2)
264 & -SQRT(MAX(PTP02,PTT02))
265 ELSE IF(SW.GT.SWPTX) THEN
266 PKCMX=SQRT(SW/4.0-AMX**2)-SQRT(MAX(PTP02,PTT02))
268 C ********maximun PT kick
269 C*********************************************************
271 IF(NFP(JP,10).EQ.1.OR.NFT(JT,10).EQ.1) THEN
272 IF(PKC1.GT.PKCMX) THEN
276 DPKC11=-(PP(JP,10)-PKC11)/2.0
277 DPKC12=-(PP(JP,11)-PKC12)/2.0
279 IF(PKC2.GT.PKCMX) THEN
283 DPKC21=-(PT(JT,10)-PKC21)/2.0
284 DPKC22=-(PT(JT,11)-PKC22)/2.0
288 NFP(JP,10)=-NFP(JP,10)
289 NFT(JT,10)=-NFT(JT,10)
292 C ********If the valence quarks had a hard-collision
293 C the pt kick is the pt from hard-collision.
295 IF(IHPR2(13).NE.0 .AND. RLU_HIJING(0).LE.HIDAT(4)) I_SNG=1
296 IF((NFP(JP,5).EQ.3 .OR.NFT(JT,5).EQ.3).OR.
297 & (NPJ(JP).NE.0.OR.NFP(JP,10).NE.0).OR.
298 & (NTJ(JT).NE.0.OR.NFT(JT,10).NE.0)) I_SNG=0
300 C ********decite whether to have single-diffractive
301 IF(IHPR2(5).EQ.0) THEN
302 PKC=HIPR1(2)*SQRT(-ALOG(1.0-RLU_HIJING(0)
303 & *(1.0-EXP(-PKCMX**2/HIPR1(2)**2))))
306 PKC=HIRND2(3,0.0,PKCMX**2)
309 & PKC=HIPR1(2)*SQRT(-ALOG(EXP(-HIPR1(20)**2/HIPR1(2)**2)
310 & -RLU_HIJING(0)*(EXP(-HIPR1(20)**2/HIPR1(2)**2)-
311 & EXP(-PKCMX**2/HIPR1(2)**2))))
313 IF(I_SNG.EQ.1) PKC=0.65*SQRT(
314 & -ALOG(1.0-RLU_HIJING(0)*(1.0-EXP(-PKCMX**2/0.65**2))))
315 C ********select PT kick
316 30 PHI0=2.0*HIPR1(40)*RLU_HIJING(0)
323 40 PP11=PP(JP,1)+PKC11-DPKC1
324 PP12=PP(JP,2)+PKC12-DPKC2
325 PT11=PT(JT,1)+PKC21-DPKC1
326 PT12=PT(JT,2)+PKC22-DPKC2
330 AMPN=SQRT(AMP0**2+PTP2)
331 AMTN=SQRT(AMT0**2+PTT2)
332 SNN=(AMPN+AMTN)**2+0.001
333 C***************************************
337 C****************************************
345 & WRITE(6,*) 'Error occured in Pt kick section of HIJSFT'
348 C******************************************************************
349 AMPD=SQRT(DPM0**2+PTP2)
350 AMTD=SQRT(DTM0**2+PTT2)
352 AMPX=SQRT(AMX**2+PTP2)
353 AMTX=SQRT(AMX**2+PTT2)
364 C ********CM energy if proj=N,targ=N*
367 C ********CM energy if proj=N*,targ=N
375 C ********CM energy if proj=delta, targ=delta
376 C****************There are many different cases**********
377 c IF(IHPR2(15).EQ.1) GO TO 500
379 C ********to have DPM type soft interactions
382 IF(SW.GT.SXX+0.001) THEN
390 c**** 5/30/1998 this is identical to the above statement. Added to
391 c**** avoid questional branching to block.
392 IF((NFP(JP,5).EQ.3 .AND.NFT(JT,5).EQ.3).OR.
393 & (NPJ(JP).NE.0.OR.NFP(JP,10).NE.0).OR.
394 & (NTJ(JT).NE.0.OR.NFT(JT,10).NE.0)) THEN
401 C ********do not allow excited strings to have
403 IF(RLU_HIJING(0).GT.0.5.OR.(NFT(JT,5).GT.2.OR.
404 & NTJ(JT).NE.0.OR.NFT(JT,10).NE.0)) THEN
417 C ********have single diffractive collision
419 ELSE IF(SW.GT.MAX(SPDTX,SPXTD)+0.001 .AND.
420 & SW.LE.SXX+0.001) THEN
421 IF(((NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0.AND.
422 & RLU_HIJING(0).GT.0.5).OR.(NPJ(JP).EQ.0
423 & .AND.NTJ(JT).NE.0)).AND.NFP(JP,5).LE.2) THEN
429 ELSE IF(NTJ(JT).EQ.0.AND.NFT(JT,5).LE.2) THEN
437 ELSE IF(SW.GT.MIN(SPDTX,SPXTD)+0.001.AND.
438 & SW.LE.MAX(SPDTX,SPXTD)+0.001) THEN
439 IF(SPDTX.LE.SPXTD.AND.NPJ(JP).EQ.0
440 & .AND.NFP(JP,5).LE.2) THEN
446 ELSE IF(SPDTX.GT.SPXTD.AND.NTJ(JT).EQ.0
447 & .AND.NFT(JT,5).LE.2) THEN
454 c*** 5/30/1998 added to avoid questional branching to another block
455 c*** this is identical to the statement following the next ELSE IF
456 IF(((NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0
457 & .AND.RLU_HIJING(0).GT.0.5).OR.(NPJ(JP).EQ.0
458 & .AND.NTJ(JT).NE.0)).AND.NFP(JP,5).LE.2) THEN
464 ELSE IF(NTJ(JT).EQ.0.AND.NFT(JT,5).LE.2) THEN
472 ELSE IF(SW.GT.MAX(SPNTX,SPXTN)+0.001 .AND.
473 & SW.LE.MIN(SPDTX,SPXTD)+0.001) THEN
474 IF(((NPJ(JP).EQ.0.AND.NTJ(JT).EQ.0
475 & .AND.RLU_HIJING(0).GT.0.5).OR.(NPJ(JP).EQ.0
476 & .AND.NTJ(JT).NE.0)).AND.NFP(JP,5).LE.2) THEN
482 ELSE IF(NTJ(JT).EQ.0.AND.NFT(JT,5).LE.2) THEN
490 ELSE IF(SW.GT.MIN(SPNTX,SPXTN)+0.001 .AND.
491 & SW.LE.MAX(SPNTX,SPXTN)+0.001) THEN
492 IF(SPNTX.LE.SPXTN.AND.NPJ(JP).EQ.0
493 & .AND.NFP(JP,5).LE.2) THEN
499 ELSEIF(SPNTX.GT.SPXTN.AND.NTJ(JT).EQ.0
500 & .AND.NFT(JT,5).LE.2) THEN
508 ELSE IF(SW.LE.MIN(SPNTX,SPXTN)+0.001 .AND.
509 & (NPJ(JP).NE.0 .OR.NTJ(JT).NE.0)) THEN
511 ELSE IF(SW.LE.MIN(SPNTX,SPXTN)+0.001 .AND.
512 & NFP(JP,5).GT.2.AND.NFT(JT,5).GT.2) THEN
514 ELSE IF(SW.GT.SDD+0.001.AND.SW.LE.
515 & MIN(SPNTX,SPXTN)+0.001) THEN
521 ELSE IF(SW.GT.MAX(SPNTD,SPDTN)+0.001
522 & .AND. SW.LE.SDD+0.001) THEN
523 IF(RLU_HIJING(0).GT.0.5) THEN
536 ELSE IF(SW.GT.MIN(SPNTD,SPDTN)+0.001
537 & .AND. SW.LE.MAX(SPNTD,SPDTN)+0.001) THEN
538 IF(SPNTD.GT.SPDTN) THEN
551 ELSE IF(SW.LE.MIN(SPNTD,SPDTN)+0.001) THEN
558 WRITE(6,*) ' Error in HIJSFT: There is no path to here'
561 C*************** elastic scattering ***************
562 C this is like elastic, both proj and targ mass
564 C***************************************************
565 100 NFP5=MAX(2,NFP(JP,5))
566 NFT5=MAX(2,NFT(JT,5))
569 IF(BB1**2.LT.4.0*D1 .OR. BB2**2.LT.4.0*D2) THEN
571 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
575 IF(RLU_HIJING(0).LT.0.5) THEN
576 X1=(BB1-SQRT(BB1**2-4.0*D1))/2.0
577 X2=(BB2-SQRT(BB2**2-4.0*D2))/2.0
579 X1=(BB1+SQRT(BB1**2-4.0*D1))/2.0
580 X2=(BB2+SQRT(BB2**2-4.0*D2))/2.0
585 C********** Single diffractive ***********************
586 C either proj or targ's mass is fixed
587 C*****************************************************
588 220 NFP5=MAX(2,NFP(JP,5))
592 IF(BB2**2.LT.4.0*D2) THEN
594 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
598 XMIN=(BB2-SQRT(BB2**2-4.0*D2))/2.0
599 XMAX=(BB2+SQRT(BB2**2-4.0*D2))/2.0
601 222 X2=HIRND2(6,XMIN,XMAX)
603 IF(X2*(1.0-X1).LT.(D2+1.E-4/SW)) THEN
605 IF(MISS4.LE.1000) GO TO 222
610 C ********Fix proj mass*********
612 NFT5=MAX(2,NFT(JT,5))
615 IF(BB1**2.LT.4.0*D1) THEN
617 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
621 XMIN=(BB1-SQRT(BB1**2-4.0*D1))/2.0
622 XMAX=(BB1+SQRT(BB1**2-4.0*D1))/2.0
624 242 X1=HIRND2(6,XMIN,XMAX)
626 IF(X1*(1.0-X2).LT.(D1+1.E-4/SW)) THEN
628 IF(MISS4.LE.1000) GO TO 242
633 C ********Fix targ mass*********
635 C*************non-single diffractive**********************
636 C both proj and targ may not be fixed in mass
637 C*********************************************************
643 IF(BB1**2.LT.4.0*D1 .OR. BB2**2.LT.4.0*D2) THEN
645 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 3000
649 XMIN1=(BB1-SQRT(BB1**2-4.0*D1))/2.0
650 XMAX1=(BB1+SQRT(BB1**2-4.0*D1))/2.0
651 XMIN2=(BB2-SQRT(BB2**2-4.0*D2))/2.0
652 XMAX2=(BB2+SQRT(BB2**2-4.0*D2))/2.0
654 410 X1=HIRND2(4,XMIN1,XMAX1)
655 X2=HIRND2(4,XMIN2,XMAX2)
656 IF(NFP(JP,5).EQ.3.OR.NFT(JT,5).EQ.3) THEN
657 X1=HIRND2(6,XMIN1,XMAX1)
658 X2=HIRND2(6,XMIN2,XMAX2)
661 IF(ABS(NFP(JP,1)*NFP(JP,2)).GT.1000000.OR.
662 & ABS(NFP(JP,1)*NFP(JP,2)).LT.100) THEN
663 X1=HIRND2(5,XMIN1,XMAX1)
665 IF(ABS(NFT(JT,1)*NFT(JT,2)).GT.1000000.OR.
666 & ABS(NFT(JT,1)*NFT(JT,2)).LT.100) THEN
667 X2=HIRND2(5,XMIN2,XMAX2)
669 c IF(IOPMAIN.EQ.3) X1=HIRND2(6,XMIN1,XMAX1)
670 c IF(IOPMAIN.EQ.2) X2=HIRND2(6,XMIN2,XMAX2)
671 C ********For q-qbar or (qq)-(qq)bar system use symetric
672 C distribution, for q-(qq) or qbar-(qq)bar use
673 C unsymetrical distribution
675 IF(ABS(NFP(JP,1)*NFP(JP,2)).GT.1000000) X1=1.0-X1
678 IF(XXP.LT.(D1+1.E-4/SW) .OR. XXT.LT.(D2+1.E-4/SW)) THEN
680 IF(MISS4.LE.1000) GO TO 410
684 C***************************************************
685 C***************************************************
687 IF(X1*(1.0-X2).LT.(AMPN**2-1.E-4)/SW.OR.
688 & X2*(1.0-X1).LT.(AMTN**2-1.E-4)/SW) THEN
690 IF(MISS.GT.100.OR.PKC.EQ.0.0) GO TO 2000
699 PP(JP,3)=(EPP-EPM)/2.0
700 PP(JP,4)=(EPP+EPM)/2.0
701 IF(EPP*EPM-PTP2.LT.0.0) GO TO 6000
702 PP(JP,5)=SQRT(EPP*EPM-PTP2)
706 PT(JT,3)=(ETP-ETM)/2.0
707 PT(JT,4)=(ETP+ETM)/2.0
708 IF(ETP*ETM-PTT2.LT.0.0) GO TO 6000
709 PT(JT,5)=SQRT(ETP*ETM-PTT2)
712 C*****recoil PT from hard-inter is shared by two end-partons
719 IF(ABS(NFP(JP,1)*NFP(JP,2)).GT.1000000.OR.
720 & ABS(NFP(JP,1)*NFP(JP,2)).LT.100) THEN
723 IF(ABS(NFT(JT,1)*NFT(JT,2)).GT.1000000.OR.
724 & ABS(NFT(JT,1)*NFT(JT,2)).LT.100) THEN
727 IF((KICKDIP.EQ.0.AND.RLU_HIJING(0).LT.0.5)
728 & .OR.(KICKDIP.NE.0.AND.RLU_HIJING(0)
729 & .LT.0.5/(1.0+(PKC11**2+PKC12**2)/HIPR1(22)**2))) THEN
730 PP(JP,6)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0+PP(JP,6)
731 PP(JP,7)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0+PP(JP,7)
732 PP(JP,8)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0
734 PP(JP,9)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0
737 PP(JP,8)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0+PP(JP,8)
738 PP(JP,9)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0+PP(JP,9)
739 PP(JP,6)=(PP(JP,1)-PP(JP,6)-PP(JP,8)-DPKC1)/2.0
741 PP(JP,7)=(PP(JP,2)-PP(JP,7)-PP(JP,9)-DPKC2)/2.0
744 PP(JP,1)=PP(JP,6)+PP(JP,8)
745 PP(JP,2)=PP(JP,7)+PP(JP,9)
746 C ********pt kick for proj
749 IF((KICKDIT.EQ.0.AND.RLU_HIJING(0).LT.0.5)
750 & .OR.(KICKDIT.NE.0.AND.RLU_HIJING(0)
751 & .LT.0.5/(1.0+(PKC21**2+PKC22**2)/HIPR1(22)**2))) THEN
752 PT(JT,6)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0+PT(JT,6)
753 PT(JT,7)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0+PT(JT,7)
754 PT(JT,8)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0
756 PT(JT,9)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0
759 PT(JT,8)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0+PT(JT,8)
760 PT(JT,9)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0+PT(JT,9)
761 PT(JT,6)=(PT(JT,1)-PT(JT,6)-PT(JT,8)-DPKC1)/2.0
763 PT(JT,7)=(PT(JT,2)-PT(JT,7)-PT(JT,9)-DPKC2)/2.0
766 PT(JT,1)=PT(JT,6)+PT(JT,8)
767 PT(JT,2)=PT(JT,7)+PT(JT,9)
768 C ********pt kick for targ
770 IF(NPJ(JP).NE.0) NFP(JP,5)=3
771 IF(NTJ(JT).NE.0) NFT(JT,5)=3
772 C ********jets must be connected to string
773 IF(EPP/(EPM+0.0001).LT.ETP/(ETM+0.0001).AND.
774 & ABS(NFP(JP,1)*NFP(JP,2)).LT.1000000)THEN
777 PP(JP,JSB)=PT(JT,JSB)
780 NFP(JP,JSB)=NFT(JT,JSB)
783 C ********when Ycm(JP)<Ycm(JT) after the collision
784 C exchange the positions of the two
788 C**************************************************
789 C**************************************************
791 IF(IHPR2(10).EQ.0) RETURN
792 WRITE(6,*) ' Fatal HIJSFT start error,abandon this event'
793 WRITE(6,*) ' PROJ E+,E-,W+',EPP,EPM,WP
794 WRITE(6,*) ' TARG E+,E-,W-',ETP,ETM,WM
795 WRITE(6,*) ' W+*W-, (APN+ATN)^2',SW,SNN
798 IF(IHPR2(10).EQ.0) RETURN
799 WRITE(6,*) ' (2)energy partition fail,'
800 WRITE(6,*) ' HIJSFT not performed, but continue'
801 WRITE(6,*) ' MP1,MPN',X1*(1.0-X2)*SW,AMPN**2
802 WRITE(6,*) ' MT2,MTN',X2*(1.0-X1)*SW,AMTN**2
805 IF(IHPR2(10).EQ.0) RETURN
806 WRITE(6,*) ' (3)something is wrong with the pt kick, '
807 WRITE(6,*) ' HIJSFT not performed, but continue'
808 WRITE(6,*) ' D1=',D1,' D2=',D2,' SW=',SW
809 WRITE(6,*) ' HISTORY NFP5=',NFP(JP,5),' NFT5=',NFT(JT,5)
810 WRITE(6,*) ' THIS COLLISON NFP5=',NFP5, ' NFT5=',NFT5
811 WRITE(6,*) ' # OF JET IN PROJ',NPJ(JP),' IN TARG',NTJ(JT)
814 IF(IHPR2(10).EQ.0) RETURN
815 WRITE(6,*) ' (4)unable to choose process, but not harmful'
816 WRITE(6,*) ' HIJSFT not performed, but continue'
817 WRITE(6,*) ' PTP=',SQRT(PTP2),' PTT=',SQRT(PTT2),' SW=',SW
818 WRITE(6,*) ' AMCUT=',AMX,' JP=',JP,' JT=',JT
819 WRITE(6,*) ' HISTORY NFP5=',NFP(JP,5),' NFT5=',NFT(JT,5)
822 IF(IHPR2(10).EQ.0) RETURN
823 WRITE(6,*) ' energy partition failed(5),for limited try'
824 WRITE(6,*) ' HIJSFT not performed, but continue'
825 WRITE(6,*) ' NFP5=',NFP5,' NFT5=',NFT5
826 WRITE(6,*) ' D1',D1,' X1(1-X2)',X1*(1.0-X2)
827 WRITE(6,*) ' D2',D2,' X2(1-X1)',X2*(1.0-X1)
831 IF(MISS.LT.100) GO TO 30
833 IF(IHPR2(10).EQ.0) RETURN
834 WRITE(6,*) ' ERROR OCCURED, HIJSFT NOT PERFORMED'
835 WRITE(6,*) ' Abort this event'
836 WRITE(6,*) 'MTP,PTP2',EPP*EPM,PTP2,' MTT,PTT2',ETP*ETM,PTT2