31 parameter(nwpawc=1000000)
32 common/pawc/hmemory(nwpawc)
38 write(6,*)
'====================================================='
39 write(6,*)
'The program for calculation of general properties of '
40 write(6,*)
' partons in the HIJING model. '
41 write(6,*)
'====================================================='
43 write(6,*)
' You can work in Lab. or CM systems '
44 write(6,*)
' Would you like to use CM system? Y - Yes, N - No? '
49 if(
key.eq.
'Y'.or.
key.eq.
'y')
then
50 write(6,*)
'CM system is used --------------------------------'
53 write(6,*)
'LAB system is used -------------------------------'
57 write(6,*)
'Enter the corresponding energy per NN collisions (GeV)'
62 write(6,*)
'Enter a type of the projectile particle'
64 write(6,*)
' P proton, PBAR anti-proton,'
65 write(6,*)
' N neutron, NBAR anti-neutron,'
66 write(6,*)
' PI+ - positive pion, PI- negative pion,'
67 write(6,*)
' K+ positive kaon, K- negative kaon'
68 write(6,*)
' A - nucleus --------------------------'
85 write(6,*)
'Enter mass number and charge of the proj. nucleus'
90 write(6,*)
'Enter a type of the target particle (same notations)'
105 write(6,*)
'Enter mass number and charge of the target nucleus'
110 write(6,*)
'Enter number of events'
113 write(6,*)
'Enter FILENAME for HBOOK output'
121 WRITE(6,*)
' Simulation of interactions with'
123 WRITE(6,*)
' Proj = ',
proj,
' and Targ = ',
targ
124 WRITE(6,*)
' IAP =',
iap ,
' IAT =',
iat
125 WRITE(6,*)
' IZP =',
izp ,
' IZT =',
izt
127 WRITE(6,*)
' Reference frame - ',frame
128 WRITE(6,*)
' ENERGY ',
efrm,
' GeV'
129 WRITE(6,*)
' Number of generated events -',n_events
149 CALL hbook1(110,
' Projectile parton multiplicity distribution',
152 if(frame.eq.
'CMS')
then
157 eta_h=alog(2.*
efrm)+2.
159 nbineta=(eta_h-eta_l)/0.2
161 CALL hbook1(120,
' Projectile parton pseudo-rapidity distribution',
162 ,nbineta,eta_l,eta_h,0.)
164 if(frame.eq.
'CMS')
then
173 CALL hbook1(130,
' Projectile parton rapidity distribution',
176 CALL hbook1(140,
' Projectile parton Pt distribution',
179 if(frame.eq.
'CMS')
then
188 CALL hbook1(150,
' Projectile parton energy distribution',
191 CALL hbook1(160,
' Projectile parton Cos(Theta) distribution',
194 CALL hbook1(170,
' Projectile parton Phi distribution',
197 CALL hbook2(180,
' Phi - Eta correlation of Projectile parton',
198 ,nbineta,eta_l,eta_h,180,-180.,180.,0.)
200 CALL hbook1(190,
' ID distribution of projectile partons',
205 CALL hbook1(210,
' Target parton multiplicity distribution',
208 CALL hbook1(220,
' Target parton pseudo-rapidity distribution',
209 ,nbineta,eta_l,eta_h,0.)
211 CALL hbook1(230,
' Target parton rapidity distribution',
214 CALL hbook1(240,
' Target parton Pt distribution',
217 CALL hbook1(250,
' Target parton energy distribution',
220 CALL hbook1(260,
' Target parton Cos(Theta) distribution',
223 CALL hbook1(270,
' Target parton Phi distribution',
226 CALL hbook2(280,
' Phi - Eta correlation of Target parton',
227 ,nbineta,eta_l,eta_h,180,-180.,180.,0.)
229 CALL hbook1(290,
' ID distribution of target partons',
234 CALL hbook1(310,
' Central parton multiplicity distribution',
237 CALL hbook1(320,
' Central parton pseudo-rapidity distribution',
238 ,nbineta,eta_l,eta_h,0.)
240 CALL hbook1(330,
' Central parton rapidity distribution',
243 CALL hbook1(340,
' Central parton Pt distribution',
246 CALL hbook1(350,
' Central parton energy distribution',
249 CALL hbook1(360,
' Central parton Cos(Theta) distribution',
252 CALL hbook1(370,
' Central parton Phi distribution',
255 CALL hbook2(380,
' Phi - Eta correlation of Central parton',
256 ,nbineta,eta_l,eta_h,180,-180.,180.,0.)
258 CALL hbook1(390,
' ID distribution of central partons',
264 DO i_event=1,n_events
266 WRITE(6,*)
' Event # ',i_event,
' ------------------'
268 CALL
hijing(frame,bmin,bmax)
286 if(
p-
pz.ge.1.0
e-4)
then
287 eta= 0.5*alog((
p+
pz)/(
p-
pz))
288 elseif(
p+
pz.ge.1.0
e-4)
then
289 eta=-0.5*alog((
p-
pz)/(
p+
pz))
294 if(
e-
pz.ge.1.0
e-4)
then
296 elseif(
e+
pz.ge.1.0
e-4)
then
315 Call hf1(160,cos_theta,1.)
317 Call hfill(180,eta,
phi,1.)
318 Call hf1(190,float(
id),1.)
334 if(
p-
pz.ge.1.0
e-4)
then
335 eta= 0.5*alog((
p+
pz)/(
p-
pz))
336 elseif(
p+
pz.ge.1.0
e-4)
then
337 eta=-0.5*alog((
p-
pz)/(
p+
pz))
342 if(
e-
pz.ge.1.0
e-4)
then
344 elseif(
e+
pz.ge.1.0
e-4)
then
363 Call hf1(260,cos_theta,1.)
365 Call hfill(280,eta,
phi,1.)
366 Call hf1(290,float(
id),1.)
382 if(
p-
pz.ge.1.0
e-4)
then
383 eta= 0.5*alog((
p+
pz)/(
p-
pz))
384 elseif(
p+
pz.ge.1.0
e-4)
then
385 eta=-0.5*alog((
p-
pz)/(
p+
pz))
390 if(
e-
pz.ge.1.0
e-4)
then
392 elseif(
e+
pz.ge.1.0
e-4)
then
411 Call hf1(360,cos_theta,1.)
413 Call hfill(380,eta,
phi,1.)
414 Call hf1(390,float(
id),1.)
418 CALL hf1(110,float(n_prp),1.)
419 CALL hf1(210,float(n_trp),1.)
420 CALL hf1(310,float(n_crp),1.)
426 c1=1./float(n_events)
429 Call hopera(110,
'+',110,110,
c1,
c2)
430 Call hopera(210,
'+',210,210,
c1,
c2)
431 Call hopera(310,
'+',310,310,
c1,
c2)
433 c1=1./float(n_events)/((eta_h-eta_l)/nbineta)
436 Call hopera(120,
'+',120,120,
c1,
c2)
437 Call hopera(220,
'+',220,220,
c1,
c2)
438 Call hopera(320,
'+',320,320,
c1,
c2)
440 c1=1./float(n_events)/((y_h-y_l)/nbiny)
443 Call hopera(130,
'+',130,130,
c1,
c2)
444 Call hopera(230,
'+',230,230,
c1,
c2)
445 Call hopera(330,
'+',330,330,
c1,
c2)
447 c1=1./float(n_events)/0.1
450 Call hopera(140,
'+',140,140,
c1,
c2)
451 Call hopera(240,
'+',240,240,
c1,
c2)
452 Call hopera(340,
'+',340,340,
c1,
c2)
454 c1=1./float(n_events)/((e_h-e_l)/nbine)
457 Call hopera(150,
'+',150,150,
c1,
c2)
458 Call hopera(250,
'+',250,250,
c1,
c2)
459 Call hopera(350,
'+',350,350,
c1,
c2)
461 c1=1./float(n_events)/0.05
464 Call hopera(160,
'+',160,160,
c1,
c2)
465 Call hopera(260,
'+',260,260,
c1,
c2)
466 Call hopera(360,
'+',360,360,
c1,
c2)
468 c1=1./float(n_events)
471 Call hopera(170,
'+',170,170,
c1,
c2)
472 Call hopera(270,
'+',270,270,
c1,
c2)
473 Call hopera(370,
'+',370,370,
c1,
c2)
477 CALL hrput(0,fname,
'N')