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