1 //Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 //See cxx source for full Copyright notice */
4 //The purpose of this class is to permorm the ITS tracking.
6 //The constructor has the task to inizialize some private members.
7 //The method DoTracking is written to be called by a macro. It gets the event number, the minimum and maximum
8 //order number of TPC tracks that are to be tracked trough the ITS, and the file where the recpoints are
11 //The method AliiTStracking is a recursive function that performs the tracking trough the ITS
13 //The method Intersection found the layer, ladder and detector whre the intersection take place and caluclate
14 //the cohordinates of this intersection. It returns an integer that is 0 if the intersection has been found
17 //The two mwthods Kalmanfilter and kalmanfiltervert operate the kalmanfilter without and with the vertex
18 //imposition respectively.
20 #ifndef ALIITSTRACKERV1_H
21 #define ALIITSTRACKERV1_H
35 class AliITSTrackerV1 : public TObject {
39 AliITSTrackerV1(AliITS* IITTSS, Bool_t flag);
41 AliITSTrackerV1(const AliITSTrackerV1 &cobj);
45 AliITSTrackerV1 &operator=(AliITSTrackerV1 obj);
47 void DoTracking(Int_t evNumber, Int_t minTr, Int_t maxTr, TFile *file);
49 void RecursiveTracking(TList *trackITSlist);
51 Int_t Intersection(AliITSTrackV1 &track, Int_t layer, Int_t &ladder, Int_t &detector);
52 void KalmanFilter(AliITSTrackV1 *newtrack, TVector &cluster, Double_t sigma[2]);
54 void KalmanFilterVert(AliITSTrackV1 *newtrack, TVector &cluster, Double_t sigma[2]);
55 //void KalmanFilterVert(AliITSTrackV1 *newtrack, TVector &cluster, Double_t sigma[2], Double_t chi2pred);
59 AliITS* fITS; // pointer to AliITS
60 AliITSTrackV1 *fresult; // result is a pointer to the final best track
61 Double_t fPtref; // transvers momentum obtained from TPC tracking
62 Double_t fChi2max; // cluster with chi2>chi2max are cut. It is pt dependend. aggiunto il 31-7-2001
63 Double_t fepsphi; //eps for definition window in phi //aggiunto il 1-8-2001
64 Double_t fepsz; //eps for definition window in z //aggiunto il 1-8-2001
65 TObjArray *frecPoints; // pointer to RecPoints
66 Int_t **fvettid; // flag vector of used clusters
67 Bool_t fflagvert; // a flag to impose or not the vertex constraint
68 AliITSRad *frl; // pointer to get the radiation lenght matrix
70 Int_t fNlad[6]; // Number of ladders for a given layer
71 Int_t fNdet[6]; // Number of detector for a given layer
72 Double_t fAvrad[6]; // Average radius for a given layer
73 Double_t fDetx[6]; // Semidimension of detectors along x axis for a given layer
74 Double_t fDetz[6]; // Semidimension of detectors along z axis for a given layer
76 Double_t **fzmin; // Matrix of zmin for a given layer and a given detector
77 Double_t **fzmax; // Matrix of zmax for a given layer and a given detector
79 Double_t **fphimin; // Matrix of phimin for a given layer and a given ladder
80 Double_t **fphimax; // Matrix of phimax for a given layer and a given ladder
82 Double_t **fphidet; // azimuthal angle for a given layer and a given ladder
84 Double_t fFieldFactor; // Magnetic filed factor
86 //TStopwatch *fTimerKalman; // timer for kalman filter
87 //TStopwatch *fTimerIntersection; // timer for Intersection
89 ClassDef(AliITSTrackerV1,1)