FairRoot/PandaRoot
|
#include <PndSttHelixTrackFitter.h>
Public Member Functions | |
PndSttHelixTrackFitter () | |
PndSttHelixTrackFitter (Int_t verbose) | |
~PndSttHelixTrackFitter () | |
void | Init () |
Bool_t | IntersectionFinder (PndTrackCand *pTrackCand) |
Int_t | XYFit (PndTrackCand *pTrackCand, Int_t whatToFit) |
Int_t | XYFitThroughOrigin (PndTrackCand *pTrackCand, Int_t whatToFit) |
Int_t | MinuitFit (PndTrackCand *pTrackCand, Int_t whatToFit) |
Int_t | SetUpFitVector (PndTrackCand *pTrackCand, TMatrixT< Double32_t > &fitvect) |
Bool_t | ZFinder (PndTrackCand *pTrackCand, Int_t whatToFit) |
Bool_t | ZFinderThroughOrigin (PndTrackCand *pTrackCand, Int_t whatToFit) |
void | Hough (TVector3 *choice, Double_t Phi0, Double_t x0, Double_t y0, Double_t R) |
TVector3 | GetHoughResponse () |
void | HoughThroughOrigin (TVector3 *choice, Double_t Phi0, Double_t x0, Double_t y0, Double_t R) |
TVector3 | GetHoughResponseThroughOrigin () |
Int_t | ZFit (PndTrackCand *pTrackCand, Int_t whatToFit) |
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) |
Int_t | DoFit (PndTrackCand *pTrackCand, PndSttTrack *pTrack, Int_t pidHypo=211) |
Int_t | DoFitPlain (PndTrackCand *pTrackCand, PndSttTrack *pTrack, Int_t pidHypo=211) |
Int_t | GetCharge (Double_t dCenter, Double_t phiCenter, Double_t radius) |
void | OrderHitsByR (std::map< Double_t, Int_t > &hitMap) |
Double_t | GetHitAngle (Int_t hitNo, Double_t dCenter, Double_t phiCenter, Double_t radius) |
PndSttHit * | GetHitFromCollections (Int_t hitCounter) const |
virtual void | AddHitCollection (TClonesArray *mHitArray) |
virtual void | Extrapolate (PndSttTrack *track, Double_t r, FairTrackParam *param) |
void | ResetMArray () |
PndSttTrack * | GetTrack () const |
PndTrackCand * | GetTrackCand () const |
TClonesArray * | GetHitArray () const |
void | SetConstraint (Int_t con) |
Int_t | GetConstraint () |
void | SetTubeArray (TClonesArray *tubeArray) |
void | SetDisplayLevel (Int_t display=2) |
void | InitEventDisplay () |
Bool_t | RunEventDisplay (PndTrackCand *trackCand) |
void | FinishEventDisplay (PndSttTrack *track) |
ClassDef (PndSttHelixTrackFitter, 1) | |
ClassDef (PndSttTrackFitter, 1) | |
Public Attributes | |
TList | fHitCollectionList |
Double_t | refAngle |
Int_t | fConstraint |
TClonesArray * | fTubeArray |
Int_t | fDisplayLevel |
Private Attributes | |
Int_t | fEventCounter |
PndSttTrack * | fTrack |
PndTrackCand * | fTrackCand |
PndSttTrack | currentTrack |
TClonesArray * | fHitArray |
TClonesArray * | fPointArray |
TObjArray * | ZPointsArray |
TH2F * | h1 |
TH2F * | h2 |
TH2F * | h3 |
TH2F * | h4 |
TH2F * | houg |
TH1F * | hougcon |
TCanvas * | eventCanvas |
TCanvas * | eventDetails |
Bool_t | rootoutput |
Int_t | fVerbose |
Definition at line 35 of file PndSttHelixTrackFitter.h.
PndSttHelixTrackFitter::PndSttHelixTrackFitter | ( | ) |
Definition at line 48 of file PndSttHelixTrackFitter.cxx.
References fConstraint, fDisplayLevel, fEventCounter, and fVerbose.
PndSttHelixTrackFitter::PndSttHelixTrackFitter | ( | Int_t | verbose | ) |
Definition at line 56 of file PndSttHelixTrackFitter.cxx.
References fConstraint, fDisplayLevel, fEventCounter, fVerbose, and verbose.
PndSttHelixTrackFitter::~PndSttHelixTrackFitter | ( | ) |
Definition at line 64 of file PndSttHelixTrackFitter.cxx.
|
inlinevirtual |
Reimplemented from PndSttTrackFitter.
Definition at line 97 of file PndSttHelixTrackFitter.h.
References fHitCollectionList.
|
inherited |
PndSttHelixTrackFitter::ClassDef | ( | PndSttHelixTrackFitter | , |
1 | |||
) |
|
virtual |
Abstract method DoFit. To be implemented in the concrete class. Task: Make a fit to the hits attached to the track by the track finder. Fill the track parameter member variables.
pTrackCand | Pointer to PndTrackCand (input) |
pTrack | Pointer to PndSttTrack (output) |
pidHypo | PID hypothesis for the fit. Default is pion. |
Implements PndSttTrackFitter.
Definition at line 105 of file PndSttHelixTrackFitter.cxx.
References DoFitPlain(), fConstraint, fDisplayLevel, and RunEventDisplay().
Int_t PndSttHelixTrackFitter::DoFitPlain | ( | PndTrackCand * | pTrackCand, |
PndSttTrack * | pTrack, | ||
Int_t | pidHypo = 211 |
||
) |
Definition at line 125 of file PndSttHelixTrackFitter.cxx.
References Bool_t, cos(), fDisplayLevel, FinishEventDisplay(), fTrack, fTrackCand, fVerbose, PndSttTrack::GetCharge(), PndSttTrack::GetDist(), PndSttTrack::GetPhi(), PndSttTrack::GetRad(), PndSttTrack::GetTanL(), h, IntersectionFinder(), MinuitFit(), Pi, pt(), RunEventDisplay(), PndSttTrack::SetFlag(), PndSttTrack::SetRad(), sin(), XYFit(), ZFinder(), and ZFit().
Referenced by DoFit().
|
virtual |
Abstract method Extrapolate. Gives track parameters at a given r position.
track | Pointer to SttTrack |
r | r position |
param | (return value) SttTrackParam at r |
Implements PndSttTrackFitter.
Definition at line 1455 of file PndSttHelixTrackFitter.cxx.
TVector3 PndSttHelixTrackFitter::FindCorrectZ | ( | TObjArray * | choices, |
Double_t | x_0, | ||
Double_t | y_0, | ||
Double_t | x0, | ||
Double_t | y0, | ||
Double_t | R | ||
) |
Definition at line 3116 of file PndSttHelixTrackFitter.cxx.
References CAMath::ATan2(), choice, CAMath::Cos(), Double_t, eventDetails, fDisplayLevel, h, hougcon, i, Pi, CAMath::Sin(), CAMath::Tan(), x, x0, y, and y0.
Referenced by ZFinderThroughOrigin().
void PndSttHelixTrackFitter::FinishEventDisplay | ( | PndSttTrack * | track | ) |
Definition at line 3080 of file PndSttHelixTrackFitter.cxx.
References cos(), eventCanvas, eventDetails, fDisplayLevel, PndSttTrack::GetDist(), PndSttTrack::GetFlag(), PndSttTrack::GetPhi(), PndSttTrack::GetRad(), PndSttTrack::GetTanL(), PndSttTrack::GetZ(), and sin().
Referenced by DoFitPlain().
Definition at line 1734 of file PndSttHelixTrackFitter.cxx.
References angle, Double_t, dPi, fTubeArray, GetHitAngle(), GetHitFromCollections(), PndSttTube::GetPosition(), PndSttHit::GetTubeID(), OrderHitsByR(), and refAngle.
Referenced by MinuitFit(), XYFit(), and XYFitThroughOrigin().
|
inline |
Definition at line 114 of file PndSttHelixTrackFitter.h.
Double_t PndSttHelixTrackFitter::GetHitAngle | ( | Int_t | hitNo, |
Double_t | dCenter, | ||
Double_t | phiCenter, | ||
Double_t | radius | ||
) |
Definition at line 1658 of file PndSttHelixTrackFitter.cxx.
References angle, cos(), Double_t, dPi, fTubeArray, GetHitFromCollections(), PndSttTube::GetPosition(), PndSttHit::GetTubeID(), Pi, and sin().
Referenced by GetCharge().
|
inline |
PndSttHit * PndSttHelixTrackFitter::GetHitFromCollections | ( | Int_t | hitCounter | ) | const |
Definition at line 1631 of file PndSttHelixTrackFitter.cxx.
References At, fHitCollectionList, and GetEntriesFast().
Referenced by GetCharge(), GetHitAngle(), and OrderHitsByR().
TVector3 PndSttHelixTrackFitter::GetHoughResponse | ( | ) |
Definition at line 1393 of file PndSttHelixTrackFitter.cxx.
References a, b, Double_t, eventDetails, fDisplayLevel, i, Pi, CAMath::Tan(), and vote.
Referenced by ZFinder().
TVector3 PndSttHelixTrackFitter::GetHoughResponseThroughOrigin | ( | ) |
Definition at line 2200 of file PndSttHelixTrackFitter.cxx.
References a, Double_t, eventDetails, fDisplayLevel, hougcon, i, Pi, CAMath::Tan(), and votecon.
|
inline |
|
inline |
void PndSttHelixTrackFitter::Hough | ( | TVector3 * | choice, |
Double_t | Phi0, | ||
Double_t | x0, | ||
Double_t | y0, | ||
Double_t | R | ||
) |
Definition at line 1353 of file PndSttHelixTrackFitter.cxx.
References a, CAMath::ATan2(), b, CAMath::Cos(), Double_t, fabs(), h, i, Pi, CAMath::Sin(), CAMath::Tan(), vote, x, x0, y, and y0.
Referenced by ZFinder().
void PndSttHelixTrackFitter::HoughThroughOrigin | ( | TVector3 * | choice, |
Double_t | Phi0, | ||
Double_t | x0, | ||
Double_t | y0, | ||
Double_t | R | ||
) |
Definition at line 2167 of file PndSttHelixTrackFitter.cxx.
References a, CAMath::ATan2(), CAMath::Cos(), Double_t, fabs(), h, i, Pi, CAMath::Sin(), CAMath::Tan(), votecon, x, x0, y, and y0.
|
virtual |
Virtual method Init. If needed, to be implemented in the concrete class. Else no action.
Reimplemented from PndSttTrackFitter.
Definition at line 68 of file PndSttHelixTrackFitter.cxx.
References fDisplayLevel, fEventCounter, fHitArray, fPointArray, and InitEventDisplay().
void PndSttHelixTrackFitter::InitEventDisplay | ( | ) |
Int_t PndSttHelixTrackFitter::DoFitThroughOrigin(PndTrackCand* pTrackCand, PndSttTrack* pTrack, Int_t pidHypo) { TO BE USED ONLY when PndSttTrackFinderReal is applied: the PR finds only PRIMARY TRACKS ==> the track can be forced to come from the IP (0, 0, 0)
the starting point is the PR found track seed
if(!pTrackCand) return 0; fTrack = pTrack; // CHECK canc fTrackCand = pTrackCand; if(fDisplayLevel > 0) { RunEventDisplay(pTrackCand); char goOnChar; cout << "press any key to continue: " << endl; cin >> goOnChar; }
Int_t fit = 0;
fit = XYFitThroughOrigin(pTrackCand, 1); CHECK ******************* TO USE THIS A BIG CHANGE IS NEEDED TO RETRIEVE THE START POINT FROM PndTrack
take start point from PR =================================================== TVector3 foundMom = pTrackCand->getDirSeed(); Double_t momMag = fabs(1./pTrackCand->getQoverPseed()); foundMom.SetMag(momMag); TVector3 foundVtx = pTrackCand->getPosSeed(); int foundCharge = (int) (pTrackCand->getQoverPseed()/fabs(pTrackCand->getQoverPseed())); Double_t foundRad = foundMom.Perp() / 0.006; track from tangent ------------------— double found_m1 = foundMom.Y() / foundMom.X(); double found_q1 = foundVtx.Y() - foundVtx.X() * found_m1; double found_m2 = -1./found_m1; double found_q2 = foundVtx.Y() - foundVtx.X() * found_m2;
double alpha = TMath::ATan2(foundMom.X(), foundMom.Y()); double foundX0, foundY0; if(foundCharge > 0) { foundX0 = foundVtx.X() + foundRad * TMath::Cos(alpha); foundY0 = foundVtx.Y() - foundRad * TMath::Sin(alpha); } else { foundX0 = foundVtx.X() - foundRad * TMath::Cos(alpha); foundY0 = foundVtx.Y() + foundRad * TMath::Sin(alpha); }
Double_t foundDist, foundPhi;
foundDist = TMath::Sqrt(foundX0 * foundX0 + foundY0 * foundY0) - foundRad; foundPhi = atan2(foundY0, foundX0);
Double_t foundTanL, foundZ = 0; // CHECK foundTanL = foundMom.Z()/foundMom.Perp();
fTrack->SetDist(foundDist); fTrack->SetPhi(foundPhi); fTrack->SetRad(foundRad); fTrack->SetTanL(foundTanL); fTrack->SetZ(foundZ); fTrack->SetCharge(foundCharge);
if(fDisplayLevel >= 4) { TArc *foundcir = new TArc(foundX0, foundY0, foundRad); eventCanvas->cd(1); foundcir->SetLineColor(8); foundcir->SetFillStyle(0); foundcir->Draw("SAME"); }
if the track finding is ok if(fTrack->GetRad() == 0 || !(fTrack->GetRad()) || fTrack->GetRad() > 3000) { fTrack->SetRad(-999); if(fVerbose == 2) cout << "-E- track finding FAILED" << endl; return 0; } else { pTrack->SetFlag(1); // prefit done Bool_t Rint = IntersectionFinder(pTrackCand); cout << "refit" << endl; if refit is OK if(Rint == kTRUE) { fit = XYFitThroughOrigin(pTrackCand, 2); Rint = IntersectionFinder(pTrackCand); if(Rint == kTRUE) fit = XYFitThroughOrigin(pTrackCand, 2); // MinuitFit(pTrackCand, 2); Rint = IntersectionFinder(pTrackCand); if(Rint == kTRUE) fit = XYFitThroughOrigin(pTrackCand, 2); // MinuitFit(pTrackCand, 2);
} else { return 0; } if(fit == 1 && fTrack->GetRad()>0&& fTrack->GetRad() < 3000) {
pTrack->SetFlag(2); // refit done Bool_t zint = ZFinderThroughOrigin(pTrackCand, 1);
if(zint == kTRUE) { Int_t zfit = ZFitThroughOrigin(pTrackCand, 1); if(zfit == 1) { pTrack->SetFlag(3); // z fit done } } else if(fVerbose == 2) cout << "-E- zfinder FAILED" << endl; } }
if(fVerbose == 2) { cout << "param last d : " << fTrack->GetDist() << endl; cout << "param last phi : " << fTrack->GetPhi() << endl; cout << "param last R : " << fTrack->GetRad() << endl; cout << "param last tanL : " << fTrack->GetTanL() << endl; cout << "param last q : " << fTrack->GetCharge() << endl; double pt, pl; pt = fTrack->GetRad() * 0.006; pl = fTrack->GetRad() * fTrack->GetTanL() * 0.006; cout << "pT : " << pt << endl; cout << "pL : " << pl << endl; cout << "px, py, pz : " << pt * cos(-h * TMath::Pi()/2. + fTrack->GetPhi()) << " " << pt * sin(-h * TMath::Pi()/2. + fTrack->GetPhi()) << " " << pl << endl; }
if(fDisplayLevel > 0) FinishEventDisplay(fTrack);
return 0; }
Definition at line 2912 of file PndSttHelixTrackFitter.cxx.
References eventCanvas, eventDetails, fDisplayLevel, h1, h2, h3, h4, houg, and hougcon.
Referenced by Init().
Bool_t PndSttHelixTrackFitter::IntersectionFinder | ( | PndTrackCand * | pTrackCand | ) |
Definition at line 635 of file PndSttHelixTrackFitter.cxx.
References cos(), counter, Double_t, eventCanvas, fabs(), fDisplayLevel, fHitArray, fPointArray, fTrack, fTubeArray, PndSttTrack::GetDist(), PndTrackCandHit::GetHitId(), PndSttHit::GetIsochrone(), PndTrackCand::GetNHits(), PndSttTrack::GetPhi(), PndSttTube::GetPosition(), PndSttTrack::GetRad(), PndTrackCand::GetSortedHit(), PndSttHit::GetTubeID(), PndSttTube::GetWireDirection(), m, marray(), point, ResetMArray(), sin(), sqrt(), and vec.
Referenced by DoFitPlain().
Int_t PndSttHelixTrackFitter::MinuitFit | ( | PndTrackCand * | pTrackCand, |
Int_t | whatToFit | ||
) |
Definition at line 1504 of file PndSttHelixTrackFitter.cxx.
References CAMath::ATan2(), CAMath::Cos(), cos(), d, Double_t, eventCanvas, fcnHelix(), fcnHelix2(), fDisplayLevel, fEventCounter, fTrack, fVerbose, GetCharge(), PndSttTrack::GetDist(), PndTrackCand::GetNHits(), PndSttTrack::GetPhi(), PndSttTrack::GetRad(), h, phi, PndSttTrack::SetCharge(), PndSttTrack::SetDist(), PndSttTrack::SetPhi(), PndSttTrack::SetRad(), SetUpFitVector(), CAMath::Sin(), and sin().
Referenced by DoFitPlain().
Definition at line 1706 of file PndSttHelixTrackFitter.cxx.
References fTrackCand, fTubeArray, fVerbose, GetHitFromCollections(), PndTrackCandHit::GetHitId(), PndTrackCand::GetNHits(), PndSttTube::GetPosition(), PndTrackCand::GetSortedHit(), PndSttHit::GetTubeID(), PndSttTube::GetWireDirection(), and i.
Referenced by GetCharge().
void PndSttHelixTrackFitter::ResetMArray | ( | ) |
Definition at line 1462 of file PndSttHelixTrackFitter.cxx.
Referenced by IntersectionFinder().
Bool_t PndSttHelixTrackFitter::RunEventDisplay | ( | PndTrackCand * | trackCand | ) |
Definition at line 2946 of file PndSttHelixTrackFitter.cxx.
References Double_t, eventCanvas, eventDetails, fDisplayLevel, fHitArray, fPointArray, fTubeArray, PndSttTube::GetHalfLength(), PndTrackCandHit::GetHitId(), PndSttHit::GetIsochrone(), PndTrackCand::GetNHits(), PndSttTube::GetPosition(), PndTrackCand::GetSortedHit(), PndSttHit::GetTubeID(), PndSttTube::GetWireDirection(), h1, h2, h3, h4, houg, i, max(), and min().
Referenced by DoFit(), and DoFitPlain().
|
inline |
|
inline |
|
inlinevirtual |
CHECK added
Implements PndSttTrackFitter.
Definition at line 122 of file PndSttHelixTrackFitter.h.
References fTubeArray.
Int_t PndSttHelixTrackFitter::SetUpFitVector | ( | PndTrackCand * | pTrackCand, |
TMatrixT< Double32_t > & | fitvect | ||
) |
Definition at line 1467 of file PndSttHelixTrackFitter.cxx.
References counter, fHitArray, fTrackCand, fTubeArray, PndTrackCandHit::GetHitId(), PndSttHit::GetIsochrone(), PndSttHit::GetIsochroneError(), PndTrackCand::GetNHits(), PndTrackCand::GetSortedHit(), PndSttHit::GetTubeID(), PndSttTube::GetWireDirection(), i, and nhits.
Referenced by MinuitFit().
Int_t PndSttHelixTrackFitter::XYFit | ( | PndTrackCand * | pTrackCand, |
Int_t | whatToFit | ||
) |
Definition at line 210 of file PndSttHelixTrackFitter.cxx.
References a, alpha, CAMath::ATan2(), b, Bool_t, c, CAMath::Cos(), cos(), d, Double_t, eventCanvas, eventDetails, fabs(), fDisplayLevel, fHitArray, fPointArray, fTrack, fTubeArray, fVerbose, GetCharge(), PndSttTrack::GetDist(), PndTrackCandHit::GetHitId(), PndSttHit::GetIsochrone(), PndTrackCand::GetNHits(), PndSttTrack::GetPhi(), PndSttTrack::GetRad(), PndTrackCand::GetSortedHit(), PndSttHit::GetTubeID(), PndSttTube::GetWireDirection(), h, i, marray(), p, phi, pt(), R, s, PndSttTrack::SetCharge(), PndSttTrack::SetDist(), PndSttTrack::SetPhi(), PndSttTrack::SetRad(), CAMath::Sin(), sin(), sqrt(), and v.
Referenced by DoFitPlain().
Int_t PndSttHelixTrackFitter::XYFitThroughOrigin | ( | PndTrackCand * | pTrackCand, |
Int_t | whatToFit | ||
) |
---------------— with right errors Su = 0.; Sv = 0.; Suu = 0.; Suv = 0.; S1 = 0.;
TArrayD sigE2array(digicounter); Double_t sigE2; for(Int_t i=0; i< digicounter; i++){ if(uarray.At(i) == -999 || varray.At(i) == -999 || sigv2array.At(i) == -999) continue; sigE2 = sigv2array.At(i) + sigu2array.At(i) * pow((b + 2*c*uarray.At(i)),2); // CHECK calcolalo giusto!
sigE2array.AddAt(sigE2, i);
Su = Su + (uarray.At(i)/sigE2); Sv = Sv + (varray.At(i)/sigE2);
Suv = Suv + ((uarray.At(i)*varray.At(i))/sigE2); Suu = Suu + ((uarray.At(i)*uarray.At(i))/sigE2);
S1 = S1 + 1/sigE2; }
determ = S1*Suu - Su*Su; if(determ == 0) { return 0; }
v = a + bu double fita = (1/determ)*(Suu*Sv - Su*Suv); double fitb = (1/determ)*(S1*Suv - Su*Sv);
if(fVerbose == 2) { std::cout << "2) linear parameters:\n"; std::cout << "a = " << fita << "\n"; std::cout << "b = " << fitb << "\n"; }
chi2 = 0.; for(Int_t i=0; i<digicounter; i++){ if(uarray.At(i) == -999 || varray.At(i) == -999 || sigv2array.At(i) == -999) continue; chi2 = chi2 + pow(((varray.At(i) - (a + b*uarray.At(i)))/sqrt(sigE2array.At(i))), 2); }
Definition at line 1858 of file PndSttHelixTrackFitter.cxx.
References alpha, CAMath::ATan2(), Bool_t, CAMath::Cos(), cos(), d, Double_t, eventCanvas, eventDetails, fabs(), fDisplayLevel, fHitArray, fPointArray, fTrack, fTubeArray, fVerbose, GetCharge(), PndSttTrack::GetDist(), PndTrackCandHit::GetHitId(), PndSttHit::GetIsochrone(), PndTrackCand::GetNHits(), PndSttTrack::GetPhi(), PndSttTrack::GetRad(), PndTrackCand::GetSortedHit(), PndSttHit::GetTubeID(), PndSttTube::GetWireDirection(), h, i, marray(), phi, pt(), R, PndSttTrack::SetCharge(), PndSttTrack::SetDist(), PndSttTrack::SetPhi(), PndSttTrack::SetRad(), CAMath::Sin(), sin(), sqrt(), and v.
Bool_t PndSttHelixTrackFitter::ZFinder | ( | PndTrackCand * | pTrackCand, |
Int_t | whatToFit | ||
) |
Definition at line 807 of file PndSttHelixTrackFitter.cxx.
References a, CAMath::ATan2(), b, Bool_t, C(), PndSttTrack::CalculateScosl(), CAMath::Cos(), cos(), counter, d0, Double_t, eventCanvas, eventDetails, fabs(), fDisplayLevel, fHitArray, fPointArray, fTrack, fTubeArray, fVerbose, PndSttTrack::GetDist(), PndSttTube::GetHalfLength(), PndTrackCandHit::GetHitId(), GetHoughResponse(), PndSttHit::GetIsochrone(), PndTrackCand::GetNHits(), PndSttTrack::GetPhi(), PndSttTube::GetPosition(), PndSttTrack::GetRad(), PndTrackCand::GetSortedHit(), PndSttHit::GetTubeID(), PndSttTube::GetWireDirection(), h, Hough(), i, max(), min(), phi0, pt(), R, CAMath::Sin(), sin(), CAMath::Sqrt(), x0, y0, and ZPointsArray.
Referenced by DoFitPlain().
Bool_t PndSttHelixTrackFitter::ZFinderThroughOrigin | ( | PndTrackCand * | pTrackCand, |
Int_t | whatToFit | ||
) |
Definition at line 2241 of file PndSttHelixTrackFitter.cxx.
References a, CAMath::ATan2(), b, Bool_t, C(), PndSttTrack::CalculateScosl(), CAMath::Cos(), cos(), counter, d0, Double_t, eventCanvas, eventDetails, fabs(), fDisplayLevel, fHitArray, FindCorrectZ(), fPointArray, fTrack, fTubeArray, fVerbose, PndSttTrack::GetDist(), PndSttTube::GetHalfLength(), PndTrackCandHit::GetHitId(), PndSttHit::GetIsochrone(), PndTrackCand::GetNHits(), PndSttTrack::GetPhi(), PndSttTube::GetPosition(), PndSttTrack::GetRad(), PndTrackCand::GetSortedHit(), PndSttHit::GetTubeID(), PndSttTube::GetWireDirection(), h, i, max(), min(), phi0, pt(), R, CAMath::Sin(), sin(), CAMath::Sqrt(), x0, y0, and ZPointsArray.
Int_t PndSttHelixTrackFitter::ZFit | ( | PndTrackCand * | pTrackCand, |
Int_t | whatToFit | ||
) |
Definition at line 1239 of file PndSttHelixTrackFitter.cxx.
References PndSttTrack::CalculateScosl(), counter, Double_t, eventCanvas, fDisplayLevel, fHitArray, fPointArray, fTrack, fTrackCand, fTubeArray, fVerbose, PndSttTube::GetHalfLength(), PndTrackCandHit::GetHitId(), PndTrackCand::GetNHits(), PndSttTube::GetPosition(), PndTrackCand::GetSortedHit(), PndSttHit::GetTubeID(), PndSttTube::GetWireDirection(), i, PndSttTrack::SetTanL(), and PndSttTrack::SetZ().
Referenced by DoFitPlain().
Int_t PndSttHelixTrackFitter::ZFitThroughOrigin | ( | PndTrackCand * | pTrackCand, |
Int_t | whatToFit | ||
) |
Definition at line 2673 of file PndSttHelixTrackFitter.cxx.
References PndSttTrack::CalculateScosl(), counter, Double_t, eventCanvas, fDisplayLevel, fHitArray, fPointArray, fTrack, fTrackCand, fTubeArray, fVerbose, PndSttTube::GetHalfLength(), PndTrackCandHit::GetHitId(), PndTrackCand::GetNHits(), PndSttTube::GetPosition(), PndTrackCand::GetSortedHit(), PndSttHit::GetTubeID(), PndSttTube::GetWireDirection(), i, PndSttTrack::SetTanL(), and PndSttTrack::SetZ().
|
private |
Definition at line 42 of file PndSttHelixTrackFitter.h.
|
private |
Definition at line 50 of file PndSttHelixTrackFitter.h.
Referenced by FinishEventDisplay(), InitEventDisplay(), IntersectionFinder(), MinuitFit(), RunEventDisplay(), XYFit(), XYFitThroughOrigin(), ZFinder(), ZFinderThroughOrigin(), ZFit(), and ZFitThroughOrigin().
|
private |
Definition at line 50 of file PndSttHelixTrackFitter.h.
Referenced by FindCorrectZ(), FinishEventDisplay(), GetHoughResponse(), GetHoughResponseThroughOrigin(), InitEventDisplay(), RunEventDisplay(), XYFit(), XYFitThroughOrigin(), ZFinder(), and ZFinderThroughOrigin().
Int_t PndSttHelixTrackFitter::fConstraint |
Definition at line 119 of file PndSttHelixTrackFitter.h.
Referenced by DoFit(), PndSttHelixTrackFitter(), and SetConstraint().
Int_t PndSttHelixTrackFitter::fDisplayLevel |
Definition at line 122 of file PndSttHelixTrackFitter.h.
Referenced by DoFit(), DoFitPlain(), FindCorrectZ(), FinishEventDisplay(), GetHoughResponse(), GetHoughResponseThroughOrigin(), Init(), InitEventDisplay(), IntersectionFinder(), MinuitFit(), PndSttHelixTrackFitter(), RunEventDisplay(), SetDisplayLevel(), XYFit(), XYFitThroughOrigin(), ZFinder(), ZFinderThroughOrigin(), ZFit(), and ZFitThroughOrigin().
|
private |
Definition at line 38 of file PndSttHelixTrackFitter.h.
Referenced by Init(), MinuitFit(), and PndSttHelixTrackFitter().
|
private |
Definition at line 44 of file PndSttHelixTrackFitter.h.
Referenced by GetHitArray(), Init(), IntersectionFinder(), RunEventDisplay(), SetUpFitVector(), XYFit(), XYFitThroughOrigin(), ZFinder(), ZFinderThroughOrigin(), ZFit(), and ZFitThroughOrigin().
TList PndSttHelixTrackFitter::fHitCollectionList |
Definition at line 96 of file PndSttHelixTrackFitter.h.
Referenced by AddHitCollection(), and GetHitFromCollections().
|
private |
Definition at line 45 of file PndSttHelixTrackFitter.h.
Referenced by Init(), IntersectionFinder(), RunEventDisplay(), XYFit(), XYFitThroughOrigin(), ZFinder(), ZFinderThroughOrigin(), ZFit(), and ZFitThroughOrigin().
|
private |
Definition at line 40 of file PndSttHelixTrackFitter.h.
Referenced by DoFitPlain(), GetTrack(), IntersectionFinder(), MinuitFit(), XYFit(), XYFitThroughOrigin(), ZFinder(), ZFinderThroughOrigin(), ZFit(), and ZFitThroughOrigin().
|
private |
Definition at line 41 of file PndSttHelixTrackFitter.h.
Referenced by DoFitPlain(), GetTrackCand(), OrderHitsByR(), SetUpFitVector(), ZFit(), and ZFitThroughOrigin().
TClonesArray* PndSttHelixTrackFitter::fTubeArray |
Definition at line 121 of file PndSttHelixTrackFitter.h.
Referenced by GetCharge(), GetHitAngle(), IntersectionFinder(), OrderHitsByR(), RunEventDisplay(), SetTubeArray(), SetUpFitVector(), XYFit(), XYFitThroughOrigin(), ZFinder(), ZFinderThroughOrigin(), ZFit(), and ZFitThroughOrigin().
|
private |
Definition at line 52 of file PndSttHelixTrackFitter.h.
Referenced by DoFitPlain(), MinuitFit(), OrderHitsByR(), PndSttHelixTrackFitter(), XYFit(), XYFitThroughOrigin(), ZFinder(), ZFinderThroughOrigin(), ZFit(), and ZFitThroughOrigin().
|
private |
Definition at line 48 of file PndSttHelixTrackFitter.h.
Referenced by InitEventDisplay(), and RunEventDisplay().
|
private |
Definition at line 48 of file PndSttHelixTrackFitter.h.
Referenced by InitEventDisplay(), and RunEventDisplay().
|
private |
Definition at line 48 of file PndSttHelixTrackFitter.h.
Referenced by InitEventDisplay(), and RunEventDisplay().
|
private |
Definition at line 48 of file PndSttHelixTrackFitter.h.
Referenced by InitEventDisplay(), and RunEventDisplay().
|
private |
Definition at line 48 of file PndSttHelixTrackFitter.h.
Referenced by InitEventDisplay(), and RunEventDisplay().
|
private |
Definition at line 49 of file PndSttHelixTrackFitter.h.
Referenced by FindCorrectZ(), GetHoughResponseThroughOrigin(), and InitEventDisplay().
Double_t PndSttHelixTrackFitter::refAngle |
Definition at line 114 of file PndSttHelixTrackFitter.h.
Referenced by GetCharge().
|
private |
Definition at line 51 of file PndSttHelixTrackFitter.h.
|
private |
Definition at line 46 of file PndSttHelixTrackFitter.h.
Referenced by ZFinder(), and ZFinderThroughOrigin().