00001 #ifndef RootEventData_TRecMucTrack_H 00002 #define RootEventData_TRecMucTrack_H 1 00003 00004 #include "TObject.h" 00005 #include <vector> 00006 00007 using namespace std; 00008 00009 class TRecMucTrack : public TObject { 00010 00011 public: 00012 00013 TRecMucTrack(); 00014 00015 ~TRecMucTrack (); 00016 00017 00018 // void Clear(Option_t *option =""); 00019 00020 // void PrInt_t(Option_t *option="") const; 00021 00022 //Get 00023 Int_t trackId() const { return m_trackId; } 00024 Int_t id() const { return m_id; } 00025 Int_t status() const { return m_status; } 00026 Int_t type() const { return m_type; } 00027 00028 Int_t startPart() const { return m_startPart; } // start position of track locates in which part 00029 Int_t endPart() const { return m_endPart; } // end position of track locates in which part 00030 Int_t brLastLayer() const { return m_brLastLayer; } // last layer with hits in barrel 00031 Int_t ecLastLayer() const { return m_ecLastLayer; } // last layer with hits in end cap 00032 Int_t numHits() const { return m_numHits; } // total hits on the track 00033 Int_t numLayers() const { return m_numLayers; } // number of layers with hits 00034 Int_t maxHitsInLayer() const { return m_maxHitsInLayer; } 00035 00036 Double_t depth() const { return m_depth; } // depth of the track transport in iron 00037 Double_t chi2() const { return m_chi2; } 00038 Int_t dof() const { return m_dof; } 00039 Double_t rms() const { return m_rms; } 00040 Double_t distance()const { return m_distance;} 00041 Double_t deltaPhi()const { return m_deltaPhi;} 00042 00043 Double_t xPos() const { return m_xPos; } // position on the start of track in muc (vertex) 00044 Double_t yPos() const { return m_yPos; } 00045 Double_t zPos() const { return m_zPos; } 00046 00047 Double_t xPosSigma() const { return m_xPosSigma; } // position on the start of track in muc (vertex) 00048 Double_t yPosSigma() const { return m_yPosSigma; } 00049 Double_t zPosSigma() const { return m_zPosSigma; } 00050 00051 Double_t px() const { return m_px; } // momentum on the start of track in muc 00052 Double_t py() const { return m_py; } 00053 Double_t pz() const { return m_pz; } 00054 00055 vector<Int_t> vecHits() const { return m_vecHits ;} 00056 vector<Int_t> expHits() const { return m_expHits ;} 00057 vector<Float_t> distHits() const { return m_distHits ;} 00058 00059 //added by LI Chunhua 2013/02/01 00060 Double_t kalRechi2() const {return m_kalrechi2;} 00061 Int_t kaldof() const {return m_kaldof;} 00062 Double_t kaldepth() const {return m_kaldepth;} 00063 Int_t kalbrLastLayer() const {return m_kalbrLastLayer;} 00064 Int_t kalecLastLayer() const {return m_kalecLastLayer;} 00065 //********************** 00066 00067 // Set 00068 void setTrackId(Int_t trackId) { m_trackId = trackId ;} 00069 void setId(Int_t id) { m_id = id ; } 00070 void setStatus(Int_t st) { m_status = st; } 00071 void setType(Int_t type) { m_type = type; } 00072 00073 void setStartPart(Int_t part) {m_startPart = part; } 00074 void setEndPart(Int_t part) {m_endPart = part; } 00075 void setBrLastLayer(Int_t layer) {m_brLastLayer = layer; } 00076 void setEcLastLayer(Int_t layer) {m_ecLastLayer = layer; } 00077 void setNumHits( Int_t numHits) { m_numHits = numHits; } 00078 void setNumLayers(Int_t numLayers) { m_numLayers = numLayers; } 00079 void setMaxHitsInLayer(Int_t maxHits) { m_maxHitsInLayer = maxHits; } 00080 00081 void setDepth( Double_t depth) { m_depth = depth; } 00082 void setChi2(Double_t chi2) { m_chi2 = chi2; } 00083 void setDof(Int_t dof) { m_dof = dof ; } 00084 void setRms(Double_t rms) { m_rms = rms ; } 00085 void setDistance(Double_t dist) { m_distance = dist ; } 00086 void setDeltaPhi(Double_t dphi){ m_deltaPhi = dphi; } 00087 00088 void setXPos(Double_t x) { m_xPos = x; } 00089 void setYPos(Double_t y) { m_yPos = y; } 00090 void setZPos(Double_t z) { m_zPos = z; } 00091 00092 void setXPosSigma(Double_t x) { m_xPosSigma = x; } 00093 void setYPosSigma(Double_t y) { m_yPosSigma = y; } 00094 void setZPosSigma(Double_t z) { m_zPosSigma = z; } 00095 00096 void setPx( Double_t px) { m_px = px; } 00097 void setPy( Double_t py) { m_py = py; } 00098 void setPz( Double_t pz) { m_pz = pz; } 00099 00100 void setVecHits(vector<Int_t>& vecHits) { m_vecHits = vecHits; } 00101 void setExpHits(vector<Int_t>& expHits) { m_expHits = expHits; } 00102 void setDistHits(vector<Float_t>& distHits) { m_distHits = distHits; } 00103 //added by LI Chunhua 00104 void setkalRechi2(Double_t ch){m_kalrechi2=ch;} 00105 void setkalDof(Int_t f){m_kaldof = f;} 00106 void setkalDepth(Double_t de){m_kaldepth = de;} 00107 void setkalbrLastLayer(Int_t br){m_kalbrLastLayer = br;} 00108 void setkalecLastLayer(Int_t ec){m_kalecLastLayer = ec;} 00109 //****************** 00110 void setTRecMucTrack(const TRecMucTrack* muctrk){ 00111 m_trackId = muctrk->trackId(); 00112 m_id = muctrk->id(); 00113 m_status = muctrk->status(); 00114 m_type = muctrk->type(); 00115 m_startPart = muctrk->startPart(); 00116 m_endPart = muctrk->endPart(); 00117 m_brLastLayer = muctrk->brLastLayer(); 00118 m_ecLastLayer = muctrk->ecLastLayer(); 00119 m_numHits = muctrk->numHits(); 00120 m_numLayers = muctrk->numLayers(); 00121 m_maxHitsInLayer = muctrk->maxHitsInLayer(); 00122 m_depth =muctrk->depth(); 00123 m_chi2 = muctrk->chi2(); 00124 m_dof = muctrk->dof(); 00125 m_rms = muctrk->rms(); 00126 m_xPos = muctrk->xPos(); 00127 m_yPos = muctrk->yPos(); 00128 m_zPos = muctrk->zPos(); 00129 m_xPosSigma=muctrk->xPosSigma(); 00130 m_yPosSigma=muctrk->yPosSigma(); 00131 m_zPosSigma=muctrk->zPosSigma(); 00132 m_px = muctrk->px(); 00133 m_py = muctrk->py(); 00134 m_pz = muctrk->pz(); 00135 m_distance = muctrk->distance(); 00136 m_deltaPhi = muctrk->deltaPhi(); 00137 m_vecHits = muctrk->vecHits(); 00138 m_expHits = muctrk->expHits(); 00139 m_distHits = muctrk->distHits(); 00140 //added by LI Chunhua 00141 m_kalrechi2 = muctrk->kalRechi2(); 00142 m_kaldof = muctrk->kaldof(); 00143 m_kaldepth = muctrk->kaldepth(); 00144 m_kalbrLastLayer=muctrk->kalbrLastLayer(); 00145 m_kalecLastLayer=muctrk->kalecLastLayer(); 00146 //********************** 00147 } 00148 private: 00149 Int_t m_trackId; // Track ID wensp Add 2005-10-19 00150 Int_t m_id; // Muc Identifier 00151 Int_t m_status; // Muc Status 00152 Int_t m_type; // Method of judge? 00153 00154 Int_t m_startPart; // In which part does the start position of track locate 00155 Int_t m_endPart; // In which part does the end position of track locate 00156 Int_t m_brLastLayer; // Last layer with hits in barrel 00157 Int_t m_ecLastLayer; // Last layer with hits in endcap 00158 Int_t m_numHits; // Number of hits on track 00159 Int_t m_numLayers; // Number of layer with hits 00160 Int_t m_maxHitsInLayer; // Max number of hits in a layer 00161 00162 Double_t m_depth; // Depth of iron penetrated 00163 Double_t m_chi2; // Fit parameters 00164 Int_t m_dof; 00165 Double_t m_rms; 00166 00167 Double_t m_xPos; // x position of muc track vertex 00168 Double_t m_yPos; // y position of muc track vertex 00169 Double_t m_zPos; // z position of muc track vertex 00170 00171 Double_t m_xPosSigma; // Sigma of x position of muc track vertex 00172 Double_t m_yPosSigma; // Sigma of y position of muc track vertex 00173 Double_t m_zPosSigma; // Sigma of z position of muc track vertex 00174 00175 00176 Double_t m_px; // px on muc track vertex 00177 Double_t m_py; // py on muc track vertex 00178 Double_t m_pz; // pz on muc track vertex 00179 00180 Double_t m_distance; // distance match of ext track with inner layer of Muc 00181 Double_t m_deltaPhi; // delta phi of mdc track and Muc hit in first layer 00182 00183 vector<Int_t> m_vecHits; 00184 vector<Int_t> m_expHits; 00185 vector<Float_t> m_distHits; 00186 00187 //added by LI Chunhua 00188 Double_t m_kalrechi2; 00189 Int_t m_kaldof; 00190 Double_t m_kaldepth; 00191 Int_t m_kalbrLastLayer; 00192 Int_t m_kalecLastLayer; 00193 00194 ClassDef(TRecMucTrack,3) 00195 }; 00196 00197 #endif