1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
|
c.....driver program for A Multi-Phase Transport model
SUBROUTINE AMPT(FRAME0,BMIN,BMAX)
c
double precision xmp, xmu, alpha, rscut2, cutof2, dshadow
double precision smearp,smearh,dpcoal,drcoal,ecritl
cgsfs added following line to match C++ call
double precision BMIN, BMAX
integer K
c CHARACTER*(*) FRAME0
c CHARACTER FRAME0*8
CHARACTER*(*) FRAME0
CHARACTER FRAME*8
cgsfs added to match specification in AMPTSET
character*25 amptvn
COMMON/HMAIN1/EATT,JATT,NATT,NT,NP,N0,N01,N10,N11
COMMON /HPARNT/HIPR1(100), IHPR2(50), HINT1(100), IHNT2(50)
COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
COMMON /ARPRNT/ ARPAR1(100), IAPAR2(50),CARINT1(100), IAINT2(50)
COMMON /AROUT/ IOUT
COMMON /AREVT/ IAEVT, IARUN, MISS
COMMON /smearz/smearp,smearh
COMMON/RNDF77/NSEED
common/anim/nevent,isoft,isflag,izpc
c parton coalescence radii in case of string melting:
common/coal/dpcoal,drcoal,ecritl
common/snn/efrm,npart1,npart2,epsiPz,epsiPt,PZPROJ,PZTARG
c initialization value for parton cascade:
common /para2/xmp,xmu,alpha,rscut2,cutof2
common/para7/ioscar,nsmbbbar,nsmmeson
common/para8/idpert,npertd,idxsec
common/rndm3/iseedp
c initialization value for hadron cascade:
COMMON /RUN/ NUM
common/input1/MASSPR,MASSTA,ISEED,IAVOID,DT
COMMON/INPUT2/ILAB,MANYB,NTMAX,ICOLL,INSYS,IPOT,MODE,
& IMOMEN,NFREQ,ICFLOW,ICRHO,ICOU,KPOTEN,KMUL
common/oscar1/iap,izp,iat,izt
common/oscar2/FRAME,amptvn
common/resdcy/NSAV,iksdcy
clin-6/2009:
c common/phidcy/iphidcy
common/phidcy/iphidcy,pttrig,ntrig,maxmiss,ipi0dcy
common/embed/iembed,nsembd,pxqembd,pyqembd,xembd,yembd,
1 psembd,tmaxembd,phidecomp
common/cmsflag/dshadow,ishadow
clin-2/2012 allow random orientation of reaction plane:
common /phiHJ/iphirp,phiRP
EXTERNAL HIDATA,PYDATA,LUDATA,ARDATA,PPBDAT,zpcbdt
SAVE
c****************
FRAME=FRAME0
imiss=0
cgsfs This line should not be here, but the value needs to be set for ARINI2
cgsfs K=K+1
K=1
100 CALL HIJING(FRAME, BMIN, BMAX)
IAINT2(1) = NATT
c evaluate Npart (from primary NN collisions) for both proj and targ:
call getnp
c switch for final parton fragmentation:
IF (IHPR2(20) .EQ. 0) GOTO 2000
c In the unlikely case of no interaction (even after loop of 20 in HIJING),
c still repeat the event to get an interaction
c (this may have an additional "trigger" effect):
if(NATT.eq.0) then
imiss=imiss+1
if(imiss.le.20) then
write(6,*) 'repeated event: natt=0,j,imiss=',j,imiss
goto 100
else
write(6,*) 'missed event: natt=0,j=',j
goto 2000
endif
endif
c.....ART initialization and run
CALL ARINI
CALL ARINI2(K)
CALL ARTAN1
CALL HJANA3
CALL ARTMN
CALL HJANA4
CALL ARTAN2
2000 CONTINUE
c
c CALL ARTOUT(NEVNT)
clin-5/2009 ctest off:
c call flowh0(NEVNT,2)
c call flowp(2)
c call iniflw(NEVNT,2)
c call frztm(NEVNT,2)
c
RETURN
END
SUBROUTINE AMPTSET(EFRM0,FRAME0,PROJ0,TARG0,IAP0,IZP0,IAT0,IZT0)
c cgsfs added following line to match C++ call
double precision EFRM0
double precision xmp, xmu, alpha, rscut2, cutof2
double precision smearp,smearh,dpcoal,drcoal,ecritl
CHARACTER*(*) FRAME0,PROJ0,TARG0
CHARACTER FRAME*8,PROJ*8,TARG*8
character*25 amptvn
COMMON/HMAIN1/EATT,JATT,NATT,NT,NP,N0,N01,N10,N11
COMMON /HPARNT/HIPR1(100),IHPR2(50),HINT1(100),IHNT2(50)
COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
COMMON/ARPRNT/ARPAR1(100),IAPAR2(50),ARINT1(100),IAINT2(50)
COMMON/AROUT/IOUT
COMMON/AREVT/IAEVT,IARUN,MISS
COMMON/smearz/smearp,smearh
COMMON/RNDF77/NSEED
common/anim/nevent,isoft,isflag,izpc
c parton coalescence radii in case of string melting:
common/coal/dpcoal,drcoal,ecritl
common/snn/efrm,npart1,npart2,epsiPz,epsiPt,PZPROJ,PZTARG
c initialization value for parton cascade:
common/para2/xmp,xmu,alpha,rscut2,cutof2
common/para7/ioscar,nsmbbbar,nsmmeson
common/para8/idpert,npertd,idxsec
common/rndm3/iseedp
c initialization value for hadron cascade:
COMMON/RUN/NUM
common/input1/MASSPR,MASSTA,ISEED,IAVOID,DT
COMMON/INPUT2/ILAB,MANYB,NTMAX,ICOLL,INSYS,IPOT,MODE,
& IMOMEN,NFREQ,ICFLOW,ICRHO,ICOU,KPOTEN,KMUL
common/oscar1/iap,izp,iat,izt
common/oscar2/FRAME,amptvn
common/resdcy/NSAV,iksdcy
clin-6/2009:
c common/phidcy/iphidcy
common/phidcy/iphidcy,pttrig,ntrig,maxmiss,ipi0dcy
common/embed/iembed,nsembd,pxqembd,pyqembd,xembd,yembd,
1 psembd,tmaxembd,phidecomp
common/popcorn/ipop
EXTERNAL HIDATA,PYDATA, LUDATA,ARDATA,PPBDAT,zpcbdt
SAVE
c****************
EFRM=EFRM0
FRAME=FRAME0
PROJ=PROJ0
TARG=TARG0
IAP=IAP0
IZP=IZP0
IAT=IAT0
IZT=IZT0
if(ipop.eq.1) IHPR2(11)=3
clin-6/2009 ctest off turn on jet triggering:
c IHPR2(3)=1
c Trigger Pt of high-pt jets in HIJING:
c HIPR1(10)=7.
c
if(isoft.eq.1) then
amptvn = '1.26t5 (Default)'
elseif(isoft.eq.4) then
amptvn = '2.26t5 (StringMelting)'
else
amptvn = 'Test-Only'
endif
WRITE(6,50) amptvn
WRITE(12,50) amptvn
50 FORMAT(' '/
&11X,'##################################################'/1X,
&10X,'# AMPT (A Multi-Phase Transport) model #'/1X,
&10X,'# Version ',a25, ' #'/1X,
&10X,'# 4/06/2015 #'/1X,
&10X,'##################################################'/1X,
&10X,' ')
clin-5/2015 an odd number is needed for the random number generator:
c if(mod(NSEED,2).eq.0) NSEED=NSEED+1
NSEED=2*NSEED+1
c 9/26/03 random number generator for f77 compiler:
CALL SRAND(NSEED)
c
c.....turn on warning messages in nohup.out when an event is repeated:
IHPR2(10) = 1
c string formation time:
ARPAR1(1) = 0.7
c smearp is the smearing halfwidth on parton z0,
c set to 0 for now to avoid overflow in eta.
c smearh is the smearing halfwidth on string production point z0.
smearp=0d0
IAmax=max(iap,iat)
smearh=1.2d0*IAmax**0.3333d0/(dble(EFRM)/2/0.938d0)
nevent=NEVNT
c
CALL HIJSET(EFRM, FRAME, PROJ, TARG, IAP, IZP, IAT, IZT)
CALL ARTSET
CALL INIZPC
RETURN
END
|