8 CHARACTER frame*8,proj*8,targ*8
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 --------------------------'
75 if(proj.eq.
'P' )
izp= 1
76 if(proj.eq.
'PBAR')
izp=-1
77 if(proj.eq.
'N' )
izp= 0
78 if(proj.eq.
'NBAR')
izp= 0
79 if(proj.eq.
'PI+' )
izp= 1
80 if(proj.eq.
'PI-' )
izp=-1
81 if(proj.eq.
'K+' )
izp= 1
82 if(proj.eq.
'K-' )
izp=-1
85 write(6,*)
'Enter mass number and charge of the proj. nucleus'
90 write(6,*)
'Enter a type of the target particle (same notations)'
95 if(targ.eq.
'P' )
izt= 1
96 if(targ.eq.
'PBAR')
izt=-1
97 if(targ.eq.
'N' )
izt= 0
98 if(targ.eq.
'NBAR')
izt= 0
99 if(targ.eq.
'PI+' )
izt= 1
100 if(targ.eq.
'PI-' )
izt=-1
101 if(targ.eq.
'K+' )
izt= 1
102 if(targ.eq.
'K-' )
izt=-1
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
143 if(proj.eq.
'A'.or.targ.eq.
'A')
then
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.0e-4)
then
287 eta= 0.5*alog((
p+pz)/(
p-pz))
288 elseif(
p+pz.ge.1.0e-4)
then
289 eta=-0.5*alog((
p-pz)/(
p+pz))
294 if(e-pz.ge.1.0e-4)
then
295 y= 0.5*alog((e+pz)/(e-pz))
296 elseif(e+pz.ge.1.0e-4)
then
297 y=-0.5*alog((e-pz)/(e+pz))
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.0e-4)
then
335 eta= 0.5*alog((
p+pz)/(
p-pz))
336 elseif(
p+pz.ge.1.0e-4)
then
337 eta=-0.5*alog((
p-pz)/(
p+pz))
342 if(e-pz.ge.1.0e-4)
then
343 y= 0.5*alog((e+pz)/(e-pz))
344 elseif(e+pz.ge.1.0e-4)
then
345 y=-0.5*alog((e-pz)/(e+pz))
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.0e-4)
then
383 eta= 0.5*alog((
p+pz)/(
p-pz))
384 elseif(
p+pz.ge.1.0e-4)
then
385 eta=-0.5*alog((
p-pz)/(
p+pz))
390 if(e-pz.ge.1.0e-4)
then
391 y= 0.5*alog((e+pz)/(e-pz))
392 elseif(e+pz.ge.1.0e-4)
then
393 y=-0.5*alog((e-pz)/(e+pz))
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')