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