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