ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
ECCE @ EIC Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
analysis
coresoftware
blob
master
calibrations
generators
decayFinder
FermiMotionAfterburner
flowAfterburner
hijing
dummy
examples
example_1.f
example_2.f
example_3.f
example_4.f
example_5.f
example_6.f
example_7.f
example_8.f
src
JETSCAPE
JEWEL
phhepmc
PHPythia6
PHPythia8
PHSartre
sHEPGen
sHijing
offline
simulation
Doxygen_Assist
ecce-detectors
fun4all_eicdetectors
geant4
macros
online_distribution
tutorials
doxygen_mainpage.h
File Members
External Links
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
example_5.f
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file example_5.f
1
2
C****************************************************************************
3
C The program for checking conservation laws fulfillment in
4
C the HIJING model.
5
C Written by V.Uzhinsky, CERN, Oct. 2003
6
C***************************************************************************
7
8
CHARACTER
frame*8,
proj
*8,
targ
*8
9
10
common
/himain1/
natt
,
eatt
,
jatt
,
nt
,
np
,
n0
,
n01
,
n10
,
n11
11
SAVE
/himain1/
12
13
common
/himain2/
katt
(130000,4),
patt
(130000,4)
14
SAVE
/himain2/
15
16
C ********information of produced particles
17
C
18
CHARACTER *1
key
19
CHARACTER *12
fname
20
21
parameter(nwpawc=50000)
22
common
/pawc/hmemory(nwpawc)
23
24
common
/ranseed/
nseed
25
SAVE
/ranseed/
26
nseed
=0
27
28
write
(6,*)
'====================================================='
29
write
(6,*)
'The program for checking conservation laws fulfillment'
30
write
(6,*)
' in the HIJING model '
31
write
(6,*)
' Only hadronic (hh) interactions are considered '
32
write
(6,*)
'====================================================='
33
write
(6,*)
' You can work in Lab. or CM systems '
34
write
(6,*)
' Would you like to use CM system? Y - Yes, N - No? '
35
36
read
(5,1001)
key
37
1001
format
(a1)
38
39
if
(
key
.eq.
'Y'
.or.
key
.eq.
'y'
)
then
40
write
(6,*)
'CM system is used --------------------------------'
41
frame=
'CMS'
42
else
43
write
(6,*)
'LAB system is used -------------------------------'
44
frame=
'LAB'
45
endif
46
47
write
(6,*)
'Enter the corresponding energy (GeV)'
48
49
read
(5,*)
efrm
50
51
write
(6,*)
52
write
(6,*)
'Enter a type of the projectile particle'
53
write
(6,*)
54
write
(6,*)
' P proton, PBAR anti-proton,'
55
write
(6,*)
' N neutron, NBAR anti-neutron,'
56
write
(6,*)
' PI+ - positive pion, PI- negative pion,'
57
write
(6,*)
' K+ positive kaon, K- negative kaon'
58
59
read
(5,1002)
proj
60
1002
format
(a8)
61
62
if
(
proj
.ne.
'A'
)
then
63
iap
=1
64
if
(
proj
.eq.
'P'
)
izp
= 1
65
if
(
proj
.eq.
'PBAR'
)
izp
=-1
66
if
(
proj
.eq.
'N'
)
izp
= 0
67
if
(
proj
.eq.
'NBAR'
)
izp
= 0
68
if
(
proj
.eq.
'PI+'
)
izp
= 1
69
if
(
proj
.eq.
'PI-'
)
izp
=-1
70
if
(
proj
.eq.
'K+'
)
izp
= 1
71
if
(
proj
.eq.
'K-'
)
izp
=-1
72
else
73
write
(6,*)
74
write
(6,*)
'Enter mass number and charge of the proj. nucleus'
75
read
(5,*)
iap
,
izp
76
endif
77
78
write
(6,*)
79
write
(6,*)
'Enter a type of the target particle (same notations)'
80
read
(5,1002)
targ
81
82
if
(
targ
.ne.
'A'
)
then
83
iat
=1
84
if
(
targ
.eq.
'P'
)
izt
= 1
85
if
(
targ
.eq.
'PBAR'
)
izt
=-1
86
if
(
targ
.eq.
'N'
)
izt
= 0
87
if
(
targ
.eq.
'NBAR'
)
izt
= 0
88
if
(
targ
.eq.
'PI+'
)
izt
= 1
89
if
(
targ
.eq.
'PI-'
)
izt
=-1
90
if
(
targ
.eq.
'K+'
)
izt
= 1
91
if
(
targ
.eq.
'K-'
)
izt
=-1
92
else
93
write
(6,*)
94
write
(6,*)
'Enter mass number and charge of the target nucleus'
95
read
(5,*)
iat
,
izt
96
endif
97
98
write
(6,*)
99
write
(6,*)
'Enter number of events'
100
read
(5,*) n_events
101
102
write
(6,*)
'Enter FILENAME for HBOOK output'
103
read
(5,1003) fname
104
1003
format
(a12)
105
106
c------------------------------------------------------------------
107
CALL hlimit(nwpawc)
108
109
efrml=
efrm
*(9./10.)
110
efrmh=
efrm
*(11./10.)
111
CALL hbook1(10,
' Energy conservation'
,100,efrml,efrmh,0.)
112
113
pxl=-5.
114
pxh= 5.
115
CALL hbook1(20,
' Px momentum conservation'
,100,pxl,pxh,0.)
116
117
pyl=-5.
118
pyh= 5.
119
CALL hbook1(30,
' Py momentum conservation'
,100,pyl,pyh,0.)
120
121
if
(frame.eq.
'CMS'
)
then
122
pzl=-5.
123
pzh= 5.
124
else
125
if
(
proj
.eq.
'P'
.or.
proj
.eq.
'PBAR'
.or.
126
&
proj
.eq.
'N'
.or.
proj
.eq.
'NBAR'
.or.
proj
.eq.
'A'
)
then
127
plab=
sqrt
(
efrm
**2-0.88)
128
endif
129
130
if
(
proj
.eq.
'PI+'
.or.
proj
.eq.
'PI-'
)
then
131
plab=
sqrt
(
efrm
**2-0.0196)
132
endif
133
134
if
(
proj
.eq.
'K+'
.or.
proj
.eq.
'K-'
)
then
135
plab=
sqrt
(
efrm
-0.25)
136
endif
137
138
pzl=plab*(3./4.)
139
pzh=plab*(5./4.)
140
endif
141
142
CALL hbook1(40,
' Pz momentum conservation'
,100,pzl,pzh,0.)
143
144
CALL hbook1(50,
' Charge conservation'
,100,-5.,5.,0.)
145
146
CALL hbook1(60,
' Baryon number conservation'
,100,-5.,5.,0.)
147
148
CALL hbook1(70,
' Lepton number conservation'
,100,-5.,5.,0.)
149
150
CALL hbook1(80,
' Azimuthal isotropy'
,100,-3.2,3.2,0.)
151
C----------------------------------------------------------------
152
153
CALL
hijset
(
efrm
,frame,
proj
,
targ
,
iap
,
izp
,
iat
,
izt
)
154
C ********Initialize HIJING
155
156
WRITE
(6,*)
' Simulation of interactions with'
157
WRITE
(6,*)
158
WRITE
(6,*)
' Proj = '
,
proj
,
' and Targ = '
,
targ
159
WRITE
(6,*)
' IAP ='
,
iap
,
' IAT ='
,
iat
160
WRITE
(6,*)
' IZP ='
,
izp
,
' IZT ='
,
izt
161
WRITE
(6,*)
162
WRITE
(6,*)
' Reference frame - '
,frame
163
WRITE
(6,*)
' ENERGY '
,
efrm
,
' GeV'
164
WRITE
(6,*)
' Number of generated events -'
,n_events
165
WRITE
(6,*)
166
167
168
169
bmin=0.0
170
bmax=0.0
171
172
DO
2000 i_event=1,n_events
173
C
174
WRITE
(6,*)
' Event # '
,i_event,
' ------------------'
175
C
176
CALL
hijing
(frame,bmin,bmax)
177
C
178
sum_e =0.
179
sum_px=0.
180
sum_py=0.
181
sum_pz=0.
182
sum_q =0.
183
sum_b =0.
184
sum_l =0.
185
186
DO
3000 i=1,
natt
187
188
if
(
katt
(i,2).eq. 0) go to 3000
! reject non-interacting projectile
189
if
(
katt
(i,2).eq. 1) go to 3000
! reject elastic scattering
190
if
(
katt
(i,2).eq.10) go to 3000
! reject non-interacting target
191
if
(
katt
(i,2).eq.11) go to 3000
! reject elastic scattering
192
193
ich=
luchge
(
katt
(i,1))/3
194
195
amass=
ulmass
(
katt
(i,1))
196
197
sum_e =sum_e +
patt
(i,4)
198
sum_px=sum_px+
patt
(i,1)
199
sum_py=sum_py+
patt
(i,2)
200
sum_pz=sum_pz+
patt
(i,3)
201
sum_q =sum_q + ich
202
203
if
(iabs(
katt
(i,1)).gt.2000)
then
204
sum_b=sum_b+iabs(
katt
(i,1))/
katt
(i,1)
205
endif
206
207
if
((iabs(
katt
(i,1)).gt.10.).and.
208
& (iabs(
katt
(i,1)).lt.20.))
then
209
sum_l=sum_l+iabs(
katt
(i,1))/
katt
(i,1)
210
endif
211
212
phi
=
ulangl
(
patt
(i,1),
patt
(i,2))
213
CALL hf1(80,
phi
,1.)
214
215
3000
CONTINUE
216
217
CALL hf1(10,sum_e ,1.)
218
CALL hf1(20,sum_px,1.)
219
CALL hf1(30,sum_py,1.)
220
CALL hf1(40,sum_pz,1.)
221
CALL hf1(50,sum_q ,1.)
222
CALL hf1(60,sum_b ,1.)
223
CALL hf1(70,sum_l ,1.)
224
2000
CONTINUE
225
226
CALL hrput(0,fname,
'N'
)
227
END
228
229
FUNCTION
ran
(NSEED)
230
ran
=
rlu
(
nseed
)
231
RETURN
232
END
coresoftware
blob
master
generators
hijing
examples
example_5.f
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:29
using
1.8.2 with
ECCE GitHub integration