BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/RootEventData/RootEventData-00-03-81/RootEventData/TRecTofTrack.h
Go to the documentation of this file.
1#ifndef RootEventData_TRecTofTrack_H
2#define RootEventData_TRecTofTrack_H 1
3
4#include "TObject.h"
5#include <vector>
6
7using namespace std;
8
9class TRecTofTrack : public TObject {
10
11public:
12
15
16 Int_t tofTrackID() const { return m_tofTrackID; }
17 Int_t trackID() const { return m_trackID; }
18 Int_t tofID() const { return m_tofID; }
19
20 UInt_t status() const { return m_status; }
21
22 Double_t path() const { return m_path; }
23 Double_t zrhit() const { return m_zrhit; }
24 Double_t ph() const { return m_ph; }
25 Double_t tof() const { return m_tof; }
26 Double_t errtof() const { return m_sigma[0]; }
27 Double_t beta() const { return m_beta; }
28
29 Double_t texp(Int_t i) const { return m_texp[i]; }
30 Double_t texpElectron() const { return m_texp[0]; }
31 Double_t texpMuon() const { return m_texp[1]; }
32 Double_t texpPion() const { return m_texp[2]; }
33 Double_t texpKaon() const { return m_texp[3]; }
34 Double_t texpProton() const { return m_texp[4]; }
35
36 Double_t toffset(Int_t i) const { return m_toffset[i]; }
37 Double_t toffsetElectron() const { return m_toffset[0]; }
38 Double_t toffsetMuon() const { return m_toffset[1]; }
39 Double_t toffsetPion() const { return m_toffset[2]; }
40 Double_t toffsetKaon() const { return m_toffset[3]; }
41 Double_t toffsetProton() const { return m_toffset[4]; }
42 Double_t toffsetAntiProton() const { return m_toffset[5]; }
43
44 Double_t sigma(Int_t i) const { return m_sigma[i]; }
45 Double_t sigmaElectron() const { return m_sigma[0]; }
46 Double_t sigmaMuon() const { return m_sigma[1]; }
47 Double_t sigmaPion() const { return m_sigma[2]; }
48 Double_t sigmaKaon() const { return m_sigma[3]; }
49 Double_t sigmaProton() const { return m_sigma[4]; }
50 Double_t sigmaAntiProton() const { return m_sigma[5]; }
51
52 Int_t quality() const { return m_quality; }
53
54 Double_t t0() const { return m_t0; }
55 Double_t errt0() const { return m_errt0; }
56
57 Double_t errz() const { return m_errz; }
58 Double_t phi() const { return m_phi; }
59 Double_t errphi() const { return m_errphi; }
60 Double_t energy() const { return m_energy; }
61 Double_t errenergy() const { return m_errenergy; }
62
63 void setTofTrackID(Int_t tofTrackID) { m_tofTrackID = tofTrackID; }
64 void setTrackID(Int_t trackID) { m_trackID = trackID; }
65 void setTofID(Int_t tofID) { m_tofID = tofID; }
66 void setStatus(UInt_t status) { m_status = status; }
67 void setPath(Double_t path) { m_path = path; }
68 void setZrHit(Double_t zrhit) { m_zrhit = zrhit; }
69 void setPh(Double_t ph) { m_ph = ph; }
70 void setTof(Double_t tof) { m_tof = tof; }
71 void setErrTof(Double_t etof) { m_sigma[0] = etof; }
72 void setBeta(Double_t beta) { m_beta = beta; }
73 void setTexp(Double_t texp[5]) { for(Int_t i=0; i<5; i++) { m_texp[i]=texp[i];} }
74 void setTexpElectron(Double_t texpe) { m_texp[0] = texpe; }
75 void setTexpMuon(Double_t texpmu) { m_texp[1] = texpmu; }
76 void setTexpPion(Double_t texppi) { m_texp[2] = texppi; }
77 void setTexpKaon(Double_t texpk) { m_texp[3] = texpk; }
78 void setTexpProton(Double_t texpp) { m_texp[4] = texpp; }
79 void setToffset(Double_t toffset[6]) { for(Int_t i=0; i<6; i++) { m_toffset[i]=toffset[i];} }
80 void setToffsetElectron(Double_t toe) { m_toffset[0] = toe; }
81 void setToffsetMuon(Double_t tomu) { m_toffset[1] = tomu; }
82 void setToffsetPion(Double_t topi) { m_toffset[2] = topi; }
83 void setToffsetKaon(Double_t tok) { m_toffset[3] = tok; }
84 void setToffsetProton(Double_t top) { m_toffset[4] = top; }
85 void setToffsetAntiProton(Double_t topb){ m_toffset[5] = topb; }
86 void setSigma(Double_t sigma[6]) { for(Int_t i=0; i<6; i++) { m_sigma[i]=sigma[i];} }
87 void setSigmaElectron(Double_t se) { m_sigma[0] = se; }
88 void setSigmaMuon(Double_t smu) { m_sigma[1] = smu; }
89 void setSigmaPion(Double_t spi) { m_sigma[2] = spi; }
90 void setSigmaKaon(Double_t sk) { m_sigma[3] = sk; }
91 void setSigmaProton(Double_t sp) { m_sigma[4] = sp; }
92 void setSigmaAntiProton(Double_t spb) { m_sigma[5] = spb; }
93
94 void setQuality(Int_t quality) { m_quality = quality; }
95
96 void setT0(Double_t t0) { m_t0 = t0; }
97 void setErrT0(Double_t errt0) { m_errt0 = errt0; }
98
99 void setErrZ(Double_t errz) { m_errz = errz; }
100 void setPhi(Double_t phi) { m_phi = phi; }
101 void setErrPhi(Double_t errphi) { m_errphi = errphi; }
102 void setEnergy(Double_t energy) { m_energy = energy; }
103 void setErrEnergy(Double_t errenergy) { m_errenergy = errenergy; }
104 void setTRecTofTrack(const TRecTofTrack *toftrk){
105 m_tofTrackID = toftrk->tofTrackID();
106 m_trackID = toftrk->trackID();
107 m_tofID = toftrk->tofID();
108 m_status = toftrk->status();
109 m_path = toftrk->path();
110 m_zrhit = toftrk->zrhit();
111 m_ph = toftrk->ph();
112 m_tof = toftrk->tof();
113 m_beta = toftrk->beta();
114 for(int i=0;i<5;i++){
115 m_texp[i]= toftrk->texp(i);}
116 for(int i=0;i<6;i++){
117 m_toffset[i]= toftrk->toffset(i);}
118 for(int i=0;i<6;i++){
119 m_sigma[i]= toftrk->sigma(i);}
120 m_quality = toftrk->quality();
121 m_t0 = toftrk->t0();
122 m_errt0 = toftrk->errt0();
123 m_errz = toftrk->errz();
124 m_phi = toftrk->phi();
125 m_errphi = toftrk->errphi();
126 m_energy = toftrk->energy();
127 m_errenergy = toftrk->errenergy();
128 }
129private:
130
131 Int_t m_tofTrackID; // The ID of Tof Cluster reconstruction
132 Int_t m_trackID; // Track ID from MDC / Shower ID from EMC.
133 Int_t m_tofID; // Tof Counter ID.
134 UInt_t m_status; // Status.
135 // 0x0000 0000
136 // 0 0 0 0 0 0 0 0
137 // | | | BR / 1 EC | | | raw
138 // | | East / 1 West | | ReadOut Unit
139 // No Hit | Counter
140 // 01 1st Layer Cluster
141 // 10 2nd Layer / 11 both Layers
142 // 0x 00 00 00 00 00(used)
143 // | | counter number
144 // | east readout number
145 // west readout number
146
147 Double_t m_path; // Distance of flight.
148 Double_t m_zrhit; // Track extrapolate Z or R Hit position.
149 Double_t m_ph; // Pulse height.
150 Double_t m_tof; // Time of flight.
151 Double_t m_beta; // Beta value of the track.
152 Double_t m_texp[5]; // Expected time of flight of 5 sorts of particle.
153 Double_t m_toffset[6]; // Time offset of e, mu, pi, k and p and pbar.
154 Double_t m_sigma[6]; // Time resolution of 5+1 sorts of particle.
155 Int_t m_quality; // Data quality of reconstruction.
156 // 1: good charged track
157 // 2: neutral track with good hit
158 // 0: ZT-ZTDC didnot match
159 // 3: no hit in counter
160 // 4: two hits in counter
161 // 5: more than two hits in counter
162 // 6: only single end output of one layer
163 // 7: two hits in counter with bad match with ZTDC
164 // 10: initialize
165 // ......
166 Double_t m_t0; // t0 from data set calibration.
167 Double_t m_errt0; // t0 sigma from tof calibration.
168
169 Double_t m_errz; // Error of zTDC(m_zrhit) for neutral track.
170 Double_t m_phi; // Angle of phi used for neutral track.
171 Double_t m_errphi; // Error of angle of phi.
172 Double_t m_energy; // Energy deposit for neutral track
173 Double_t m_errenergy; // Error of energy deposit for neutral track.
174 ClassDef(TRecTofTrack,3)
175};
176
177#endif
TTree * sigma