1 cdaq 1.1 *
2 * HMS calorimeter. Parameters from hms_positions.parm
3 *
|
4 cdaq 1.2 * $Log: hms_calorimeter.cmn,v $
|
5 cdaq 1.6 * Revision 1.5 1995/03/13 19:01:46 cdaq
6 * (JRA) Move hmax_cal_rows and hmax_cal_columns to gen_data_structures
7 *
|
8 cdaq 1.5 * Revision 1.4 1995/01/04 17:09:32 cdaq
9 * (HGM) Increase hmax_cal_rows to 13
10 *
|
11 cdaq 1.4 * Revision 1.3 1994/10/11 19:44:44 cdaq
12 * (SAW) Add hcal_slop
13 *
|
14 cdaq 1.3 * Revision 1.2 1994/08/05 15:35:42 cdaq
15 * (SAW) Add makereg directive with required include files
16 * Add "CTPTYPE=event" directive for auto generation of CTP reg calls
17 *
|
18 cdaq 1.2 * Revision 1.1 1994/04/12 21:32:21 cdaq
19 * Initial revision
20 *
21 * The following include statments must precede the inclusion of this
22 * file in each routine that uses it. The *%% syntax is also a
23 * directive to makereg to tell it to include the code in the program
24 * that it generates.
|
25 cdaq 1.1 *
|
26 cdaq 1.6 *%% include 'hms_data_structures.cmn'
|
27 cdaq 1.2 *
28 * CTPTYPE=parm
29 *
|
30 cdaq 1.1 real*4 hcal_1pr_zpos ! Z positions of front of shower counter layers
31 real*4 hcal_2ta_zpos !
32 real*4 hcal_3ta_zpos !
33 real*4 hcal_4ta_zpos !
34 real*4 hcal_1pr_thick ! Thickness of shower counter blocks
35 real*4 hcal_2ta_thick !
36 real*4 hcal_3ta_thick !
37 real*4 hcal_4ta_thick !
38 integer*4 hcal_1pr_nr !Number of shower blocks per column
39 integer*4 hcal_2ta_nr !
40 integer*4 hcal_3ta_nr !
41 integer*4 hcal_4ta_nr !
42 real*4 hcal_1pr_left !Y position, column #1
43 real*4 hcal_1pr_right !
44 real*4 hcal_1pr_top ! X positions, column #1
45 real*4 hcal_2ta_left ! Y position, column #2
46 real*4 hcal_2ta_right !
47 real*4 hcal_2ta_top ! X positions, column#2
48 real*4 hcal_3ta_left ! Y position, column #3
49 real*4 hcal_3ta_right !
50 real*4 hcal_3ta_top ! X positions, column #3
51 cdaq 1.1 real*4 hcal_4ta_left ! Y position, column #4
52 real*4 hcal_4ta_right !
53 real*4 hcal_4ta_top ! X positions, column #4
|
54 cdaq 1.3 REAL*4 HCAL_SLOP !SLOP IN DISTANCE BETWEEN TRACK AND BLOCK
|
55 cdaq 1.1 common/hms_cal_parms/
56 & hcal_1pr_zpos,
57 & hcal_2ta_zpos,
58 & hcal_3ta_zpos,
59 & hcal_4ta_zpos,
60 & hcal_1pr_thick,
61 & hcal_2ta_thick,
62 & hcal_3ta_thick,
63 & hcal_4ta_thick,
64 & hcal_1pr_nr,
65 & hcal_2ta_nr,
66 & hcal_3ta_nr,
67 & hcal_4ta_nr,
68 & hcal_1pr_left,
69 & hcal_1pr_right,
70 & hcal_1pr_top(hmax_cal_rows),
71 & hcal_2ta_left,
72 & hcal_2ta_right,
73 & hcal_2ta_top(hmax_cal_rows),
74 & hcal_3ta_left,
75 & hcal_3ta_right,
76 cdaq 1.1 & hcal_3ta_top(hmax_cal_rows),
77 & hcal_4ta_left,
78 & hcal_4ta_right,
|
79 cdaq 1.3 & hcal_4ta_top(hmax_cal_rows),
80 & hcal_slop
|
81 cdaq 1.1 *
82 * HMS calorimeter. Geometrical constants filled by h_init_cal
83 *
84 real*4 hcal_block_xsize !
85 real*4 hcal_block_ysize !Block dimensions - 10*70*10 cm^3
86 real*4 hcal_block_zsize !
87 real*4 hcal_block_xc !
88 real*4 hcal_block_yc !X,Y,Z coordinates of block centers
89 real*4 hcal_block_zc !
90 real*4 hcal_xmin !
91 real*4 hcal_xmax !
92 real*4 hcal_ymin !Boundaries of the HMS
93 real*4 hcal_ymax !calorimeter stack
94 real*4 hcal_zmin !
95 real*4 hcal_zmax !
96 real*4 hcal_fv_xmin !
97 real*4 hcal_fv_xmax !
98 real*4 hcal_fv_ymin !Boundaries of the
99 real*4 hcal_fv_ymax !fiducial volume
100 real*4 hcal_fv_zmin !
101 real*4 hcal_fv_zmax !
102 cdaq 1.1 common/hms_geometry_cal/
103 & hcal_block_xsize,
104 & hcal_block_ysize,
105 & hcal_block_zsize,
106 & hcal_block_xc(hmax_cal_blocks),
107 & hcal_block_yc(hmax_cal_blocks),
108 & hcal_block_zc(hmax_cal_blocks),
109 & hcal_xmin,hcal_xmax,
110 & hcal_ymin,hcal_ymax,
111 & hcal_zmin,hcal_zmax,
112 & hcal_fv_xmin,hcal_fv_xmax,
113 & hcal_fv_ymin,hcal_fv_ymax,
114 & hcal_fv_zmin,hcal_fv_zmax
115 *
116 * HMS calorimeter. Sparsified data filled by h_sparsify_cal
117 *
|
118 cdaq 1.2 * CTPTYPE=event
119 *
|
120 cdaq 1.1 integer*4 hcal_rows !Row number. Copied from hms_raw_cal
121 integer*4 hcal_cols !Column number. Copied from hms_raw_cal
122 real*4 hcal_adcs !Pulse height in channels(ADC-PED).
123 integer*4 hcal_num_hits !Total number of hits above threshold
124 common/hms_sparsified_cal/
125 & hcal_rows(hmax_cal_blocks),
126 & hcal_cols(hmax_cal_blocks),
127 & hcal_adcs(hmax_cal_blocks),
128 & hcal_num_hits
129 *
130 * HMS calorimeter. Cluster data, filled by h_clusters_cal
131 *
132 integer*4 hnclusters_max !Number of clusters allowed in the calorimeter
133 parameter (hnclusters_max=5) !Set the maximum to 5
134 integer*4 hnclusters_cal !Number of clusters found
135 integer*4 hcluster_hit !Link pointer to cluster number for each hit
136 integer*4 hcluster_size !Number of hits in a cluster
137 real*4 hcluster_xc !X-coordinate of a cluster
138 real*4 hcluster_e1 !Energy deposition in column #1
139 real*4 hcluster_e2 ! #2
140 real*4 hcluster_e3 ! #3
141 cdaq 1.1 real*4 hcluster_e4 ! #4
142 real*4 hcluster_et !Total energy deposition
143 common/hms_clusters_cal/
144 & hcluster_hit(hmax_cal_blocks),
145 & hcluster_size(hnclusters_max),
146 & hcluster_xc(hnclusters_max),
147 & hcluster_e1(hnclusters_max),
148 & hcluster_e2(hnclusters_max),
149 & hcluster_e3(hnclusters_max),
150 & hcluster_e4(hnclusters_max),
151 & hcluster_et(hnclusters_max),
152 & hnclusters_cal
153 *
154 * HMS calorimeter. Calorimeter track quantities,filled by h_tracks_cal
155 *
156 real*4 htrack_xc !X,Y position of track on
157 real*4 htrack_yc ! calorimeter front surface
158 integer*4 hcluster_track !Link pointer to calorimeter cluster number
159 integer*4 hntracks_cal !Number of tracks for which a cluster was found
160 common/hms_tracks_cal/
161 & htrack_xc(hntracks_max),
162 cdaq 1.1 & htrack_yc(hntracks_max),
163 & hcluster_track(hntracks_max),
164 & hntracks_cal
|
165 cdaq 1.2 *
166 * CTPTYPE=parm
167 *
|
168 cdaq 1.1 *
169 * HMS calorimeter. ADC pedestals and thresholds
170 *
171 real*4 hcal_ped_mean !Mean pedestal value
172 real*4 hcal_ped_rms !Pedestal rms deviation
173 real*4 hcal_threshold !Threshold=3.*hcal_ped_rms
174 common/hms_cal_pedestals/
175 & hcal_ped_mean(hmax_cal_blocks),
176 & hcal_ped_rms(hmax_cal_blocks),
177 & hcal_threshold(hmax_cal_blocks)
178 *
179 * HMS calorimeter. Calibration constants
180 *
181 real*4 hcal_cal_const !Calibration constants
182 common/hms_cal_const/
183 & hcal_cal_const(hmax_cal_blocks)
184 *
185 * HMS calorimeter. Relative gains & correction factors
186 *
187 real*4 hcal_gain_ini !Relative gains during the last calibration
188 real*4 hcal_gain_cur !Current relative gains
189 cdaq 1.1 real*4 hcal_gain_cor !Correction factor: cor=ini/cur
190 common/hms_cal_monitor/
191 & hcal_gain_ini(hmax_cal_blocks),
192 & hcal_gain_cur(hmax_cal_blocks),
193 & hcal_gain_cor(hmax_cal_blocks)
194 *
195 * HMS calorimeter. Debuging LUN and flags
196 *
197 integer*4 hlun_dbg_cal
198 integer*4 hdbg_raw_cal
199 integer*4 hdbg_sparsified_cal
200 integer*4 hdbg_decoded_cal
201 integer*4 hdbg_clusters_cal
202 integer*4 hdbg_tracks_cal
203 integer*4 hdbg_tests_cal
204 common/hms_cal_flags/
205 & hlun_dbg_cal,
206 & hdbg_raw_cal,
207 & hdbg_sparsified_cal,
208 & hdbg_decoded_cal,
209 & hdbg_clusters_cal,
210 cdaq 1.1 & hdbg_tracks_cal,
211 & hdbg_tests_cal
|