4#include "HoughTransAlg/HoughHit.h"
5#include "TrackUtil/Helix.h"
7#include "TrkBase/TrkErrCode.h"
8#include "MdcGeom/MdcDetector.h"
9#include "TrkFitter/TrkContextEv.h"
10#include "MdcData/MdcHit.h"
11#include "CgemData/CgemHitOnTrack.h"
12#include "TrkBase/TrkRecoTrk.h"
24 HoughTrack(
int charge,
double angle,
double rho,
double dAngle,
double dRho,
int trkID);
37 void setRho(
double rho ) {m_rho = rho;}
41 void setDDz(
double dDz){m_dDz = dDz;}
52 double getRho()
const {
return m_rho;}
56 double getDDz()
const {
return m_dDz;}
62 double getDr()
const {
return m_dr;}
65 double getDz()
const {
return m_dz;}
78 int findXHot(vector<HoughHit*>& hitList,
int charge);
95 void resetNhitHalf() {m_nHitFirstHalf=0; m_nHitSecondHalf=0; m_nHitUnused_FirstHalf=0; m_nHitUnused_SecondHalf=0;};
130 int findVHot(vector<HoughHit*>& hitList,
int charge,
int maxLayer);
138 static TGraph*
m_cut[2][43];
167 vector<HoughHit*> m_vecHitPnt;
168 vector<double> m_vecHitResidual;
169 vector<double> m_vecHitChi2;
170 map<int,double> m_map_lay_d;
171 map<int,HoughHit*> m_map_lay_hit;
172 std::set<int> m_setLayer;
173 int XGapSize(std::set<int> aLaySet,
int& gapMax);
174 void XhitCutWindow(
double rho,
int ilayer,
double charge,
double& cut1,
double &cut2);
175 static TGraph* m_cut1_cgem, *m_cut2_cgem;
176 static TGraph* m_cut1_ODC1, *m_cut2_ODC1;
177 static TGraph* m_cut1_ODC2, *m_cut2_ODC2;
182 int m_nHitUnused_FirstHalf;
183 int m_nHitSecondHalf;
184 int m_nHitUnused_SecondHalf;
191 vector<HoughHit*> m_vecStereoHitPnt;
192 vector<double> m_vecStereoHitRes;
194 vector<CgemHitOnTrack*> m_cgemHitVector;
**********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)
TrkErrCode fitHelix(const MdcDetector *mdcDetector, TrkContextEv *trkContextEv, double bunchT0, vector< MdcHit * > &mdcHitCol, vector< HoughHit * > &hot)
int findXHot(vector< HoughHit * > &hitList, int charge)
void markUsedHot(int use=1)
static int m_useCgemInGlobalFit
vector< double > getVecStereoHitRes()
double driftDistRes(HoughHit *hit)
void sortHot(vector< HoughHit * > &hotList)
TrkRecoTrk * getTrkRecoTrk()
int getNhitUnusedSecondHalf()
HoughTrack(int charge, const HepPoint3D &position, const Hep3Vector &momentum, int trkID)
void markUsedHot(vector< HoughHit * > &hitPntList, int use=1)
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()
int findVHot(vector< HoughHit * > &hitList, int charge, int maxLayer)
void addVecStereoHitPnt(HoughHit *aHitPnt)
HoughTrack * getMcTrack() const
TrkErrCode fitHelix(const MdcDetector *mdcDetector, const BField *bField, double bunchT0, vector< HoughHit * > &hot, int Layer)
HoughTrack(int charge, double angle, double rho, double dAngle, double dRho, int trkID)
int judgeHalf(HoughHit *hit)
void dropRedundentCgemXHits()
vector< HoughHit * > getVecHitPnt()
void update(double angle, double rho)
HoughTrack & operator=(const HoughTrack &other)
vector< HoughHit * > getVecStereoHitPnt()
void setMcTrack(HoughTrack *mcTrack)
void setCharge(int charge)
int judgeCharge(HoughHit *hit)
HoughTrack(HepPoint3D &pivot, HepVector &a, int trkID)
vector< HoughHit * > getHotList(int type=2)
void dropVHitPnt(HoughHit *aHitPnt)
void setDTanl(double dTanl)
HoughTrack(const HoughTrack &other)
static TGraph * m_cut[2][43]
void addHitPnt(HoughHit *aHitPnt)
void setChi2(double chi2)
int judgeCharge(double xHit, double yHit)
int calculateZ_S(HoughHit *hit)
void dropRedundentCgemVHits()