CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/RootEventData/bak_RootEventData-00-05-12/RootEventData/TRecCgemKalTrack.h
Go to the documentation of this file.
1#ifndef RootEventData_TRecCgemKalTrack_H
2#define RootEventData_TRecCgemKalTrack_H 1
3
4#include "TObject.h"
5#include "TString.h"
6
7class TRecCgemKalTrack : public TObject {
8
9public:
10
13
14 //extractors
15 const Int_t getTrackId() const { return m_trackId; }
16 const Double_t getMass( Int_t pid ) const { return m_mass[pid]; }
17 const Double_t getLength( Int_t pid ) const { return m_length[pid]; }
18 const Double_t getTof( Int_t pid ) const { return m_tof[pid]; }
19 const Double_t getfiTerm( Int_t pid ) const { return m_fiTerm[pid]; }
20 const Double_t getPathSM( Int_t pid ) const { return m_pathSM[pid]; }
21 const Int_t getNhits( Int_t pid ) const { return m_nhits[pid]; }
22 const Int_t getStat( Int_t i,Int_t pid ) const { return m_stat[i][pid]; }
23 const Double_t getChisq( Int_t i, Int_t pid ) const { return m_chisq[i][pid];}
24 const Int_t getNdf( Int_t i, Int_t pid ) const { return m_ndf[i][pid]; }
25 const Double_t getZHelix(Int_t i) const {return m_zhelix[i];}
26 const Double_t getZError(Int_t i, Int_t j) const {return m_zerror[i][j];}
27 const Double_t getZHelixE(Int_t i) const {return m_zhelix_e[i];}
28 const Double_t getZErrorE(Int_t i, Int_t j) const {return m_zerror_e[i][j];}
29 const Double_t getZHelixMu(Int_t i) const {return m_zhelix_mu[i];}
30 const Double_t getZErrorMu(Int_t i, Int_t j) const {return m_zerror_mu[i][j];}
31 const Double_t getZHelixK(Int_t i) const {return m_zhelix_k[i];}
32 const Double_t getZErrorK(Int_t i, Int_t j) const {return m_zerror_k[i][j];}
33 const Double_t getZHelixP(Int_t i) const {return m_zhelix_p[i];}
34 const Double_t getZErrorP(Int_t i, Int_t j) const {return m_zerror_p[i][j];}
35 const Double_t getFHelix(Int_t i) const {return m_fhelix[i];}
36 const Double_t getFError(Int_t i, Int_t j) const {return m_ferror[i][j];}
37 const Double_t getFHelixE(Int_t i) const {return m_fhelix_e[i];}
38 const Double_t getFErrorE(Int_t i, Int_t j) const {return m_ferror_e[i][j];}
39 const Double_t getFHelixMu(Int_t i) const {return m_fhelix_mu[i];}
40 const Double_t getFErrorMu(Int_t i, Int_t j) const {return m_ferror_mu[i][j];}
41 const Double_t getFHelixK(Int_t i) const {return m_fhelix_k[i];}
42 const Double_t getFErrorK(Int_t i, Int_t j) const {return m_ferror_k[i][j];}
43 const Double_t getFHelixP(Int_t i) const {return m_fhelix_p[i];}
44 const Double_t getFErrorP(Int_t i, Int_t j) const {return m_ferror_p[i][j];}
45 const Double_t getLHelix(Int_t i) const {return m_lhelix[i];}
46 const Double_t getLError(Int_t i, Int_t j) const {return m_lerror[i][j];}
47 const Double_t getLHelixE(Int_t i) const {return m_lhelix_e[i];}
48 const Double_t getLErrorE(Int_t i, Int_t j) const {return m_lerror_e[i][j];}
49 const Double_t getLHelixMu(Int_t i) const {return m_lhelix_mu[i];}
50 const Double_t getLErrorMu(Int_t i, Int_t j) const {return m_lerror_mu[i][j];}
51 const Double_t getLHelixK(Int_t i) const {return m_lhelix_k[i];}
52 const Double_t getLErrorK(Int_t i, Int_t j) const {return m_lerror_k[i][j];}
53 const Double_t getLHelixP(Int_t i) const {return m_lhelix_p[i];}
54 const Double_t getLErrorP(Int_t i, Int_t j) const {return m_lerror_p[i][j];}
55 const Double_t getTHelix(Int_t i) const {return m_thelix[i];}
56 const Double_t getTError(Int_t i) const {return m_terror[i];}
57
58 const Double_t getPocaE(Int_t i) const {return m_poca_e[i];}
59
60 const Double_t getPocaMu(Int_t i) const {return m_poca_mu[i];}
61
62 const Double_t getPoca(Int_t i) const {return m_poca[i];}
63
64 const Double_t getPocaK(Int_t i) const {return m_poca_k[i];}
65
66 const Double_t getPocaP(Int_t i) const {return m_poca_p[i];}
67
68 const Double_t getLPointE(Int_t i) const {return m_lpoint_e[i];}
69 const Double_t getLPointMu(Int_t i) const {return m_lpoint_mu[i];}
70 const Double_t getLPoint(Int_t i) const {return m_lpoint[i];}
71 const Double_t getLPointK(Int_t i) const {return m_lpoint_k[i];}
72 const Double_t getLPointP(Int_t i) const {return m_lpoint_p[i];}
73
74 const Double_t getLPivotE(Int_t i) const {return m_lpivot_e[i];}
75 const Double_t getLPivotMu(Int_t i) const {return m_lpivot_mu[i];}
76 const Double_t getLPivot(Int_t i) const {return m_lpivot[i];}
77 const Double_t getLPivotK(Int_t i) const {return m_lpivot_k[i];}
78 const Double_t getLPivotP(Int_t i) const {return m_lpivot_p[i];}
79
80 //modifiers
81
82 void setTrackId (const Int_t trackId) { m_trackId = trackId; }
83 void setMass(const Double_t mass[5]){
84 for (int i =0 ; i< 5 ; i++)
85 m_mass[i] = mass[i];
86 }
87
88 void setLength(const Double_t length[5]){
89 for (int i =0 ; i< 5 ; i++)
90 m_length[i] = length[i];
91 }
92
93 void setFiTerm(const Double_t fiTerm[5]){
94 for (int i =0 ; i< 5 ; i++)
95 m_fiTerm[i] = fiTerm[i];
96 }
97
98 void setPathSM(const Double_t pathSM[5]){
99 for (int i =0 ; i< 5 ; i++)
100 m_pathSM[i] = pathSM[i];
101 }
102
103 void setTof(const Double_t tof[5]){
104 for (int i =0 ; i< 5 ; i++)
105 m_tof[i] = tof[i];
106 }
107
108 void setNhits(const Int_t nhits[5]){
109 for (int i =0 ; i< 5 ; i++)
110 m_nhits[i] = nhits[i];
111 }
112
113 void setStat(const Int_t stat , Int_t i , Int_t pid){ m_stat[i][pid] = stat ;}
114 void setChisq(const Double_t chisq , Int_t i , Int_t pid){ m_chisq[i][pid] = chisq ;}
115 void setNdf(const Int_t ndf , Int_t i , Int_t pid){ m_ndf[i][pid] = ndf ;}
116 //Z
117 void setZHelix(const Double_t zhelix[5]){
118 for (int i = 0 ; i<5 ; i++)
119 m_zhelix[i] = zhelix[i];
120 }
121 void setZError(const Double_t zerror[5][5]){
122 for (int i= 0 ; i<5 ; i++)
123 for (int j=0; j<=i; j++){
124 m_zerror[i][j] = zerror[i][j];
125 m_zerror[j][i] = zerror[i][j];
126 }
127 }
128 void setZHelixE(const Double_t zhelix_e[5]){
129 for (int i = 0 ; i<5 ; i++)
130 m_zhelix_e[i] = zhelix_e[i];
131 }
132 void setZErrorE(const Double_t zerror_e[5][5]){
133 for (int i= 0 ; i<5 ; i++)
134 for (int j=0; j<=i; j++){
135 m_zerror_e[i][j] = zerror_e[i][j];
136 m_zerror_e[j][i] = zerror_e[i][j];
137 }
138 }
139
140 void setZHelixMu(const Double_t zhelix_mu[5]){
141 for (int i = 0 ; i<5 ; i++)
142 m_zhelix_mu[i] = zhelix_mu[i];
143 }
144
145 void setZErrorMu(const Double_t zerror_mu[5][5]){
146 for (int i= 0 ; i<5 ; i++)
147 for (int j=0; j<=i; j++){
148 m_zerror_mu[i][j] = zerror_mu[i][j];
149 m_zerror_mu[j][i] = zerror_mu[i][j];
150 }
151 }
152 void setZHelixK(const Double_t zhelix_k[5]){
153 for (int i = 0 ; i<5 ; i++)
154 m_zhelix_k[i] = zhelix_k[i];
155 }
156 void setZErrorK(const Double_t zerror_k[5][5]){
157 for (int i= 0 ; i<5 ; i++)
158 for (int j=0; j<=i; j++){
159 m_zerror_k[i][j] = zerror_k[i][j];
160 m_zerror_k[j][i] = zerror_k[i][j];
161 }
162 }
163 void setZHelixP(const Double_t zhelix_p[5]){
164 for (int i = 0 ; i<5 ; i++)
165 m_zhelix_p[i] = zhelix_p[i];
166 }
167 void setZErrorP(const Double_t zerror_p[5][5]){
168 for (int i= 0 ; i<5 ; i++)
169 for (int j=0; j<=i; j++){
170 m_zerror_p[i][j] = zerror_p[i][j];
171 m_zerror_p[j][i] = zerror_p[i][j];
172 }
173 }
174
175 //F
176 void setFHelix(const Double_t fhelix[5]){
177 for (int i = 0 ; i<5 ; i++)
178 m_fhelix[i] = fhelix[i];
179 }
180
181 void setFError(const Double_t ferror[5][5]){
182 for (int i= 0 ; i<5 ; i++)
183 for (int j=0; j<=i; j++){
184 m_ferror[i][j] = ferror[i][j];
185 m_ferror[j][i] = ferror[i][j];
186 }
187 }
188 void setFHelixE(const Double_t fhelix_e[5]){
189 for (int i = 0 ; i<5 ; i++)
190 m_fhelix_e[i] = fhelix_e[i];
191 }
192 void setFErrorE(const Double_t ferror_e[5][5]){
193 for (int i= 0 ; i<5 ; i++)
194 for (int j=0; j<=i; j++){
195 m_ferror_e[i][j] = ferror_e[i][j];
196 m_ferror_e[j][i] = ferror_e[i][j];
197 }
198 }
199 void setFHelixMu(const Double_t fhelix_mu[5]){
200 for (int i = 0 ; i<5 ; i++)
201 m_fhelix_mu[i] = fhelix_mu[i];
202 }
203 void setFErrorMu(const Double_t ferror_mu[5][5]){
204 for (int i= 0 ; i<5 ; i++)
205 for (int j=0; j<=i; j++){
206 m_ferror_mu[i][j] = ferror_mu[i][j];
207 m_ferror_mu[j][i] = ferror_mu[i][j];
208 }
209 }
210 void setFHelixK(const Double_t fhelix_k[5]){
211 for (int i = 0 ; i<5 ; i++)
212 m_fhelix_k[i] = fhelix_k[i];
213 }
214 void setFErrorK(const Double_t ferror_k[5][5]){
215 for (int i= 0 ; i<5 ; i++)
216 for (int j=0; j<=i; j++){
217 m_ferror_k[i][j] = ferror_k[i][j];
218 m_ferror_k[j][i] = ferror_k[i][j];
219 }
220 }
221 void setFHelixP(const Double_t fhelix_p[5]){
222 for (int i = 0 ; i<5 ; i++)
223 m_fhelix_p[i] = fhelix_p[i];
224 }
225 void setFErrorP(const Double_t ferror_p[5][5]){
226 for (int i= 0 ; i<5 ; i++)
227 for (int j=0; j<=i; j++){
228 m_ferror_p[i][j] = ferror_p[i][j];
229 m_ferror_p[j][i] = ferror_p[i][j];
230 }
231 }
232
233 // L
234 void setLHelix(const Double_t lhelix[5]){
235 for (int i = 0 ; i<5 ; i++)
236 m_lhelix[i] = lhelix[i];
237 }
238 void setLError(const Double_t lerror[5][5]){
239 for (int i= 0 ; i<5 ; i++)
240 for (int j=0; j<=i; j++){
241 m_lerror[i][j] = lerror[i][j];
242 m_lerror[j][i] = lerror[i][j];
243 }
244 }
245 void setLHelixE(const Double_t lhelix_e[5]){
246 for (int i = 0 ; i<5 ; i++)
247 m_lhelix_e[i] = lhelix_e[i];
248 }
249
250 void setLErrorE(const Double_t lerror_e[5][5]){
251 for (int i= 0 ; i<5 ; i++)
252 for (int j=0; j<=i; j++){
253 m_lerror_e[i][j] = lerror_e[i][j];
254 m_lerror_e[j][i] = lerror_e[i][j];
255 }
256 }
257
258 void setLHelixMu(const Double_t lhelix_mu[5]){
259 for (int i = 0 ; i<5 ; i++)
260 m_lhelix_mu[i] = lhelix_mu[i];
261 }
262
263 void setLErrorMu(const Double_t lerror_mu[5][5]){
264 for (int i=0; i<5; i++)
265 for (int j=0; j<=i; j++){
266 m_lerror_mu[i][j] = lerror_mu[i][j];
267 m_lerror_mu[j][i] = lerror_mu[i][j];
268 }
269 }
270
271 void setLHelixK(const Double_t lhelix_k[5]){
272 for (int i=0; i<5; i++)
273 m_lhelix_k[i] = lhelix_k[i];
274 }
275
276 void setLErrorK(const Double_t lerror_k[5][5]){
277 for (int i=0; i<5; i++)
278 for (int j=0; j<=i; j++){
279 m_lerror_k[i][j] = lerror_k[i][j];
280 m_lerror_k[j][i] = lerror_k[i][j];
281 }
282 }
283
284 void setLHelixP(const Double_t lhelix_p[5]){
285 for (int i =0; i<5 ; i++)
286 m_lhelix_p[i] = lhelix_p[i];
287 }
288
289 void setLErrorP(const Double_t lerror_p[5][5]){
290 for (int i=0; i<5 ; i++)
291 for (int j=0; j<=i; j++){
292 m_lerror_p[i][j] = lerror_p[i][j];
293 m_lerror_p[j][i] = lerror_p[i][j];
294 }
295 }
296
297 void setTHelix(const Double_t thelix[5]){
298 for (int i = 0 ; i<5 ; i++)
299 m_thelix[i] = thelix[i];
300 }
301 void setTError(const Double_t terror[15]){
302 for (int i= 0 ; i<15 ; i++){
303 m_terror[i] = terror[i];
304 }
305 }
306
307 void setPocaE(const Double_t poca_e[3]){
308 for(int i=0; i<3; i++) m_poca_e[i] = poca_e[i];
309 }
310
311 void setPocaMu(const Double_t poca_mu[3]){
312 for(int i=0; i<3; i++) m_poca_mu[i] = poca_mu[i];
313 }
314
315 void setPoca(const Double_t poca[3]){
316 for(int i=0; i<3; i++) m_poca[i] = poca[i];
317 }
318
319 void setPocaK(const Double_t poca_k[3]){
320 for(int i=0; i<3; i++) m_poca_k[i] = poca_k[i];
321 }
322
323 void setPocaP(const Double_t poca_p[3]){
324 for(int i=0; i<3; i++) m_poca_p[i] = poca_p[i];
325 }
326
327 void setLPointE(const Double_t lpoint_e[3]){
328 for(int i=0; i<3; i++) m_lpoint_e[i] = lpoint_e[i];
329 }
330
331 void setLPointMu(const Double_t lpoint_mu[3]){
332 for(int i=0; i<3; i++) m_lpoint_mu[i] = lpoint_mu[i];
333 }
334
335 void setLPoint(const Double_t lpoint[3]){
336 for(int i=0; i<3; i++) m_lpoint[i] = lpoint[i];
337 }
338
339 void setLPointK(const Double_t lpoint_k[3]){
340 for(int i=0; i<3; i++) m_lpoint_k[i] = lpoint_k[i];
341 }
342
343 void setLPointP(const Double_t lpoint_p[3]){
344 for(int i=0; i<3; i++) m_lpoint_p[i] = lpoint_p[i];
345 }
346
347 void setLPivotE(const Double_t lpivot_e[3]){
348 for(int i=0; i<3; i++) m_lpivot_e[i] = lpivot_e[i];
349 }
350
351 void setLPivotMu(const Double_t lpivot_mu[3]){
352 for(int i=0; i<3; i++) m_lpivot_mu[i] = lpivot_mu[i];
353 }
354
355 void setLPivot(const Double_t lpivot[3]){
356 for(int i=0; i<3; i++) m_lpivot[i] = lpivot[i];
357 }
358
359 void setLPivotK(const Double_t lpivot_k[3]){
360 for(int i=0; i<3; i++) m_lpivot_k[i] = lpivot_k[i];
361 }
362
363 void setLPivotP(const Double_t lpivot_p[3]){
364 for(int i=0; i<3; i++) m_lpivot_p[i] = lpivot_p[i];
365 }
366
367
368private:
369 Int_t m_trackId; //Track Id wensp Add 2005-10-19
370 Double_t m_mass[5]; // mass assumption during the fit
371 Double_t m_length[5]; //track path length from closest point to coord. origin to the last hit
372 Double_t m_tof[5]; // time of flight correspond to length;
373 Double_t m_fiTerm[5]; // terminal phi
374 Double_t m_pathSM[5];
375 Int_t m_nhits[5]; // number of total hits contained
376 Int_t m_stat[2][5]; // status flag
377 Double_t m_chisq[2][5]; // chi square of fit 0:filter 1:smoother
378 Int_t m_ndf[2][5]; // degree of freedom for the fit 0:filter 1:smoother
379
380 Double_t m_poca[3];
381 Double_t m_poca_e[3];
382 Double_t m_poca_mu[3];
383 Double_t m_poca_k[3];
384 Double_t m_poca_p[3];
385
386 Double_t m_lpoint[3];
387 Double_t m_lpoint_e[3];
388 Double_t m_lpoint_mu[3];
389 Double_t m_lpoint_k[3];
390 Double_t m_lpoint_p[3];
391
392 Double_t m_lpivot[3];
393 Double_t m_lpivot_e[3];
394 Double_t m_lpivot_mu[3];
395 Double_t m_lpivot_k[3];
396 Double_t m_lpivot_p[3];
397
398 Double_t m_zhelix[5]; // 5 track parameters at zero point for pi
399 Double_t m_zerror[5][5]; // error matrix at zero point for pion
400 Double_t m_zhelix_e[5]; // 5 track parameters at zero point for el
401 Double_t m_zerror_e[5][5]; // error matrix at zero point for electron
402 Double_t m_zhelix_mu[5]; // 5 track parameters at zero point for mu
403 Double_t m_zerror_mu[5][5];// error matrix at zero point for muon ;
404 Double_t m_zhelix_k[5]; // 5 track parameters at zero point for ka
405 Double_t m_zerror_k[5][5]; // error matrix at zero point for kaon
406 Double_t m_zhelix_p[5]; // 5 track parameters at zero point for pr
407 Double_t m_zerror_p[5][5]; // error matrix at zero point for proton
408
409 Double_t m_fhelix[5]; // 5 track parameters at zero point for pi
410 Double_t m_ferror[5][5]; // error matrix at zero point for pion
411 Double_t m_fhelix_e[5]; // 5 track parameters at zero point for el
412 Double_t m_ferror_e[5][5]; // error matrix at zero point for electron
413 Double_t m_fhelix_mu[5]; // 5 track parameters at zero point for mu
414 Double_t m_ferror_mu[5][5]; // error matrix at zero point for muon ;
415 Double_t m_fhelix_k[5]; // 5 track parameters at zero point for ka
416 Double_t m_ferror_k[5][5]; // error matrix at zero point for kaon
417 Double_t m_fhelix_p[5]; // 5 track parameters at zero point for pr
418 Double_t m_ferror_p[5][5]; // error matrix at zero point for proton
419
420 Double_t m_lhelix[5]; // 5 track parameters at zero point for pi
421 Double_t m_lerror[5][5]; // error matrix at zero point for pion
422 Double_t m_lhelix_e[5]; // 5 track parameters at zero point for el
423 Double_t m_lerror_e[5][5]; // error matrix at zero point for electron
424 Double_t m_lhelix_mu[5]; // 5 track parameters at zero point for mu
425 Double_t m_lerror_mu[5][5]; // error matrix at zero point for muon ;
426 Double_t m_lhelix_k[5]; // 5 track parameters at zero point for ka
427 Double_t m_lerror_k[5][5]; // error matrix at zero point for kaon
428 Double_t m_lhelix_p[5]; // 5 track parameters at zero point for pr
429 Double_t m_lerror_p[5][5]; // error matrix at zero point for proton
430
431 Double_t m_thelix[5]; // 5 track parameters of track finding
432 Double_t m_terror[15]; // error matrix of track finding
433
434 ClassDef(TRecCgemKalTrack, 4)
435};
436
437#endif
double mass