1 #ifndef _ST_FGT_STRAIGHT_TRACK_MAKER_
3 #define _ST_FGT_STRAIGHT_TRACK_MAKER_
14 #include "StFgtGeneralBase.h"
15 #include "StFgtGenAVEMaker.h"
23 void SetEffDisk(Int_t disk);
25 pair<Double_t,Double_t> findCluChargeSize(Int_t iD,Char_t layer, Double_t ordinate);
30 void setUseChargeMatch(Bool_t use=
true);
32 vector<AVTrack>& getTracks();
33 void setTrackDcaCut(Float_t dca);
34 void setTrackZVtxCuts(Float_t minZVtx, Float_t maxZVtx);
35 void setMinNumFitPoints(Int_t numFP);
36 void addMultiplePoints(Bool_t addMult);
37 void setMaxClusters(Int_t maxC);
39 void setMaxDist2(Float_t d);
40 void setFitWithVertex(Bool_t f);
41 void setRefitWithVertex(Bool_t f);
42 void setMaxPhiDiff(Float_t pd);
44 virtual const char *GetCVS()
const
45 {
static const char cvs[]=
"Tag $Name: $ $Id: StFgtStraightTrackMaker.h,v 1.7 2014/08/06 11:43:10 jeromel Exp $ built " __DATE__
" " __TIME__ ;
return cvs;}
58 Bool_t doFitWithVertex;
59 Bool_t doRefitWithVertex;
60 Bool_t doAddMultiplePoints;
63 Int_t minNumFitPoints;
66 vector<generalCluster>** pClusters;
67 vector<generalStrip>* pStrips;
68 vector<vector<AVPoint>* > vvPoints;
69 vector<TH2D*> v_hClusP;
70 vector<TH2D*> v_hClusR;
71 Bool_t useChargeMatch;
76 pair<Double_t,Double_t> getChargeRatio(Float_t r, Float_t phi, Int_t iD, Int_t iq);
79 Bool_t
getTrack(vector<AVPoint>& points, Double_t ipZ);
80 pair<double,double>
getDca( vector<AVTrack>::iterator it);
81 vector<AVTrack> m_tracks;
84 Double_t getRPhiRatio(vector<generalCluster>::iterator hitIterBegin, vector<generalCluster>::iterator hitIterEnd);
85 Double_t
findClosestPoint(
float mx,
float bx,
float my,
float by,
double xE,
double yE, Int_t iD);
110 inline void StFgtStraightTrackMaker::setTrackDcaCut(Float_t dca)
114 inline void StFgtStraightTrackMaker::setTrackZVtxCuts(Float_t minZVtx, Float_t maxZVtx)
116 vertexCutPos=maxZVtx;
117 vertexCutNeg=minZVtx;
120 inline void StFgtStraightTrackMaker::setMaxPhiDiff(Float_t pd)
125 inline void StFgtStraightTrackMaker::SetEffDisk(Int_t disk)
129 inline void StFgtStraightTrackMaker::setUseChargeMatch(Bool_t use){useChargeMatch=use;};
130 inline vector<AVTrack>& StFgtStraightTrackMaker::getTracks(){
return m_tracks;};
134 inline void StFgtStraightTrackMaker::setMinNumFitPoints(Int_t numFP)
136 minNumFitPoints=numFP;
138 inline void StFgtStraightTrackMaker::addMultiplePoints(Bool_t addMult)
140 doAddMultiplePoints=addMult;
142 inline void StFgtStraightTrackMaker::setMaxClusters(Int_t maxC)
147 inline void StFgtStraightTrackMaker::setMaxDist2(Float_t d)
151 inline void StFgtStraightTrackMaker::setFitWithVertex(Bool_t f)
155 inline void StFgtStraightTrackMaker::setRefitWithVertex(Bool_t f)
Double_t findClosestPoint(float mx, float bx, float my, float by, double xE, double yE, Int_t iD)
pair< double, double > getDca(vector< AVTrack >::iterator it)
Short_t getQuadFromCoo(Double_t x, Double_t y)
this is too naive..., assumes non-rotated quads
Bool_t getTrack(vector< AVPoint > &points, Double_t ipZ)