]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
- modify covariance matrix calculation for tracklet fit
authorabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 24 Nov 2009 11:31:44 +0000 (11:31 +0000)
committerabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 24 Nov 2009 11:31:44 +0000 (11:31 +0000)
- save calibration constants in the tracklet

TRD/AliTRDseedV1.h
TRD/AliTRDtrackerV1.cxx

index 8b00eae39fd3e16ee7c78b1fb087815b4904dff3..59c702344b848f09dfa2f4aa4ae600118c55d73d 100644 (file)
@@ -207,12 +207,12 @@ private:
   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
@@ -241,7 +241,7 @@ private:
   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 
 };
 
 //____________________________________________________________
index 6a9f5eb7c53d1e4cb597960128ea469097c9d390..21d1b0d561bd13ec3325c6ce1ac2e88910579a13 100644 (file)
@@ -3677,10 +3677,10 @@ AliTRDtrackerV1::AliTRDLeastSquare::AliTRDLeastSquare(){
 // 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
@@ -3689,8 +3689,8 @@ AliTRDtrackerV1::AliTRDLeastSquare::AliTRDLeastSquare(){
 // 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);
@@ -3753,9 +3753,16 @@ Bool_t AliTRDtrackerV1::AliTRDLeastSquare::Eval(){
   //   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;
 }