1 gaskelld 1.1 subroutine NtupleInit(filename)
2 implicit none
3 save
4
5 include 'hbook.inc'
6 include 'simulate.inc'
7
8 character*80 filename,directory
9 character*16 NtupleTag(80),name,title
10 integer*4 m,io,recl,bank,id,status
11 parameter(recl = 1024)
12 parameter(bank = 8000)
13 parameter(io = 29)
14 parameter(name = 'SimcNtuple')
15 parameter(title = 'SIMTUPLE')
16
17 NtupleID = defaultID
18 id = NtupleID
19 NtupleIO = io
20 NtupleName = name
21
22 gaskelld 1.1 call HCDIR(directory,'R') !CERNLIB read current directory
23 call HROPEN(io,name,filename,'N',recl,status) !CERNLIB
24 !directory set to "//TUPLE"
25 if (status.ne.0)then
26 write(6,*) 'HROPEN error: istat=',status
27 stop
28 endif
29
30 m = 0
31 m = m+1
32 NtupleTag(m) = 'hsdelta' ! 1
33 m = m+1
34 NtupleTag(m) = 'hsyptar' ! 2
35 m = m+1
36 NtupleTag(m) = 'hsxptar' ! 3
37 m = m+1
38 NtupleTag(m) = 'hsytar' ! 4
39 m = m+1
40 NtupleTag(m) = 'hsxfp' ! 5
41 m = m+1
42 NtupleTag(m) = 'hsxpfp' ! 6
43 gaskelld 1.1 m = m+1
44 NtupleTag(m) = 'hsyfp' ! 7
45 m = m+1
46 NtupleTag(m) = 'hsypfp' ! 8
47 m = m+1
48 NtupleTag(m) = 'hsdeltai' ! 9
49 m = m+1
50 NtupleTag(m) = 'hsyptari' ! 10
51 m = m+1
52 NtupleTag(m) = 'hsxptari' ! 11
53 m = m+1
54 NtupleTag(m) = 'hsytari' ! 12
55 m = m+1
56 NtupleTag(m) = 'ssdelta' ! 13
57 m = m+1
58 NtupleTag(m) = 'ssyptar' ! 14
59 m = m+1
60 NtupleTag(m) = 'ssxptar' ! 15
61 m = m+1
62 NtupleTag(m) = 'ssytar' ! 16
63 m = m+1
64 gaskelld 1.1 NtupleTag(m) = 'ssxfp' ! 17
65 m = m+1
66 NtupleTag(m) = 'ssxpfp' ! 18
67 m = m+1
68 NtupleTag(m) = 'ssyfp' ! 19
69 m = m+1
70 NtupleTag(m) = 'ssypfp' ! 20
71 m = m+1
72 NtupleTag(m) = 'ssdeltai' ! 21
73 m = m+1
74 NtupleTag(m) = 'ssyptari' ! 22
75 m = m+1
76 NtupleTag(m) = 'ssxptari' ! 23
77 m = m+1
78 NtupleTag(m) = 'ssytari' ! 24
79 m = m+1
80 NtupleTag(m) = 'q' ! 25
81 m = m+1
82 NtupleTag(m) = 'nu' ! 26
83 m = m+1
84 NtupleTag(m) = 'Q2' ! 27
85 gaskelld 1.1 m = m+1
86 NtupleTag(m) = 'W' ! 28
87 m = m+1
88 NtupleTag(m) = 'epsilon' ! 29
89 m = m+1
90 NtupleTag(m) = 'Em' ! 30
91 m = m+1
92 NtupleTag(m) = 'Pm' ! 31
93 m = m+1
94 NtupleTag(m) = 'thetapq' ! 32
95 m = m+1
96 NtupleTag(m) = 'phipq' ! 33
97 if (doing_pion .or. doing_kaon .or. doing_delta) then
98 m = m+1
99 NtupleTag(m) = 'missmass' ! 34
100 m = m+1
101 NtupleTag(m) = 'mmnuc' ! 35
102 m = m+1
103 NtupleTag(m) = 'phad' ! 36
104 m = m+1
105 NtupleTag(m) = 't' ! 37
106 gaskelld 1.1 m = m+1
107 NtupleTag(m) = 'pmpar' ! 38
108 m = m+1
109 NtupleTag(m) = 'pmper' ! 39
110 m = m+1
111 NtupleTag(m) = 'pmoop' ! 40
112 m = m+1
113 NtupleTag(m) = 'fry' ! 41 !+y is up.
114 m = m+1
115 NtupleTag(m) = 'radphot' ! 42
116 m = m+1
117 NtupleTag(m) = 'pfermi' ! 43
118 m = m+1
119 NtupleTag(m) = 'siglab' ! 44
120 m = m+1
121 NtupleTag(m) = 'sigcm' ! 45
122 m = m+1
123 NtupleTag(m) = 'Weight' ! 46
124 m = m+1
125 NtupleTag(m) = 'decdist' ! 47
126 m = m+1
127 gaskelld 1.1 NtupleTag(m) = 'Mhadron' ! 48
128 m = m+1
129 NtupleTag(m) = 'pdotqhat' ! 49
130 m = m+1
131 NtupleTag(m) = 'Q2i' ! 50
132 m = m+1
133 NtupleTag(m) = 'Wi' ! 51
134 m = m+1
135 NtupleTag(m) = 'ti' ! 52
136 m = m+1
137 NtupleTag(m) = 'phipqi' ! 53
138 if(using_tgt_field) then
139 m = m+1
140 NtupleTag(m) = 'th_tarq' ! 54
141 m = m+1
142 NtupleTag(m) = 'phitarq' ! 55
143 m = m+1
144 NtupleTag(m) = 'beta' ! 56
145 m = m+1
146 NtupleTag(m) = 'phis' ! 57
147 m = m+1
148 gaskelld 1.1 NtupleTag(m) = 'phic' ! 58
149 m = m+1
150 NtupleTag(m) = 'betai' ! 59
151 m = m+1
152 NtupleTag(m) = 'phisi' ! 60
153 m = m+1
154 NtupleTag(m) = 'phici' ! 61
155 endif
156 if (doing_kaon) then
157 m = m+1
158 NtupleTag(m) = 'saghai' ! 54
159 m = m+1
160 NtupleTag(m) = 'factor' ! 55
161 endif
162 else if (doing_semi.or.doing_rho) then
163 m = m+1
164 NtupleTag(m) = 'missmass' ! 34 <- Wprime for semi-inclusive folks
165 m = m+1
166 NtupleTag(m) = 'ppi' ! 35
167 m = m+1
168 NtupleTag(m) = 't' ! 36
169 gaskelld 1.1 m = m+1
170 NtupleTag(m) = 'fry' ! 37 !+y is up.
171 m = m+1
172 NtupleTag(m) = 'radphot' ! 38
173 m = m+1
174 NtupleTag(m) = 'siglab' ! 39
175 m = m+1
176 NtupleTag(m) = 'sigcent' ! 40
177 m = m+1
178 NtupleTag(m) = 'Weight' ! 41
179 m = m+1
180 NtupleTag(m) = 'decdist' ! 42
181 m = m+1
182 NtupleTag(m) = 'Mhadron' ! 43
183 m = m+1
184 NtupleTag(m) = 'z' ! 44
185 m = m+1
186 NtupleTag(m) = 'zi' ! 45
187 m = m+1
188 NtupleTag(m) = 'pt2' ! 46
189 m = m+1
190 gaskelld 1.1 NtupleTag(m) = 'pt2i' ! 47
191 m = m+1
192 NtupleTag(m) = 'xbj' ! 48
193 m = m+1
194 NtupleTag(m) = 'xbji' ! 49
195 m = m+1
196 NtupleTag(m) = 'thqi' ! 50
197 m = m+1
198 NtupleTag(m) = 'sighad' ! 51
199 m = m+1
200 NtupleTag(m) = 'jacobian' ! 52
201 m = m+1
202 NtupleTag(m) = 'centjac' ! 53
203 m = m+1
204 NtupleTag(m) = 'pfermi' ! 54
205 m = m+1
206 NtupleTag(m) = 'xfermi' ! 55
207 m = m+1
208 NtupleTag(m) = 'phipqi' ! 56
209 if(using_tgt_field) then
210 m = m+1
211 gaskelld 1.1 NtupleTag(m) = 'th_tarq' ! 57
212 m = m+1
213 NtupleTag(m) = 'phitarq' ! 58
214 m = m+1
215 NtupleTag(m) = 'beta' ! 59
216 m = m+1
217 NtupleTag(m) = 'phis' ! 60
218 m = m+1
219 NtupleTag(m) = 'phic' ! 61
220 m = m+1
221 NtupleTag(m) = 'betai' ! 62
222 m = m+1
223 NtupleTag(m) = 'phisi' ! 63
224 m = m+1
225 NtupleTag(m) = 'phici' ! 64
226 endif
227 if(doing_rho) then
228 m = m+1
229 NtupleTag(m) = 'Mrho' ! 57 or 65
230 m = m+1
231 NtupleTag(m) = 'Thrho' ! 58 or 66
232 gaskelld 1.1 endif
233
234 else if (doing_hyd_elast .or. doing_deuterium .or. doing_heavy) then
235 m = m+1
236 NtupleTag(m) = 'corrsing' ! 34
237 m = m+1
238 NtupleTag(m) = 'Pmx' ! 35 !for Heepcheck
239 m = m+1
240 NtupleTag(m) = 'Pmy' ! 36 !for Heepcheck
241 m = m+1
242 NtupleTag(m) = 'Pmz' ! 37 !for Heepcheck
243 m = m+1
244 NtupleTag(m) = 'PmPar' ! 38
245 m = m+1
246 NtupleTag(m) = 'PmPer' ! 39
247 m = m+1
248 NtupleTag(m) = 'PmOop' ! 40
249 m = m+1
250 NtupleTag(m) = 'fry' ! 41 !+y is up.
251 m = m+1
252 NtupleTag(m) = 'radphot' ! 42
253 gaskelld 1.1 m = m+1
254 NtupleTag(m) = 'sigcc' ! 43
255 m = m+1
256 NtupleTag(m) = 'Weight' ! 44
257 endif
258
259 ! else !used to be the if (doing_phsp) option.
260 ! m=m+1
261 ! NtupleTag(m)='gd'
262 ! m=m+1
263 ! NtupleTag(m)='gt'
264 ! m=m+1
265 ! NtupleTag(m)='gp'
266 ! m=m+1
267 ! NtupleTag(m)='gy'
268 ! m=m+1
269 ! NtupleTag(m)='rd'
270 ! m=m+1
271 ! NtupleTag(m)='rt'
272 ! m=m+1
273 ! NtupleTag(m)='rp'
274 gaskelld 1.1 ! m=m+1
275 ! NtupleTag(m)='ry'
276 ! m=m+1
277 ! NtupleTag(m)='w'
278 ! endif
279
280 NtupleSize = m
281
282 call HBOOKN(id,title,NtupleSize,name,bank,NtupleTag) !create Ntuple
283
284 call HCDIR(NtupleDirectory,'R') !record Ntuple directory
285
286 call HCDIR(directory,' ') !reset CERNLIB directory
287
288 return
289 end
290
|