]>
Commit | Line | Data |
---|---|---|
e74335a4 | 1 | * $Id$ |
2 | ||
3 | C********************************************************************* | |
4 | ||
5 | SUBROUTINE PYSPLI_HIJING(KF,KFLIN,KFLCH,KFLSP) | |
6 | ||
7 | C...In case of a hadron remnant which is more complicated than just a | |
8 | C...quark or a diquark, split it into two (partons or hadron + parton). | |
9 | DIMENSION KFL(3) | |
10 | ||
11 | C...Preliminaries. Parton composition. | |
12 | KFA=IABS(KF) | |
13 | KFS=ISIGN(1,KF) | |
14 | KFL(1)=MOD(KFA/1000,10) | |
15 | KFL(2)=MOD(KFA/100,10) | |
16 | KFL(3)=MOD(KFA/10,10) | |
17 | KFLR=KFLIN*KFS | |
18 | KFLCH=0 | |
19 | ||
20 | C...Subdivide meson. | |
21 | IF(KFL(1).EQ.0) THEN | |
22 | KFL(2)=KFL(2)*(-1)**KFL(2) | |
23 | KFL(3)=-KFL(3)*(-1)**IABS(KFL(2)) | |
24 | IF(KFLR.EQ.KFL(2)) THEN | |
25 | KFLSP=KFL(3) | |
26 | ELSEIF(KFLR.EQ.KFL(3)) THEN | |
27 | KFLSP=KFL(2) | |
28 | ELSEIF(IABS(KFLR).EQ.21.AND.RLU_HIJING(0).GT.0.5) THEN | |
29 | KFLSP=KFL(2) | |
30 | KFLCH=KFL(3) | |
31 | ELSEIF(IABS(KFLR).EQ.21) THEN | |
32 | KFLSP=KFL(3) | |
33 | KFLCH=KFL(2) | |
34 | ELSEIF(KFLR*KFL(2).GT.0) THEN | |
35 | CALL LUKFDI_HIJING(-KFLR,KFL(2),KFDUMP,KFLCH) | |
36 | KFLSP=KFL(3) | |
37 | ELSE | |
38 | CALL LUKFDI_HIJING(-KFLR,KFL(3),KFDUMP,KFLCH) | |
39 | KFLSP=KFL(2) | |
40 | ENDIF | |
41 | ||
42 | C...Subdivide baryon. | |
43 | ELSE | |
44 | NAGR=0 | |
45 | DO 100 J=1,3 | |
46 | 100 IF(KFLR.EQ.KFL(J)) NAGR=NAGR+1 | |
47 | IF(NAGR.GE.1) THEN | |
48 | RAGR=0.00001+(NAGR-0.00002)*RLU_HIJING(0) | |
49 | IAGR=0 | |
50 | DO 110 J=1,3 | |
51 | IF(KFLR.EQ.KFL(J)) RAGR=RAGR-1. | |
52 | 110 IF(IAGR.EQ.0.AND.RAGR.LE.0.) IAGR=J | |
53 | ELSE | |
54 | IAGR=1.00001+2.99998*RLU_HIJING(0) | |
55 | ENDIF | |
56 | ID1=1 | |
57 | IF(IAGR.EQ.1) ID1=2 | |
58 | IF(IAGR.EQ.1.AND.KFL(3).GT.KFL(2)) ID1=3 | |
59 | ID2=6-IAGR-ID1 | |
60 | KSP=3 | |
61 | IF(MOD(KFA,10).EQ.2.AND.KFL(1).EQ.KFL(2)) THEN | |
62 | IF(IAGR.NE.3.AND.RLU_HIJING(0).GT.0.25) KSP=1 | |
63 | ELSEIF(MOD(KFA,10).EQ.2.AND.KFL(2).GE.KFL(3)) THEN | |
64 | IF(IAGR.NE.1.AND.RLU_HIJING(0).GT.0.25) KSP=1 | |
65 | ELSEIF(MOD(KFA,10).EQ.2) THEN | |
66 | IF(IAGR.EQ.1) KSP=1 | |
67 | IF(IAGR.NE.1.AND.RLU_HIJING(0).GT.0.75) KSP=1 | |
68 | ENDIF | |
69 | KFLSP=1000*KFL(ID1)+100*KFL(ID2)+KSP | |
70 | IF(KFLIN.EQ.21) THEN | |
71 | KFLCH=KFL(IAGR) | |
72 | ELSEIF(NAGR.EQ.0.AND.KFLR.GT.0) THEN | |
73 | CALL LUKFDI_HIJING(-KFLR,KFL(IAGR),KFDUMP,KFLCH) | |
74 | ELSEIF(NAGR.EQ.0) THEN | |
75 | CALL LUKFDI_HIJING(10000+KFLSP,-KFLR,KFDUMP,KFLCH) | |
76 | KFLSP=KFL(IAGR) | |
77 | ENDIF | |
78 | ENDIF | |
79 | ||
80 | C...Add on correct sign for result. | |
81 | KFLCH=KFLCH*KFS | |
82 | KFLSP=KFLSP*KFS | |
83 | ||
84 | RETURN | |
85 | END |