Last minute changes; ExB correction in AliTRDclusterizerV1; taking into account of...
[u/mrichter/AliRoot.git] / TRD / AliTRDtracker.h
CommitLineData
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
10class TFile;
bbf92647 11class TParticle;
12class TParticlePDG;
46d29e70 13class TObjArray;
14
15class AliTRDgeometry;
46d29e70 16class AliTRDtrack;
bbf92647 17class AliTRDmcTrack;
a819a5f7 18class AliTRDtrackingSector;
46d29e70 19
20class 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