]>
Commit | Line | Data |
---|---|---|
b48af428 | 1 | //Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. |
2 | //See cxx source for full Copyright notice | |
04b80329 | 3 | // |
4 | //The purpose of this class is to permorm the ITS tracking. | |
5 | // | |
b48af428 | 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 | |
8 | // number, the minimum and maximum order number of TPC tracks that are to be | |
9 | // tracked trough the ITS, and the file where the recpoints are registered. | |
04b80329 | 10 | // |
b48af428 | 11 | // The method AliiTStracking is a recursive function that performs the |
12 | // tracking trough the ITS | |
04b80329 | 13 | // |
b48af428 | 14 | // The method Intersection found the layer, ladder and detector where the |
15 | // intersection take place and caluclate the cohordinates of this | |
16 | // intersection. It returns an integer that is 0 if the intersection has | |
17 | // been found successfully. | |
04b80329 | 18 | // |
b48af428 | 19 | // The two mwthods Kalmanfilter and kalmanfiltervert operate the |
20 | // kalmanfilter without and with the verteximposition respectively. | |
04b80329 | 21 | |
13888096 | 22 | #ifndef ALIITSTRACKERV1_H |
23 | #define ALIITSTRACKERV1_H | |
24 | ||
04b80329 | 25 | #include <TObject.h> |
e8d02863 | 26 | #include <TVectorfwd.h> |
13888096 | 27 | |
04b80329 | 28 | class TObjArray; |
04b80329 | 29 | class AliITSTrackV1; |
13888096 | 30 | class AliITSRad; |
cbcfa38d | 31 | class TStopwatch; |
13888096 | 32 | |
33 | class AliITSTrackerV1 : public TObject { | |
b48af428 | 34 | public: |
55cd883f | 35 | AliITSTrackerV1(); |
7d62fb64 | 36 | AliITSTrackerV1(Int_t evnumber, Bool_t flag); |
b48af428 | 37 | AliITSTrackerV1(const AliITSTrackerV1 &cobj); |
38 | ~AliITSTrackerV1(); | |
e869281d | 39 | AliITSTrackerV1 &operator=(const AliITSTrackerV1 &obj); |
a7646705 | 40 | // void DelMatrix(Int_t NumOfModules); |
61231d74 | 41 | void DoTracking(Int_t evNumber, Int_t minTr, Int_t maxTr, TFile *file, Bool_t realmass=0); |
b48af428 | 42 | void RecursiveTracking(TList *trackITSlist); |
43 | Int_t Intersection(AliITSTrackV1 &track, Int_t layer,Int_t &ladder, | |
44 | Int_t &detector); | |
45 | void KalmanFilter(AliITSTrackV1 *newtrack, TVector &cluster, | |
46 | Double_t sigma[2]); | |
47 | void KalmanFilterVert(AliITSTrackV1 *newtrack, TVector &cluster, | |
48 | Double_t sigma[2]); | |
49 | //void KalmanFilterVert(AliITSTrackV1 *newtrack, TVector &cluster, | |
50 | // Double_t sigma[2], Double_t chi2pred); | |
e869281d | 51 | |
b48af428 | 52 | private: |
7d62fb64 | 53 | //AliITS* fITS; //! pointer to AliITS |
54 | AliITSDetTypeRec *fDetTypeRec;//ITS obj. for reconstruction | |
b48af428 | 55 | AliITSTrackV1 *fresult; // result is a pointer to the final best track |
56 | Double_t fPtref; // transvers momentum obtained from TPC tracking | |
61231d74 | 57 | Double_t fChi2max; // chi2 cut |
64ab0d55 | 58 | //Double_t fepsphi; //eps for definition window in phi |
59 | // Double_t fepsz; //eps for definition window in z | |
60 | TClonesArray *frecPoints; // pointer to RecPoints | |
b48af428 | 61 | Int_t **fvettid; // flag vector of used clusters |
62 | Bool_t fflagvert; // a flag to impose or not the vertex constraint | |
63 | AliITSRad *frl; // pointer to get the radiation lenght matrix | |
64ab0d55 | 64 | /// To be put in a specific geometric class |
b48af428 | 65 | Int_t fNlad[6]; // Number of ladders for a given layer |
66 | Int_t fNdet[6]; // Number of detector for a given layer | |
67 | Double_t fAvrad[6]; // Average radius for a given layer | |
68 | Double_t fDetx[6];// Semidimension of detectors along x axis for a given layer | |
69 | Double_t fDetz[6];// Semidimension of detectors along z axis for a given layer | |
70 | Double_t **fzmin;// Matrix of zmin for a given layer and a given detector | |
71 | Double_t **fzmax;// Matrix of zmax for a given layer and a given detector | |
72 | Double_t **fphimin;// Matrix of phimin for a given layer and a given ladder | |
73 | Double_t **fphimax;// Matrix of phimax for a given layer and a given ladder | |
74 | Double_t **fphidet; // azimuthal angle for a given layer and a given ladder | |
64ab0d55 | 75 | Int_t *fNRecPoints; // pointer to the vector giving the number of recpoints for a given module |
76 | /* | |
77 | Float_t **fRecCylR; // pointer to the matrix giving the R cylindric cohordinate of a recpoint | |
78 | Float_t **fRecCylPhi; // pointer to the matrix giving the Phi cylindric cohordinate of a recpoint | |
79 | Float_t **fRecCylZ; // pointer to the matrix giving the Z cylindric cohordinate of a recpoint | |
80 | */ | |
81 | Double_t **fRecCylR; // pointer to the matrix giving the R cylindric cohordinate of a recpoint | |
82 | Double_t **fRecCylPhi; // pointer to the matrix giving the Phi cylindric cohordinate of a recpoint | |
83 | Double_t **fRecCylZ; // pointer to the matrix giving the Z cylindric cohordinate of a recpoint | |
84 | ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
85 | Double_t fFieldFactor; // Magnetic field factor | |
86 | ||
7d62fb64 | 87 | ClassDef(AliITSTrackerV1,2) |
13888096 | 88 | }; |
89 | ||
90 | #endif |