]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCkalmanFit.h
Updates for the TPC calibration using laser:
[u/mrichter/AliRoot.git] / TPC / AliTPCkalmanFit.h
index 986426d1a65cc28fbea5a3b1713d1dfcb1eb1380..59176ce70409a807e4b988d68fdfc9988448f063 100644 (file)
@@ -24,26 +24,36 @@ public:
 
   void  AddCalibration(AliTPCTransformation * calib);
   AliTPCTransformation * GetTransformation(Int_t i){return (fCalibration)? (AliTPCTransformation *)fCalibration->At(i):0;}  
+  Int_t GetTransformationIndex(const char * trName);
   //
   void SetStatus(const char * name, Bool_t setOn, Bool_t isOr=kTRUE);
   //
-  void FitTrackLinear(AliTrackPointArray& points, Int_t step=1,  TTreeSRedirector *debug=0);
+  void FitTrackLinear(AliTrackPointArray& points,  TTreeSRedirector *debug=0, Float_t scalingRMSY=1., Float_t scalingRMSZ=1.);
   void DumpTrackLinear(AliTrackPointArray& points, TTreeSRedirector *debug);
   void UpdateLinear(AliTrackPoint &point, TTreeSRedirector *debug=0);
 
   void Propagate(TTreeSRedirector *debug=0);
   void PropagateTime(Int_t time);
+  void AddCovariance(const char * varName, Double_t sigma);
   void Update(const AliTPCkalmanFit * kalman);
 
+  static AliTrackPointArray * SortPoints(AliTrackPointArray &points);
   static AliTrackPointArray * MakePointArrayLinear(Double_t alpha, Double_t y0, Double_t z0, Double_t ky, Double_t kz, Double_t err=0.02); 
   void  ApplyCalibration(AliTrackPointArray *array, Double_t csign);
   Bool_t  CheckCovariance(TMatrixD &covar, Float_t maxEl);
   
-  Bool_t DumpCorelation(Double_t threshold, const char *mask=0);
-  Bool_t DumpCalib(const char *mask=0);
+  Bool_t DumpCorelation(Double_t threshold, const char *mask0=0, const char *mask1=0);
+  Bool_t DumpCalib(const char *mask=0, Float_t correlationCut=-1);
   //
-  Double_t GetTPCDeltaXYZ(Int_t coord, Int_t volID, Double_t x, Double_t y, Double_t z);
-  static Double_t SGetTPCDeltaXYZ(Int_t coord, Int_t volID, Double_t x, Double_t y, Double_t z);
+  //Double_t GetTPCDeltaXYZ(Int_t coord, Int_t volID, Double_t x, Double_t y, Double_t z);
+  //static Double_t SGetTPCDeltaXYZ(Int_t coord, Int_t volID, Double_t x, Double_t y, Double_t z);
+
+  Double_t GetTPCDeltaXYZ(Int_t coord, Int_t volID, Int_t icoordsys, Double_t x, Double_t y, Double_t z);
+  static Double_t SGetTPCDeltaXYZ(Int_t coord, Int_t volID, Int_t icoordsys, Double_t x, Double_t y, Double_t z);
+  Double_t GetTPCtransXYZ(Int_t coord, Int_t volID, Int_t calibID, Int_t icoordsys, Double_t x, Double_t y, Double_t z);
+  static Double_t SGetTPCtransXYZ(Int_t coord, Int_t volID, Int_t calibID, Int_t icoordsys, Double_t x, Double_t y, Double_t z);
+  void MakeTreeTrans(TTreeSRedirector *debug, const char *treeName="all");
+
   AliTPCkalmanFit *Test(Int_t ntracks);
  public:
   //
@@ -57,8 +67,8 @@ public:
   //
   TMatrixD  *fLinearParam;      // linear parameters
   TMatrixD  *fLinearCovar;      // linear covariance
-  THnSparse *fLinearTrackDelta[8];   // linear tracks matching residuals - delta 
-  THnSparse *fLinearTrackPull[8];    // linear tracks matching residuals  - pull
+  THnSparse *fLinearTrackDelta[12];   // linear tracks matching residuals - delta 
+  THnSparse *fLinearTrackPull[12];    // linear tracks matching residuals  - pull
   //
   //
   //
@@ -70,9 +80,20 @@ public:
   Double_t   fCurrentAlpha; //! current rotation frame
   Double_t   fCA;           //! cosine of current angle
   Double_t   fSA;           //! sinus of current angle  
-//   AliTPCkalmanFit&  operator=(const AliTPCkalmanFit&){;}// not implemented
-//   AliTPCkalmanFit(const AliTPCkalmanFit&){;} //not implemented
-  ClassDef(AliTPCkalmanFit,1);
+  AliTPCkalmanFit&  operator=(const AliTPCkalmanFit&);// not implemented
+  AliTPCkalmanFit(const AliTPCkalmanFit&):TNamed(),
+                                  fCalibration(0),
+                                  fCalibParam(0),
+                                  fCalibCovar(0),
+                                  fLinearParam(0),
+                                  fLinearCovar(0),
+                                  fLastTimeStamp(-1),
+                                  fCurrentAlpha(0),  //! current rotation frame
+                                  fCA(0),     //! cosine of current angle
+                                  fSA(0)     //! sinus of current angle  
+                                          
+{;} //not implemented
+  ClassDef(AliTPCkalmanFit,3);
 };