]>
Commit | Line | Data |
---|---|---|
46d29e70 | 1 | #ifndef ALITRDTRACKER_H |
2 | #define ALITRDTRACKER_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | #include <TNamed.h> | |
a819a5f7 | 8 | #include <TH1.h> |
46d29e70 | 9 | |
10 | class TFile; | |
bbf92647 | 11 | class TParticle; |
12 | class TParticlePDG; | |
46d29e70 | 13 | class TObjArray; |
14 | ||
15 | class AliTRDgeometry; | |
46d29e70 | 16 | class AliTRDtrack; |
bbf92647 | 17 | class AliTRDmcTrack; |
a819a5f7 | 18 | class AliTRDtrackingSector; |
46d29e70 | 19 | |
20 | class AliTRDtracker : public TNamed { | |
21 | ||
22 | public: | |
23 | ||
24 | AliTRDtracker(); | |
25 | AliTRDtracker(const Text_t* name, const Text_t* title); | |
26 | ~AliTRDtracker(); | |
27 | ||
a819a5f7 | 28 | virtual void Clusters2Tracks(TH1F *hs, TH1F *hd); |
bbf92647 | 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, | |
a819a5f7 | 32 | Int_t s, Int_t rf=0, Int_t matched_index = -1, |
33 | TH1F *hs=0, TH1F *hd=0); | |
bbf92647 | 34 | void GetEvent(const Char_t *hitfile, const Char_t *clusterfile); |
35 | void SetUpSectors(AliTRDtrackingSector *sec); | |
a819a5f7 | 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); | |
bbf92647 | 39 | virtual void UseClusters(AliTRDtrack t); |
40 | virtual Int_t GetTrackLabel(AliTRDtrack t); | |
41 | Int_t WriteTracks(const Char_t *filename); | |
a819a5f7 | 42 | void ReadClusters(TObjArray *array, const Char_t *filename); |
43 | ||
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;} | |
56 | ||
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;} | |
61 | ||
62 | void SetSY2corr(Float_t w) {fSY2corr = w;} | |
46d29e70 | 63 | |
64 | protected: | |
65 | ||
46d29e70 | 66 | Int_t fEvent; // Event number |
67 | ||
bbf92647 | 68 | AliTRDgeometry *fGeom; // Pointer to TRD geometry |
69 | ||
46d29e70 | 70 | Int_t fNclusters; // Number of clusters in TRD |
71 | TObjArray *fClusters; // List of clusters for all sectors | |
72 | ||
73 | Int_t fNseeds; // Number of track seeds | |
74 | TObjArray *fSeeds; // List of track seeds | |
75 | ||
76 | Int_t fNtracks; // Number of reconstructed tracks | |
77 | TObjArray *fTracks; // List of reconstructed tracks | |
78 | ||
a819a5f7 | 79 | Float_t fSY2corr; // Correction coefficient for |
80 | // cluster SigmaY2 | |
81 | ||
82 | static const Float_t fSeedGap; // Distance between inner and outer | |
83 | // time bin in seeding | |
84 | // (fraction of all time bins) | |
bbf92647 | 85 | |
a819a5f7 | 86 | static const Float_t fSeedStep; // Step in iterations |
bbf92647 | 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 | |
91 | ||
92 | static const Float_t fMinClustersInTrack; // min fraction of clusters in track | |
93 | static const Float_t fMinClustersInSeed; // min fraction of clusters in seed | |
a819a5f7 | 94 | static const Float_t fMaxSeedDeltaZ; // max dZ in MakeSeeds |
95 | static const Float_t fMaxSeedDeltaZ12; // max abs(z1-z2) in MakeSeeds | |
bbf92647 | 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 | |
104 | ||
46d29e70 | 105 | ClassDef(AliTRDtracker,1) // manager base class |
106 | ||
107 | }; | |
108 | ||
109 | #endif |