18 fHelixHits(TArrayI()),fPidHypo(0), fDist(0.),
fPhi(0.), fRad(0.), fTanL(0.),
fZ(0.), fH(0), fFlag(0), fChi2Long(0.), fNDF(0), fChi2Rad(0.), fTrackCandIndex(0)
33 cout <<
" Reco track corresponding to track cand: "
35 cout <<
" Parameters of the helix: " << endl;
38 cout <<
"Quality flag " <<
fFlag << endl;
47 AddLink(FairLink(
"STTHelixHit", helixhitindex));
61 Double_t m = (yc - point->Y()) / (xc - point->X());
66 Double_t x1 = (-(m*(q - yc) - xc) +
sqrt((m*(q - yc) - xc)*(m*(q - yc) - xc) - (m*m + 1)*((q - yc)*(q - yc) + xc*xc - R*R))) / (m*m + 1);
69 Double_t x2 = (-(m*(q - yc) - xc) -
sqrt((m*(q - yc) - xc)*(m*(q - yc) - xc) - (m*m + 1)*((q - yc)*(q - yc) + xc*xc - R*R))) / (m*m + 1);
72 Double_t dist1 =
sqrt((point->Y() - y1)*(point->Y() - y1) + (point->X() - x1)*(point->X() - x1));
73 Double_t dist2 =
sqrt((point->Y() - y2)*(point->Y() - y2) + (point->X() - x2)*(point->X() - x2));
76 if(dist1 < dist2) clsontrk =
new TVector3(x1, y1, 0.);
77 else clsontrk =
new TVector3(x2, y2, 0.);
99 Double_t m = (yc - point->Y()) / (xc - point->X());
110 if((
fH < 0 && (yc - point->Y()) < 0) || (
fH > 0 && (yc - point->Y()) > 0))
115 else if(
fH == 0) cout <<
"NO CHARGE" << endl;
123 TVector3 *ptotcl =
new TVector3(px, py, pl);
143 Double_t scos = -
fH *
fRad *
TMath::ATan2((y - y0) * TMath::Cos(Phi0) - (x - x0) * TMath::Sin(Phi0) ,
fRad + (x - x0) * TMath::Cos(Phi0) + (y - y0) * TMath::Sin(Phi0));
TVector3 * MomentumAtPoint(TVector3 *point)
Int_t fTrackCandIndex
// CHECK not for now, maybe in future if needed
friend F32vec4 sqrt(const F32vec4 &a)
void AddHelixHit(Int_t size, Int_t index, Int_t helixhitindex)
TVector3 * PCAToPoint(TVector3 *point)
Double_t fDist
// CHECK not for now, maybe in future if needed
TString pt(TString pts, TString exts="px py pz")
static T ATan2(const T &y, const T &x)
Double_t CalculateScosl(Double_t x, Double_t y)