]>
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; | |
39 | ||
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); | |
53 | ~AliTRDtrackerV1(); | |
54 | ||
55 | Int_t Clusters2Tracks(AliESDEvent *esd); | |
d76231c8 | 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;} |
59 | ||
60 | protected: | |
61 | ||
62 | Double_t BuildSeedingConfigs(AliTRDstackLayer *layer, Int_t *configs); | |
63 | Int_t Clusters2TracksSM(AliTRDtracker::AliTRDtrackingSector *sector, AliESDEvent *esd); | |
64 | Int_t Clusters2TracksStack(AliTRDstackLayer *layer, TClonesArray *esdTrackList); | |
65 | Double_t CookPlaneQA(AliTRDstackLayer *layer); | |
66 | Double_t CookLikelihood(AliTRDseedV1 *cseed, Int_t planes[4], Double_t *chi2); | |
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); | |
70 | void ImproveSeedQuality(AliTRDstackLayer *layer, AliTRDseedV1 *cseed); | |
71 | Int_t MakeSeeds(AliTRDstackLayer *layers, AliTRDseedV1 *sseed, Int_t *ipar); | |
72 | AliTRDstackLayer *MakeSeedingLayer(AliTRDstackLayer *layers, Int_t Plane); | |
73 | AliTRDtrack* RegisterSeed(AliTRDseedV1 *seeds, Double_t *params); | |
74 | ||
75 | private: | |
76 | ||
77 | AliTRDtrackerV1(const AliTRDtrackerV1 &tracker); | |
78 | AliTRDtrackerV1 &operator=(const AliTRDtrackerV1 &tracker); | |
79 | ||
80 | private: | |
81 | ||
d76231c8 | 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 | |
d76231c8 | 88 | TTreeSRedirector *fDebugStreamerV1; //! Debug stream of the tracker |
e4f2f73d | 89 | |
90 | ClassDef(AliTRDtrackerV1, 1) // Stand alone tracker development class | |
91 | ||
92 | }; | |
93 | #endif |