]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HIJING/hipyset1_35/pyspli_hijing.F
Initialize API
[u/mrichter/AliRoot.git] / HIJING / hipyset1_35 / pyspli_hijing.F
CommitLineData
e74335a4 1* $Id$
2
3C*********************************************************************
4
5 SUBROUTINE PYSPLI_HIJING(KF,KFLIN,KFLCH,KFLSP)
6
7C...In case of a hadron remnant which is more complicated than just a
8C...quark or a diquark, split it into two (partons or hadron + parton).
9 DIMENSION KFL(3)
10
11C...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
20C...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
42C...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
80C...Add on correct sign for result.
81 KFLCH=KFLCH*KFS
82 KFLSP=KFLSP*KFS
83
84 RETURN
85 END