]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HIJING/hijing1_36/hijset.F
Do not update impact parameter in case of event repetition
[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)
80f59c2b 6 CHARACTER FRAME*8,PROJ*8,TARG*8,EFRAME*8
e74335a4 7 DOUBLE PRECISION DD1,DD2,DD3,DD4
bc676b8e 8#define BLANKET_SAVE
e74335a4 9#include "histrng.inc"
10#include "hijcrdn.inc"
11#include "hiparnt.inc"
12#include "hijdat.inc"
13#include "ludat1_hijing.inc"
14 EXTERNAL FNKICK,FNKICK2,FNSTRU,FNSTRUM,FNSTRUS
15 SAVE
16 CALL TITLE
17 IHNT2(1)=IAP
18 IHNT2(2)=IZP
19 IHNT2(3)=IAT
20 IHNT2(4)=IZT
21 IHNT2(5)=0
22 IHNT2(6)=0
23C
24 HINT1(8)=MAX(ULMASS_HIJING(2112),ULMASS_HIJING(2212))
25 HINT1(9)=HINT1(8)
26C
27 IF(PROJ.NE.'A') THEN
28 IF(PROJ.EQ.'P') THEN
29 IHNT2(5)=2212
30 ELSE IF(PROJ.EQ.'PBAR') THEN
31 IHNT2(5)=-2212
32 ELSE IF(PROJ.EQ.'PI+') THEN
33 IHNT2(5)=211
34 ELSE IF(PROJ.EQ.'PI-') THEN
35 IHNT2(5)=-211
36 ELSE IF(PROJ.EQ.'K+') THEN
37 IHNT2(5)=321
38 ELSE IF(PROJ.EQ.'K-') THEN
39 IHNT2(5)=-321
40 ELSE IF(PROJ.EQ.'N') THEN
41 IHNT2(5)=2112
42 ELSE IF(PROJ.EQ.'NBAR') THEN
43 IHNT2(5)=-2112
44 ELSE
45 WRITE(6,*) PROJ, 'wrong or unavailable proj name'
46 STOP
47 ENDIF
48 HINT1(8)=ULMASS_HIJING(IHNT2(5))
49 ENDIF
50 IF(TARG.NE.'A') THEN
51 IF(TARG.EQ.'P') THEN
52 IHNT2(6)=2212
53 ELSE IF(TARG.EQ.'PBAR') THEN
54 IHNT2(6)=-2212
55 ELSE IF(TARG.EQ.'PI+') THEN
56 IHNT2(6)=211
57 ELSE IF(TARG.EQ.'PI-') THEN
58 IHNT2(6)=-211
59 ELSE IF(TARG.EQ.'K+') THEN
60 IHNT2(6)=321
61 ELSE IF(TARG.EQ.'K-') THEN
62 IHNT2(6)=-321
63 ELSE IF(TARG.EQ.'N') THEN
64 IHNT2(6)=2112
65 ELSE IF(TARG.EQ.'NBAR') THEN
66 IHNT2(6)=-2112
67 ELSE
68 WRITE(6,*) TARG,'wrong or unavailable targ name'
69 STOP
70 ENDIF
71 HINT1(9)=ULMASS_HIJING(IHNT2(6))
72 ENDIF
73
74C...Switch off decay of pi0, K0S, Lambda, Sigma+-, Xi0-, Omega-.
c64e9808 75 IF(IHPR2(12).EQ.1) THEN
e74335a4 76 CALL LUGIVE_HIJING('MDCY(C111,1)=0')
77 CALL LUGIVE_HIJING('MDCY(C310,1)=0')
c64e9808 78 CALL LUGIVE_HIJING('MDCY(C411,1)=0;MDCY(C-411,1)=0')
79 CALL LUGIVE_HIJING('MDCY(C421,1)=0;MDCY(C-421,1)=0')
80 CALL LUGIVE_HIJING('MDCY(C431,1)=0;MDCY(C-431,1)=0')
81 CALL LUGIVE_HIJING('MDCY(C511,1)=0;MDCY(C-511,1)=0')
82 CALL LUGIVE_HIJING('MDCY(C521,1)=0;MDCY(C-521,1)=0')
83 CALL LUGIVE_HIJING('MDCY(C531,1)=0;MDCY(C-531,1)=0')
e74335a4 84 CALL LUGIVE_HIJING('MDCY(C3122,1)=0;MDCY(C-3122,1)=0')
85 CALL LUGIVE_HIJING('MDCY(C3112,1)=0;MDCY(C-3112,1)=0')
c64e9808 86C CALL LUGIVE_HIJING('MDCY(C3212,1)=0;MDCY(C-3212,1)=0')
e74335a4 87 CALL LUGIVE_HIJING('MDCY(C3222,1)=0;MDCY(C-3222,1)=0')
88 CALL LUGIVE_HIJING('MDCY(C3312,1)=0;MDCY(C-3312,1)=0')
89 CALL LUGIVE_HIJING('MDCY(C3322,1)=0;MDCY(C-3322,1)=0')
90 CALL LUGIVE_HIJING('MDCY(C3334,1)=0;MDCY(C-3334,1)=0')
91 ENDIF
c64e9808 92 IF(IHPR2(12).EQ.2) THEN
93 CALL LUGIVE_HIJING('MDCY(C111,1)=0')
94 CALL LUGIVE_HIJING('MDCY(C310,1)=0')
95 CALL LUGIVE_HIJING('MDCY(C411,1)=0;MDCY(C-411,1)=0')
96 CALL LUGIVE_HIJING('MDCY(C421,1)=0;MDCY(C-421,1)=0')
97 CALL LUGIVE_HIJING('MDCY(C431,1)=0;MDCY(C-431,1)=0')
98 CALL LUGIVE_HIJING('MDCY(C4122,1)=0;MDCY(C-4122,1)=0')
99 CALL LUGIVE_HIJING('MDCY(C4132,1)=0;MDCY(C-4132,1)=0')
100 CALL LUGIVE_HIJING('MDCY(C4232,1)=0;MDCY(C-4232,1)=0')
101 CALL LUGIVE_HIJING('MDCY(C4332,1)=0;MDCY(C-4332,1)=0')
102 CALL LUGIVE_HIJING('MDCY(C511,1)=0;MDCY(C-511,1)=0')
103 CALL LUGIVE_HIJING('MDCY(C521,1)=0;MDCY(C-521,1)=0')
104 CALL LUGIVE_HIJING('MDCY(C531,1)=0;MDCY(C-531,1)=0')
105 CALL LUGIVE_HIJING('MDCY(C5122,1)=0;MDCY(C-5122,1)=0')
106 CALL LUGIVE_HIJING('MDCY(C5132,1)=0;MDCY(C-5132,1)=0')
107 CALL LUGIVE_HIJING('MDCY(C5232,1)=0;MDCY(C-5232,1)=0')
108 CALL LUGIVE_HIJING('MDCY(C5332,1)=0;MDCY(C-5332,1)=0')
109 CALL LUGIVE_HIJING('MDCY(C3122,1)=0;MDCY(C-3122,1)=0')
110 CALL LUGIVE_HIJING('MDCY(C3112,1)=0;MDCY(C-3112,1)=0')
111 CALL LUGIVE_HIJING('MDCY(C3222,1)=0;MDCY(C-3222,1)=0')
112 CALL LUGIVE_HIJING('MDCY(C3312,1)=0;MDCY(C-3312,1)=0')
113 CALL LUGIVE_HIJING('MDCY(C3322,1)=0;MDCY(C-3322,1)=0')
114 CALL LUGIVE_HIJING('MDCY(C3334,1)=0;MDCY(C-3334,1)=0')
115 ENDIF
116 IF(IHPR2(12).EQ.3) THEN
117 CALL LUGIVE_HIJING('MDCY(C310,1)=0')
118 CALL LUGIVE_HIJING('MDCY(C3122,1)=0;MDCY(C-3122,1)=0')
119 CALL LUGIVE_HIJING('MDCY(C3112,1)=0;MDCY(C-3112,1)=0')
120 CALL LUGIVE_HIJING('MDCY(C3222,1)=0;MDCY(C-3222,1)=0')
121 CALL LUGIVE_HIJING('MDCY(C3312,1)=0;MDCY(C-3312,1)=0')
122 CALL LUGIVE_HIJING('MDCY(C3322,1)=0;MDCY(C-3322,1)=0')
123 CALL LUGIVE_HIJING('MDCY(C3334,1)=0;MDCY(C-3334,1)=0')
124 ENDIF
125
126
e74335a4 127 MSTU(12)=0
128 MSTU(21)=1
129 IF(IHPR2(10).EQ.0) THEN
130 MSTU(22)=0
131 MSTU(25)=0
132 MSTU(26)=0
133 ENDIF
134 MSTJ(12)=IHPR2(11)
135 PARJ(21)=HIPR1(2)
136 PARJ(41)=HIPR1(3)
137 PARJ(42)=HIPR1(4)
138C ******** set up for jetset
139 IF(FRAME.EQ.'LAB') THEN
140 DD1=EFRM
141 DD2=HINT1(8)
142 DD3=HINT1(9)
143 HINT1(1)=SQRT(HINT1(8)**2+2.0*HINT1(9)*EFRM+HINT1(9)**2)
144 DD4=DSQRT(DD1**2-DD2**2)/(DD1+DD3)
145 HINT1(2)=DD4
146 HINT1(3)=0.5*DLOG((1.D0+DD4)/(1.D0-DD4))
147 DD4=DSQRT(DD1**2-DD2**2)/DD1
148 HINT1(4)=0.5*DLOG((1.D0+DD4)/(1.D0-DD4))
149 HINT1(5)=0.0
150 HINT1(6)=EFRM
151 HINT1(7)=HINT1(9)
152 ELSE IF(FRAME.EQ.'CMS') THEN
153 HINT1(1)=EFRM
154 HINT1(2)=0.0
155 HINT1(3)=0.0
156 DD1=HINT1(1)
157 DD2=HINT1(8)
158 DD3=HINT1(9)
159 DD4=DSQRT(1.D0-4.D0*DD2**2/DD1**2)
160 HINT1(4)=0.5*DLOG((1.D0+DD4)/(1.D0-DD4))
161 DD4=DSQRT(1.D0-4.D0*DD3**2/DD1**2)
162 HINT1(5)=-0.5*DLOG((1.D0+DD4)/(1.D0-DD4))
163 HINT1(6)=HINT1(1)/2.0
164 HINT1(7)=HINT1(1)/2.0
165 ENDIF
166C ********define Lorentz transform to lab frame
167c
168C ********calculate the cross sections involved with
169C nucleon collisions.
170 IF(IHNT2(1).GT.1) THEN
171 CALL HIJWDS(IHNT2(1),1,RMAX)
172 HIPR1(34)=RMAX
173C ********set up Wood-Sax distr for proj.
174 ENDIF
175 IF(IHNT2(3).GT.1) THEN
176 CALL HIJWDS(IHNT2(3),2,RMAX)
177 HIPR1(35)=RMAX
178C ********set up Wood-Sax distr for targ.
179 ENDIF
180C
181C
182 I=0
18320 I=I+1
184 IF(I.EQ.10) GO TO 30
185 IF(HIDAT0(10,I).LE.HINT1(1)) GO TO 20
18630 IF(I.EQ.1) I=2
187 DO 40 J=1,9
188 HIDAT(J)=HIDAT0(J,I-1)+(HIDAT0(J,I)-HIDAT0(J,I-1))
189 & *(HINT1(1)-HIDAT0(10,I-1))/(HIDAT0(10,I)-HIDAT0(10,I-1))
19040 CONTINUE
7dd84b41 191 IF(HIPR1(31).EQ.0) HIPR1(31)=HIDAT(5)
192 HIPR1(30)=2.0*HIPR1(31)
e74335a4 193C
194C
195 CALL HIJCRS
196C
197 IF(IHPR2(5).NE.0) THEN
198 CALL HIFUN(3,0.0,36.0,FNKICK)
199C ********booking for generating pt**2 for pt kick
200 ENDIF
201 CALL HIFUN(7,0.0,6.0,FNKICK2)
202 CALL HIFUN(4,0.0,1.0,FNSTRU)
203 CALL HIFUN(5,0.0,1.0,FNSTRUM)
204 CALL HIFUN(6,0.0,1.0,FNSTRUS)
205C ********booking for x distribution of valence quarks
206 EFRAME='Ecm'
207 IF(FRAME.EQ.'LAB') EFRAME='Elab'
208 WRITE(6,100) EFRAME,EFRM,PROJ,IHNT2(1),IHNT2(2),
209 & TARG,IHNT2(3),IHNT2(4)
7aae3926 210100 FORMAT(//10X,'**************************************************'/
e74335a4 211 & 10X,'*',48X,'*'/
212 & 10X,'* HIJING has been initialized at *'/
213 & 10X,'*',13X,A4,'= ',F10.2,' GeV/n',13X,'*'/
214 & 10X,'*',48X,'*'/
215 & 10X,'*',8X,'for ',
216 & A4,'(',I3,',',I3,')',' + ',A4,'(',I3,',',I3,')',7X,'*'/
217 & 10X,'**************************************************')
db0ed1b7 218
219 write (*,*),'Average jet cross section (mb): " ', HINT1(10)
220 write (*,*),'Jet cross section (mb): " ', HINT1(11)
7dd84b41 221 write (*,*),'Geometrical N size (mb): ', HIPR1(31)
db0ed1b7 222 write (*,*),'Inelastic NN cross section (mb): ', HINT1(12)
223 write (*,*),'Total NN cross section (mb): ',HINT1(13)
e74335a4 224 RETURN
225 END