]>
Commit | Line | Data |
---|---|---|
e4f2f73d | 1 | #ifndef ALITRDTRACKERV1_H |
2 | #define ALITRDTRACKERV1_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | //////////////////////////////////////////////////////////////////////////// | |
9 | // // | |
10 | // The TRD tracker // | |
11 | // // | |
12 | // Authors: // | |
13 | // Alex Bercuci <A.Bercuci@gsi.de> // | |
14 | // Markus Fasel <M.Fasel@gsi.de> // | |
15 | // // | |
16 | ///////////////////////////////////////////////////////////////////////////// | |
17 | ||
18 | #ifndef ALITRDTRACKER_H | |
19 | #include "AliTRDtracker.h" | |
20 | #endif | |
21 | ||
22 | #define DEBUG | |
23 | ||
24 | /************************************************************************** | |
25 | * Class Status see source file * | |
26 | **************************************************************************/ | |
27 | ||
28 | class TFile; | |
29 | class TTreeSRedirector; | |
30 | class TClonesArray; | |
31 | ||
32 | class AliRieman; | |
33 | class AliESDEvent; | |
34 | ||
35 | class AliTRDseedV1; | |
36 | class AliTRDstackLayer; | |
37 | class AliTRDtrackerFitter; | |
38 | class AliTRDrecoParam; | |
fbb2ea06 | 39 | |
e4f2f73d | 40 | class AliTRDtrackerV1 : public AliTRDtracker |
41 | { | |
42 | ||
43 | public: | |
44 | enum{ | |
45 | kNTimeBins = 35, | |
46 | kNPlanes = 6, | |
47 | kNSeedPlanes = 4, | |
48 | kMaxTracksStack = 100, | |
49 | kNConfigs = 15 | |
50 | }; | |
51 | AliTRDtrackerV1(AliTRDrecoParam *p = 0x0); | |
52 | AliTRDtrackerV1(const TFile *in, AliTRDrecoParam *p); | |
fbb2ea06 | 53 | ~AliTRDtrackerV1(); |
e4f2f73d | 54 | |
55 | Int_t Clusters2Tracks(AliESDEvent *esd); | |
fbb2ea06 | 56 | void GetSeedingConfig(Int_t iconfig, Int_t planes[4]) const; |
57 | void GetExtrapolationConfig(Int_t iconfig, Int_t planes[2]) const; | |
e4f2f73d | 58 | void SetRecoParam(AliTRDrecoParam *p){fRecoParam = p;} |
fbb2ea06 | 59 | |
d9950a5a | 60 | protected: |
fbb2ea06 | 61 | |
e4f2f73d | 62 | Double_t BuildSeedingConfigs(AliTRDstackLayer *layer, Int_t *configs); |
fbb2ea06 | 63 | Int_t Clusters2TracksSM(AliTRDtracker::AliTRDtrackingSector *sector, AliESDEvent *esd); |
e4f2f73d | 64 | Int_t Clusters2TracksStack(AliTRDstackLayer *layer, TClonesArray *esdTrackList); |
fbb2ea06 | 65 | Double_t CookPlaneQA(AliTRDstackLayer *layer); |
66 | Double_t CookLikelihood(AliTRDseedV1 *cseed, Int_t planes[4], Double_t *chi2); | |
e4f2f73d | 67 | Int_t GetSeedingLayers(AliTRDstackLayer *layers, Double_t *params); |
68 | void GetMeanCLStack(AliTRDstackLayer *layers, Int_t *planes, Double_t *params); | |
69 | AliTRDcluster *FindSeedingCluster(AliTRDstackLayer *layers, AliTRDseedV1/*AliRieman*/ *sfit); | |
fbb2ea06 | 70 | void ImproveSeedQuality(AliTRDstackLayer *layer, AliTRDseedV1 *cseed); |
d9950a5a | 71 | Int_t MakeSeeds(AliTRDstackLayer *layers, AliTRDseedV1 *sseed, Int_t *ipar); |
fbb2ea06 | 72 | AliTRDstackLayer *MakeSeedingLayer(AliTRDstackLayer *layers, Int_t Plane); |
73 | AliTRDtrack* RegisterSeed(AliTRDseedV1 *seeds, Double_t *params); | |
74 | ||
75 | private: | |
e4f2f73d | 76 | |
77 | AliTRDtrackerV1(const AliTRDtrackerV1 &tracker); | |
78 | AliTRDtrackerV1 &operator=(const AliTRDtrackerV1 &tracker); | |
79 | ||
fbb2ea06 | 80 | private: |
e4f2f73d | 81 | |
fbb2ea06 | 82 | static Double_t fgTopologicQA[kNConfigs]; // Topologic quality |
e4f2f73d | 83 | Double_t fTrackQuality[kMaxTracksStack]; // Track quality |
84 | Int_t fSeedLayer[kMaxTracksStack]; // Seed layer | |
85 | Int_t fSieveSeeding; //! Seeding iterator | |
86 | AliTRDrecoParam *fRecoParam; // Reconstruction parameters | |
87 | AliTRDtrackerFitter *fFitter; //! Fitter class of the tracker | |
fbb2ea06 | 88 | TTreeSRedirector *fDebugStreamerV1; //! Debug stream of the tracker |
e4f2f73d | 89 | |
90 | ClassDef(AliTRDtrackerV1, 1) // Stand alone tracker development class | |
91 | ||
92 | }; | |
93 | #endif |