1 cdaq 1.1 *
2 * SOS calorimeter. Parameters from sos_positions.parm
3 * $Log:$
4 *
5 integer*4 smax_cal_rows !Number of calorimeter rows
6 parameter (smax_cal_rows=12)
7 integer*4 smax_cal_columns !Number of calorimeter columns
8 parameter (smax_cal_columns=4)
9 real*4 scal_1pr_zpos ! Z positions of front of shower counter layers
10 real*4 scal_2ta_zpos !
11 real*4 scal_3ta_zpos !
12 real*4 scal_4ta_zpos !
13 real*4 scal_1pr_thick ! Thickness of shower counter blocks
14 real*4 scal_2ta_thick !
15 real*4 scal_3ta_thick !
16 real*4 scal_4ta_thick !
17 integer*4 scal_1pr_nr !Number of shower blocks per column
18 integer*4 scal_2ta_nr !
19 integer*4 scal_3ta_nr !
20 integer*4 scal_4ta_nr !
21 real*4 scal_1pr_left !Y position, column #1
22 cdaq 1.1 real*4 scal_1pr_right !
23 real*4 scal_1pr_top ! X positions, column #1
24 real*4 scal_2ta_left ! Y position, column #2
25 real*4 scal_2ta_right !
26 real*4 scal_2ta_top ! X positions, column#2
27 real*4 scal_3ta_left ! Y position, column #3
28 real*4 scal_3ta_right !
29 real*4 scal_3ta_top ! X positions, column #3
30 real*4 scal_4ta_left ! Y position, column #4
31 real*4 scal_4ta_right !
32 real*4 scal_4ta_top ! X positions, column #4
33 common/sos_cal_parms/
34 & scal_1pr_zpos,
35 & scal_2ta_zpos,
36 & scal_3ta_zpos,
37 & scal_4ta_zpos,
38 & scal_1pr_thick,
39 & scal_2ta_thick,
40 & scal_3ta_thick,
41 & scal_4ta_thick,
42 & scal_1pr_nr,
43 cdaq 1.1 & scal_2ta_nr,
44 & scal_3ta_nr,
45 & scal_4ta_nr,
46 & scal_1pr_left,
47 & scal_1pr_right,
48 & scal_1pr_top(smax_cal_rows),
49 & scal_2ta_left,
50 & scal_2ta_right,
51 & scal_2ta_top(smax_cal_rows),
52 & scal_3ta_left,
53 & scal_3ta_right,
54 & scal_3ta_top(smax_cal_rows),
55 & scal_4ta_left,
56 & scal_4ta_right,
57 & scal_4ta_top(smax_cal_rows)
58 *
59 * SOS calorimeter. Geometrical constants filled by s_init_cal
60 *
61 real*4 scal_block_xsize !
62 real*4 scal_block_ysize !Block dimensions - 10*70*10 cm^3
63 real*4 scal_block_zsize !
64 cdaq 1.1 real*4 scal_block_xc !
65 real*4 scal_block_yc !X,Y,Z coordinates of block centers
66 real*4 scal_block_zc !
67 real*4 scal_xmin !
68 real*4 scal_xmax !
69 real*4 scal_ymin !Boundaries of the SOS
70 real*4 scal_ymax !calorimeter stack
71 real*4 scal_zmin !
72 real*4 scal_zmax !
73 real*4 scal_fv_xmin !
74 real*4 scal_fv_xmax !
75 real*4 scal_fv_ymin !Boundaries of the
76 real*4 scal_fv_ymax !fiducial volume
77 real*4 scal_fv_zmin !
78 real*4 scal_fv_zmax !
79 common/sos_geometry_cal/
80 & scal_block_xsize,
81 & scal_block_ysize,
82 & scal_block_zsize,
83 & scal_block_xc(smax_cal_blocks),
84 & scal_block_yc(smax_cal_blocks),
85 cdaq 1.1 & scal_block_zc(smax_cal_blocks),
86 & scal_xmin,scal_xmax,
87 & scal_ymin,scal_ymax,
88 & scal_zmin,scal_zmax,
89 & scal_fv_xmin,scal_fv_xmax,
90 & scal_fv_ymin,scal_fv_ymax,
91 & scal_fv_zmin,scal_fv_zmax
92 *
93 * SOS calorimeter. Sparsified data filled by s_sparsify_cal
94 *
95 integer*4 scal_rows !Row number. Copied from sos_raw_cal
96 integer*4 scal_cols !Column number. Copied from sos_raw_cal
97 real*4 scal_adcs !Pulse height in channels(ADC-PED).
98 integer*4 scal_num_hits !Total number of hits above threshold
99 common/sos_sparsified_cal/
100 & scal_rows(smax_cal_blocks),
101 & scal_cols(smax_cal_blocks),
102 & scal_adcs(smax_cal_blocks),
103 & scal_num_hits
104 *
105 * SOS calorimeter. Cluster data, filled by s_clusters_cal
106 cdaq 1.1 *
107 integer*4 snclusters_max !Number of clusters allowed in the calorimeter
108 parameter (snclusters_max=5) !Set the maximum to 5
109 integer*4 snclusters_cal !Number of clusters found
110 integer*4 scluster_hit !Link pointer to cluster number for each hit
111 integer*4 scluster_size !Number of hits in a cluster
112 real*4 scluster_xc !X-coordinate of a cluster
113 real*4 scluster_e1 !Energy deposition in column #1
114 real*4 scluster_e2 ! #2
115 real*4 scluster_e3 ! #3
116 real*4 scluster_e4 ! #4
117 real*4 scluster_et !Total energy deposition
118 common/sos_clusters_cal/
119 & scluster_hit(smax_cal_blocks),
120 & scluster_size(snclusters_max),
121 & scluster_xc(snclusters_max),
122 & scluster_e1(snclusters_max),
123 & scluster_e2(snclusters_max),
124 & scluster_e3(snclusters_max),
125 & scluster_e4(snclusters_max),
126 & scluster_et(snclusters_max),
127 cdaq 1.1 & snclusters_cal
128 *
129 *
130 * SOS calorimeter. Calorimeter track quantities,filled by s_tracks_cal
131 *
132 real*4 strack_xc !X,Y position of track on
133 real*4 strack_yc ! calorimeter front surface
134 integer*4 scluster_track !Link pointer to calorimeter cluster number
135 integer*4 sntracks_cal !Number of tracks for which a cluster was found
136 common/sos_tracks_cal/
137 & strack_xc(sntracks_max),
138 & strack_yc(sntracks_max),
139 & scluster_track(sntracks_max),
140 & sntracks_cal
141 *
142 * SOS calorimeter. ADC pedestals and thresholds
143 *
144 real*4 scal_ped_mean !Mean pedestal value
145 real*4 scal_ped_rms !Pedestal rms deviation
146 real*4 scal_threshold !Threshold=3.*scal_ped_rms
147 common/sos_cal_pedestals/
148 cdaq 1.1 & scal_ped_mean(smax_cal_blocks),
149 & scal_ped_rms(smax_cal_blocks),
150 & scal_threshold(smax_cal_blocks)
151 *
152 * SOS calorimeter. Calibration constants
153 *
154 real*4 scal_cal_const !Calibration constants
155 common/sos_cal_const/
156 & scal_cal_const(smax_cal_blocks)
157 *
158 * SOS calorimeter. Relative gains & correction factors
159 *
160 real*4 scal_gain_ini !Relative gains during the last calibration
161 real*4 scal_gain_cur !Current relative gains
162 real*4 scal_gain_cor !Correction factor: cor=ini/cur
163 common/sos_cal_monitor/
164 & scal_gain_ini(smax_cal_blocks),
165 & scal_gain_cur(smax_cal_blocks),
166 & scal_gain_cor(smax_cal_blocks)
167 *
168 * SOS calorimeter. Debuging LUN and flags
169 cdaq 1.1 *
170 integer*4 slun_dbg_cal
171 integer*4 sdbg_raw_cal
172 integer*4 sdbg_sparsified_cal
173 integer*4 sdbg_decoded_cal
174 integer*4 sdbg_clusters_cal
175 integer*4 sdbg_tracks_cal
176 integer*4 sdbg_tests_cal
177 common/sos_cal_flags/
178 & slun_dbg_cal,
179 & sdbg_raw_cal,
180 & sdbg_sparsified_cal,
181 & sdbg_decoded_cal,
182 & sdbg_clusters_cal,
183 & sdbg_tracks_cal,
184 & sdbg_tests_cal
|