1#include "TofRec/TofCheckDigi.h"
2#include "TofRec/TofConstants.h"
3#include "TofCaliSvc/ITofCaliSvc.h"
5#include "Identifier/Identifier.h"
6#include "Identifier/TofID.h"
7#include "McTruth/TofMcHit.h"
8#include "McTruth/McParticle.h"
14TofCheckDigi::TofCheckDigi( NTuple::Tuple*& digi, NTuple::Tuple*& barrel, NTuple::Tuple*& endcap, NTuple::Tuple*& mrpc, NTuple::Tuple*& ext, NTuple::Tuple*& tof, NTuple::Tuple*& bhabha ):digi_tuple(digi),barrel_tuple(barrel),endcap_tuple(endcap),mrpc_tuple(mrpc),ext_tuple(ext),tof_tuple(tof),bb_tuple(bhabha) {
16 std::cerr<<
" Error: invalid pionter in TofCheckDigi(NTuple::Tuple*) for digi_tuple "<<std::endl;
19 digi_tuple->addItem(
"run", digi_run );
20 digi_tuple->addItem(
"event", digi_event );
21 digi_tuple->addItem(
"barrel", digi_barrel );
22 digi_tuple->addItem(
"endcap", digi_endcap );
23 digi_tuple->addItem(
"layer", digi_layer );
24 digi_tuple->addItem(
"tofid", digi_tofId );
25 digi_tuple->addItem(
"strip", digi_strip );
26 digi_tuple->addItem(
"end", digi_end );
27 digi_tuple->addItem(
"adc", digi_adc );
28 digi_tuple->addItem(
"tdc", digi_tdc );
29 digi_tuple->addItem(
"qclock", digi_qclock );
30 digi_tuple->addItem(
"tclock", digi_tclock );
31 digi_tuple->addItem(
"over", digi_overflow );
32 digi_tuple->addItem(
"noq", digi_noq );
33 digi_tuple->addItem(
"not", digi_not );
34 digi_tuple->addItem(
"multiq", digi_multiq );
35 digi_tuple->addItem(
"multit", digi_multit );
36 digi_tuple->addItem(
"overq", digi_overq );
37 digi_tuple->addItem(
"overt", digi_overt );
38 digi_tuple->addItem(
"t0", digi_t0 );
39 digi_tuple->addItem(
"t0stat", digi_t0stat );
40 digi_tuple->addItem(
"crate", digi_crate );
41 digi_tuple->addItem(
"geo", digi_geo );
42 digi_tuple->addItem(
"tdcnum", digi_tdcnum );
43 digi_tuple->addItem(
"err", digi_err );
47 std::cerr<<
" Error: invalid pionter in TofCheckDigi(NTuple::Tuple*) for barrel_tuple "<<std::endl;
50 barrel_tuple->addItem(
"run", barrel_run );
51 barrel_tuple->addItem(
"event", barrel_event );
52 barrel_tuple->addItem(
"tofid", barrel_tofId );
53 barrel_tuple->addItem(
"icluster", barrel_tofTrackId );
54 barrel_tuple->addItem(
"layer", barrel_layer );
55 barrel_tuple->addItem(
"qch1", barrel_qchannel1 );
56 barrel_tuple->addItem(
"tch1", barrel_tchannel1 );
57 barrel_tuple->addItem(
"qch2", barrel_qchannel2 );
58 barrel_tuple->addItem(
"tch2", barrel_tchannel2 );
59 barrel_tuple->addItem(
"qtc1", barrel_qtc1 );
60 barrel_tuple->addItem(
"adc1", barrel_adc1 );
61 barrel_tuple->addItem(
"tdc1", barrel_tdc1 );
62 barrel_tuple->addItem(
"qtc2", barrel_qtc2 );
63 barrel_tuple->addItem(
"adc2", barrel_adc2 );
64 barrel_tuple->addItem(
"tdc2", barrel_tdc2 );
65 barrel_tuple->addItem(
"qclock1", barrel_qclock1 );
66 barrel_tuple->addItem(
"tclock1", barrel_tclock1 );
67 barrel_tuple->addItem(
"qclock2", barrel_qclock2 );
68 barrel_tuple->addItem(
"tclock2", barrel_tclock2 );
69 barrel_tuple->addItem(
"qual", barrel_quality );
70 barrel_tuple->addItem(
"tmatched", barrel_tmatched );
71 barrel_tuple->addItem(
"qtimes1", barrel_qtimes1 );
72 barrel_tuple->addItem(
"ttimes1", barrel_ttimes1 );
73 barrel_tuple->addItem(
"qtimes2", barrel_qtimes2 );
74 barrel_tuple->addItem(
"ttimes2", barrel_ttimes2 );
75 barrel_tuple->addItem(
"times1", barrel_times1 );
76 barrel_tuple->addItem(
"times2", barrel_times2 );
77 barrel_tuple->addItem(
"times", barrel_times );
78 barrel_tuple->addItem(
"qnum1", barrel_qnum1 );
79 barrel_tuple->addItem(
"tnum1", barrel_tnum1 );
80 barrel_tuple->addItem(
"qnum2", barrel_qnum2 );
81 barrel_tuple->addItem(
"tnum2", barrel_tnum2 );
82 barrel_tuple->addItem(
"tsum", barrel_tsum );
83 barrel_tuple->addItem(
"tsub", barrel_tsub );
84 barrel_tuple->addItem(
"ztdc", barrel_ztdc );
85 barrel_tuple->addItem(
"zadc", barrel_zadc );
86 barrel_tuple->addItem(
"t0", barrel_t0 );
87 barrel_tuple->addItem(
"t0stat", barrel_t0stat );
91 std::cerr<<
" Error: invalid pionter in TofCheckDigi(NTuple::Tuple*) for endcap_tuple "<<std::endl;
94 endcap_tuple->addItem(
"run", endcap_run );
95 endcap_tuple->addItem(
"event", endcap_event );
96 endcap_tuple->addItem(
"tofid", endcap_tofId );
97 endcap_tuple->addItem(
"icluster", endcap_tofTrackId );
98 endcap_tuple->addItem(
"qch", endcap_qchannel );
99 endcap_tuple->addItem(
"tch", endcap_tchannel );
100 endcap_tuple->addItem(
"qtc", endcap_qtc );
101 endcap_tuple->addItem(
"adc", endcap_adc );
102 endcap_tuple->addItem(
"tdc", endcap_tdc );
103 endcap_tuple->addItem(
"qual", endcap_quality );
104 endcap_tuple->addItem(
"qclock", endcap_qclock );
105 endcap_tuple->addItem(
"tclock", endcap_tclock );
106 endcap_tuple->addItem(
"qtimes", endcap_qtimes );
107 endcap_tuple->addItem(
"ttimes", endcap_ttimes );
108 endcap_tuple->addItem(
"times", endcap_times );
109 endcap_tuple->addItem(
"qnum", endcap_qnum );
110 endcap_tuple->addItem(
"tnum", endcap_tnum );
111 endcap_tuple->addItem(
"t0", endcap_t0 );
112 endcap_tuple->addItem(
"t0stat", endcap_t0stat );
116 std::cerr<<
" Error: invalid pionter in TofCheckDigi(NTuple::Tuple*) for mrpc_tuple "<<std::endl;
119 mrpc_tuple->addItem(
"run", mrpc_run );
120 mrpc_tuple->addItem(
"event", mrpc_event );
121 mrpc_tuple->addItem(
"tofid", mrpc_tofId );
122 mrpc_tuple->addItem(
"strip", mrpc_strip );
123 mrpc_tuple->addItem(
"icluster", mrpc_tofTrackId );
124 mrpc_tuple->addItem(
"ttch1", mrpc_ttch1 );
125 mrpc_tuple->addItem(
"tlch1", mrpc_tlch1 );
126 mrpc_tuple->addItem(
"ttch2", mrpc_ttch2 );
127 mrpc_tuple->addItem(
"tlch2", mrpc_tlch2 );
128 mrpc_tuple->addItem(
"tt1", mrpc_tt1 );
129 mrpc_tuple->addItem(
"tl1", mrpc_tl1 );
130 mrpc_tuple->addItem(
"tt2", mrpc_tt2 );
131 mrpc_tuple->addItem(
"tl2", mrpc_tl2 );
132 mrpc_tuple->addItem(
"tot1", mrpc_tot1 );
133 mrpc_tuple->addItem(
"tot2", mrpc_tot2 );
134 mrpc_tuple->addItem(
"qual", mrpc_quality );
135 mrpc_tuple->addItem(
"tmatched", mrpc_tmatched );
136 mrpc_tuple->addItem(
"tttimes1", mrpc_tttimes1 );
137 mrpc_tuple->addItem(
"tltimes1", mrpc_tltimes1 );
138 mrpc_tuple->addItem(
"tttimes2", mrpc_tttimes2 );
139 mrpc_tuple->addItem(
"tltimes2", mrpc_tltimes2 );
140 mrpc_tuple->addItem(
"times1", mrpc_times1 );
141 mrpc_tuple->addItem(
"times2", mrpc_times2 );
142 mrpc_tuple->addItem(
"times", mrpc_times );
143 mrpc_tuple->addItem(
"ttnum1", mrpc_ttnum1 );
144 mrpc_tuple->addItem(
"tlnum1", mrpc_tlnum1 );
145 mrpc_tuple->addItem(
"ttnum2", mrpc_ttnum2 );
146 mrpc_tuple->addItem(
"tlnum2", mrpc_tlnum2 );
147 mrpc_tuple->addItem(
"tsum", mrpc_tsum );
148 mrpc_tuple->addItem(
"tsub", mrpc_tsub );
149 mrpc_tuple->addItem(
"ztdc", mrpc_ztdc );
150 mrpc_tuple->addItem(
"zadc", mrpc_zadc );
151 mrpc_tuple->addItem(
"t0", mrpc_t0 );
152 mrpc_tuple->addItem(
"t0stat", mrpc_t0stat );
156 std::cerr<<
" Error: invalid pionter in TofCheckDigi(NTuple::Tuple*) for ext_tple"<<std::endl;
159 ext_tuple->addItem(
"run", ext_run );
160 ext_tuple->addItem(
"event", ext_event );
161 ext_tuple->addItem(
"track", ext_trackid );
162 ext_tuple->addItem(
"costheta", ext_costheta );
163 ext_tuple->addItem(
"kal", 5, ext_kalman );
164 ext_tuple->addItem(
"x1", 5, ext_x1 );
165 ext_tuple->addItem(
"x2", 5, ext_x2 );
166 ext_tuple->addItem(
"y1", 5, ext_y1 );
167 ext_tuple->addItem(
"y2", 5, ext_y2 );
168 ext_tuple->addItem(
"z1", 5, ext_z1 );
169 ext_tuple->addItem(
"z2", 5, ext_z2 );
170 ext_tuple->addItem(
"tofid1", 5, ext_tofid1 );
171 ext_tuple->addItem(
"tofid2", 5, ext_tofid2 );
172 ext_tuple->addItem(
"strip1", 5, ext_strip1 );
173 ext_tuple->addItem(
"strip2", 5, ext_strip2 );
174 ext_tuple->addItem(
"texp1", 5, ext_texp1 );
175 ext_tuple->addItem(
"texp2", 5, ext_texp2 );
176 ext_tuple->addItem(
"p", ext_p );
177 ext_tuple->addItem(
"path1", 5, ext_path1 );
178 ext_tuple->addItem(
"path2", 5, ext_path2 );
179 ext_tuple->addItem(
"zrhit1", 5, ext_zrhit1 );
180 ext_tuple->addItem(
"zrhit2", 5, ext_zrhit2 );
181 ext_tuple->addItem(
"errzr1", 5, ext_errzr1 );
182 ext_tuple->addItem(
"errzr2", 5, ext_errzr2 );
183 ext_tuple->addItem(
"cost1", 5, ext_theta1 );
184 ext_tuple->addItem(
"cost2", 5, ext_theta2 );
185 ext_tuple->addItem(
"phi1", 5, ext_phi1 );
186 ext_tuple->addItem(
"phi2", 5, ext_phi2 );
187 ext_tuple->addItem(
"hitcase1", 5, ext_hitcase1 );
188 ext_tuple->addItem(
"hitcase2", 5, ext_hitcase2 );
189 ext_tuple->addItem(
"hitcase", 5, ext_hitcase );
190 ext_tuple->addItem(
"qual", 5, ext_quality );
194 std::cerr<<
" Error: invalid pionter in TofCheckDigi(NTuple::Tuple*) for tof_tple"<<std::endl;
197 tof_tuple->addItem(
"run", tof_run );
198 tof_tuple->addItem(
"event", tof_event );
199 tof_tuple->addItem(
"toftrack", tof_toftrackid );
200 tof_tuple->addItem(
"track", tof_trackid );
201 tof_tuple->addItem(
"charge", tof_charge );
202 tof_tuple->addItem(
"pt", 5, tof_pt );
203 tof_tuple->addItem(
"p", 5, tof_p );
204 tof_tuple->addItem(
"id1", tof_id1 );
205 tof_tuple->addItem(
"id2", tof_id2 );
206 tof_tuple->addItem(
"istrip1", tof_istrip1 );
207 tof_tuple->addItem(
"istrip2", tof_istrip2 );
208 tof_tuple->addItem(
"dstrip1", tof_dstrip1 );
209 tof_tuple->addItem(
"dstrip2", tof_dstrip2 );
210 tof_tuple->addItem(
"barrel", tof_barrel );
211 tof_tuple->addItem(
"hitcase", tof_hitcase );
212 tof_tuple->addItem(
"mom", tof_momentum );
213 tof_tuple->addItem(
"path1", tof_path1 );
214 tof_tuple->addItem(
"path2", tof_path2 );
215 tof_tuple->addItem(
"zrhit1", tof_zrhit1 );
216 tof_tuple->addItem(
"zrhit2", tof_zrhit2 );
217 tof_tuple->addItem(
"errzr1", tof_errzr1 );
218 tof_tuple->addItem(
"errzr2", tof_errzr2 );
219 tof_tuple->addItem(
"xhit1", tof_xhit1 );
220 tof_tuple->addItem(
"yhit1", tof_yhit1 );
221 tof_tuple->addItem(
"xhit2", tof_xhit2 );
222 tof_tuple->addItem(
"yhit2", tof_yhit2 );
223 tof_tuple->addItem(
"kal", 5, tof_kal );
224 tof_tuple->addItem(
"zr1", 5, tof_zr1 );
225 tof_tuple->addItem(
"zr2", 5, tof_zr2 );
226 tof_tuple->addItem(
"ztdc1", tof_ztdc1 );
227 tof_tuple->addItem(
"ztdc2", tof_ztdc2 );
228 tof_tuple->addItem(
"zadc1", tof_zadc1 );
229 tof_tuple->addItem(
"zadc2", tof_zadc2 );
230 tof_tuple->addItem(
"zt1", tof_zt1 );
231 tof_tuple->addItem(
"zt2", tof_zt2 );
232 tof_tuple->addItem(
"zt3", tof_zt3 );
233 tof_tuple->addItem(
"zt4", tof_zt4 );
234 tof_tuple->addItem(
"zq1", tof_zq1 );
235 tof_tuple->addItem(
"zq2", tof_zq2 );
236 tof_tuple->addItem(
"zq3", tof_zq3 );
237 tof_tuple->addItem(
"zq4", tof_zq4 );
238 tof_tuple->addItem(
"size1", tof_size1 );
239 tof_tuple->addItem(
"size2", tof_size2 );
240 tof_tuple->addItem(
"size3", tof_size3 );
241 tof_tuple->addItem(
"size4", tof_size4 );
242 tof_tuple->addItem(
"theta1", tof_theta1 );
243 tof_tuple->addItem(
"theta2", tof_theta2 );
244 tof_tuple->addItem(
"phi1", tof_phi1 );
245 tof_tuple->addItem(
"phi2", tof_phi2 );
246 tof_tuple->addItem(
"qual1", tof_quality1 );
247 tof_tuple->addItem(
"qual2", tof_quality2 );
248 tof_tuple->addItem(
"qual", tof_quality );
249 tof_tuple->addItem(
"change", tof_changed );
250 tof_tuple->addItem(
"tofid1", tof_tofid1 );
251 tof_tuple->addItem(
"tofid2", tof_tofid2 );
252 tof_tuple->addItem(
"strip1", tof_strip1 );
253 tof_tuple->addItem(
"strip2", tof_strip2 );
254 tof_tuple->addItem(
"board1", tof_board1 );
255 tof_tuple->addItem(
"board2", tof_board2 );
256 tof_tuple->addItem(
"crate1", tof_crate1 );
257 tof_tuple->addItem(
"crate2", tof_crate2 );
258 tof_tuple->addItem(
"fee1", tof_fee1 );
259 tof_tuple->addItem(
"fee2", tof_fee2 );
260 tof_tuple->addItem(
"channel1", tof_channel1 );
261 tof_tuple->addItem(
"channel2", tof_channel2 );
262 tof_tuple->addItem(
"channel3", tof_channel3 );
263 tof_tuple->addItem(
"channel4", tof_channel4 );
264 tof_tuple->addItem(
"ph11", tof_ph11 );
265 tof_tuple->addItem(
"ph12", tof_ph12 );
266 tof_tuple->addItem(
"ph21", tof_ph21 );
267 tof_tuple->addItem(
"ph22", tof_ph22 );
268 tof_tuple->addItem(
"ph1", tof_ph1 );
269 tof_tuple->addItem(
"ph2", tof_ph2 );
270 tof_tuple->addItem(
"ph", tof_ph );
271 tof_tuple->addItem(
"tofe11", tof_tofe11 );
272 tof_tuple->addItem(
"tofe12", tof_tofe12 );
273 tof_tuple->addItem(
"tofe21", tof_tofe21 );
274 tof_tuple->addItem(
"tofe22", tof_tofe22 );
275 tof_tuple->addItem(
"tofe1", tof_tofe1 );
276 tof_tuple->addItem(
"tofe2", tof_tofe2 );
277 tof_tuple->addItem(
"tofe", tof_tofe );
278 tof_tuple->addItem(
"tofmu11", tof_tofmu11 );
279 tof_tuple->addItem(
"tofmu12", tof_tofmu12 );
280 tof_tuple->addItem(
"tofmu21", tof_tofmu21 );
281 tof_tuple->addItem(
"tofmu22", tof_tofmu22 );
282 tof_tuple->addItem(
"tofmu1", tof_tofmu1 );
283 tof_tuple->addItem(
"tofmu2", tof_tofmu2 );
284 tof_tuple->addItem(
"tofmu", tof_tofmu );
285 tof_tuple->addItem(
"tofpi11", tof_tofpi11 );
286 tof_tuple->addItem(
"tofpi12", tof_tofpi12 );
287 tof_tuple->addItem(
"tofpi21", tof_tofpi21 );
288 tof_tuple->addItem(
"tofpi22", tof_tofpi22 );
289 tof_tuple->addItem(
"tofpi1", tof_tofpi1 );
290 tof_tuple->addItem(
"tofpi2", tof_tofpi2 );
291 tof_tuple->addItem(
"tofpi", tof_tofpi );
292 tof_tuple->addItem(
"tofk11", tof_tofk11 );
293 tof_tuple->addItem(
"tofk12", tof_tofk12 );
294 tof_tuple->addItem(
"tofk21", tof_tofk21 );
295 tof_tuple->addItem(
"tofk22", tof_tofk22 );
296 tof_tuple->addItem(
"tofk1", tof_tofk1 );
297 tof_tuple->addItem(
"tofk2", tof_tofk2 );
298 tof_tuple->addItem(
"tofk", tof_tofk );
299 tof_tuple->addItem(
"tofp11", tof_tofp11 );
300 tof_tuple->addItem(
"tofp12", tof_tofp12 );
301 tof_tuple->addItem(
"tofp21", tof_tofp21 );
302 tof_tuple->addItem(
"tofp22", tof_tofp22 );
303 tof_tuple->addItem(
"tofp1", tof_tofp1 );
304 tof_tuple->addItem(
"tofp2", tof_tofp2 );
305 tof_tuple->addItem(
"tofp", tof_tofp );
306 tof_tuple->addItem(
"qch1", tof_qch1 );
307 tof_tuple->addItem(
"qch2", tof_qch2 );
308 tof_tuple->addItem(
"qch3", tof_qch3 );
309 tof_tuple->addItem(
"qch4", tof_qch4 );
310 tof_tuple->addItem(
"adc1", tof_adc1 );
311 tof_tuple->addItem(
"adc2", tof_adc2 );
312 tof_tuple->addItem(
"adc3", tof_adc3 );
313 tof_tuple->addItem(
"adc4", tof_adc4 );
314 tof_tuple->addItem(
"tdc1", tof_tdc1 );
315 tof_tuple->addItem(
"tdc2", tof_tdc2 );
316 tof_tuple->addItem(
"tdc3", tof_tdc3 );
317 tof_tuple->addItem(
"tdc4", tof_tdc4 );
318 tof_tuple->addItem(
"texpe1", tof_texpe1 );
319 tof_tuple->addItem(
"texpmu1", tof_texpmu1 );
320 tof_tuple->addItem(
"texppi1", tof_texppi1 );
321 tof_tuple->addItem(
"texpk1", tof_texpk1 );
322 tof_tuple->addItem(
"texpp1", tof_texpp1 );
323 tof_tuple->addItem(
"texpe2", tof_texpe2 );
324 tof_tuple->addItem(
"texpmu2", tof_texpmu2 );
325 tof_tuple->addItem(
"texppi2", tof_texppi2 );
326 tof_tuple->addItem(
"texpk2", tof_texpk2 );
327 tof_tuple->addItem(
"texpp2", tof_texpp2 );
328 tof_tuple->addItem(
"texpe", tof_texpe );
329 tof_tuple->addItem(
"texpmu", tof_texpmu );
330 tof_tuple->addItem(
"texppi", tof_texppi );
331 tof_tuple->addItem(
"texpk", tof_texpk );
332 tof_tuple->addItem(
"texpp", tof_texpp );
333 tof_tuple->addItem(
"tdiff1", tof_tdiff1 );
334 tof_tuple->addItem(
"tdiff2", tof_tdiff2 );
335 tof_tuple->addItem(
"trig", tof_trig );
336 tof_tuple->addItem(
"t0", tof_estime );
337 tof_tuple->addItem(
"t0stat", tof_t0stat );
338 tof_tuple->addItem(
"mctrkid", tof_mctrkid );
339 tof_tuple->addItem(
"mcp", tof_mcp );
340 tof_tuple->addItem(
"mctofp", tof_mctofp );
341 tof_tuple->addItem(
"mczrhit", tof_mczrhit );
342 tof_tuple->addItem(
"mcpath", tof_mcpath );
343 tof_tuple->addItem(
"mctexp", tof_mctexp );
347 std::cerr<<
" Error: invalid pionter in TofCheckDigi(NTuple::Tuple*) for bb_tple"<<std::endl;
350 bb_tuple->addItem(
"run", bb_run );
351 bb_tuple->addItem(
"event", bb_event );
352 bb_tuple->addItem(
"trksize", bb_trksize );
353 bb_tuple->addItem(
"mdcsize", bb_mdcsize );
354 bb_tuple->addItem(
"emcsize", bb_emcsize );
355 bb_tuple->addItem(
"trk1", bb_trk1 );
356 bb_tuple->addItem(
"pmdc1", bb_pmdc1 );
357 bb_tuple->addItem(
"ptmdc1", bb_ptmdc1 );
358 bb_tuple->addItem(
"theta1", bb_theta1 );
359 bb_tuple->addItem(
"phi1", bb_phi1 );
360 bb_tuple->addItem(
"x1", bb_x1 );
361 bb_tuple->addItem(
"y1", bb_y1 );
362 bb_tuple->addItem(
"z1", bb_z1 );
363 bb_tuple->addItem(
"r1", bb_r1 );
364 bb_tuple->addItem(
"charge1", bb_charge1 );
365 bb_tuple->addItem(
"chi1", bb_chi1 );
366 bb_tuple->addItem(
"ndof1", bb_ndof1 );
367 bb_tuple->addItem(
"layer1", bb_layer1 );
368 bb_tuple->addItem(
"trk2", bb_trk2 );
369 bb_tuple->addItem(
"pmdc2", bb_pmdc2 );
370 bb_tuple->addItem(
"ptmdc2", bb_ptmdc2 );
371 bb_tuple->addItem(
"theta2", bb_theta2 );
372 bb_tuple->addItem(
"phi2", bb_phi2 );
373 bb_tuple->addItem(
"x2", bb_x2 );
374 bb_tuple->addItem(
"y2", bb_y2 );
375 bb_tuple->addItem(
"z2", bb_z2 );
376 bb_tuple->addItem(
"r2", bb_r2 );
377 bb_tuple->addItem(
"charge2", bb_charge2 );
378 bb_tuple->addItem(
"chi2", bb_chi2 );
379 bb_tuple->addItem(
"ndof2", bb_ndof2 );
380 bb_tuple->addItem(
"layer2", bb_layer2 );
381 bb_tuple->addItem(
"dang", bb_dang );
382 bb_tuple->addItem(
"dphi", bb_dphi );
383 bb_tuple->addItem(
"pe1", bb_pe1 );
384 bb_tuple->addItem(
"pte1", bb_pte1 );
385 bb_tuple->addItem(
"pe2", bb_pe2 );
386 bb_tuple->addItem(
"pte2", bb_pte2 );
387 bb_tuple->addItem(
"pmu1", bb_pmu1 );
388 bb_tuple->addItem(
"ptmu1", bb_ptmu1 );
389 bb_tuple->addItem(
"pmu2", bb_pmu2 );
390 bb_tuple->addItem(
"ptmu2", bb_ptmu2 );
391 bb_tuple->addItem(
"extx1", bb_extx1 );
392 bb_tuple->addItem(
"exty1", bb_exty1 );
393 bb_tuple->addItem(
"extz1", bb_extz1 );
394 bb_tuple->addItem(
"extx2", bb_extx2 );
395 bb_tuple->addItem(
"exty2", bb_exty2 );
396 bb_tuple->addItem(
"extz2", bb_extz2 );
397 bb_tuple->addItem(
"emctrk1", bb_emctrk1 );
398 bb_tuple->addItem(
"emcx1", bb_emcx1 );
399 bb_tuple->addItem(
"emcy1", bb_emcy1 );
400 bb_tuple->addItem(
"emcz1", bb_emcz1 );
401 bb_tuple->addItem(
"e1", bb_e1 );
402 bb_tuple->addItem(
"th1", bb_th1 );
403 bb_tuple->addItem(
"ph1", bb_ph1 );
404 bb_tuple->addItem(
"emctrk2", bb_emctrk2 );
405 bb_tuple->addItem(
"emcx2", bb_emcx2 );
406 bb_tuple->addItem(
"emcy2", bb_emcy2 );
407 bb_tuple->addItem(
"emcz2", bb_emcz2 );
408 bb_tuple->addItem(
"e2", bb_e2 );
409 bb_tuple->addItem(
"th2", bb_th2 );
410 bb_tuple->addItem(
"ph2", bb_ph2 );
411 bb_tuple->addItem(
"dr1", bb_dr1 );
412 bb_tuple->addItem(
"drxy1", bb_drxy1 );
413 bb_tuple->addItem(
"dz1", bb_dz1 );
414 bb_tuple->addItem(
"dr2", bb_dr2 );
415 bb_tuple->addItem(
"drxy2", bb_drxy2 );
416 bb_tuple->addItem(
"dz2", bb_dz2 );
417 bb_tuple->addItem(
"etot", bb_etot );
425 if( tofDigiCol.size() <= 0 )
return;
426 TofDigiCol::iterator iter_digi = tofDigiCol.begin();
427 for( ; iter_digi!=tofDigiCol.end(); iter_digi++ ) {
428 unsigned int overflow = (*iter_digi)->getOverflow();
429 if( ( overflow & 0xfe000000 ) == 0xfe000000 ) {
439 digi_adc = 0x7fffffff;
440 digi_tdc = 0x7fffffff;
441 digi_qclock = 1000.0;
442 digi_tclock = 1000.0;
443 digi_overflow = overflow;
452 digi_crate = ( ( overflow &0x1000000 ) >> 24 );
453 digi_geo = ( ( overflow &0x0f80000 ) >> 19 );
454 digi_tdcnum = ( ( overflow &0x0078000 ) >> 15 );
455 digi_err = ( overflow &0x0007fff );
461 unsigned int adc = (*iter_digi)->getChargeChannel();
462 unsigned int tdc = (*iter_digi)->getTimeChannel();
473 digi_adc = ( adc & 0x1fff );
479 if( adc == 0x7fffffff ) digi_adc = adc;
481 digi_qclock = ( ( adc & 0x7e000 ) >> 13 );
482 if( adc == 0x7fffffff ) digi_qclock = 1000.;
483 digi_tclock = ( ( tdc & 0x7e000 ) >> 13 );
484 if( tdc == 0x7fffffff ) digi_tclock = 1000.;
485 digi_overflow = overflow;
486 digi_noq = ( ( overflow & 0x20 ) >> 5 );
487 digi_not = ( ( overflow & 0x10 ) >> 4 );
488 digi_multiq = ( ( overflow & 0x08 ) >> 3 );
489 digi_multit = ( ( overflow & 0x04 ) >> 2 );
490 digi_overq = ( ( overflow & 0x02 ) >> 1 );
491 digi_overt = ( overflow & 0x01 );
493 digi_t0stat = t0stat;
511 barrel_tofId = bTof->
tofId();
513 barrel_layer = bTof->
layer();
518 barrel_qtc1 = bTof->
qtc1();
519 barrel_adc1 = bTof->
adc1();
520 barrel_tdc1 = bTof->
tdc1();
521 barrel_qtc2 = bTof->
qtc2();
522 barrel_adc2 = bTof->
adc2();
523 barrel_tdc2 = bTof->
tdc2();
524 barrel_qclock1 = bTof->
qclock1();
525 barrel_tclock1 = bTof->
tclock1();
526 barrel_qclock2 = bTof->
qclock2();
527 barrel_tclock2 = bTof->
tclock2();
528 barrel_quality = bTof->
quality();
530 barrel_qtimes1 = bTof->
qtimes1();
531 barrel_ttimes1 = bTof->
ttimes1();
532 barrel_qtimes2 = bTof->
qtimes2();
533 barrel_ttimes2 = bTof->
ttimes2();
536 barrel_times = bTof->
times();
541 barrel_tsum = ( bTof->
tdc1() + bTof->
tdc2() )/2.0;
542 barrel_tsub = ( bTof->
tdc1() - bTof->
tdc2() )/2.0;
546 barrel_t0stat = t0stat;
547 barrel_tuple->write();
555 endcap_tofId = eTof->
tofId();
559 endcap_qtc = eTof->
qtc();
560 endcap_adc = eTof->
adc();
561 endcap_tdc = eTof->
tdc();
562 endcap_quality = eTof->
quality();
563 endcap_qclock = eTof->
qclock();
564 endcap_tclock = eTof->
tclock();
565 endcap_qtimes = eTof->
qtimes1();
566 endcap_ttimes = eTof->
ttimes1();
567 endcap_times = eTof->
times();
571 endcap_t0stat = t0stat;
572 endcap_tuple->write();
580 mrpc_tofId = mrpcTof->
tofId();
581 mrpc_strip = mrpcTof->
strip();
587 mrpc_tt1 = mrpcTof->
qtc1();
588 mrpc_tl1 = mrpcTof->
tdc1();
589 mrpc_tt2 = mrpcTof->
qtc2();
590 mrpc_tl2 = mrpcTof->
tdc2();
591 mrpc_tot1 = mrpcTof->
adc1();
592 mrpc_tot2 = mrpcTof->
adc2();
593 mrpc_quality = mrpcTof->
quality();
594 mrpc_tmatched = mrpcTof->
tmatched();
595 mrpc_tttimes1 = mrpcTof->
qtimes1();
596 mrpc_tltimes1 = mrpcTof->
ttimes1();
597 mrpc_tttimes2 = mrpcTof->
qtimes2();
598 mrpc_tltimes2 = mrpcTof->
ttimes2();
601 mrpc_times = mrpcTof->
times();
606 mrpc_tsum = ( mrpcTof->
tdc1() + mrpcTof->
tdc2() )/2.0;
607 mrpc_tsub = ( mrpcTof->
tdc1() - mrpcTof->
tdc2() )/2.0;
611 mrpc_t0stat = t0stat;
618 if( tofDataMap.empty() )
return;
620 for( ;
iter != tofDataMap.end();
iter++ ) {
624 Fill_Barrel( eventHeader, (*iter).second, estime, t0stat );
627 Fill_Endcap( eventHeader, (*iter).second, estime, t0stat );
631 Fill_MRPC( eventHeader, (*iter).second, estime, t0stat );
639 if( tofDataVec.size() <= 0 )
return;
640 std::vector<TofData*>::iterator
iter = tofDataVec.begin();
641 for( ;
iter != tofDataVec.end();
iter++ ) {
642 if( (*iter)->barrel() ) {
657 ext_trackid = extTrack->
trackId();
658 ext_p = mdcTrack->
p();
659 ext_costheta=
cos( mdcTrack->
theta() );
661 int hitcase1[5], hitcase2[5], hitcase[5];
662 int tofId1[5], tofId2[5];
664 for(
unsigned int i=0; i<5; i++ ) {
670 ext_zrhit1[i] = -99.;
671 ext_zrhit2[i] = -99.;
683 ext_kalman[i] = mdcKalTrack->
getStat( 1, i );
694 if( tofId1[i]>=0 && tofId1[i]<=87 ) {
695 ext_tofid1[i] = tofId1[i];
698 else if( tofId1[i]>=176 && tofId1[i]<=223 ) {
699 ext_tofid1[i] = tofId1[i] - 176 + 48;
702 else if( tofId1[i]>=224 && tofId1[i]<=271 ) {
703 ext_tofid1[i] = tofId1[i] - 176 - 48;
706 else if( tofId1[i]>=272 && tofId1[i]<=1135 ) {
707 int module = tofId1[i] - 176 - 96;
708 ext_strip1[i] = module%12;
709 ext_tofid1[i] = module/12;
710 if( tofId1[i]>=272 && tofId1[i]<=703 ) {
713 else if( tofId1[i]>=704 && tofId1[i]<=1135 ) {
718 if( tofId2[i]>=88 && tofId2[i]<=175 ) {
719 ext_tofid2[i] = tofId2[i];
722 else if( tofId2[i]>=272 && tofId2[i]<=1135 ) {
723 int module = tofId2[i] - 176 - 96;
724 ext_strip2[i] = module%12;
725 ext_tofid2[i] = module/12;
726 if( tofId2[i]>=272 && tofId2[i]<=703 ) {
729 else if( tofId2[i]>=704 && tofId2[i]<=1135 ) {
741 if( ( hitcase1[i] == 0 ) || ( hitcase1[i] == 2 ) ) {
742 ext_texp1[i] = extTrack->
tof1( i );
743 ext_path1[i] = extTrack->
tof1Path( i );
749 else if( ( hitcase1[i] == 3 ) || ( hitcase1[i] == 4 ) ) {
750 ext_texp1[i] = extTrack->
tof1( i );
751 ext_path1[i] = extTrack->
tof1Path( i );
757 else if( ( hitcase1[i] == 5 ) || ( hitcase1[i] == 6 ) ) {
758 ext_texp1[i] = extTrack->
tof1( i );
759 ext_path1[i] = extTrack->
tof1Path( i );
766 if( ( hitcase2[i] == 5 ) || ( hitcase2[i] == 6 ) ) {
767 ext_texp2[i] = extTrack->
tof2( i );
768 ext_path2[i] = extTrack->
tof2Path( i );
774 else if( hitcase2[i] == 1 ) {
775 ext_texp2[i] = extTrack->
tof2( i );
776 ext_path2[i] = extTrack->
tof2Path( i );
783 if( ( hitcase1[i] == 7 ) && ( hitcase2[i] == 7 ) ) { ext_quality[i] = 3; }
784 else { ext_quality[i] = 0; }
786 if( hitcase1[i] == 0 ) {
787 if( hitcase2[i] == 1 ) { hitcase[i] = 2; }
788 else if( hitcase2[i] == 7 ) { hitcase[i] = 0; }
790 else if( ( hitcase1[i] == 3 ) || ( hitcase1[i] == 4 ) ) {
791 if( hitcase2[i] == 7 ) { hitcase[i] == hitcase1[i]; }
793 else if( ( hitcase1[i] == 5 ) || ( hitcase1[i] == 6 ) ) {
794 if( hitcase2[i] == 7 ) { hitcase[i] == hitcase1[i]; }
797 if( hitcase2[i] == 1 ) {
798 if( hitcase1[i] == 7 ) { hitcase[i] = 1; }
800 else if( ( hitcase2[i] == 5 ) || ( hitcase2[i] == 6 ) ) {
801 if( hitcase1[i] == 7 ) { hitcase[i] == hitcase2[i]; }
802 else if( hitcase1[i] == hitcase2[i] ) { hitcase[i] == hitcase2[i]; }
805 ext_hitcase1[i] = hitcase1[i];
806 ext_hitcase2[i] = hitcase2[i];
807 ext_hitcase[i] = hitcase[i];
822 tof_id1 = tof->
id1();
823 tof_id2 = tof->
id2();
826 tof_barrel = tof->
barrel();
828 tof_momentum = tof->
p();
829 tof_path1 = tof->
path1();
830 tof_path2 = tof->
path2();
831 tof_zrhit1 = tof->
zrhit1();
832 tof_zrhit2 = tof->
zrhit2();
835 tof_xhit1 = tof->
xhit1();
836 tof_yhit1 = tof->
yhit1();
837 tof_xhit2 = tof->
xhit2();
838 tof_yhit2 = tof->
yhit2();
839 for(
unsigned int i=0; i<5; i++ ) {
840 tof_kal[i] = tof->
kal(i);
841 tof_zr1[i] = tof->
zr1(i);
842 tof_zr2[i] = tof->
zr2(i);
844 tof_ztdc1 = tof->
ztdc1();
845 tof_ztdc2 = tof->
ztdc2();
846 tof_zadc1 = tof->
zadc1();
847 tof_zadc2 = tof->
zadc2();
868 tof_size1 = tof->
size1();
869 tof_size2 = tof->
size2();
870 tof_size3 = tof->
size3();
871 tof_size4 = tof->
size4();
872 tof_theta1 = tof->
theta1();
873 tof_theta2 = tof->
theta2();
874 tof_phi1 = tof->
phi1();
875 tof_phi2 = tof->
phi2();
879 tof_tofid1 = tof->
tofId1();
880 tof_tofid2 = tof->
tofId2();
881 tof_strip1 = tof->
strip1();
882 tof_strip2 = tof->
strip2();
895 tof_ph11 = tof->
ph11();
896 tof_ph12 = tof->
ph12();
897 tof_ph21 = tof->
ph21();
898 tof_ph22 = tof->
ph22();
899 tof_ph1 = tof->
ph1();
900 tof_ph2 = tof->
ph2();
902 tof_tofe11 = tof->
tof11(0);
903 tof_tofe12 = tof->
tof12(0);
904 tof_tofe21 = tof->
tof21(0);
905 tof_tofe22 = tof->
tof22(0);
906 tof_tofe1 = tof->
tof1(0);
907 tof_tofe2 = tof->
tof2(0);
908 tof_tofe = tof->
tof(0);
909 tof_tofmu11 = tof->
tof11(1);
910 tof_tofmu12 = tof->
tof12(1);
911 tof_tofmu21 = tof->
tof21(1);
912 tof_tofmu22 = tof->
tof22(1);
913 tof_tofmu1 = tof->
tof1(1);
914 tof_tofmu2 = tof->
tof2(1);
915 tof_tofmu = tof->
tof(1);
916 tof_tofpi11 = tof->
tof11(2);
917 tof_tofpi12 = tof->
tof12(2);
918 tof_tofpi21 = tof->
tof21(2);
919 tof_tofpi22 = tof->
tof22(2);
920 tof_tofpi1 = tof->
tof1(2);
921 tof_tofpi2 = tof->
tof2(2);
922 tof_tofpi = tof->
tof(2);
923 tof_tofk11 = tof->
tof11(3);
924 tof_tofk12 = tof->
tof12(3);
925 tof_tofk21 = tof->
tof21(3);
926 tof_tofk22 = tof->
tof22(3);
927 tof_tofk1 = tof->
tof1(3);
928 tof_tofk2 = tof->
tof2(3);
929 tof_tofk = tof->
tof(3);
930 tof_tofp11 = tof->
tof11(4);
931 tof_tofp12 = tof->
tof12(4);
932 tof_tofp21 = tof->
tof21(4);
933 tof_tofp22 = tof->
tof22(4);
934 tof_tofp1 = tof->
tof1(4);
935 tof_tofp2 = tof->
tof2(4);
936 tof_tofp = tof->
tof(4);
937 tof_qch1 = tof->
qch1();
938 tof_qch2 = tof->
qch2();
939 tof_qch3 = tof->
qch3();
940 tof_qch4 = tof->
qch4();
941 tof_adc1 = tof->
adc1();
942 tof_adc2 = tof->
adc2();
943 tof_adc3 = tof->
adc3();
944 tof_adc4 = tof->
adc4();
945 tof_tdc1 = tof->
tdc1();
946 tof_tdc2 = tof->
tdc2();
947 tof_tdc3 = tof->
tdc3();
948 tof_tdc4 = tof->
tdc4();
959 tof_texpe = tof->
texp(0);
960 tof_texpmu = tof->
texp(1);
961 tof_texppi = tof->
texp(2);
962 tof_texpk = tof->
texp(3);
963 tof_texpp = tof->
texp(4);
964 tof_tdiff1 = tof->
tdiff1();
965 tof_tdiff2 = tof->
tdiff2();
980 tof_id1 = tof->
id1();
981 tof_id2 = tof->
id2();
984 tof_barrel = tof->
barrel();
986 tof_momentum = tof->
p();
987 tof_path1 = tof->
path1();
988 tof_path2 = tof->
path2();
989 tof_zrhit1 = tof->
zrhit1();
990 tof_zrhit2 = tof->
zrhit2();
993 tof_xhit1 = tof->
xhit1();
994 tof_yhit1 = tof->
yhit1();
995 tof_xhit2 = tof->
xhit2();
996 tof_yhit2 = tof->
yhit2();
997 for(
unsigned int i=0; i<5; i++ ) {
998 tof_kal[i] = tof->
kal(i);
999 tof_zr1[i] = tof->
zr1(i);
1000 tof_zr2[i] = tof->
zr2(i);
1002 tof_ztdc1 = tof->
ztdc1();
1003 tof_ztdc2 = tof->
ztdc2();
1004 tof_zadc1 = tof->
zadc1();
1005 tof_zadc2 = tof->
zadc2();
1026 tof_size1 = tof->
size1();
1027 tof_size2 = tof->
size2();
1028 tof_size3 = tof->
size3();
1029 tof_size4 = tof->
size4();
1030 tof_theta1 = tof->
theta1();
1031 tof_theta2 = tof->
theta2();
1032 tof_phi1 = tof->
phi1();
1033 tof_phi2 = tof->
phi2();
1037 tof_tofid1 = tof->
tofId1();
1038 tof_tofid2 = tof->
tofId2();
1039 tof_strip1 = tof->
strip1();
1040 tof_strip2 = tof->
strip2();
1053 tof_ph11 = tof->
ph11();
1054 tof_ph12 = tof->
ph12();
1055 tof_ph21 = tof->
ph21();
1056 tof_ph22 = tof->
ph22();
1057 tof_ph1 = tof->
ph1();
1058 tof_ph2 = tof->
ph2();
1060 tof_tofe11 = tof->
tof11(0);
1061 tof_tofe12 = tof->
tof12(0);
1062 tof_tofe21 = tof->
tof21(0);
1063 tof_tofe22 = tof->
tof22(0);
1064 tof_tofe1 = tof->
tof1(0);
1065 tof_tofe2 = tof->
tof2(0);
1066 tof_tofe = tof->
tof(0);
1067 tof_tofmu11 = tof->
tof11(1);
1068 tof_tofmu12 = tof->
tof12(1);
1069 tof_tofmu21 = tof->
tof21(1);
1070 tof_tofmu22 = tof->
tof22(1);
1071 tof_tofmu1 = tof->
tof1(1);
1072 tof_tofmu2 = tof->
tof2(1);
1073 tof_tofmu = tof->
tof(1);
1074 tof_tofpi11 = tof->
tof11(2);
1075 tof_tofpi12 = tof->
tof12(2);
1076 tof_tofpi21 = tof->
tof21(2);
1077 tof_tofpi22 = tof->
tof22(2);
1078 tof_tofpi1 = tof->
tof1(2);
1079 tof_tofpi2 = tof->
tof2(2);
1080 tof_tofpi = tof->
tof(2);
1081 tof_tofk11 = tof->
tof11(3);
1082 tof_tofk12 = tof->
tof12(3);
1083 tof_tofk21 = tof->
tof21(3);
1084 tof_tofk22 = tof->
tof22(3);
1085 tof_tofk1 = tof->
tof1(3);
1086 tof_tofk2 = tof->
tof2(3);
1087 tof_tofk = tof->
tof(3);
1088 tof_tofp11 = tof->
tof11(4);
1089 tof_tofp12 = tof->
tof12(4);
1090 tof_tofp21 = tof->
tof21(4);
1091 tof_tofp22 = tof->
tof22(4);
1092 tof_tofp1 = tof->
tof1(4);
1093 tof_tofp2 = tof->
tof2(4);
1094 tof_tofp = tof->
tof(4);
1095 tof_qch1 = tof->
qch1();
1096 tof_qch2 = tof->
qch2();
1097 tof_qch3 = tof->
qch3();
1098 tof_qch4 = tof->
qch4();
1099 tof_adc1 = tof->
adc1();
1100 tof_adc2 = tof->
adc2();
1101 tof_adc3 = tof->
adc3();
1102 tof_adc4 = tof->
adc4();
1103 tof_tdc1 = tof->
tdc1();
1104 tof_tdc2 = tof->
tdc2();
1105 tof_tdc3 = tof->
tdc3();
1106 tof_tdc4 = tof->
tdc4();
1117 tof_texpe = tof->
texp(0);
1118 tof_texpmu = tof->
texp(1);
1119 tof_texppi = tof->
texp(2);
1120 tof_texpk = tof->
texp(3);
1121 tof_texpp = tof->
texp(4);
1122 tof_tdiff1 = tof->
tdiff1();
1123 tof_tdiff2 = tof->
tdiff2();
1124 unsigned int trigChannel = 0;
1125 for(
int i=0 ; i < 16; i++ ) {
1126 trigChannel = ( trigChannel | ( ( trigData.
getTrigChannel(i) ) << i ) );
1128 tof_trig = trigChannel;
1129 tof_estime = estime;
1130 tof_t0stat = t0stat;
1143 RecMdcKalTrackCol::iterator
iter = mdcKalTrackCol.begin();
1144 for( ;
iter != mdcKalTrackCol.end();
iter++ ) {
1145 if( (*iter)->trackId() == tof->
trackId() ) {
1146 double kappa = 10000.0;
1147 double tanl = -10000.0;
1150 kappa = (*iter)->kappa();
1151 tanl = (*iter)->tanl();
1152 if( kappa>0 ) { tof_charge = 1; }
1153 else { tof_charge = -1; }
1154 if(
abs(kappa)<1.0e-6 ) { kappa = 1.0e-6; }
1155 tof_pt[0] = 1.0/kappa;
1156 tof_p[0] =
abs(sqrt(1.0+tanl*tanl)*tof_pt[0]);
1159 kappa = (*iter)->kappa();
1160 tanl = (*iter)->tanl();
1161 if(
abs(kappa)<1.0e-6 ) { kappa = 1.0e-6; }
1162 tof_pt[1] = 1.0/kappa;
1163 tof_p[1] =
abs(sqrt(1.0+tanl*tanl)*tof_pt[1]);
1166 kappa = (*iter)->kappa();
1167 tanl = (*iter)->tanl();
1168 if(
abs(kappa)<1.0e-6 ) { kappa = 1.0e-6; }
1169 tof_pt[2] = 1.0/kappa;
1170 tof_p[2] =
abs(sqrt(1.0+tanl*tanl)*tof_pt[2]);
1173 kappa = (*iter)->kappa();
1174 tanl = (*iter)->tanl();
1175 if(
abs(kappa)<1.0e-6 ) { kappa = 1.0e-6; }
1176 tof_pt[3] = 1.0/kappa;
1177 tof_p[3] =
abs(sqrt(1.0+tanl*tanl)*tof_pt[3]);
1180 kappa = (*iter)->kappa();
1181 tanl = (*iter)->tanl();
1182 if(
abs(kappa)<1.0e-6 ) { kappa = 1.0e-6; }
1183 tof_pt[4] = 1.0/kappa;
1184 tof_p[4] =
abs(sqrt(1.0+tanl*tanl)*tof_pt[4]);
1189 tof_id1 = tof->
id1();
1190 tof_id2 = tof->
id2();
1195 tof_barrel = tof->
barrel();
1197 tof_momentum = tof->
p();
1198 tof_path1 = tof->
path1();
1199 tof_path2 = tof->
path2();
1200 tof_zrhit1 = tof->
zrhit1();
1201 tof_zrhit2 = tof->
zrhit2();
1204 tof_xhit1 = tof->
xhit1();
1205 tof_yhit1 = tof->
yhit1();
1206 tof_xhit2 = tof->
xhit2();
1207 tof_yhit2 = tof->
yhit2();
1208 for(
unsigned int i=0; i<5; i++ ) {
1209 tof_kal[i] = tof->
kal(i);
1210 tof_zr1[i] = tof->
zr1(i);
1211 tof_zr2[i] = tof->
zr2(i);
1213 tof_ztdc1 = tof->
ztdc1();
1214 tof_ztdc2 = tof->
ztdc2();
1215 tof_zadc1 = tof->
zadc1();
1216 tof_zadc2 = tof->
zadc2();
1237 tof_size1 = tof->
size1();
1238 tof_size2 = tof->
size2();
1239 tof_size3 = tof->
size3();
1240 tof_size4 = tof->
size4();
1241 tof_theta1 = tof->
theta1();
1242 tof_theta2 = tof->
theta2();
1243 tof_phi1 = tof->
phi1();
1244 tof_phi2 = tof->
phi2();
1248 tof_tofid1 = tof->
tofId1();
1249 tof_tofid2 = tof->
tofId2();
1250 tof_strip1 = tof->
strip1();
1251 tof_strip2 = tof->
strip2();
1264 tof_ph11 = tof->
ph11();
1265 tof_ph12 = tof->
ph12();
1266 tof_ph21 = tof->
ph21();
1267 tof_ph22 = tof->
ph22();
1268 tof_ph1 = tof->
ph1();
1269 tof_ph2 = tof->
ph2();
1271 tof_tofe11 = tof->
tof11(0);
1272 tof_tofe12 = tof->
tof12(0);
1273 tof_tofe21 = tof->
tof21(0);
1274 tof_tofe22 = tof->
tof22(0);
1275 tof_tofe1 = tof->
tof1(0);
1276 tof_tofe2 = tof->
tof2(0);
1277 tof_tofe = tof->
tof(0);
1278 tof_tofmu11 = tof->
tof11(1);
1279 tof_tofmu12 = tof->
tof12(1);
1280 tof_tofmu21 = tof->
tof21(1);
1281 tof_tofmu22 = tof->
tof22(1);
1282 tof_tofmu1 = tof->
tof1(1);
1283 tof_tofmu2 = tof->
tof2(1);
1284 tof_tofmu = tof->
tof(1);
1285 tof_tofpi11 = tof->
tof11(2);
1286 tof_tofpi12 = tof->
tof12(2);
1287 tof_tofpi21 = tof->
tof21(2);
1288 tof_tofpi22 = tof->
tof22(2);
1289 tof_tofpi1 = tof->
tof1(2);
1290 tof_tofpi2 = tof->
tof2(2);
1291 tof_tofpi = tof->
tof(2);
1292 tof_tofk11 = tof->
tof11(3);
1293 tof_tofk12 = tof->
tof12(3);
1294 tof_tofk21 = tof->
tof21(3);
1295 tof_tofk22 = tof->
tof22(3);
1296 tof_tofk1 = tof->
tof1(3);
1297 tof_tofk2 = tof->
tof2(3);
1298 tof_tofk = tof->
tof(3);
1299 tof_tofp11 = tof->
tof11(4);
1300 tof_tofp12 = tof->
tof12(4);
1301 tof_tofp21 = tof->
tof21(4);
1302 tof_tofp22 = tof->
tof22(4);
1303 tof_tofp1 = tof->
tof1(4);
1304 tof_tofp2 = tof->
tof2(4);
1305 tof_tofp = tof->
tof(4);
1306 tof_qch1 = tof->
qch1();
1307 tof_qch2 = tof->
qch2();
1308 tof_qch3 = tof->
qch3();
1309 tof_qch4 = tof->
qch4();
1310 tof_adc1 = tof->
adc1();
1311 tof_adc2 = tof->
adc2();
1312 tof_adc3 = tof->
adc3();
1313 tof_adc4 = tof->
adc4();
1314 tof_tdc1 = tof->
tdc1();
1315 tof_tdc2 = tof->
tdc2();
1316 tof_tdc3 = tof->
tdc3();
1317 tof_tdc4 = tof->
tdc4();
1328 tof_texpe = tof->
texp(0);
1329 tof_texpmu = tof->
texp(1);
1330 tof_texppi = tof->
texp(2);
1331 tof_texpk = tof->
texp(3);
1332 tof_texpp = tof->
texp(4);
1333 tof_tdiff1 = tof->
tdiff1();
1334 tof_tdiff2 = tof->
tdiff2();
1335 tof_estime = estime;
1336 tof_t0stat = t0stat;
1349 RecMdcKalTrackCol::iterator
iter = mdcKalTrackCol.begin();
1350 for( ;
iter != mdcKalTrackCol.end();
iter++ ) {
1351 if( (*iter)->trackId() == tof->
trackId() ) {
1352 double kappa = 10000.0;
1353 double tanl = -10000.0;
1356 kappa = (*iter)->kappa();
1357 tanl = (*iter)->tanl();
1358 if( kappa>0 ) { tof_charge = 1; }
1359 else { tof_charge = -1; }
1360 if(
abs(kappa)<1.0e-6 ) { kappa = 1.0e-6; }
1361 tof_pt[0] = 1.0/kappa;
1362 tof_p[0] =
abs(sqrt(1.0+tanl*tanl)*tof_pt[0]);
1365 kappa = (*iter)->kappa();
1366 tanl = (*iter)->tanl();
1367 if(
abs(kappa)<1.0e-6 ) { kappa = 1.0e-6; }
1368 tof_pt[1] = 1.0/kappa;
1369 tof_p[1] =
abs(sqrt(1.0+tanl*tanl)*tof_pt[1]);
1372 kappa = (*iter)->kappa();
1373 tanl = (*iter)->tanl();
1374 if(
abs(kappa)<1.0e-6 ) { kappa = 1.0e-6; }
1375 tof_pt[2] = 1.0/kappa;
1376 tof_p[2] =
abs(sqrt(1.0+tanl*tanl)*tof_pt[2]);
1379 kappa = (*iter)->kappa();
1380 tanl = (*iter)->tanl();
1381 if(
abs(kappa)<1.0e-6 ) { kappa = 1.0e-6; }
1382 tof_pt[3] = 1.0/kappa;
1383 tof_p[3] =
abs(sqrt(1.0+tanl*tanl)*tof_pt[3]);
1386 kappa = (*iter)->kappa();
1387 tanl = (*iter)->tanl();
1388 if(
abs(kappa)<1.0e-6 ) { kappa = 1.0e-6; }
1389 tof_pt[4] = 1.0/kappa;
1390 tof_p[4] =
abs(sqrt(1.0+tanl*tanl)*tof_pt[4]);
1395 tof_id1 = tof->
id1();
1396 tof_id2 = tof->
id2();
1399 tof_barrel = tof->
barrel();
1401 tof_momentum = tof->
p();
1402 tof_path1 = tof->
path1();
1403 tof_path2 = tof->
path2();
1404 tof_zrhit1 = tof->
zrhit1();
1405 tof_zrhit2 = tof->
zrhit2();
1408 tof_xhit1 = tof->
xhit1();
1409 tof_yhit1 = tof->
yhit1();
1410 tof_xhit2 = tof->
xhit2();
1411 tof_yhit2 = tof->
yhit2();
1412 for(
unsigned int i=0; i<5; i++ ) {
1413 tof_kal[i] = tof->
kal(i);
1414 tof_zr1[i] = tof->
zr1(i);
1415 tof_zr2[i] = tof->
zr2(i);
1417 tof_ztdc1 = tof->
ztdc1();
1418 tof_ztdc2 = tof->
ztdc2();
1419 tof_zadc1 = tof->
zadc1();
1420 tof_zadc2 = tof->
zadc2();
1441 tof_size1 = tof->
size1();
1442 tof_size2 = tof->
size2();
1443 tof_size3 = tof->
size3();
1444 tof_size4 = tof->
size4();
1445 tof_theta1 = tof->
theta1();
1446 tof_theta2 = tof->
theta2();
1447 tof_phi1 = tof->
phi1();
1448 tof_phi2 = tof->
phi2();
1452 tof_tofid1 = tof->
tofId1();
1453 tof_tofid2 = tof->
tofId2();
1454 tof_strip1 = tof->
strip1();
1455 tof_strip2 = tof->
strip2();
1468 tof_ph11 = tof->
ph11();
1469 tof_ph12 = tof->
ph12();
1470 tof_ph21 = tof->
ph21();
1471 tof_ph22 = tof->
ph22();
1472 tof_ph1 = tof->
ph1();
1473 tof_ph2 = tof->
ph2();
1475 tof_tofe11 = tof->
tof11(0);
1476 tof_tofe12 = tof->
tof12(0);
1477 tof_tofe21 = tof->
tof21(0);
1478 tof_tofe22 = tof->
tof22(0);
1479 tof_tofe1 = tof->
tof1(0);
1480 tof_tofe2 = tof->
tof2(0);
1481 tof_tofe = tof->
tof(0);
1482 tof_tofmu11 = tof->
tof11(1);
1483 tof_tofmu12 = tof->
tof12(1);
1484 tof_tofmu21 = tof->
tof21(1);
1485 tof_tofmu22 = tof->
tof22(1);
1486 tof_tofmu1 = tof->
tof1(1);
1487 tof_tofmu2 = tof->
tof2(1);
1488 tof_tofmu = tof->
tof(1);
1489 tof_tofpi11 = tof->
tof11(2);
1490 tof_tofpi12 = tof->
tof12(2);
1491 tof_tofpi21 = tof->
tof21(2);
1492 tof_tofpi22 = tof->
tof22(2);
1493 tof_tofpi1 = tof->
tof1(2);
1494 tof_tofpi2 = tof->
tof2(2);
1495 tof_tofpi = tof->
tof(2);
1496 tof_tofk11 = tof->
tof11(3);
1497 tof_tofk12 = tof->
tof12(3);
1498 tof_tofk21 = tof->
tof21(3);
1499 tof_tofk22 = tof->
tof22(3);
1500 tof_tofk1 = tof->
tof1(3);
1501 tof_tofk2 = tof->
tof2(3);
1502 tof_tofk = tof->
tof(3);
1503 tof_tofp11 = tof->
tof11(4);
1504 tof_tofp12 = tof->
tof12(4);
1505 tof_tofp21 = tof->
tof21(4);
1506 tof_tofp22 = tof->
tof22(4);
1507 tof_tofp1 = tof->
tof1(4);
1508 tof_tofp2 = tof->
tof2(4);
1509 tof_tofp = tof->
tof(4);
1510 tof_qch1 = tof->
qch1();
1511 tof_qch2 = tof->
qch2();
1512 tof_qch3 = tof->
qch3();
1513 tof_qch4 = tof->
qch4();
1514 tof_adc1 = tof->
adc1();
1515 tof_adc2 = tof->
adc2();
1516 tof_adc3 = tof->
adc3();
1517 tof_adc4 = tof->
adc4();
1518 tof_tdc1 = tof->
tdc1();
1519 tof_tdc2 = tof->
tdc2();
1520 tof_tdc3 = tof->
tdc3();
1521 tof_tdc4 = tof->
tdc4();
1532 tof_texpe = tof->
texp(0);
1533 tof_texpmu = tof->
texp(1);
1534 tof_texppi = tof->
texp(2);
1535 tof_texpk = tof->
texp(3);
1536 tof_texpp = tof->
texp(4);
1537 tof_tdiff1 = tof->
tdiff1();
1538 tof_tdiff2 = tof->
tdiff2();
1539 tof_estime = estime;
1540 tof_t0stat = t0stat;
1543 if( calibData ==
"Bhabha" ) { particleId = 11; }
1544 else if( calibData ==
"Dimu" ) { particleId = 13; }
1545 else if( calibData ==
"pion" ) { particleId = 211; }
1546 else if( calibData ==
"kaon" ) { particleId = 321; }
1547 else if( calibData ==
"proton" ) { particleId = 2212; }
1549 cout <<
"Reconstruction::TofRec::TofCheckDigi::Fill_TofTrack: For MC, Wrong Input Particle ID!" << endl;
1553 tof_mctofp = -100.0;
1554 tof_mctrkid = -100.0;
1555 tof_mcpath = -100.0;
1556 tof_mctexp = -100.0;
1557 tof_mczrhit = -1000.0;
1559 McParticleCol::iterator iter_mc = mcParticleCol.begin();
1560 for( ; iter_mc != mcParticleCol.end(); iter_mc++ ) {
1561 int pid = (*iter_mc)->particleProperty();
1562 if(
abs(pid) != particleId )
continue;
1563 if( ( particleId==11 || particleId==13 ) && ( ( pid>0 && tof_charge>0 ) || ( pid<0 && tof_charge<0 ) ) )
continue;
1564 if( ( particleId!=11 && particleId!=13 ) && ( ( pid>0 && tof_charge<0 ) || ( pid<0 && tof_charge>0 ) ) )
continue;
1566 int trkIndex = (*iter_mc)->trackIndex();
1567 tof_mcp = (*iter_mc)->initialFourMomentum().rho();
1569 TofMcHitCol::iterator iter_mc_tof = tofMcCol.begin();
1570 for( ; iter_mc_tof != tofMcCol.end(); iter_mc_tof++ ) {
1571 if( trkIndex != (*iter_mc_tof)->getTrackIndex() )
continue;
1572 double mcposx = (*iter_mc_tof)->getPositionX();
1573 double mcposy = (*iter_mc_tof)->getPositionY();
1574 double mcposr = 0.1*sqrt(mcposx*mcposx+mcposy*mcposy);
1575 double mcposz = 0.1*(*iter_mc_tof)->getPositionZ();
1576 double mcpx = (*iter_mc_tof)->getPx();
1577 double mcpy = (*iter_mc_tof)->getPy();
1578 double mcpz = (*iter_mc_tof)->getPz();
1579 double mctofp = 0.001*sqrt(mcpx*mcpx+mcpy*mcpy+mcpz*mcpz);
1580 tof_mctofp = mctofp;
1581 tof_mctrkid = (*iter_mc_tof)->getTrackIndex();
1582 tof_mcpath = 0.1*(*iter_mc_tof)->getTrackLength();
1583 tof_mctexp = (*iter_mc_tof)->getFlightTime();
1585 tof_mczrhit = mcposz;
1588 tof_mczrhit = mcposr;
1600 if( mdcTrackCol.size()<=0 || mdcKalTrackCol.size() <= 0 || recExtTrackCol.size() <= 0 )
return;
1601 RecExtTrackCol::iterator iter_ext = recExtTrackCol.begin();
1602 for( ; iter_ext!=recExtTrackCol.end(); iter_ext++ ) {
1603 RecMdcKalTrackCol::iterator iter_kal = mdcKalTrackCol.begin();
1604 for( ; iter_kal!=mdcKalTrackCol.end(); iter_kal++ ) {
1605 RecMdcTrackCol::iterator iter_mdc = mdcTrackCol.begin();
1606 for( ; iter_mdc!=mdcTrackCol.end(); iter_mdc++ ) {
1607 if( (*iter_kal)->getTrackId() != (*iter_mdc)->trackId() )
continue;
1608 if( (*iter_kal)->getTrackId() == (*iter_ext)->trackId() )
break;
1610 if( iter_mdc != mdcTrackCol.end() ) {
1611 Fill( eventHeader, *iter_mdc, *iter_kal, *iter_ext );
1622 bb_trksize = extTrackCol.size();
1623 bb_mdcsize = mdcTrackCol.size();
1624 bb_emcsize = emcShowerCol.size();
1626 RecMdcTrackCol::iterator iter_mdc1 = mdcTrackCol.begin();
1627 RecMdcTrackCol::iterator iter_mdc2 = mdcTrackCol.begin() + 1;
1629 Hep3Vector p1 = (*iter_mdc1)->p3();
1630 Hep3Vector p2 = (*iter_mdc2)->p3();
1632 bb_trk1 = (*iter_mdc1)->trackId();
1633 bb_pmdc1 = (*iter_mdc1)->p();
1634 bb_ptmdc1 = (*iter_mdc1)->pxy();
1635 bb_theta1 = (*iter_mdc1)->theta();
1636 bb_phi1 = (*iter_mdc1)->phi();
1637 bb_x1 = (*iter_mdc1)->x();
1638 bb_y1 = (*iter_mdc1)->y();
1639 bb_z1 = (*iter_mdc1)->z();
1640 bb_r1 = (*iter_mdc1)->r();
1641 bb_charge1 = (*iter_mdc1)->charge();
1642 bb_chi1 = (*iter_mdc1)->chi2();
1643 bb_ndof1 = (*iter_mdc1)->ndof();
1644 bb_layer1 = (*iter_mdc1)->lastLayer();
1645 bb_trk2 = (*iter_mdc2)->trackId();
1646 bb_pmdc2 = (*iter_mdc2)->p();
1647 bb_ptmdc2 = (*iter_mdc2)->pxy();
1648 bb_theta2 = (*iter_mdc2)->theta();
1649 bb_phi2 = (*iter_mdc2)->phi();
1650 bb_x2 = (*iter_mdc2)->x();
1651 bb_y2 = (*iter_mdc2)->y();
1652 bb_z2 = (*iter_mdc2)->z();
1653 bb_r2 = (*iter_mdc2)->r();
1654 bb_charge2 = (*iter_mdc2)->charge();
1655 bb_chi2 = (*iter_mdc2)->chi2();
1656 bb_ndof2 = (*iter_mdc2)->ndof();
1657 bb_layer2 = (*iter_mdc2)->lastLayer();
1659 bb_dang = 180.0 - p1.angle( p2.unit() )*180.0/
pi;
1660 bb_dphi =
abs( (*iter_mdc1)->phi() - (*iter_mdc2)->phi() )*180.0/
pi;
1662 RecMdcKalTrackCol::iterator iter_kal1 = mdcKalTrackCol.begin();
1663 RecMdcKalTrackCol::iterator iter_kal2 = mdcKalTrackCol.begin() + 1;
1665 if( ( (*iter_kal1)->trackId() == (*iter_mdc2)->trackId() ) && ( (*iter_kal2)->trackId() == (*iter_mdc1)->trackId() ) ) {
1666 RecMdcKalTrackCol::iterator iter_tmp = iter_kal1;
1667 iter_kal1 = iter_kal2;
1668 iter_kal2 = iter_tmp;
1674 double tanl1 = (*iter_kal1)->tanl();
1675 double kappa1 = (*iter_kal1)->kappa();
1676 double tanl2 = (*iter_kal2)->tanl();
1677 double kappa2 = (*iter_kal2)->kappa();
1678 bb_pe1 = sqrt(1.0+tanl1*tanl1)/kappa1;
1679 bb_pte1 = 1.0/kappa1;
1680 bb_pe2 = sqrt(1.0+tanl2*tanl2)/kappa2;
1681 bb_pte2 = 1.0/kappa2;
1685 tanl1 = (*iter_kal1)->tanl();
1686 kappa1 = (*iter_kal1)->kappa();
1687 tanl2 = (*iter_kal2)->tanl();
1688 kappa2 = (*iter_kal2)->kappa();
1689 bb_pmu1 = sqrt(1.0+tanl1*tanl1)/kappa1;
1690 bb_ptmu1 = 1.0/kappa1;
1691 bb_pmu2 = sqrt(1.0+tanl2*tanl2)/kappa2;
1692 bb_ptmu2 = 1.0/kappa2;
1694 RecExtTrackCol::iterator iter_ext1 = extTrackCol.begin();
1695 RecExtTrackCol::iterator iter_ext2 = extTrackCol.begin() + 1;
1697 Hep3Vector extPos1 = (*iter_ext1)->emcPosition();
1698 Hep3Vector extPos2 = (*iter_ext2)->emcPosition();
1700 bb_extx1 = extPos1.x();
1701 bb_exty1 = extPos1.y();
1702 bb_extz1 = extPos1.z();
1703 bb_extx2 = extPos2.x();
1704 bb_exty2 = extPos2.y();
1705 bb_extz2 = extPos2.z();
1707 RecEmcShowerCol::iterator iter_emc1 = emcShowerCol.begin();
1708 RecEmcShowerCol::iterator iter_emc2 = emcShowerCol.begin() + 1;
1710 Hep3Vector emcPos1((*iter_emc1)->x(),(*iter_emc1)->y(),(*iter_emc1)->z());
1711 Hep3Vector emcPos2((*iter_emc2)->x(),(*iter_emc2)->y(),(*iter_emc2)->z());
1716 Hep3Vector dis1 = extPos1 - emcPos1;
1717 Hep3Vector dis2 = extPos2 - emcPos1;
1721 if( dis1.r() > dis2.r() ) {
1722 RecEmcShowerCol::iterator iter_tmp = iter_emc1;
1723 iter_emc1 = iter_emc2;
1724 iter_emc2 = iter_tmp;
1725 Hep3Vector emc_tmp = emcPos1;
1729 dis1 = extPos1 - emcPos1;
1730 dis2 = extPos2 - emcPos2;
1732 bb_emctrk1 = (*iter_emc1)->trackId();
1733 bb_emcx1 = (*iter_emc1)->x();
1734 bb_emcy1 = (*iter_emc1)->y();
1735 bb_emcz1 = (*iter_emc1)->z();
1736 bb_e1 = (*iter_emc1)->energy()/(*iter_mdc1)->p();;
1737 bb_th1 = (*iter_emc1)->theta();
1738 bb_ph1 = (*iter_emc1)->phi();
1739 bb_emctrk2 = (*iter_emc2)->trackId();
1740 bb_emcx2 = (*iter_emc2)->x();
1741 bb_emcy2 = (*iter_emc2)->y();
1742 bb_emcz2 = (*iter_emc2)->z();
1743 bb_e2 = (*iter_emc2)->energy()/(*iter_mdc2)->p();;
1744 bb_th2 = (*iter_emc2)->theta();
1745 bb_ph2 = (*iter_emc2)->phi();
1747 bb_drxy1 = dis1.rho();
1750 bb_drxy2 = dis2.rho();
1754 RecEmcShowerCol::iterator iter_emc = emcShowerCol.begin();
1755 for( ; iter_emc != emcShowerCol.end(); iter_emc++ ) {
1756 etot += (*iter_emc)->energy();
1758 bb_etot =
etot - (*iter_emc1)->energy() - (*iter_emc2)->energy();
ObjectVector< RecEmcShower > RecEmcShowerCol
ObjectVector< RecExtTrack > RecExtTrackCol
std::multimap< unsigned int, TofData * > TofDataMap
std::multimap< unsignedint, TofData * >::iterator IterTofDataMap
double cos(const BesAngle a)
ObjectVector< RecMdcKalTrack > RecMdcKalTrackCol
ObjectVector< RecMdcTrack > RecMdcTrackCol
ObjectVector< TofDigi > TofDigiCol
const double tof1Path() const
const Hep3Vector tof1Position() const
const int tof1VolumeNumber() const
const double tof1() const
const Hep3Vector tof2Momentum() const
const Hep3Vector tof1Momentum() const
const double tof2() const
const double tof2PosSigmaAlongZ() const
const double tof1PosSigmaAlongX() const
const double tof2Path() const
const int trackId() const
const double tof1PosSigmaAlongY() const
const double tof2PosSigmaAlongX() const
const double tof1PosSigmaAlongZ() const
const int tof2VolumeNumber() const
const Hep3Vector tof2Position() const
const double theta() const
virtual const double ZTDC(double tleft, double tright, unsigned id)=0
virtual const double ZTDC2(double tleft, unsigned id, double z)=0
virtual const double ZTDC1(double tright, unsigned id, double z)=0
virtual const double ZADC(double qleft, double qright, unsigned id)=0
virtual const double ZADC2(double qleft, unsigned id, double z)=0
virtual const double ZADC1(double qright, unsigned id, double z)=0
int getStat(int i, int pid) const
void Fill_TofTrack(Event::EventHeader &, TofTrack *&, double, int)
void Fill_MRPC(Event::EventHeader &, TofData *&, double, int)
void Fill(Event::EventHeader &, RecMdcTrack *&, RecMdcKalTrack *&, RecExtTrack *&)
void Fill_Endcap(Event::EventHeader &, TofData *&, double, int)
void Fill_Barrel(Event::EventHeader &, TofData *&, double, int)
TofCheckDigi(NTuple::Tuple *&digi, NTuple::Tuple *&barrel, NTuple::Tuple *&endcap, NTuple::Tuple *&mrpc, NTuple::Tuple *&ext, NTuple::Tuple *&tof, NTuple::Tuple *&bhabha)
void FillCol(Event::EventHeader &, TofDigiCol &, double, int)
unsigned int quality() const
unsigned int times() const
static int endcap(const Identifier &id)
static int strip(const Identifier &id)
static Identifier cell_id(int barrel_ec, int layer, int phi_module, int end)
For a single crystal.
static bool is_scin(const Identifier &id)
static int end(const Identifier &id)
static bool is_barrel(const Identifier &id)
Test for barrel.
static bool is_mrpc(const Identifier &id)
static int phi_module(const Identifier &id)
static int barrel_ec(const Identifier &id)
Values of different levels (failure returns 0)
static int layer(const Identifier &id)
static int module(const Identifier &id)
double tof2(unsigned int i) const
double tof11(unsigned int i) const
double tof12(unsigned int i) const
ExtTrackCase hitCase() const
double zr1(unsigned int i) const
int kal(unsigned int i) const
unsigned int quality1() const
double tof(unsigned int i) const
double texpInner(unsigned int i) const
double tof21(unsigned int i) const
double tof1(unsigned int i) const
double texpOuter(unsigned int i) const
double texp(unsigned int i) const
double tof22(unsigned int i) const
unsigned int quality() const
double zr2(unsigned int i) const
unsigned int barrel() const
unsigned int quality2() const
const int getTrigChannel(int i) const