1 #ifndef ALITRDTRACKER_H
2 #define ALITRDTRACKER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
18 class AliTRDtrackingSector;
20 class AliTRDtracker : public TNamed {
25 AliTRDtracker(const Text_t* name, const Text_t* title);
28 virtual void Clusters2Tracks(TH1F *hs, TH1F *hd);
29 Double_t ExpectedSigmaY2(Double_t r, Double_t tgl, Double_t pt);
30 Double_t ExpectedSigmaZ2(Double_t r, Double_t tgl);
31 Int_t FindProlongation(AliTRDtrack& t, AliTRDtrackingSector *sec,
32 Int_t s, Int_t rf=0, Int_t matched_index = -1,
33 TH1F *hs=0, TH1F *hd=0);
34 void GetEvent(const Char_t *hitfile, const Char_t *clusterfile);
35 void SetUpSectors(AliTRDtrackingSector *sec);
36 virtual void MakeSeeds(Int_t inner, Int_t outer, AliTRDtrackingSector *sec,
37 Int_t turn, TH1F *hs, TH1F *hd);
38 virtual void FindTracks(AliTRDtrackingSector *sec, TH1F *hs, TH1F *hd);
39 virtual void UseClusters(AliTRDtrack t);
40 virtual Int_t GetTrackLabel(AliTRDtrack t);
41 Int_t WriteTracks(const Char_t *filename);
42 void ReadClusters(TObjArray *array, const Char_t *filename);
44 Float_t GetSeedGap() const {return fSeedGap;}
45 Float_t GetSeedStep() const {return fSeedStep;}
46 Float_t GetSeedDepth() const {return fSeedDepth;}
47 Float_t GetSkipDepth() const {return fSkipDepth;}
48 Double_t GetMaxChi2() const {return fMaxChi2;}
49 Float_t GetMaxSeedC() const {return fMaxSeedC;}
50 Float_t GetMaxSeedTan() const {return fMaxSeedTan;}
51 Double_t GetSeedErrorSY() const {return fSeedErrorSY;}
52 Double_t GetSeedErrorSY3() const {return fSeedErrorSY3;}
53 Double_t GetSeedErrorSZ() const {return fSeedErrorSZ;}
54 Float_t GetLabelFraction() const {return fLabelFraction;}
55 Float_t GetWideRoad() const {return fWideRoad;}
57 Float_t GetMinClustersInTrack() const {return fMinClustersInTrack;}
58 Float_t GetMinClustersInSeed() const {return fMinClustersInSeed;}
59 Float_t GetMaxSeedDeltaZ() const {return fMaxSeedDeltaZ;}
60 Float_t GetMaxSeedVertexZ() const {return fMaxSeedVertexZ;}
62 void SetSY2corr(Float_t w) {fSY2corr = w;}
66 Int_t fEvent; // Event number
68 AliTRDgeometry *fGeom; // Pointer to TRD geometry
70 Int_t fNclusters; // Number of clusters in TRD
71 TObjArray *fClusters; // List of clusters for all sectors
73 Int_t fNseeds; // Number of track seeds
74 TObjArray *fSeeds; // List of track seeds
76 Int_t fNtracks; // Number of reconstructed tracks
77 TObjArray *fTracks; // List of reconstructed tracks
79 Float_t fSY2corr; // Correction coefficient for
82 static const Float_t fSeedGap; // Distance between inner and outer
83 // time bin in seeding
84 // (fraction of all time bins)
86 static const Float_t fSeedStep; // Step in iterations
87 static const Float_t fSeedDepth; // Fraction of TRD allocated for seeding
88 static const Float_t fSkipDepth; // Fraction of TRD which can be skipped
89 // in track prolongation
90 static const Double_t fMaxChi2; // max increment in track chi2
92 static const Float_t fMinClustersInTrack; // min fraction of clusters in track
93 static const Float_t fMinClustersInSeed; // min fraction of clusters in seed
94 static const Float_t fMaxSeedDeltaZ; // max dZ in MakeSeeds
95 static const Float_t fMaxSeedDeltaZ12; // max abs(z1-z2) in MakeSeeds
96 static const Float_t fMaxSeedC; // max initial curvature in MakeSeeds
97 static const Float_t fMaxSeedTan; // max initial Tangens(lambda) in MakeSeeds
98 static const Float_t fMaxSeedVertexZ; // max vertex Z in MakeSeeds
99 static const Double_t fSeedErrorSY; // sy parameter in MakeSeeds
100 static const Double_t fSeedErrorSY3; // sy3 parameter in MakeSeeds
101 static const Double_t fSeedErrorSZ; // sz parameter in MakeSeeds
102 static const Float_t fLabelFraction; // min fraction of clusters in GetTrackLabel
103 static const Float_t fWideRoad; // max road width in FindProlongation
105 ClassDef(AliTRDtracker,1) // manager base class