4#include "ExtEvent/RecExtTrack.h"
5#include "RawDataProviderSvc/TofData.h"
6#include "TofRecEvent/RecTofTrack.h"
7#include "TofRecEvent/RecBTofCalHit.h"
8#include "TofRecEvent/RecETofCalHit.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, 11.6, 12.1, 12.6, 13.1, 13.6, 14.1};
29 int id1()
const {
return m_id1; }
30 int id2()
const {
return m_id2; }
33 int dstrip1()
const {
return m_delStrip1; }
34 int dstrip2()
const {
return m_delStrip2; }
35 unsigned int barrel()
const {
return m_barrel; }
37 double p()
const {
return m_momentum; }
38 double path()
const {
return m_path; }
39 double path1()
const {
return m_path1; }
40 double path2()
const {
return m_path2; }
41 double zrhit1()
const {
return m_zrhit1; }
42 double zrhit2()
const {
return m_zrhit2; }
45 double xhit1()
const {
return m_xhit1; }
46 double yhit1()
const {
return m_yhit1; }
47 double xhit2()
const {
return m_xhit2; }
48 double yhit2()
const {
return m_yhit2; }
49 int kal(
unsigned int i)
const {
return m_kal[i]; }
50 double zr1(
unsigned int i)
const {
return m_zr1[i]; }
51 double zr2(
unsigned int i)
const {
return m_zr2[i]; }
52 double errzr1(
unsigned int i)
const {
return m_ezr1[i]; }
53 double errzr2(
unsigned int i)
const {
return m_ezr2[i]; }
54 std::vector<TofData*>
tofData1()
const {
return m_tofData1; }
55 std::vector<TofData*>
tofData2()
const {
return m_tofData2; }
56 int size1()
const {
return m_tofData1.size(); }
57 int size2()
const {
return m_tofData2.size(); }
58 int size3()
const {
return m_tofData3.size(); }
59 int size4()
const {
return m_tofData4.size(); }
60 double theta1()
const {
return m_theta1; }
61 double theta2()
const {
return m_theta2; }
62 double phi1()
const {
return m_phi1; }
63 double phi2()
const {
return m_phi2; }
64 unsigned int quality1()
const {
return m_quality1; }
65 unsigned int quality2()
const {
return m_quality2; }
66 unsigned int quality()
const {
return m_quality; }
68 int tofId1()
const {
return m_tofId1; }
69 int tofId2()
const {
return m_tofId2; }
70 int strip1()
const {
return m_strip1; }
71 int strip2()
const {
return m_strip2; }
73 double ph11()
const {
return m_ph11; }
74 double ph12()
const {
return m_ph12; }
75 double ph21()
const {
return m_ph21; }
76 double ph22()
const {
return m_ph22; }
77 double ph1()
const {
return m_ph1; }
78 double ph2()
const {
return m_ph2; }
79 double ph()
const {
return m_ph; }
81 double tof11(
unsigned int i)
const {
return m_tof11[i]; }
82 double tof12(
unsigned int i)
const {
return m_tof12[i]; }
83 double tof21(
unsigned int i)
const {
return m_tof21[i]; }
84 double tof22(
unsigned int i)
const {
return m_tof22[i]; }
85 double tof1(
unsigned int i)
const {
return m_tof1[i]; }
86 double tof2(
unsigned int i)
const {
return m_tof2[i]; }
87 double tof(
unsigned int i)
const {
return m_tof[i]; }
89 double qch1()
const {
return m_qch1; }
90 double qch2()
const {
return m_qch2; }
91 double qch3()
const {
return m_qch3; }
92 double qch4()
const {
return m_qch4; }
93 double adc1()
const {
return m_adc1; }
94 double adc2()
const {
return m_adc2; }
95 double adc3()
const {
return m_adc3; }
96 double adc4()
const {
return m_adc4; }
97 double tdc1()
const {
return m_tdc1; }
98 double tdc2()
const {
return m_tdc2; }
99 double tdc3()
const {
return m_tdc3; }
100 double tdc4()
const {
return m_tdc4; }
102 double texpInner(
unsigned int i)
const {
return m_texpInner[i]; }
103 double texpOuter(
unsigned int i)
const {
return m_texpOuter[i]; }
104 double texp(
unsigned int i)
const {
return m_texp[i]; }
106 double ztdc1()
const {
return m_ztdc1; }
107 double ztdc2()
const {
return m_ztdc2; }
108 double zadc1()
const {
return m_zadc1; }
109 double zadc2()
const {
return m_zadc2; }
111 double estime()
const {
return m_estime; }
112 double tdiff1()
const {
return m_tdiff1; }
113 double tdiff2()
const {
return m_tdiff2; }
117 unsigned int flag()
const {
return m_flag; }
135 void match(
bool forCalibration, std::vector<int> deadId, std::vector<TofTrack*>*& tofTrackVec );
136 void findTofDataBarrel( std::vector<TofData*> tofDataVec1, std::vector<TofData*> tofDataVec2,
double zrhit,
unsigned int iflag, std::vector<TofTrack*>*& tofTrackVec );
142 void findEtfData( std::vector<TofData*> tofDataVec1, std::vector<TofData*> tofDataVec2, std::vector<TofData*> tofDataVec3,
double zrhit,
unsigned int iflag );
165 int m_id1, m_id2, m_istrip1, m_istrip2;
166 int m_tofId1, m_tofId2, m_strip1, m_strip2;
167 int m_delStrip1, m_delStrip2;
168 unsigned int m_barrel;
171 double m_path, m_path1, m_path2;
172 double m_zrhit1, m_errzr1, m_zrhit2, m_errzr2;
173 double m_xhit1, m_yhit1, m_xhit2, m_yhit2;
175 double m_zr1[5], m_ezr1[5], m_zr2[5], m_ezr2[5];
176 std::vector<TofData*> m_tofData1;
177 std::vector<TofData*> m_tofData2;
178 std::vector<TofData*> m_tofData3;
179 std::vector<TofData*> m_tofData4;
180 std::vector<TofData*> m_tofData5;
181 std::vector<TofData*> m_tofData6;
182 unsigned int m_quality1, m_quality2;
183 unsigned int m_quality;
194 double m_theta1, m_theta2, m_phi1, m_phi2;
196 double m_ph11, m_ph12, m_tof11[5], m_tof12[5];
197 double m_ph21, m_ph22, m_tof21[5], m_tof22[5];
198 double m_ph1, m_ph2, m_ph;
199 double m_tof1[5], m_tof2[5], m_tof[5];
201 double m_texp[5], m_texpInner[5], m_texpOuter[5];
203 double m_sigma11, m_sigma12, m_sigma21, m_sigma22;
204 double m_sigma1, m_sigma2, m_sigma;
206 double m_qch1, m_qch2, m_qch3, m_qch4;
207 double m_adc1, m_adc2, m_adc3, m_adc4;
208 double m_tdc1, m_tdc2, m_tdc3, m_tdc4;
210 double m_ztdc1, m_ztdc2, m_zadc1, m_zadc2;
212 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)