AliRoot Core  3dc7879 (3dc7879)
Go to the documentation of this file.
1 #ifndef ALIRIEMAN_H
2 #define ALIRIEMAN_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 /* $Id$ */
6 // Class for global helix fit of a track
7 // Author: M.Ivanov
8 // This class uses decomposition of the chi2 based on the fact that
9 // one can rotate the coordinate system and provide xi >> yi for each
10 // space point
13 #include <TMatrixDSymfwd.h>
15 class AliRieman : public TObject{
16  public:
17  AliRieman();
18  AliRieman(Int_t capacity);
19  AliRieman(const AliRieman &rieman);
20  ~AliRieman();
21  void Reset();
22  void AddPoint(Double_t x, Double_t y, Double_t z, Double_t sy, Double_t sz);
23  Int_t GetN() const {return fN;}
24  Int_t GetCapacity() const {return fCapacity;}
25  Double_t * GetX() const {return fX;}
26  Double_t * GetY() const {return fY;}
27  Double_t * GetZ() const {return fZ;}
28  Double_t * GetSy() const {return fSy;}
29  Double_t * GetSz() const {return fSz;}
30  void Update();
31  void UpdatePol();
32  Double_t* GetParam(){return fParams;}
33  const TMatrixDSym & GetCovariance() const {return *fCovar;}
34  Double_t GetC() const;
35  Double_t GetYat(Double_t x) const;
36  Double_t GetZat(Double_t x) const;
37  Double_t GetDYat(Double_t x) const;
38  Double_t GetDZat(Double_t x) const;
39  Bool_t GetXYZat(Double_t r, Double_t alpha, Float_t *xyz) const;
40  //
41  Bool_t IsValid(){ return fConv;}
42  Double_t GetChi2Y() const { return fChi2Y;}
43  Double_t GetChi2Z() const { return fChi2Z;}
44  Double_t GetChi2() const { return fChi2; }
45  Double_t CalcChi2Y() const;
46  Double_t CalcChi2Z() const;
47  Double_t CalcChi2() const;
48  AliRieman * MakeResiduals() const;
49  Double_t GetErrY(Double_t x) const;
50  Double_t GetErrZ(Double_t x) const;
51  Bool_t GetExternalParameters(Double_t xref, Double_t *params, Double_t * covar);
52  //
53  protected:
54  void UpdateCovariancePol(); // update covariance for error estimates
55  // public:
56  Int_t fCapacity; // capacity
57  Int_t fN; // numebr of points
58  Double_t *fX; //[fN] x coordinate
59  Double_t *fY; //[fN] y coordinate
60  Double_t *fZ; //[fN] z coordinate
61  Double_t *fSy; //[fN] sigma y coordinate
62  Double_t *fSz; //[fN] sigma z coordinate
63  Double_t fParams[6]; //Parameters
64  TMatrixDSym *fCovar; //Covariance
65  TMatrixDSym *fCovarPolY; // covariance matrix for parabola fit in xy - used for error estimation
66  TMatrixDSym *fCovarPolZ; // covariance matrix for parabola fit in xy - used for error estimation
67  Double_t fSumXY[9]; //sums for XY part
68  Double_t fSumXZ[9]; //sums for XZ part
69  Double_t fSumPolY[5]; //sums of polynoms X with weight Z
70  Double_t fSumPolZ[5]; //sums of polynoms X with weight Z
71  Double_t fSumZZ; //sums of Z2
72  Double_t fChi2; //sums of chi2
73  Double_t fChi2Y; //sums of chi2 for y coord
74  Double_t fChi2Z; //sums of chi2 foz z coord
75  Bool_t fConv; // indicates convergation
76  protected:
77  private:
78  AliRieman& operator=(const AliRieman &rieman);
79  ClassDef(AliRieman,2) // Fast fit of helices on ITS RecPoints
80 };
84 #endif
Double_t * fX
Definition: AliRieman.h:58
void Update()
Definition: AliRieman.cxx:343
Double_t * GetX() const
Definition: AliRieman.h:25
Double_t GetChi2Y() const
Definition: AliRieman.h:42
TMatrixDSym * fCovarPolZ
Definition: AliRieman.h:66
Double_t CalcChi2() const
Definition: AliRieman.cxx:682
Bool_t fConv
Definition: AliRieman.h:75
Double_t fChi2Y
Definition: AliRieman.h:73
Double_t fSumXY[9]
Definition: AliRieman.h:67
Double_t GetErrY(Double_t x) const
Definition: AliRieman.cxx:474
Double_t * GetZ() const
Definition: AliRieman.h:27
Double_t * fZ
Definition: AliRieman.h:60
Double_t * fY
Definition: AliRieman.h:59
void AddPoint(Double_t x, Double_t y, Double_t z, Double_t sy, Double_t sz)
Definition: AliRieman.cxx:186
Double_t fSumPolY[5]
Definition: AliRieman.h:69
Double_t * GetParam()
Definition: AliRieman.h:32
Double_t GetC() const
Definition: AliRieman.cxx:650
Double_t fChi2Z
Definition: AliRieman.h:74
Bool_t GetXYZat(Double_t r, Double_t alpha, Float_t *xyz) const
Definition: AliRieman.cxx:618
Int_t GetN() const
Definition: AliRieman.h:23
Double_t * GetSz() const
Definition: AliRieman.h:29
Double_t * fSz
Definition: AliRieman.h:62
Double_t fSumXZ[9]
Definition: AliRieman.h:68
Bool_t GetExternalParameters(Double_t xref, Double_t *params, Double_t *covar)
Definition: AliRieman.cxx:508
const TMatrixDSym & GetCovariance() const
Definition: AliRieman.h:33
Int_t GetCapacity() const
Definition: AliRieman.h:24
Double_t GetYat(Double_t x) const
Definition: AliRieman.cxx:558
Double_t GetErrZ(Double_t x) const
Definition: AliRieman.cxx:492
Int_t fN
Definition: AliRieman.h:57
Double_t GetDYat(Double_t x) const
Definition: AliRieman.cxx:572
TMatrixDSym * fCovarPolY
Definition: AliRieman.h:65
Double_t fChi2
Definition: AliRieman.h:72
Double_t CalcChi2Z() const
Definition: AliRieman.cxx:670
void Reset()
Definition: AliRieman.cxx:168
AliRieman & operator=(const AliRieman &rieman)
Double_t GetDZat(Double_t x) const
Definition: AliRieman.cxx:604
Double_t fParams[6]
Definition: AliRieman.h:63
Double_t GetChi2Z() const
Definition: AliRieman.h:43
TMatrixDSym * fCovar
Definition: AliRieman.h:64
AliRieman * MakeResiduals() const
Definition: AliRieman.cxx:689
void UpdateCovariancePol()
Definition: AliRieman.cxx:454
Double_t * GetY() const
Definition: AliRieman.h:26
Double_t fSumZZ
Definition: AliRieman.h:71
Double_t * fSy
Definition: AliRieman.h:61
Int_t fCapacity
Definition: AliRieman.h:56
Double_t * GetSy() const
Definition: AliRieman.h:28
void UpdatePol()
Definition: AliRieman.cxx:257
Double_t fSumPolZ[5]
Definition: AliRieman.h:70
Double_t CalcChi2Y() const
Definition: AliRieman.cxx:657
Double_t GetZat(Double_t x) const
Definition: AliRieman.cxx:589
Double_t GetChi2() const
Definition: AliRieman.h:44
Bool_t IsValid()
Definition: AliRieman.h:41