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