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:
//
//
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
//
//
//
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);
};