10 #ifndef PNDSTTHELIXTRACKFITTER 11 #define PNDSTTHELIXTRACKFITTER 1 32 void fcnHelix(Int_t &npar, Double_t *gin, Double_t &
f, Double_t *par, Int_t iflag);
33 void fcnHelix2(Int_t &npar, Double_t *gin, Double_t &
f, Double_t *par, Int_t iflag);
43 TClonesArray *fHitArray;
44 TClonesArray *fPointArray;
45 TObjArray *ZPointsArray;
47 TH2F *h1, *h2, *h3, *h4, *houg;
49 TCanvas *eventCanvas, *eventDetails;
74 void Hough(TVector3 *
choice, Double_t Phi0, Double_t x0, Double_t y0, Double_t R);
76 void HoughThroughOrigin(TVector3 *choice, Double_t Phi0, Double_t x0, Double_t y0, Double_t R);
82 TVector3
FindCorrectZ(TObjArray *choices, Double_t x_0, Double_t y_0, Double_t x0, Double_t y0, Double_t R);
90 Int_t
GetCharge(Double_t dCenter, Double_t phiCenter, Double_t radius);
92 Double_t
GetHitAngle(Int_t hitNo, Double_t dCenter, Double_t phiCenter, Double_t radius);
96 virtual void AddHitCollection(TClonesArray *mHitArray) { fHitCollectionList.Add(mHitArray); }
119 void SetTubeArray(TClonesArray *tubeArray) { fTubeArray = tubeArray; };
Int_t XYFit(PndTrackCand *pTrackCand, Int_t whatToFit)
Double_t GetHitAngle(Int_t hitNo, Double_t dCenter, Double_t phiCenter, Double_t radius)
void Hough(TVector3 *choice, Double_t Phi0, Double_t x0, Double_t y0, Double_t R)
PndTrackCand * GetTrackCand() const
#define choice(c1, c2, c3)
void HoughThroughOrigin(TVector3 *choice, Double_t Phi0, Double_t x0, Double_t y0, Double_t R)
Int_t ZFit(PndTrackCand *pTrackCand, Int_t whatToFit)
Bool_t RunEventDisplay(PndTrackCand *trackCand)
Int_t ZFitThroughOrigin(PndTrackCand *pTrackCand, Int_t whatToFit)
TVector3 FindCorrectZ(TObjArray *choices, Double_t x_0, Double_t y_0, Double_t x0, Double_t y0, Double_t R)
Bool_t IntersectionFinder(PndTrackCand *pTrackCand)
void FinishEventDisplay(PndSttTrack *track)
virtual void Extrapolate(PndSttTrack *track, Double_t r, FairTrackParam *param)
~PndSttHelixTrackFitter()
TClonesArray * GetHitArray() const
PndSttTrack * GetTrack() const
virtual void AddHitCollection(TClonesArray *mHitArray)
void fcnHelix2(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t iflag)
ClassDef(PndSttHelixTrackFitter, 1)
void SetTubeArray(TClonesArray *tubeArray)
Int_t DoFit(PndTrackCand *pTrackCand, PndSttTrack *pTrack, Int_t pidHypo=211)
TVector3 GetHoughResponse()
void SetDisplayLevel(Int_t display=2)
void OrderHitsByR(std::map< Double_t, Int_t > &hitMap)
TVector3 GetHoughResponseThroughOrigin()
PndSttHit * GetHitFromCollections(Int_t hitCounter) const
void fcnHelix(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t iflag)
Int_t DoFitPlain(PndTrackCand *pTrackCand, PndSttTrack *pTrack, Int_t pidHypo=211)
Bool_t ZFinderThroughOrigin(PndTrackCand *pTrackCand, Int_t whatToFit)
Int_t XYFitThroughOrigin(PndTrackCand *pTrackCand, Int_t whatToFit)
Bool_t ZFinder(PndTrackCand *pTrackCand, Int_t whatToFit)
Int_t MinuitFit(PndTrackCand *pTrackCand, Int_t whatToFit)
Int_t GetCharge(Double_t dCenter, Double_t phiCenter, Double_t radius)
Int_t SetUpFitVector(PndTrackCand *pTrackCand, TMatrixT< Double32_t > &fitvect)
TClonesArray * fTubeArray
void SetConstraint(Int_t con)