4#include "ExtEvent/RecExtTrack.h"
5#include "RawDataProviderSvc/TofData.h"
6#include "TofRecEvent/RecBTofCalHit.h"
7#include "TofRecEvent/RecETofCalHit.h"
8#include "TofRecEvent/RecTofTrack.h"
17const double mass[5] = { 0.00051100, 0.10566, 0.13957, 0.49368, 0.93827 };
18const double stripLength[12] = { 8.6, 9.1, 9.6, 10.1, 10.6, 11.1,
19 11.6, 12.1, 12.6, 13.1, 13.6, 14.1 };
39 int id1()
const {
return m_id1; }
40 int id2()
const {
return m_id2; }
43 int dstrip1()
const {
return m_delStrip1; }
44 int dstrip2()
const {
return m_delStrip2; }
45 unsigned int barrel()
const {
return m_barrel; }
47 double p()
const {
return m_momentum; }
48 double path()
const {
return m_path; }
49 double path1()
const {
return m_path1; }
50 double path2()
const {
return m_path2; }
51 double zrhit1()
const {
return m_zrhit1; }
52 double zrhit2()
const {
return m_zrhit2; }
55 double xhit1()
const {
return m_xhit1; }
56 double yhit1()
const {
return m_yhit1; }
57 double xhit2()
const {
return m_xhit2; }
58 double yhit2()
const {
return m_yhit2; }
59 int kal(
unsigned int i )
const {
return m_kal[i]; }
60 double zr1(
unsigned int i )
const {
return m_zr1[i]; }
61 double zr2(
unsigned int i )
const {
return m_zr2[i]; }
62 double errzr1(
unsigned int i )
const {
return m_ezr1[i]; }
63 double errzr2(
unsigned int i )
const {
return m_ezr2[i]; }
64 std::vector<TofData*>
tofData1()
const {
return m_tofData1; }
65 std::vector<TofData*>
tofData2()
const {
return m_tofData2; }
66 int size1()
const {
return m_tofData1.size(); }
67 int size2()
const {
return m_tofData2.size(); }
68 int size3()
const {
return m_tofData3.size(); }
69 int size4()
const {
return m_tofData4.size(); }
70 double theta1()
const {
return m_theta1; }
71 double theta2()
const {
return m_theta2; }
72 double phi1()
const {
return m_phi1; }
73 double phi2()
const {
return m_phi2; }
74 unsigned int quality1()
const {
return m_quality1; }
75 unsigned int quality2()
const {
return m_quality2; }
76 unsigned int quality()
const {
return m_quality; }
78 int tofId1()
const {
return m_tofId1; }
79 int tofId2()
const {
return m_tofId2; }
80 int strip1()
const {
return m_strip1; }
81 int strip2()
const {
return m_strip2; }
83 double ph11()
const {
return m_ph11; }
84 double ph12()
const {
return m_ph12; }
85 double ph21()
const {
return m_ph21; }
86 double ph22()
const {
return m_ph22; }
87 double ph1()
const {
return m_ph1; }
88 double ph2()
const {
return m_ph2; }
89 double ph()
const {
return m_ph; }
91 double tof11(
unsigned int i )
const {
return m_tof11[i]; }
92 double tof12(
unsigned int i )
const {
return m_tof12[i]; }
93 double tof21(
unsigned int i )
const {
return m_tof21[i]; }
94 double tof22(
unsigned int i )
const {
return m_tof22[i]; }
95 double tof1(
unsigned int i )
const {
return m_tof1[i]; }
96 double tof2(
unsigned int i )
const {
return m_tof2[i]; }
97 double tof(
unsigned int i )
const {
return m_tof[i]; }
99 double qch1()
const {
return m_qch1; }
100 double qch2()
const {
return m_qch2; }
101 double qch3()
const {
return m_qch3; }
102 double qch4()
const {
return m_qch4; }
103 double adc1()
const {
return m_adc1; }
104 double adc2()
const {
return m_adc2; }
105 double adc3()
const {
return m_adc3; }
106 double adc4()
const {
return m_adc4; }
107 double tdc1()
const {
return m_tdc1; }
108 double tdc2()
const {
return m_tdc2; }
109 double tdc3()
const {
return m_tdc3; }
110 double tdc4()
const {
return m_tdc4; }
112 double texpInner(
unsigned int i )
const {
return m_texpInner[i]; }
113 double texpOuter(
unsigned int i )
const {
return m_texpOuter[i]; }
114 double texp(
unsigned int i )
const {
return m_texp[i]; }
116 double ztdc1()
const {
return m_ztdc1; }
117 double ztdc2()
const {
return m_ztdc2; }
118 double zadc1()
const {
return m_zadc1; }
119 double zadc2()
const {
return m_zadc2; }
121 double estime()
const {
return m_estime; }
122 double tdiff1()
const {
return m_tdiff1; }
123 double tdiff2()
const {
return m_tdiff2; }
127 unsigned int flag()
const {
return m_flag; }
146 void match(
bool forCalibration, std::vector<int> deadId,
147 std::vector<TofTrack*>*& tofTrackVec );
148 void findTofDataBarrel( std::vector<TofData*> tofDataVec1, std::vector<TofData*> tofDataVec2,
149 double zrhit,
unsigned int iflag,
150 std::vector<TofTrack*>*& tofTrackVec );
153 void findTofDataEndcap( std::vector<TofData*> tofDataVec1, std::vector<TofData*> tofDataVec2,
157 void findEtfData( std::vector<TofData*> tofDataVec1, std::vector<TofData*> tofDataVec2,
158 std::vector<TofData*> tofDataVec3,
double zrhit,
unsigned int iflag );
173 std::string calibData );
185 int m_id1, m_id2, m_istrip1, m_istrip2;
186 int m_tofId1, m_tofId2, m_strip1, m_strip2;
187 int m_delStrip1, m_delStrip2;
188 unsigned int m_barrel;
191 double m_path, m_path1, m_path2;
192 double m_zrhit1, m_errzr1, m_zrhit2, m_errzr2;
193 double m_xhit1, m_yhit1, m_xhit2, m_yhit2;
195 double m_zr1[5], m_ezr1[5], m_zr2[5], m_ezr2[5];
196 std::vector<TofData*> m_tofData1;
197 std::vector<TofData*> m_tofData2;
198 std::vector<TofData*> m_tofData3;
199 std::vector<TofData*> m_tofData4;
200 std::vector<TofData*> m_tofData5;
201 std::vector<TofData*> m_tofData6;
202 unsigned int m_quality1, m_quality2;
203 unsigned int m_quality;
214 double m_theta1, m_theta2, m_phi1, m_phi2;
216 double m_ph11, m_ph12, m_tof11[5], m_tof12[5];
217 double m_ph21, m_ph22, m_tof21[5], m_tof22[5];
218 double m_ph1, m_ph2, m_ph;
219 double m_tof1[5], m_tof2[5], m_tof[5];
221 double m_texp[5], m_texpInner[5], m_texpOuter[5];
223 double m_sigma11, m_sigma12, m_sigma21, m_sigma22;
224 double m_sigma1, m_sigma2, m_sigma;
226 double m_qch1, m_qch2, m_qch3, m_qch4;
227 double m_adc1, m_adc2, m_adc3, m_adc4;
228 double m_tdc1, m_tdc2, m_tdc3, m_tdc4;
230 double m_ztdc1, m_ztdc2, m_zadc1, m_zadc2;
232 double m_estime, m_tdiff1, m_tdiff2;
std::multimap< unsigned int, TofData * > TofDataMap
ObjectVector< RecBTofCalHit > RecBTofCalHitCol
ObjectVector< RecETofCalHit > RecETofCalHitCol
ObjectVector< RecTofTrack > RecTofTrackCol
std::vector< TofTrack * > TofTrackVec
const double stripLength[12]
void setTofData(TofDataMap tofDataMap)
double tof2(unsigned int i) const
double errzr1(unsigned int i) const
std::vector< TofData * > tofData1() const
double tof11(unsigned int i) const
double tof12(unsigned int i) const
TofData * chooseTofDataEndcap(std::vector< TofData * > tofDataVec, double zr1[5])
ExtTrackCase hitCase() const
double zr1(unsigned int i) const
int kal(unsigned int i) const
void getEtfData(TofData *tof, unsigned int iflag, unsigned int qual)
unsigned int quality1() const
double tof(unsigned int i) const
void convert2RecTofTrackCol(RecTofTrackCol *recTofTrackCol)
void tofDataAnalysis(TofData *tof, unsigned int iflag)
void findEtfData(std::vector< TofData * > tofDataVec1, std::vector< TofData * > tofDataVec2, std::vector< TofData * > tofDataVec3, double zrhit, unsigned int iflag)
void buildRecTofTrack(RecTofTrack *track, int layerorend)
void getTofData(TofData *tof, unsigned int iflag)
void match(bool forCalibration, std::vector< int > deadId, std::vector< TofTrack * > *&tofTrackVec)
double texpInner(unsigned int i) const
void findTofDataEndcap(std::vector< TofData * > tofDataVec1, std::vector< TofData * > tofDataVec2, double zr1[5])
TofData * chooseEtfData2(std::vector< TofData * > tofDataVec, double zrhit)
double tof21(unsigned int i) const
double tof1(unsigned int i) const
void setQuality1(int qual1)
TofTrack(int run, int event)
unsigned int flag() const
double errzr2(unsigned int i) const
double texpOuter(unsigned int i) const
void setRecTofTrack(RecTofTrack *track, int layerorend)
void convert2RecBTofCalHitColBarrel(int runNumber, int eventNumber, RecBTofCalHitCol *btofCalHitCol, std::string calibData)
void convert2RecETofCalHitCol(int runNumber, int eventNumber, RecETofCalHitCol *etofCalHitCol, std::string calibData)
void convert2RecBTofCalHitColETF(int runNumber, int eventNumber, RecBTofCalHitCol *btofCalHitCol, std::string calibData)
double texp(unsigned int i) const
TofData * compareTofData(TofData *tofData1, TofData *tofData2, double zrhit)
double tof22(unsigned int i) const
void getTofDataNohit(unsigned int iflag)
void setFlag(unsigned int flag)
unsigned int quality() const
double zr2(unsigned int i) const
TofData * chooseTofData(std::vector< TofData * > tofDataVec, double zrhit)
void getTofDataWest(TofData *tof, unsigned int iflag)
TofData * chooseEtfData1(std::vector< TofData * > tofDataVec, double zrhit)
void getMultiHit(TofTrack *&)
void setQuality2(int qual2)
TofData * compareTofDataEndcap(TofData *tofData1, TofData *tofData2)
std::vector< TofData * > tofData2() const
unsigned int barrel() const
void setExtTrack(RecExtTrack *extTrack, double costheta, double p[5], int kal[5], double t0, int t0Stat)
void getTofDataEast(TofData *tof, unsigned int iflag)
void findTofDataBarrel(std::vector< TofData * > tofDataVec1, std::vector< TofData * > tofDataVec2, double zrhit, unsigned int iflag, std::vector< TofTrack * > *&tofTrackVec)
unsigned int quality2() const
void setQuality(int qual)