AliRoot Core  edcc906 (edcc906)
AliTrackResiduals.h
Go to the documentation of this file.
1 #ifndef ALITRACKRESIDUALS_H
2 #define ALITRACKRESIDUALS_H
3 
4 //************************************************************************
5 // AliTrackResiduals: base class for collecting the track space point *
6 // residuals produced by the fast track fitters (AliTrackFitter class). *
7 // It provides an interface to the arrays which contain the space points *
8 // and track extrapolation points within the detector volume to be *
9 // aligned. The derived classes should implement method to analyze the *
10 // track residuals and minimize their sum in order to get the *
11 // AliAlignObj for the given detector volume. *
12 //************************************************************************
13 
14 #include "TObject.h"
15 
16 #include "AliAlignObjParams.h"
17 
18 class AliTrackPointArray;
19 
20 class AliTrackResiduals : public TObject {
21 
22  public:
23 
25  AliTrackResiduals(Int_t ntracks);
28  virtual ~AliTrackResiduals();
29 
30  void SetNTracks(Int_t ntracks);
31  Bool_t AddTrackPointArrays(AliTrackPointArray *volarray, AliTrackPointArray *trackarray);
32  void InitAlignObj();
33  void SetMinNPoints(Int_t n) { fMinNPoints = n; }
34 
35  virtual Bool_t Minimize() = 0;
36 
37  Int_t GetNTracks() const { return fN; }
38  Int_t GetNFilledTracks() const { return fLast; }
39  Bool_t GetTrackPointArrays(Int_t i, AliTrackPointArray* &volarray, AliTrackPointArray* &trackarray) const;
40  AliAlignObj *GetAlignObj() const { return fAlignObj; }
41  Float_t GetChi2() const { return fChi2; }
42  Int_t GetNdf() const { return fNdf; }
43  Int_t GetMinNPoints() const { return fMinNPoints; }
44  void FixParameter(Int_t par,Float_t value=0.) {fBFixed[par]=kTRUE; fFixed[par]= value;}
45  Int_t GetNFreeParam();
46  void ReleaseParameter(Int_t par) {fBFixed[par]=kFALSE;}
47 
48  protected:
49 
51 
52  Int_t fN; // Number of tracks
53  Int_t fLast; // Index of the last filled track arrays
54  AliAlignObj *fAlignObj; // Pointer to the volume alignment object to be fitted
57  Float_t fChi2; // Chi2 (or distance) of residuals minimization
58  Int_t fNdf; // Number of degrees of freedom
59  Int_t fMinNPoints; // Minimum allowed Number of points in the volume which is to be aligned
60  Bool_t fIsOwner; // Track point arrays owned by the object
61  Float_t fFixed[6]; // The fixed values of parameters
62  Bool_t fBFixed[6]; // The flag for fixing parameter
63 
64  ClassDef(AliTrackResiduals,2)
65 
66 };
67 
68 #endif
Int_t GetNTracks() const
AliTrackResiduals & operator=(const AliTrackResiduals &res)
AliAlignObj * fAlignObj
void FixParameter(Int_t par, Float_t value=0.)
Int_t GetNdf() const
Int_t GetMinNPoints() const
AliTrackPointArray ** fVolArray
Float_t GetChi2() const
void SetMinNPoints(Int_t n)
AliAlignObj * GetAlignObj() const
virtual Bool_t Minimize()=0
Float_t fChi2
Pointers to the arrays containing track extrapolation points.
void SetNTracks(Int_t ntracks)
AliTrackPointArray ** fTrackArray
Pointers to the arrays containing space points.
Int_t GetNFilledTracks() const
Bool_t AddTrackPointArrays(AliTrackPointArray *volarray, AliTrackPointArray *trackarray)
void res(Char_t i)
Definition: Resolution.C:2
void ReleaseParameter(Int_t par)
Bool_t GetTrackPointArrays(Int_t i, AliTrackPointArray *&volarray, AliTrackPointArray *&trackarray) const