8 CHARACTER frame*8,
proj*8,targ*8
11 common/himain2/
katt(130000,4),
patt(130000,4)
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)'
88 if(targ.eq.
'P' )
izt= 1
89 if(targ.eq.
'PBAR')
izt=-1
90 if(targ.eq.
'N' )
izt= 0
91 if(targ.eq.
'NBAR')
izt= 0
92 if(targ.eq.
'PI+' )
izt= 1
93 if(targ.eq.
'PI-' )
izt=-1
94 if(targ.eq.
'K+' )
izt= 1
95 if(targ.eq.
'K-' )
izt=-1
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
136 nu_max=min(
iap*
iat+1,2000)
138 if(
proj.eq.
'A'.or.targ.eq.
'A')
then
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)
317 if(
p-
pz.ge.1.0
e-4)
then
319 elseif(
p+
pz.ge.1.0
e-4)
then
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.)
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')