]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDtrackerV1.h
ALIfied Pythia version for PYQUEN.
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackerV1.h
CommitLineData
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
28class TFile;
29class TTreeSRedirector;
30class TClonesArray;
31
32class AliRieman;
33class AliESDEvent;
34
35class AliTRDseedV1;
36class AliTRDstackLayer;
37class AliTRDtrackerFitter;
38class AliTRDrecoParam;
fbb2ea06 39
e4f2f73d 40class 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