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