const AliTRDReconstructor *fkReconstructor;//! local reconstructor
AliTRDcluster **fClusterIter; //! clusters iterator
Int_t fIndexes[kNclusters]; //! Indexes
- Float_t fExB; //! tg(a_L) @ tracklet location
- Float_t fVD; //! drift velocity @ tracklet location
- Float_t fT0; //! time 0 @ tracklet location
- Float_t fS2PRF; //! sigma^2 PRF for xd->0 and phi=a_L
- Float_t fDiffL; //! longitudinal diffusion coefficient
- Float_t fDiffT; //! transversal diffusion coefficient
+ Float_t fExB; // tg(a_L) @ tracklet location
+ Float_t fVD; // drift velocity @ tracklet location
+ Float_t fT0; // time 0 @ tracklet location
+ Float_t fS2PRF; // sigma^2 PRF for xd->0 and phi=a_L
+ Float_t fDiffL; // longitudinal diffusion coefficient
+ Float_t fDiffT; // transversal diffusion coefficient
Char_t fClusterIdx; //! clusters iterator
UChar_t fErrorMsg; // processing error
UInt_t fN; // number of clusters attached/used/shared
static TLinearFitter *fgFitterY; // Linear Fitter for tracklet fit in xy-plane
static TLinearFitter *fgFitterZ; // Linear Fitter for tracklet fit in xz-plane
- ClassDef(AliTRDseedV1, 8) // The offline TRD tracklet
+ ClassDef(AliTRDseedV1, 9) // The offline TRD tracklet
};
//____________________________________________________________
// Constructor of the nested class AliTRDtrackFitterLeastSquare
//
// Fast solving linear regresion in 2D
-// y=ax+b
+// y=a + bx
// The data members have the following meaning
-// fParams[0] : b
-// fParams[1] : a
+// fParams[0] : a
+// fParams[1] : b
//
// fSums[0] : S
// fSums[1] : Sx
// fSums[4] : Sxx
// fSums[5] : Syy
//
-// fCovarianceMatrix[0] : s2b
-// fCovarianceMatrix[1] : s2a
+// fCovarianceMatrix[0] : s2a
+// fCovarianceMatrix[1] : s2b
// fCovarianceMatrix[2] : cov(ab)
memset(fParams, 0, sizeof(Double_t) * 2);
// printf("fParams[0] = %f, fParams[1] = %f\n", fParams[0], fParams[1]);
// Covariance matrix
- fCovarianceMatrix[0] = fSums[4] / fSums[0] - fSums[1] * fSums[1] / (fSums[0] * fSums[0]);
+ Double_t den = fSums[0]*fSums[4] - fSums[1]*fSums[1];
+ fCovarianceMatrix[0] = fSums[4] / den;
+ fCovarianceMatrix[1] = fSums[0] / den;
+ fCovarianceMatrix[2] = -fSums[1] / den;
+/* fCovarianceMatrix[0] = fSums[4] / fSums[0] - fSums[1] * fSums[1] / (fSums[0] * fSums[0]);
fCovarianceMatrix[1] = fSums[5] / fSums[0] - fSums[2] * fSums[2] / (fSums[0] * fSums[0]);
- fCovarianceMatrix[2] = fSums[3] / fSums[0] - fSums[1] * fSums[2] / (fSums[0] * fSums[0]);
+ fCovarianceMatrix[2] = fSums[3] / fSums[0] - fSums[1] * fSums[2] / (fSums[0] * fSums[0]);*/
+
+
+
return kTRUE;
}