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