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]);
58 AliITS* fITS; // pointer to AliITS
59 AliITSTrackV1 *fresult; // result is a pointer to the final best track
60 Double_t fPtref; // transvers momentum obtained from TPC tracking
61 TObjArray *frecPoints; // pointer to RecPoints
62 Int_t **fvettid; // flag vector of used clusters
63 Bool_t fflagvert; // a flag to impose or not the vertex constraint
64 AliITSRad *frl; // pointer to get the radiation lenght matrix
66 Int_t fNlad[6]; // Number of ladders for a given layer
67 Int_t fNdet[6]; // Number of detector for a given layer
68 Double_t fAvrad[6]; // Average radius for a given layer
69 Double_t fDetx[6]; // Semidimension of detectors along x axis for a given layer
70 Double_t fDetz[6]; // Semidimension of detectors along z axis for a given layer
72 Double_t **fzmin; // Matrix of zmin for a given layer and a given detector
73 Double_t **fzmax; // Matrix of zmax for a given layer and a given detector
75 Double_t **fphimin; // Matrix of phimin for a given layer and a given ladder
76 Double_t **fphimax; // Matrix of phimax for a given layer and a given ladder
78 Double_t **fphidet; // azimuthal angle for a given layer and a given ladder
80 Double_t fFieldFactor; // Magnetic filed factor
82 //TStopwatch *fTimerKalman; // timer for kalman filter
83 //TStopwatch *fTimerIntersection; // timer for Intersection
85 ClassDef(AliITSTrackerV1,1)