]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HIJING/hijing1_36/hijset.F
Reinitialization after soft scattering, bug fixes in the calculation of angle and...
[u/mrichter/AliRoot.git] / HIJING / hijing1_36 / hijset.F
CommitLineData
e74335a4 1* $Id$
2C
3C
4C
5 SUBROUTINE HIJSET(EFRM,FRAME,PROJ,TARG,IAP,IZP,IAT,IZT)
6 CHARACTER FRAME*4,PROJ*4,TARG*4,EFRAME*4
7 DOUBLE PRECISION DD1,DD2,DD3,DD4
8#include "histrng.inc"
9#include "hijcrdn.inc"
10#include "hiparnt.inc"
11#include "hijdat.inc"
12#include "ludat1_hijing.inc"
13 EXTERNAL FNKICK,FNKICK2,FNSTRU,FNSTRUM,FNSTRUS
14 SAVE
15 CALL TITLE
16 IHNT2(1)=IAP
17 IHNT2(2)=IZP
18 IHNT2(3)=IAT
19 IHNT2(4)=IZT
20 IHNT2(5)=0
21 IHNT2(6)=0
22C
23 HINT1(8)=MAX(ULMASS_HIJING(2112),ULMASS_HIJING(2212))
24 HINT1(9)=HINT1(8)
25C
26 IF(PROJ.NE.'A') THEN
27 IF(PROJ.EQ.'P') THEN
28 IHNT2(5)=2212
29 ELSE IF(PROJ.EQ.'PBAR') THEN
30 IHNT2(5)=-2212
31 ELSE IF(PROJ.EQ.'PI+') THEN
32 IHNT2(5)=211
33 ELSE IF(PROJ.EQ.'PI-') THEN
34 IHNT2(5)=-211
35 ELSE IF(PROJ.EQ.'K+') THEN
36 IHNT2(5)=321
37 ELSE IF(PROJ.EQ.'K-') THEN
38 IHNT2(5)=-321
39 ELSE IF(PROJ.EQ.'N') THEN
40 IHNT2(5)=2112
41 ELSE IF(PROJ.EQ.'NBAR') THEN
42 IHNT2(5)=-2112
43 ELSE
44 WRITE(6,*) PROJ, 'wrong or unavailable proj name'
45 STOP
46 ENDIF
47 HINT1(8)=ULMASS_HIJING(IHNT2(5))
48 ENDIF
49 IF(TARG.NE.'A') THEN
50 IF(TARG.EQ.'P') THEN
51 IHNT2(6)=2212
52 ELSE IF(TARG.EQ.'PBAR') THEN
53 IHNT2(6)=-2212
54 ELSE IF(TARG.EQ.'PI+') THEN
55 IHNT2(6)=211
56 ELSE IF(TARG.EQ.'PI-') THEN
57 IHNT2(6)=-211
58 ELSE IF(TARG.EQ.'K+') THEN
59 IHNT2(6)=321
60 ELSE IF(TARG.EQ.'K-') THEN
61 IHNT2(6)=-321
62 ELSE IF(TARG.EQ.'N') THEN
63 IHNT2(6)=2112
64 ELSE IF(TARG.EQ.'NBAR') THEN
65 IHNT2(6)=-2112
66 ELSE
67 WRITE(6,*) TARG,'wrong or unavailable targ name'
68 STOP
69 ENDIF
70 HINT1(9)=ULMASS_HIJING(IHNT2(6))
71 ENDIF
72
73C...Switch off decay of pi0, K0S, Lambda, Sigma+-, Xi0-, Omega-.
74 IF(IHPR2(12).GT.0) THEN
75 CALL LUGIVE_HIJING('MDCY(C111,1)=0')
76 CALL LUGIVE_HIJING('MDCY(C310,1)=0')
77 CALL LUGIVE_HIJING('MDCY(C411,1)=0;MDCY(C-411,1)=0')
78 CALL LUGIVE_HIJING('MDCY(C421,1)=0;MDCY(C-421,1)=0')
79 CALL LUGIVE_HIJING('MDCY(C431,1)=0;MDCY(C-431,1)=0')
80 CALL LUGIVE_HIJING('MDCY(C511,1)=0;MDCY(C-511,1)=0')
81 CALL LUGIVE_HIJING('MDCY(C521,1)=0;MDCY(C-521,1)=0')
82 CALL LUGIVE_HIJING('MDCY(C531,1)=0;MDCY(C-531,1)=0')
83 CALL LUGIVE_HIJING('MDCY(C3122,1)=0;MDCY(C-3122,1)=0')
84 CALL LUGIVE_HIJING('MDCY(C3112,1)=0;MDCY(C-3112,1)=0')
85 CALL LUGIVE_HIJING('MDCY(C3212,1)=0;MDCY(C-3212,1)=0')
86 CALL LUGIVE_HIJING('MDCY(C3222,1)=0;MDCY(C-3222,1)=0')
87 CALL LUGIVE_HIJING('MDCY(C3312,1)=0;MDCY(C-3312,1)=0')
88 CALL LUGIVE_HIJING('MDCY(C3322,1)=0;MDCY(C-3322,1)=0')
89 CALL LUGIVE_HIJING('MDCY(C3334,1)=0;MDCY(C-3334,1)=0')
90 ENDIF
91 MSTU(12)=0
92 MSTU(21)=1
93 IF(IHPR2(10).EQ.0) THEN
94 MSTU(22)=0
95 MSTU(25)=0
96 MSTU(26)=0
97 ENDIF
98 MSTJ(12)=IHPR2(11)
99 PARJ(21)=HIPR1(2)
100 PARJ(41)=HIPR1(3)
101 PARJ(42)=HIPR1(4)
102C ******** set up for jetset
103 IF(FRAME.EQ.'LAB') THEN
104 DD1=EFRM
105 DD2=HINT1(8)
106 DD3=HINT1(9)
107 HINT1(1)=SQRT(HINT1(8)**2+2.0*HINT1(9)*EFRM+HINT1(9)**2)
108 DD4=DSQRT(DD1**2-DD2**2)/(DD1+DD3)
109 HINT1(2)=DD4
110 HINT1(3)=0.5*DLOG((1.D0+DD4)/(1.D0-DD4))
111 DD4=DSQRT(DD1**2-DD2**2)/DD1
112 HINT1(4)=0.5*DLOG((1.D0+DD4)/(1.D0-DD4))
113 HINT1(5)=0.0
114 HINT1(6)=EFRM
115 HINT1(7)=HINT1(9)
116 ELSE IF(FRAME.EQ.'CMS') THEN
117 HINT1(1)=EFRM
118 HINT1(2)=0.0
119 HINT1(3)=0.0
120 DD1=HINT1(1)
121 DD2=HINT1(8)
122 DD3=HINT1(9)
123 DD4=DSQRT(1.D0-4.D0*DD2**2/DD1**2)
124 HINT1(4)=0.5*DLOG((1.D0+DD4)/(1.D0-DD4))
125 DD4=DSQRT(1.D0-4.D0*DD3**2/DD1**2)
126 HINT1(5)=-0.5*DLOG((1.D0+DD4)/(1.D0-DD4))
127 HINT1(6)=HINT1(1)/2.0
128 HINT1(7)=HINT1(1)/2.0
129 ENDIF
130C ********define Lorentz transform to lab frame
131c
132C ********calculate the cross sections involved with
133C nucleon collisions.
134 IF(IHNT2(1).GT.1) THEN
135 CALL HIJWDS(IHNT2(1),1,RMAX)
136 HIPR1(34)=RMAX
137C ********set up Wood-Sax distr for proj.
138 ENDIF
139 IF(IHNT2(3).GT.1) THEN
140 CALL HIJWDS(IHNT2(3),2,RMAX)
141 HIPR1(35)=RMAX
142C ********set up Wood-Sax distr for targ.
143 ENDIF
144C
145C
146 I=0
14720 I=I+1
148 IF(I.EQ.10) GO TO 30
149 IF(HIDAT0(10,I).LE.HINT1(1)) GO TO 20
15030 IF(I.EQ.1) I=2
151 DO 40 J=1,9
152 HIDAT(J)=HIDAT0(J,I-1)+(HIDAT0(J,I)-HIDAT0(J,I-1))
153 & *(HINT1(1)-HIDAT0(10,I-1))/(HIDAT0(10,I)-HIDAT0(10,I-1))
15440 CONTINUE
155 HIPR1(31)=HIDAT(5)
156 HIPR1(30)=2.0*HIDAT(5)
157C
158C
159 CALL HIJCRS
160C
161 IF(IHPR2(5).NE.0) THEN
162 CALL HIFUN(3,0.0,36.0,FNKICK)
163C ********booking for generating pt**2 for pt kick
164 ENDIF
165 CALL HIFUN(7,0.0,6.0,FNKICK2)
166 CALL HIFUN(4,0.0,1.0,FNSTRU)
167 CALL HIFUN(5,0.0,1.0,FNSTRUM)
168 CALL HIFUN(6,0.0,1.0,FNSTRUS)
169C ********booking for x distribution of valence quarks
170 EFRAME='Ecm'
171 IF(FRAME.EQ.'LAB') EFRAME='Elab'
172 WRITE(6,100) EFRAME,EFRM,PROJ,IHNT2(1),IHNT2(2),
173 & TARG,IHNT2(3),IHNT2(4)
7aae3926 174100 FORMAT(//10X,'**************************************************'/
e74335a4 175 & 10X,'*',48X,'*'/
176 & 10X,'* HIJING has been initialized at *'/
177 & 10X,'*',13X,A4,'= ',F10.2,' GeV/n',13X,'*'/
178 & 10X,'*',48X,'*'/
179 & 10X,'*',8X,'for ',
180 & A4,'(',I3,',',I3,')',' + ',A4,'(',I3,',',I3,')',7X,'*'/
181 & 10X,'**************************************************')
182 RETURN
183 END