1 cdaq 1.1 *****************begin: hms_data_structures.cmn*************************
2 *
3 * include file hms_data_structures.cmn
4 *
|
5 jones 1.9 * Author: D. F. Geesaman 1 September 1993
|
6 cdaq 1.1 *
|
7 cdaq 1.2 * $Log: hms_data_structures.cmn,v $
|
8 jones 1.11 * Revision 1.10 2003/01/02 18:34:51 jones
9 * change HNTRACKS_MAX from 5 to 20
10 *
|
11 jones 1.10 * Revision 1.9 2002/12/20 21:52:34 jones
12 * Modified by Hamlet for new HMS aerogel
13 *
|
14 jones 1.9 *
15 * Revision 1.9 2002/09/26
16 * (Hamlet) Add structures for HMS Aerogel
17 *
18 * Revision 1.8 1999/02/23 19:09:29 csa
19 * Change some physics vars
20 *
|
21 csa 1.8 * Revision 1.7 1999/01/21 21:40:31 saw
22 * Extra shower counter tube modifications
23 *
|
24 saw 1.7 * Revision 1.6 1998/12/17 22:02:41 saw
25 * Support extra set of tubes on HMS shower counter
26 *
|
27 saw 1.6 * Revision 1.5 1996/09/04 15:49:31 saw
28 * (SAW) Double of all ' 's in comments
29 *
|
30 saw 1.5 * Revision 1.4 1996/01/24 16:18:59 saw
31 * (JRA) Cosmetic change
32 *
|
33 saw 1.4 * Revision 1.3 1996/01/17 16:00:02 cdaq
34 * (JRA) ADD HCER_RAW_ADC and HSCIN_FPTIME
35 *
|
36 cdaq 1.3 * Revision 1.2 1995/08/11 16:28:46 cdaq
37 * (CC) Add structure for # of photoelectrons in Cerenkov
38 *
|
39 cdaq 1.2 * Revision 1.1 1995/05/22 18:41:15 cdaq
40 * Initial revision
|
41 cdaq 1.1 *
|
42 cdaq 1.2 *
|
43 cdaq 1.1 * CTPTYPE=parm
44 *
45 * HTHETA_LAB HMS LAB ANGLE THETA (RADIANS)
46 * HPHI_LAB HMS LAB ANGLE PHI
47 * HPCENTRAL HMS CENTRAL MOMENUTM (GEV)
48 * HBFIELD HMS B FIELD INCLUDING SIGN
49 *
50 REAL*4 HTHETA_LAB ! HMS LAB ANGLE THETA (RADIANS)
51 REAL*4 HPHI_LAB ! HMS LAB ANGLE PHI
52 REAL*4 HPCENTRAL ! HMS CENTRAL MOMENUTM (GEV)
53 REAL*4 HBFIELD ! HMS B FIELD INCLUDING SIGN
54 REAL*4 HPARTMASS ! EXPECTED MASS OF DETECTED PARTICLE IN HMS
|
55 jones 1.9
|
56 cdaq 1.1 COMMON/HMS_SPECTROMETER/
57 & HTHETA_LAB,
58 & HPHI_LAB,
59 & HPCENTRAL,
60 & HBFIELD,
61 & HPARTMASS
62 *
63 * CTPTYPE=event
64 *
65 * HMS DECODED DATA
66 *
67 * FILLED BY G_decode_event_by_banks
68 * HMS DRIFT CHAMBER HITS
69 * EACH CHAMBER HIT (TDC VALUE) HAS A
70 * PLANE NUMBER
71 * WIRE NUMBER
72 * TDC VALUE
73 *
74 * THE TOTAL NUMBER OF HITS IS GIVEN IN HDC_RAW_TOT_HITS
75 *
76 INTEGER*4 HMAX_DC_HITS ! MAXIUM NUMBER OF DRIFT CHAMBER HITS
77 cdaq 1.1 INTEGER*4 HMAX_NUM_DC_PLANES ! MAX NUMBER OF HMS DRIFT CHAMBER PLANES
78 INTEGER*4 HMAX_NUM_CHAMBERS ! NUMBER OF HMS DRIFT CHAMBERS
79 PARAMETER(HMAX_DC_HITS=3600)
80 PARAMETER(HMAX_NUM_DC_PLANES=12)
81 PARAMETER(HMAX_NUM_CHAMBERS=2)
82 INTEGER*4 HDC_RAW_PLANE_NUM
83 INTEGER*4 HDC_RAW_WIRE_NUM
84 INTEGER*4 HDC_RAW_TDC
85 INTEGER*4 HDC_RAW_TOT_HITS
86 COMMON/HMS_RAW_DC/
87 1 HDC_RAW_PLANE_NUM(HMAX_DC_HITS),
88 2 HDC_RAW_WIRE_NUM(HMAX_DC_HITS),
89 3 HDC_RAW_TDC(HMAX_DC_HITS),
90 4 HDC_RAW_TOT_HITS
91 *
92 * HMS DECODED DC DATA
93 *
94 * FILLED BY H_TRANS_DC TRANSLATION ROUTINE
95 * HMS DRIFT CHAMBER HITS
96 * EACH CHAMBER HIT (TDC VALUE) HAS A
97 * PLANE NUMBER
98 cdaq 1.1 * WIRE NUMBER
99 * TDC VALUE
100 * DRIFT TIME
101 * DRIFT DISTANCE
102 * GENERALIZED COORDINATE OF HIT WIRE CENTER
103 * GENERALIZED COORDINATE OF HIT PERPENDICULAR TO WIRE DIRECTION
104 *
105 * THE TOTAL NUMBER OF HITS IN EACH PLANE IS GIVEN IN HDC_HITS_PER_PLANE(I)
106 * THE TOTAL NUMBER OF HITS IS GIVEN IN HDC_TOT_HITS
107 *
108 INTEGER*4 HDC_PLANE_NUM ! copied from HMS_RAW_DC
109 INTEGER*4 HDC_WIRE_NUM ! copied from HMS_RAW_DC
110 INTEGER*4 HDC_TDC ! copied from HMS_RAW_DC
111 INTEGER*4 HDC_TOT_HITS
112 REAL*4 HDC_DRIFT_TIME
113 REAL*4 HDC_DRIFT_DIS
114 REAL*4 HDC_WIRE_CENTER
115 REAL*4 HDC_WIRE_COORD
116 COMMON/HMS_DECODED_DC/
117 1 HDC_DRIFT_TIME(HMAX_DC_HITS),
118 2 HDC_DRIFT_DIS(HMAX_DC_HITS),
119 cdaq 1.1 3 HDC_WIRE_CENTER(HMAX_DC_HITS),
120 4 HDC_WIRE_COORD(HMAX_DC_HITS),
121 5 HDC_PLANE_NUM(HMAX_DC_HITS),
122 6 HDC_WIRE_NUM(HMAX_DC_HITS),
123 7 HDC_TDC(HMAX_DC_HITS),
124 9 HDC_TOT_HITS
125 *
126 * HMS RAW SCINTILLATOR HITS
127 * FILLED BY g_decode_evebt_by_banks
128 * EACH SCINTILLATOR HIT IS SPECIFIED BY A
129 * SCINTILLATOR PLANE NUMBER
130 * SCINTILLATOR COUNTER NUMBER
131 * SCINTILLATOR ADC AT POSITIVE GENERALIZED COORDINATE END
132 * SCINTILLATOR ADC AT NEGATIVE GENERALIZED COORDINATE END
133 * SCINTILLATOR TDC AT POSITIVE GENERALIZED COORDINATE END
134 * SCINTILLATOR TDC AT NEGATIVE GENERALIZED COORDINATE END
135 * THE TOTAL NUMBER OF HITS IS GIVEN BY HSCIN_ALL_TOT_HITS
136 INTEGER*4 HMAX_ALL_SCIN_HITS ! MAXIMUM TOTAL NUMBER OF SCIN HITS
137 PARAMETER (HMAX_ALL_SCIN_HITS=53) ! Number of elements + 1
138 INTEGER*4 HNUM_ALL_SCIN_PLANES ! TOTAL NUMBER OF SCIN PLANES
139 PARAMETER (HNUM_ALL_SCIN_PLANES=4)
140 cdaq 1.1 INTEGER*4 HSCIN_ALL_PLANE_NUM
141 INTEGER*4 HSCIN_ALL_COUNTER_NUM
142 INTEGER*4 HSCIN_ALL_ADC_POS
143 INTEGER*4 HSCIN_ALL_ADC_NEG
144 INTEGER*4 HSCIN_ALL_TDC_POS
145 INTEGER*4 HSCIN_ALL_TDC_NEG
146 INTEGER*4 HSCIN_ALL_TOT_HITS
147 *
148 COMMON/HMS_RAW_SCIN/
149 & HSCIN_ALL_PLANE_NUM(HMAX_ALL_SCIN_HITS),
150 & HSCIN_ALL_COUNTER_NUM(HMAX_ALL_SCIN_HITS),
151 & HSCIN_ALL_ADC_POS(HMAX_ALL_SCIN_HITS),
152 & HSCIN_ALL_ADC_NEG(HMAX_ALL_SCIN_HITS),
153 & HSCIN_ALL_TDC_POS(HMAX_ALL_SCIN_HITS),
154 & HSCIN_ALL_TDC_NEG(HMAX_ALL_SCIN_HITS),
155 & HSCIN_ALL_TOT_HITS
156 *
157 * HMS REAL SCINTILLATOR HITS (Hits with no TDC data stripped out)
158 * FILLED BY H_strip_scin (which is called by h_trans_scin)
159 * EACH SCINTILLATOR HIT IS SPECIFIED BY A
160 * SCINTILLATOR PLANE NUMBER
161 cdaq 1.1 * SCINTILLATOR COUNTER NUMBER
162 * SCINTILLATOR ADC AT POSITIVE GENERALIZED COORDINATE END
163 * SCINTILLATOR ADC AT NEGATIVE GENERALIZED COORDINATE END
164 * SCINTILLATOR TDC AT POSITIVE GENERALIZED COORDINATE END
165 * SCINTILLATOR TDC AT NEGATIVE GENERALIZED COORDINATE END
166 * THE TOTAL NUMBER OF HITS IS GIVEN BY HSCIN_TOT_HITS
167 INTEGER*4 HMAX_SCIN_HITS ! MAXIMUM TOTAL NUMBER OF SCIN HITS
168 PARAMETER (HMAX_SCIN_HITS=53) ! Number of elements + 1
169 INTEGER*4 HNUM_SCIN_PLANES ! TOTAL NUMBER OF SCIN PLANES
170 PARAMETER (HNUM_SCIN_PLANES=4)
171 INTEGER*4 HNUM_SCIN_ELEMENTS
172 PARAMETER (HNUM_SCIN_ELEMENTS=16)
173 INTEGER*4 HSCIN_PLANE_NUM
174 INTEGER*4 HSCIN_COUNTER_NUM
175 REAL*4 HSCIN_ADC_POS
176 REAL*4 HSCIN_ADC_NEG
177 INTEGER*4 HSCIN_TDC_POS
178 INTEGER*4 HSCIN_TDC_NEG
179 INTEGER*4 HSCIN_TOT_HITS
|
180 saw 1.5 INTEGER*4 HSCIN_SING_COUNTER ! DJM''s registered hit counter
|
181 cdaq 1.1 *
182 COMMON/HMS_REAL_SCIN/
183 & HSCIN_PLANE_NUM(HMAX_SCIN_HITS),
184 & HSCIN_COUNTER_NUM(HMAX_SCIN_HITS),
185 & HSCIN_ADC_POS(HMAX_SCIN_HITS),
186 & HSCIN_ADC_NEG(HMAX_SCIN_HITS),
187 & HSCIN_TDC_POS(HMAX_SCIN_HITS),
188 & HSCIN_TDC_NEG(HMAX_SCIN_HITS),
189 & HSCIN_TOT_HITS,
190 & HSCIN_SING_COUNTER(HNUM_SCIN_PLANES)
191 *
192 *
193 * DECODED SCIN HITS
194 * FILLED BY H_TRANS_SCIN
195 * THIS USES SCINTILLATOR INFORMATION ONLY TO CALCUATE
196 * HSCIN_APPROX_HIT_COORD GENERALIZED COORDINATE ALONG HIT
197 * SCINTILLATOR DETERMINED FROM TDC INFO.
198 * HSCIN_COR_ADC CORRECTED PULSE HEIGHT AT HIT
199 * HSCIN_COR_TIME CORRECTED TIME AT HIT
200 * THE TOTAL NUMBER OF HITS IN EACH PLANE IS GIVEN BY HSCIN_HITS_PER_PLANE
201 * THE HSTART_TIME IS DEFINED AS THE TIME IF THE TRACK HAD GONE THROUGH
202 cdaq 1.1 * THE CENTER OF S1X. IT IS USED BY H_TRANS_DC FOR THE DRIFT TIME
203 * CALCULATION.
204 * HTWO_GOOD_TIMES IS A LOGICAL VARIABLE WHICH IS TRUE IF BOTH ENDS
205 * OF THE SCINTILLATOR ARE HIT AND FALSE IF ONLY ONE END IS HIT.
206 * HGOOD_START_TIME IS TRUE IF A START TIME WAS FOUND
207 *
208 REAL*4 HSCIN_ZPOS(HMAX_SCIN_HITS)
209 REAL*4 HSCIN_CENTER_COORD(HMAX_SCIN_HITS)
210 REAL*4 HSCIN_DEC_HIT_COORD(HMAX_SCIN_HITS)
211 REAL*4 HSCIN_WIDTH(HMAX_SCIN_HITS)
212 REAL*4 HSCIN_SLOP(HMAX_SCIN_HITS)
213 REAL*4 HSCIN_COR_ADC(HMAX_SCIN_HITS)
214 REAL*4 HSCIN_COR_TIME(HMAX_SCIN_HITS)
215 REAL*4 HSTART_TIME
216 INTEGER*4 HSTART_HITNUM
217 INTEGER*4 HSTART_HITSIDE
218 INTEGER*4 HSCIN_HITS_PER_PLANE(HNUM_SCIN_PLANES)
219 LOGICAL*4 HTWO_GOOD_TIMES(HMAX_SCIN_HITS)
220 LOGICAL*4 HGOOD_START_TIME
221
222 COMMON/HMS_DECODED_SCIN/
223 cdaq 1.1 & HSCIN_ZPOS,
224 & HSCIN_CENTER_COORD,
225 & HSCIN_WIDTH,
226 & HSCIN_SLOP,
227 & HSCIN_DEC_HIT_COORD,
228 & HSCIN_COR_ADC,
229 & HSCIN_COR_TIME,
230 & HSTART_TIME,
231 & HSCIN_HITS_PER_PLANE,
232 & HSTART_HITNUM,
233 & HSTART_HITSIDE,
234 & HTWO_GOOD_TIMES,
235 & HGOOD_START_TIME
236 *
237 *
238 * HMS CALORIMETER HITS
239 *
240 * ALLOW FOR NO SPARCIFICATION OF SHOWER COUNTER ELEMENTS
241 *
242 * EACH COUNTER HAS A
243 * COLUMN NUMBER
244 cdaq 1.1 * ROW NUMBER
|
245 saw 1.6 * ADC VALUE AT Positive End (This end if only one end used)
246 * ADC VALUE AT Negative End
|
247 cdaq 1.1 *
248 * THE TOTAL NUMBER OF SHOWER HITS IS HCAL_TOT_HITS
249 *
250 INTEGER*4 HMAX_CAL_BLOCKS ! TOTAL NUMBER OF SHOWER BLOCKS
251 PARAMETER (HMAX_CAL_BLOCKS=52)
252 INTEGER*4 HMAX_CAL_ROWS !Number of calorimeter rows
253 PARAMETER (HMAX_CAL_ROWS=13)
254 INTEGER*4 HMAX_CAL_COLUMNS !Number of calorimeter columns
255 PARAMETER (HMAX_CAL_COLUMNS=4)
256 INTEGER*4 HCAL_TOT_HITS
|
257 saw 1.7 INTEGER*4 HCAL_POS_HITS
258 INTEGER*4 HCAL_NEG_HITS
|
259 cdaq 1.1 INTEGER*4 HCAL_COLUMN(HMAX_CAL_BLOCKS)
260 INTEGER*4 HCAL_ROW(HMAX_CAL_BLOCKS)
|
261 saw 1.6 INTEGER*4 HCAL_ADC_POS(HMAX_CAL_BLOCKS)
262 INTEGER*4 HCAL_ADC_NEG(HMAX_CAL_BLOCKS)
|
263 cdaq 1.1 INTEGER*4 HCAL_ADC(HMAX_CAL_BLOCKS)
|
264 saw 1.6 equivalence (hcal_adc, hcal_adc_pos) ! For old code
265 REAL*4 HCAL_REALADC_POS(HMAX_CAL_BLOCKS)
266 REAL*4 HCAL_REALADC_NEG(HMAX_CAL_BLOCKS)
|
267 cdaq 1.1 REAL*4 HCAL_REALADC(HMAX_CAL_BLOCKS)
|
268 saw 1.6 equivalence (hcal_realadc, hcal_realadc_pos)
|
269 cdaq 1.1
270 COMMON/HMS_RAW_CAL/
271 & HCAL_COLUMN,
272 & HCAL_ROW,
|
273 saw 1.6 & HCAL_ADC_POS,
274 & HCAL_ADC_NEG,
275 & HCAL_REALADC_POS,
276 & HCAL_REALADC_NEG,
|
277 saw 1.7 & HCAL_TOT_HITS,
278 & HCAL_POS_HITS,
279 & HCAL_NEG_HITS
|
280 cdaq 1.1 *
281 * DECODED CALORIMETER QUANTITIES
282 * FILLED BY H_TRANS_CAL USING ONLY THE CALORIMETER INFORMATION
283 *
284 * X COORDINATE OF BLOCK CENTER
285 * Z COORDINATE OF BLOCK CENTER
286 * ENERGY DEPOSITED IN THE BLOCK
287 * ENERGY DEPOSITED IN COLUMN #1
288 * #2
289 * #3
290 * #4
291 * TOTAL ENERGY IN THE CALORIMETER
292 INTEGER*4 HNHITS_CAL !NUMBER OF CALORIMETER HITS ABOVE THRESHOLD
293 REAL*4 HBLOCK_XC !X COORDINATE OF BLOCK CENTER
294 REAL*4 HBLOCK_ZC !Z COORDINATE OF BLOCK CENTER
295 REAL*4 HBLOCK_DE !ENERGY DEPOSITION IN THE BLOCKS
296 REAL*4 HCAL_E1 !ENERGY DEPOSITION IN COLUMN #1
297 REAL*4 HCAL_E2 ! #2
298 REAL*4 HCAL_E3 ! #3
299 REAL*4 HCAL_E4 ! #4
300 REAL*4 HCAL_ET !TOTAL ENERGY IN THE CALORIMETER
|
301 saw 1.7 REAL*4 HCAL_E1_POS
302 REAL*4 HCAL_E1_NEG
303 REAL*4 HCAL_E2_POS
304 REAL*4 HCAL_E2_NEG
305 REAL*4 HBLOCK_DE_POS
306 REAL*4 HBLOCK_DE_NEG
|
307 cdaq 1.1 COMMON/HMS_DECODED_CAL/
308 & HBLOCK_XC(HMAX_CAL_BLOCKS),
309 & HBLOCK_ZC(HMAX_CAL_BLOCKS),
310 & HBLOCK_DE(HMAX_CAL_BLOCKS),
311 & HCAL_E1,
312 & HCAL_E2,
313 & HCAL_E3,
314 & HCAL_E4,
315 & HCAL_ET,
|
316 saw 1.7 & HCAL_E1_POS,
317 & HCAL_E1_NEG,
318 & HCAL_E2_POS,
319 & HCAL_E2_NEG,
320 & HBLOCK_DE_POS(HMAX_CAL_BLOCKS),
321 & HBLOCK_DE_NEG(HMAX_CAL_BLOCKS),
|
322 cdaq 1.1 & HNHITS_CAL
323 *
324 * HMS CERENKOV HITS
325 * FILLED BY G_decode_event_by_banks
326 *
327 * THERE ARE TWO CERENKOV PHOTOTUBES. EACH HIT HAS
328 * TUBE NUMBER
329 * ADC VALUE
330 * THE TOTAL NUMBER OF PHOTOTUBE HITS IS HCER_TOT_HITS
331 * HOWEVER TO MAKE THE DECODERS SYMMETRICAL TO A SCINT WE MUST ADD
332 * A DUMMY PLANE NUMBER.
333 INTEGER*4 HMAX_CER_HITS
334 PARAMETER(HMAX_CER_HITS=2)
335 INTEGER*4 HCER_TOT_HITS
336 INTEGER*4 HCER_TUBE_NUM
|
337 cdaq 1.3 INTEGER*4 HCER_RAW_ADC
|
338 cdaq 1.1 INTEGER*4 HCER_PLANE
339 COMMON/HMS_RAW_CER/
340 & HCER_TUBE_NUM(HMAX_CER_HITS),
|
341 cdaq 1.3 & HCER_RAW_ADC(HMAX_CER_HITS),
|
342 cdaq 1.1 & HCER_PLANE(HMAX_CER_HITS),
343 & HCER_TOT_HITS
344 *
|
345 cdaq 1.2 * DECODED CERENKOV QUANTITIES
346 * FILLED BY H_TRANS_CER
347 *
348 INTEGER*4 HCER_NUM_HITS ! NUMBER OF CERENKOV HITS ABOVE THRESHOLD
349 REAL*4 HCER_NPE ! ADC CONVERTED TO NUMBER OF PHOTOELECTRONS
|
350 saw 1.5 REAL*4 HCER_NPE_SUM ! SUM OVER TUBES OF NPE''S
|
351 cdaq 1.3 REAL*4 HCER_ADC ! PED SUBTRACTED ADC FOR EACH *TUBE*
|
352 cdaq 1.2 COMMON/HCER_DECODED_CER/
353 & HCER_NUM_HITS,
354 & HCER_NPE(HMAX_CER_HITS),
|
355 cdaq 1.3 & HCER_NPE_SUM,
356 & HCER_ADC(HMAX_CER_HITS)
|
357 cdaq 1.2 *
|
358 jones 1.9 *..........................................................................
359 * (Last revison 01 Dec'02; Hamlet)
360 *
361 * HMS AEROGEL HITS
362 * FILLED BY G_decode_event_by_banks
363 *
364 * THERE ARE 16 AEROGEL PHOTOTUBES. We will pair tubes on the left and
365 * right side so that are 8 "counters".
366 * POS pmt's on the positive side of Y axis (as for Hodoscope)
367 *
368 * TUBE Row
369 * ADC Left VALUE
370 * ADC Right VALUE
371 * THE TOTAL NUMBER OF PHOTOTUBE HITS IS HAERO_TOT_HITS
372 * HOWEVER TO MAKE THE DECODERS SYMMETRICAL TO A SCINT WE MUST ADD
373 * A DUMMY PLANE NUMBER.
374 INTEGER*4 HMAX_AERO_HITS
375 PARAMETER(HMAX_AERO_HITS=8)
376 INTEGER*4 HNUM_AERO_BLOCKS
377 PARAMETER(HNUM_AERO_BLOCKS=8)
378 INTEGER*4 HAERO_TOT_HITS
379 jones 1.9 INTEGER*4 HAERO_PLANE
380 INTEGER*4 HAERO_PAIR_NUM
381 INTEGER*4 HAERO_ADC_POS
382 INTEGER*4 HAERO_ADC_NEG
383 INTEGER*4 HAERO_TDC_POS
384 INTEGER*4 HAERO_TDC_NEG
385 COMMON/HMS_RAW_AERO/
386 & HAERO_PLANE(HMAX_AERO_HITS),
387 & HAERO_PAIR_NUM(HMAX_AERO_HITS),
388 & HAERO_ADC_POS(HMAX_AERO_HITS),
389 & HAERO_ADC_NEG(HMAX_AERO_HITS),
390 & HAERO_TDC_POS(HMAX_AERO_HITS),
391 & HAERO_TDC_NEG(HMAX_AERO_HITS),
392 & HAERO_TOT_HITS
393
394 *
395 *..........................................................................
|
396 cdaq 1.1 *
397 *
398 * HMS DETECTOR TRACK QUANTITIES
399 * FILLED BY H_TRACK SUBROUTINE
400 *
|
401 jones 1.11 INTEGER*4 HNTRACKS_MAX ! size of array
402 PARAMETER (HNTRACKS_MAX=20) ! SET MAXIMUM TO 20
|
403 cdaq 1.1 INTEGER*4 HNTRACKHITS_MAX ! MAXIMUM NUMBER OF HITS IN EACH TRACK
404 PARAMETER (HNTRACKHITS_MAX=16) ! SET MAXIMUM TO 15
405 INTEGER*4 HNTRACKS_FP ! NUMBER OF FOCAL PLANE TRACKS FOUND
406 * ALL THE FOLLOWING VARIABLES ARE ARRAYS
407 *
408 REAL*4 HX_FP ! X POSITION OF TRACK IN FOCAL PLANE
409 REAL*4 HY_FP ! Y POSITION OF TRACK IN FOCAL PLANE
410 REAL*4 HZ_FP ! Z POSITION OF TRACK IN FOCAL PLANE
411 REAL*4 HXP_FP ! X SLOPE OF TRACK IN FOCAL PLANE
412 REAL*4 HYP_FP ! Y SLOPE OF TRACK IN FOCAL PLANE
413 REAL*4 HCHI2_FP ! FIT QUALITY IN FOCAL PLANE
414 REAL*4 HCHI2PERDOF_FP ! fp chi2 per degree of freedom
415 INTEGER*4 HNFREE_FP ! NUMBER OF DEGREES OF FREEDOM IN FIT
416 INTEGER*4 HNTRACK_HITS ! LIST OF HITS ON EACH TRACK
417 REAL*4 HDEL_FP ! FOCAL PLANE ERROR MATRIX
418 REAL*4 HX_FP_rot ! x in rotated focal plane
419 REAL*4 HY_FP_rot ! y in rotated f plane
420 REAL*4 HXP_FP_rot ! x slope in rotated f plane
421 REAL*4 HYP_FP_rot ! y slope in rot f plane
422
423 * THE FOCAL PLANE ERROR MATRIX IS A 4 BY 4 BY HNTRACK_MAX ARRAY
424 cdaq 1.1 * THE FOUR INDECIES FOR EACH TRACK ARE X, XP, Y, YP
425 * THE ERROR MATRIX FOR EACH TRACK IS SYMMETRIC ABOUT THE DIAGONAL
426 * DELXX DELXXP DELXY DELXYP
427 * DELXPX DELXPXP DELXPY DELXPYP
428 * DELYPX DELYXP DELYY DELYYP
429 * DELYPX DELYPXP DELYPY DELYPYP
430 COMMON/HMS_FOCAL_PLANE/
431 1 HX_FP(HNTRACKS_MAX),
432 2 HY_FP(HNTRACKS_MAX),
433 3 HZ_FP(HNTRACKS_MAX),
434 4 HXP_FP(HNTRACKS_MAX),
435 5 HYP_FP(HNTRACKS_MAX),
436 6 HCHI2_FP(HNTRACKS_MAX),
437 7 HDEL_FP(4,4,HNTRACKS_MAX),
438 8 HNTRACK_HITS(HNTRACKS_MAX,HNTRACKHITS_MAX+1),
439 9 HNFREE_FP(HNTRACKS_MAX),
440 A HNTRACKS_FP,HCHI2PERDOF_FP(HNTRACKS_MAX),
441 > HX_FP_rot(HNTRACKS_MAX),
442 > HY_FP_rot(HNTRACKS_MAX),
443 > HXP_FP_rot(HNTRACKS_MAX),
444 > HYP_FP_rot(HNTRACKS_MAX)
|
445 jones 1.11
|
446 cdaq 1.1
447
448 * HMS TARGET QUANTITIES
449 * ASSUME THE SAME NUMBER OF MAXIMUM TRACKS AS IN THE FOCAL PLANE
450 * HNTRACKS_MAX
451 *
452 * FILLED BY H_TARG_TRANS SUBROUTINE
453 INTEGER*4 HNTRACKS_TAR ! NUMBER OF TARGET TRACKS FOUND
454 * ALL THE FOLLOWING VARIABLES ARE ARRAYS
455 *
456 REAL*4 HX_TAR ! X POSITION OF TRACK AT TARGET
457 REAL*4 HY_TAR ! Y POSITION OF TRACK AT TARGET
458 REAL*4 HZ_TAR ! Z POSITION OF TRACK AT TARGET
459 REAL*4 HXP_TAR ! X SLOPE OF TRACK AT TARGET
460 REAL*4 HYP_TAR ! Y SLOPE OF TRACK AT TARGET
461 REAL*4 HDELTA_TAR ! FRACTION TRACK MOMENTUM
462 REAL*4 HP_TAR ! MOMENTUM OF TRACK AT TARGET
463 REAL*4 HCHI2_TAR ! FIT QUALITY AT TARGET
464 INTEGER*4 HNFREE_TAR ! NUMBER OF DEGREES OF FREEDOM IN FIT
465 REAL*4 HDEL_TAR ! TARGET ERROR MATRIX
466 * THE FOCAL PLANE ERROR MATRIX IS A 5 BY 5 BY HNTRACK_MAX ARRAY
467 cdaq 1.1 * THE FIVE INDECIES FOR EACH TRACK ARE X, Y , XP, YP and P
468 * THE ERROR MATRIX FOR EACH TRACK IS SYMMETRIC ABOUT THE DIAGONAL
469 * DELXX DELXXP DELXY DELXYP DELXP
470 * DELXPX DELXPXP DELXPY DELXPYP DELXPP
471 * DELYX DELYXPY DELYY DELYYP DELYP
472 * DELYPX DELYPXP DELYPY DELYPYP DELYPP
473 * DELPX DELPXP DELPY DELPXP DELPP
474 INTEGER*4 HLINK_TAR_FP ! LINK POINTER TO FOCAL PLANE TRACK NUMBER
475 COMMON/HMS_TARGET/
476 1 HX_TAR(HNTRACKS_MAX),
477 2 HY_TAR(HNTRACKS_MAX),
478 3 HZ_TAR(HNTRACKS_MAX),
479 4 HXP_TAR(HNTRACKS_MAX),
480 5 HYP_TAR(HNTRACKS_MAX),
481 6 HDELTA_TAR(HNTRACKS_MAX),
482 7 HP_TAR(HNTRACKS_MAX),
483 8 HCHI2_TAR(HNTRACKS_MAX),
484 9 HDEL_TAR(5,5,HNTRACKS_MAX),
485 A HNFREE_TAR(HNTRACKS_MAX),
486 B HLINK_TAR_FP(HNTRACKS_MAX),
487 C HNTRACKS_TAR
488 cdaq 1.1 *
489 *
490 * HMS_TRACK_TESTS
491 *
492 * PARTICLE ID INFORMATION FILLED BY H_TOF and H_CAL
493 * THIS STORES THE RESULTS OF SHOWER AND SCINTILLATOR CALCULATIONS
494 * FOR EACH OF THE TRACKS GENERATED BY H_TRACK
495 *
496 INTEGER*4 HNBLOCKS_CAL(HNTRACKS_MAX)
497 REAL*4 HTRACK_E1(HNTRACKS_MAX)
498 REAL*4 HTRACK_E2(HNTRACKS_MAX)
499 REAL*4 HTRACK_E3(HNTRACKS_MAX)
500 REAL*4 HTRACK_E4(HNTRACKS_MAX)
501 REAL*4 HTRACK_ET(HNTRACKS_MAX)
502 REAL*4 HTRACK_PRESHOWER_E(HNTRACKS_MAX)
|
503 saw 1.7 REAL*4 HTRACK_E1_POS(HNTRACKS_MAX)
504 REAL*4 HTRACK_E1_NEG(HNTRACKS_MAX)
505 REAL*4 HTRACK_E2_POS(HNTRACKS_MAX)
506 REAL*4 HTRACK_E2_NEG(HNTRACKS_MAX)
|
507 cdaq 1.1 *
508 INTEGER*4 HSCIN_HIT(HNTRACKS_MAX,HMAX_SCIN_HITS)
509 INTEGER*4 HNUM_SCIN_HIT(HNTRACKS_MAX)
510 INTEGER*4 HNUM_PMT_HIT(HNTRACKS_MAX)
511 REAL*4 HDEDX(HNTRACKS_MAX,HMAX_SCIN_HITS)
512 REAL*4 HBETA(HNTRACKS_MAX)
513 REAL*4 HBETA_CHISQ(HNTRACKS_MAX)
514 REAL*4 HTIME_AT_FP(HNTRACKS_MAX)
|
515 cdaq 1.3 REAL*4 HSCIN_FPTIME(HNTRACKS_MAX,HMAX_SCIN_HITS)
|
516 cdaq 1.1 *
517 COMMON/HMS_TRACK_TESTS/
|
518 saw 1.7 1 HTRACK_E1, ! ENERGY IN FIRST COLUMN NEAR TRACK
|
519 cdaq 1.1 2 HTRACK_E2, ! SECOND COLUMN
520 3 HTRACK_E3, ! THIRD COLUMN
521 4 HTRACK_E4, ! FOURTH COLUMN
522 5 HTRACK_ET, ! TOTAL SHOWER ENERGY ALONG TRACK
523 6 HTRACK_PRESHOWER_E, ! PRESHOWER ENERGY-Note definition is exp. dep.
524 7 HDEDX, !
525 8 HBETA, ! VELOCITY OF TRACK
526 9 HBETA_CHISQ, ! CHISQ OF FIT TO BETA OF TRACK
527 A HTIME_AT_FP, !
528 B HNBLOCKS_CAL, ! NUMBER OF SHOWER BLOCKS ON EACH TRACK
529 C HSCIN_HIT, ! ARRAY OF SCIN HITS ASSOCIATED WITH
530 D ! EACH TRACK
531 E HNUM_SCIN_HIT, ! NUMBER OF HITS FOR EACH TRACK
|
532 cdaq 1.3 F HNUM_PMT_HIT, ! NUMBER OF PMT HITS FOR EACH TRACK
|
533 saw 1.7 G HSCIN_FPTIME,
534 H HTRACK_E1_POS,
535 I HTRACK_E1_NEG,
536 J HTRACK_E2_POS,
537 K HTRACK_E2_NEG
|
538 cdaq 1.1 *
539 * HMS SINGLES PHYSICS COMMON BLOCKS
540 * THESE ARE FILLED BY H_PHYSICS
541 *
542 *
543 REAL*4 HSP ! Lab momentum of chosen track in GeV/c
544 REAL*4 HSENERGY ! Lab total energy of chosen track in GeV
|
545 csa 1.8 REAL*4 HSCORRP ! electron momentum corrected for eloss
546 REAL*4 HSCORRE ! electron energy corrected for eloss
|
547 cdaq 1.1 REAL*4 HSDELTA ! Spectrometer delta of chosen track
548 REAL*4 HSTHETA ! Lab Scattering angle in radians
549 REAL*4 HSPHI ! Lab Azymuthal angle in radians
550 REAL*4 HSMINV ! Invariant Mass of remaing hadronic system
551 REAL*4 HSZBEAM ! Lab Z coordinate of intersection of beam
552 ! track with spectrometer ray
553 REAL*4 HSDEDX(4) ! DEDX of chosen track in each scin plane
554 REAL*4 HSBETA ! BETA of chosen track
555 REAL*4 HSTRACK_ET ! Total shower energy of chosen track
556 REAL*4 HSTRACK_PRESHOWER_E ! preshower of chosen track
|
557 saw 1.7 REAL*4 HSTRACK_E1_POS ! Shower energy E1_POS of chosen track
558 REAL*4 HSTRACK_E1_NEG ! Shower energy E1_NEG of chosen track
559 REAL*4 HSTRACK_E2_POS ! Shower energy E2_POS of chosen track
560 REAL*4 HSTRACK_E2_NEG ! Shower energy E2_NEG of chosen track
|
561 cdaq 1.1 REAL*4 HSTIME_AT_FP
562 REAL*4 HSX_FP ! X focal plane position
563 REAL*4 HSY_FP
564 REAL*4 HSXP_FP
565 REAL*4 HSYP_FP
566 REAL*4 HSCHI2PERDEG ! CHI2 per degree of freedom of chosen track.
567 REAL*4 HSX_TAR
568 REAL*4 HSY_TAR
569 REAL*4 HSXP_TAR
570 REAL*4 HSYP_TAR
571 REAL*4 HSBETA_CHISQ
572 *
573 real*4 hsmass2 ! Mass squared
574 real*4 hst ! invariant t
575 real*4 hsu ! invariant u
576 real*4 hseloss
577 real*4 hsq3 ! Lab frame momentum transfer
|
578 csa 1.8 * real*4 hsthetaq, hsphiq ! Direction of q3
|
579 cdaq 1.1 real*4 hsbigq2 ! Q**2
580 real*4 hsx ! fraction of nucleon p carried by quark
|
581 saw 1.5 real*4 hsy ! fraction of lepton''s E lost in lab
|
582 cdaq 1.1 real*4 hsw ! Invariant mass of recoil system
583 real*4 hsw2 ! Invariant mass**2 of recoil system
584 *
585 INTEGER*4 HSNUM_FPTRACK ! Index of focal plane track chosen
586 INTEGER*4 HSNUM_TARTRACK ! Index of target track chosen
587 INTEGER*4 HSID_LUND ! LUND particle ID code -- not yet filled
588 INTEGER*4 HSNFREE_FP
589 INTEGER*4 HSNUM_SCIN_HIT ! # OF SCINTILLATORS ON TRACK
590 INTEGER*4 HSNUM_PMT_HIT ! # OF HODOSCOPE PMTS ON TRACK
591 *
592 COMMON/HMS_PHYSICS_R4/
593 & HSP,
594 & HSENERGY,
595 & HSDELTA,
596 & HSTHETA,
597 & HSPHI,
598 & HSMINV,
599 & HSZBEAM,
600 & HSDEDX,
601 & HSBETA,
602 & HSTRACK_ET,
603 cdaq 1.1 & HSTRACK_PRESHOWER_E,
|
604 saw 1.7 & HSTRACK_E1_POS,
605 & HSTRACK_E1_NEG,
606 & HSTRACK_E2_POS,
607 & HSTRACK_E2_NEG,
|
608 cdaq 1.1 & HSTIME_AT_FP,
609 & HSX_FP ,
610 & HSY_FP ,
611 & HSXP_FP ,
612 & HSYP_FP ,
613 & HSCHI2PERDEG ,
614 & HSX_TAR ,
615 & HSY_TAR ,
616 & HSXP_TAR ,
617 & HSYP_TAR ,
618 & HSBETA_CHISQ,
|
619 csa 1.8 & hsmass2,
620 & hst,
621 & hsu,
622 & hseloss,
623 & hsq3,
624 & hsbigq2,
625 & hsx,
626 & hsy,
627 & hsw,
628 & hsw2,
629 & hscorrp,
630 & hscorre
631 * & hsthetaq,hsphiq
|
632 cdaq 1.1 *
633 COMMON/HMS_PHYSICS_I4/
634 & HSNUM_FPTRACK,
635 & HSNUM_TARTRACK,
636 & HSID_LUND,
637 & HSNFREE_FP,
638 & HSNUM_SCIN_HIT,
639 & HSNUM_PMT_HIT
640 *
641 *
642 * Non-Hits data with HMS gates or starts.
643 * (Energy SUMS, logic timing,...)
644 *
645 INTEGER HMAX_MISC_HITS
|
646 cdaq 1.3 PARAMETER(HMAX_MISC_HITS=100)
|
647 cdaq 1.1 INTEGER*4 HMISC_TOT_HITS
|
648 saw 1.4 INTEGER*4 HMISC_RAW_ADDR1 ! "Plane" (1=TDC,2=ADC)
|
649 cdaq 1.1 INTEGER*4 HMISC_RAW_ADDR2 ! "Counter"
650 INTEGER*4 HMISC_RAW_DATA
651 COMMON/H_RAW_MISC/
652 & HMISC_RAW_ADDR1(HMAX_MISC_HITS),
653 & HMISC_RAW_ADDR2(HMAX_MISC_HITS),
654 & HMISC_RAW_DATA(HMAX_MISC_HITS),
655 & HMISC_TOT_HITS
656 *
657 *
658 *
659 *******************end: hms_data_structures.cmn*************************
660 * Local Variables:
661 * mode: fortran
662 * fortran-continuation-string: "&"
663 * comment-column: 35
664 * End:
|
665 jones 1.9
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686 jones 1.9
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707 jones 1.9
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728 jones 1.9
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749 jones 1.9
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770 jones 1.9
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791 jones 1.9
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812 jones 1.9
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833 jones 1.9
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854 jones 1.9
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875 jones 1.9
876
877
878
879
880
881
|
882 cdaq 1.1
|