25 HoughTrack(
int charge,
double angle,
double rho,
double dAngle,
double dRho,
int trkID);
38 void setRho(
double rho ) {m_rho = rho;}
42 void setDDz(
double dDz){m_dDz = dDz;}
53 double getRho()
const {
return m_rho;}
57 double getDDz()
const {
return m_dDz;}
63 double getDr()
const {
return m_dr;}
66 double getDz()
const {
return m_dz;}
79 int findXHot(vector<HoughHit*>& hitList,
int charge);
81 void sortHot(vector<HoughHit*>& hotList);
96 void resetNhitHalf() {m_nHitFirstHalf=0; m_nHitSecondHalf=0; m_nHitUnused_FirstHalf=0; m_nHitUnused_SecondHalf=0;};
109 int fitHelix(
DotsHelixFitter* fitter,
double bunchT0, RecCgemClusterCol::iterator recCgemClusterColBegin,
double averageChi2cut=25);
115 void update(
double angle,
double rho);
117 void markUsedHot(vector<HoughHit*>& hitPntList,
int use=1);
139 int findVHot(vector<HoughHit*>& hitList,
int charge,
int maxLayer,
double cutFactor=1.0);
150 void setRecMdcHitVec(vector<RecMdcHit>& aRecMdcHitVec) { m_vecRecMdcHit=aRecMdcHitVec; };
180 vector<HoughHit*> m_vecHitPnt;
181 vector<double> m_vecHitResidual;
182 vector<double> m_vecHitChi2;
183 map<int,double> m_map_lay_d;
184 map<int,HoughHit*> m_map_lay_hit;
185 std::set<int> m_setLayer;
186 int XGapSize(std::set<int> aLaySet,
int& gapMax);
187 void XhitCutWindow(
double rho,
int ilayer,
double charge,
double& cut1,
double &cut2);
188 static TGraph* m_cut1_cgem, *m_cut2_cgem;
189 static TGraph* m_cut1_ODC1, *m_cut2_ODC1;
190 static TGraph* m_cut1_ODC2, *m_cut2_ODC2;
195 int m_nHitUnused_FirstHalf;
196 int m_nHitSecondHalf;
197 int m_nHitUnused_SecondHalf;
204 vector<HoughHit*> m_vecStereoHitPnt;
205 vector<double> m_vecStereoHitRes;
207 vector<CgemHitOnTrack*> m_cgemHitVector;
214 vector<const MdcDigi*> m_vecMdcDigiPnt;
215 vector<const RecCgemCluster*> m_vecCgemClusterPnt;
217 vector<RecMdcHit> m_vecRecMdcHit;
**********INTEGER nmxhep !maximum number of particles DOUBLE PRECISION vhep INTEGER jdahep COMMON hepevt $ !serial number $ !number of particles $ !status code $ !particle ident KF $ !parent particles $ !childreen particles $ !four momentum
vector< HoughTrack * >::iterator TrackVector_Iterator
double dr(void) const
returns an element of parameters.
const HepVector & a(void) const
returns helix parameters.
const HepPoint3D & pivot(void) const
returns pivot position.
int getCircleFitStat() const
void updateCirclePar(double dr, double phi0, double kappa)
void setAngle(double angle)
int findXHot(vector< HoughHit * > &hitList, int charge)
static int m_useCgemInGlobalFit
vector< double > getVecStereoHitRes()
double driftDistRes(HoughHit *hit)
void sortHot(vector< HoughHit * > &hotList)
TrkRecoTrk * getTrkRecoTrk()
int findVHot(vector< HoughHit * > &hitList, int charge, int maxLayer, double cutFactor=1.0)
int getNhitUnusedSecondHalf()
void markUsedHot(vector< HoughHit * > &hitPntList, int use=1)
vector< RecMdcHit > * getRecMdcHitVec()
void dropHitPnt(HoughHit *aHitPnt)
void setDAngle(double dAngle)
int getNhitUnusedFirstHalf()
void setTanl(double tanl)
void setDRho(double dRho)
TrkErrCode fitCircle(const MdcDetector *mdcDetector, TrkContextEv *trkContextEv, double bunchT0)
vector< double > getVecHitRes()
void addVecStereoHitPnt(HoughHit *aHitPnt)
HoughTrack * getMcTrack() const
int judgeHalf(HoughHit *hit)
void dropRedundentCgemXHits()
vector< HoughHit * > getVecHitPnt()
HoughTrack & operator=(const HoughTrack &other)
vector< HoughHit * > getVecStereoHitPnt()
void setMcTrack(HoughTrack *mcTrack)
void setCharge(int charge)
int judgeCharge(HoughHit *hit)
vector< HoughHit * > getHotList(int type=2)
void dropVHitPnt(HoughHit *aHitPnt)
void setDTanl(double dTanl)
static TGraph * m_cut[2][43]
void addHitPnt(HoughHit *aHitPnt)
void setRecMdcHitVec(vector< RecMdcHit > &aRecMdcHitVec)
void setChi2(double chi2)
int calculateZ_S(HoughHit *hit)
void dropRedundentCgemVHits()
int fitHelix(DotsHelixFitter *fitter, double bunchT0, RecCgemClusterCol::iterator recCgemClusterColBegin, double averageChi2cut=25)