23 parameter(nwpawc=1000000)
24 common/pawc/hmemory(nwpawc)
30 write(6,*)
'====================================================='
31 write(6,*)
'The program for calculation of general properties of '
32 write(6,*)
' neutral particles (Pi_0, Lambda0, K0_S, Phi '
33 write(6,*)
' in the HIJING model. '
34 write(6,*)
'====================================================='
36 write(6,*)
' You can work in Lab. or CM systems '
37 write(6,*)
' Would you like to use CM system? Y - Yes, N - No? '
42 if(
key.eq.
'Y'.or.
key.eq.
'y')
then
43 write(6,*)
'CM system is used --------------------------------'
46 write(6,*)
'LAB system is used -------------------------------'
50 write(6,*)
'Enter the corresponding energy per NN collisions (GeV)'
55 write(6,*)
'Enter a type of the projectile particle'
57 write(6,*)
' P proton, PBAR anti-proton,'
58 write(6,*)
' N neutron, NBAR anti-neutron,'
59 write(6,*)
' PI+ - positive pion, PI- negative pion,'
60 write(6,*)
' K+ positive kaon, K- negative kaon'
61 write(6,*)
' A - nucleus --------------------------'
78 write(6,*)
'Enter mass number and charge of the proj. nucleus'
83 write(6,*)
'Enter a type of the target particle (same notations)'
98 write(6,*)
'Enter mass number and charge of the target nucleus'
103 write(6,*)
'Enter number of events'
106 write(6,*)
'Enter FILENAME for HBOOK output'
114 WRITE(6,*)
' Simulation of interactions with'
116 WRITE(6,*)
' Proj = ',
proj,
' and Targ = ',
targ
117 WRITE(6,*)
' IAP =',
iap ,
' IAT =',
iat
118 WRITE(6,*)
' IZP =',
izp ,
' IZT =',
izt
120 WRITE(6,*)
' Reference frame - ',frame
121 WRITE(6,*)
' ENERGY ',
efrm,
' GeV'
122 WRITE(6,*)
' Number of generated events -',n_events
144 CALL hbook1(10,
' Pi0 meson multiplicity distribution',
147 if(frame.eq.
'CMS')
then
152 eta_h=alog(2.*
efrm)+2.
154 nbineta=(eta_h-eta_l)/0.2
156 CALL hbook1(20,
' Pi0 meson pseudo-rapidity distribution',
157 ,nbineta,eta_l,eta_h,0.)
159 if(frame.eq.
'CMS')
then
168 CALL hbook1(30,
' Pi0 meson rapidity distribution',
171 CALL hbook1(40,
' Pi0 meson Pt distribution',
174 if(frame.eq.
'CMS')
then
183 CALL hbook1(50,
' Pi0 meson energy distribution',
186 CALL hbook1(60,
' Pi0 meson Cos(Theta) distribution',
189 CALL hbook1(70,
' Pi0 meson Phi distribution',
192 CALL hbook2(80,
' Phi - Eta correlation of Pi0 meson',
193 ,nbineta,eta_l,eta_h,180,-180.,180.,0.)
198 CALL hbook1(110,
' Lambda0 multiplicity distribution',
199 ,100,-0.5,float(
iap+
iat),0.)
201 CALL hbook1(120,
' Lambda0 pseudo-rapidity distribution',
202 ,nbineta,eta_l,eta_h,0.)
204 CALL hbook1(130,
' Lambda0 rapidity distribution',
207 CALL hbook1(140,
' Lambda0 Pt distribution',
210 CALL hbook1(150,
' Lambda0 energy distribution',
213 CALL hbook1(160,
' Lambda0 Cos(Theta) distribution',
216 CALL hbook1(170,
' Lambda0 Phi distribution',
219 CALL hbook2(180,
' Phi - Eta correlation of Lambda0',
220 ,nbineta,eta_l,eta_h,180,-180.,180.,0.)
225 CALL hbook1(210,
' K0S multiplicity distribution',
228 CALL hbook1(220,
' K0S pseudo-rapidity distribution',
229 ,nbineta,eta_l,eta_h,0.)
231 CALL hbook1(230,
' K0S rapidity distribution',
234 CALL hbook1(240,
' K0S Pt distribution',
237 CALL hbook1(250,
' K0S energy distribution',
240 CALL hbook1(260,
' K0S Cos(Theta) distribution',
243 CALL hbook1(270,
' K0S Phi distribution',
246 CALL hbook2(280,
' Phi - Eta correlation of K0S',
247 ,nbineta,eta_l,eta_h,180,-180.,180.,0.)
252 CALL hbook1(310,
' Phi meson multiplicity distribution',
253 ,100,-0.5,ch_max/3.,0.)
255 CALL hbook1(320,
' Phi meson pseudo-rapidity distribution',
256 ,nbineta,eta_l,eta_h,0.)
258 CALL hbook1(330,
' Phi meson rapidity distribution',
261 CALL hbook1(340,
' Phi meson Pt distribution',
264 CALL hbook1(350,
' Phi meson energy distribution',
267 CALL hbook1(360,
' Phi meson Cos(Theta) distribution',
270 CALL hbook1(370,
' Phi meson Phi distribution',
273 CALL hbook2(380,
' Phi - Eta correlation of Phi meson',
274 ,nbineta,eta_l,eta_h,180,-180.,180.,0.)
279 CALL
lugive(
'MDCY(C333,1)=0')
285 DO 2000 i_event=1,n_events
287 WRITE(6,*)
' Event # ',i_event,
' ------------------'
289 CALL
hijing(frame,bmin,bmax)
301 if(
katt(i,2).eq. 0) go to 3000
302 if(
katt(i,2).eq. 1) go to 3000
303 if(
katt(i,2).eq.10) go to 3000
304 if(
katt(i,2).eq.11) go to 3000
317 if(
p-
pz.ge.1.0
e-4)
then
318 eta= 0.5*alog((
p+
pz)/(
p-
pz))
319 elseif(
p+
pz.ge.1.0
e-4)
then
320 eta=-0.5*alog((
p-
pz)/(
p+
pz))
325 if(
e-
pz.ge.1.0
e-4)
then
327 elseif(
e+
pz.ge.1.0
e-4)
then
350 Call hf1(60,cos_theta,1.)
352 Call hfill(80,eta,
phi,1.)
353 Call hf1(90,float(
id),1.)
363 Call hf1(160,cos_theta,1.)
365 Call hfill(180,eta,
phi,1.)
375 Call hf1(260,cos_theta,1.)
377 Call hfill(280,eta,
phi,1.)
387 Call hf1(360,cos_theta,1.)
389 Call hfill(380,eta,
phi,1.)
395 CALL hf1( 10,float(n_pi0),1.)
396 CALL hf1(110,float(n_lam),1.)
397 CALL hf1(210,float(n_k0s),1.)
398 CALL hf1(310,float(n_phi),1.)
404 c1=1./float(n_events)
407 Call hopera( 10,
'+', 10, 10,
c1,
c2)
408 Call hopera(110,
'+',110,110,
c1,
c2)
409 Call hopera(210,
'+',210,210,
c1,
c2)
410 Call hopera(310,
'+',310,310,
c1,
c2)
412 c1=1./float(n_events)/((eta_h-eta_l)/nbineta)
415 Call hopera( 20,
'+', 20, 20,
c1,
c2)
416 Call hopera(120,
'+',120,120,
c1,
c2)
417 Call hopera(220,
'+',220,220,
c1,
c2)
418 Call hopera(320,
'+',320,320,
c1,
c2)
420 c1=1./float(n_events)/((y_h-y_l)/nbiny)
423 Call hopera( 30,
'+', 30, 30,
c1,
c2)
424 Call hopera(130,
'+',130,130,
c1,
c2)
425 Call hopera(230,
'+',230,230,
c1,
c2)
426 Call hopera(330,
'+',330,330,
c1,
c2)
428 c1=1./float(n_events)/0.1
431 Call hopera( 40,
'+', 40, 40,
c1,
c2)
432 Call hopera(140,
'+',140,140,
c1,
c2)
433 Call hopera(240,
'+',240,240,
c1,
c2)
434 Call hopera(340,
'+',340,340,
c1,
c2)
436 c1=1./float(n_events)/((e_h-e_l)/nbine)
439 Call hopera( 50,
'+', 50, 50,
c1,
c2)
440 Call hopera(150,
'+',150,150,
c1,
c2)
441 Call hopera(250,
'+',250,250,
c1,
c2)
442 Call hopera(350,
'+',350,350,
c1,
c2)
444 c1=1./float(n_events)/0.05
447 Call hopera( 60,
'+', 60, 60,
c1,
c2)
448 Call hopera(160,
'+',160,160,
c1,
c2)
449 Call hopera(260,
'+',260,260,
c1,
c2)
450 Call hopera(360,
'+',360,360,
c1,
c2)
452 c1=1./float(n_events)
455 Call hopera( 70,
'+', 70, 70,
c1,
c2)
456 Call hopera(170,
'+',170,170,
c1,
c2)
457 Call hopera(270,
'+',270,270,
c1,
c2)
458 Call hopera(370,
'+',370,370,
c1,
c2)
462 CALL hrput(0,fname,
'N')