]>
Commit | Line | Data |
---|---|---|
04b80329 | 1 | //Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
2 | //See cxx source for full Copyright notice */ | |
3 | // | |
4 | //The purpose of this class is to permorm the ITS tracking. | |
5 | // | |
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 | |
9 | //registered. | |
10 | // | |
11 | //The method AliiTStracking is a recursive function that performs the tracking trough the ITS | |
12 | // | |
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 | |
15 | //successfully. | |
16 | // | |
17 | //The two mwthods Kalmanfilter and kalmanfiltervert operate the kalmanfilter without and with the vertex | |
18 | //imposition respectively. | |
19 | ||
13888096 | 20 | #ifndef ALIITSTRACKERV1_H |
21 | #define ALIITSTRACKERV1_H | |
22 | ||
04b80329 | 23 | #include <TObject.h> |
13888096 | 24 | |
04b80329 | 25 | class AliITS; |
26 | class TObjArray; | |
27 | class TVector; | |
28 | class TMatrix; | |
29 | class AliITSTrackV1; | |
13888096 | 30 | class AliITS; |
31 | class AliITSRad; | |
04b80329 | 32 | class AliITSgeoinfo; |
cbcfa38d | 33 | class TStopwatch; |
13888096 | 34 | |
35 | class AliITSTrackerV1 : public TObject { | |
36 | ||
37 | public: | |
38 | ||
04b80329 | 39 | AliITSTrackerV1(AliITS* IITTSS, Bool_t flag); |
40 | ||
41 | AliITSTrackerV1(const AliITSTrackerV1 &cobj); | |
cbcfa38d | 42 | |
43 | ~AliITSTrackerV1(); | |
04b80329 | 44 | |
45 | AliITSTrackerV1 &operator=(AliITSTrackerV1 obj); | |
46 | ||
47 | void DoTracking(Int_t evNumber, Int_t minTr, Int_t maxTr, TFile *file); | |
48 | ||
49 | void RecursiveTracking(TList *trackITSlist); | |
cbcfa38d | 50 | |
51 | Int_t Intersection(AliITSTrackV1 &track, Int_t layer, Int_t &ladder, Int_t &detector); | |
04b80329 | 52 | void KalmanFilter(AliITSTrackV1 *newtrack, TVector &cluster, Double_t sigma[2]); |
53 | ||
54 | void KalmanFilterVert(AliITSTrackV1 *newtrack, TVector &cluster, Double_t sigma[2]); | |
13888096 | 55 | |
56 | private: | |
57 | ||
04b80329 | 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 | |
65 | ||
66 | Int_t fNlad[6]; // Number of ladders for a given layer | |
67 | Int_t fNdet[6]; // Number of detector for a given layer | |
cbcfa38d | 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 | |
13888096 | 71 | |
cbcfa38d | 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 | |
74 | ||
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 | |
77 | ||
78 | Double_t **fphidet; // azimuthal angle for a given layer and a given ladder | |
79 | ||
80 | Double_t fFieldFactor; // Magnetic filed factor | |
81 | ||
82 | //TStopwatch *fTimerKalman; // timer for kalman filter | |
83 | //TStopwatch *fTimerIntersection; // timer for Intersection | |
a3894645 | 84 | |
13888096 | 85 | ClassDef(AliITSTrackerV1,1) |
86 | }; | |
87 | ||
88 | #endif |