]>
Commit | Line | Data |
---|---|---|
e4f2f73d | 1 | #ifndef ALITRDTRACKERFITTER_H |
2 | #define ALITRDTRACKERFITTER_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 | // Track fitter // | |
11 | // // | |
12 | // Authors: // | |
13 | // Alex Bercuci <A.Bercuci@gsi.de> // | |
14 | // Markus Fasel <M.Fasel@gsi.de> // | |
15 | // // | |
16 | /////////////////////////////////////////////////////////////////////////////// | |
17 | ||
18 | #ifndef AliRIEMAN_H | |
19 | #include <AliRieman.h> | |
20 | #endif | |
21 | ||
22 | #ifndef ROOT_Rtypes | |
23 | #include "Rtypes.h" | |
24 | #endif | |
25 | ||
26 | // implementations in the future | |
27 | class TObject; | |
28 | class TLinearFitter; | |
29 | class TTreeSRedirector; | |
30 | ||
31 | class AliTRDcluster; | |
32 | class AliTRDseedV1; | |
33 | ||
34 | class AliTRDtrackerFitter : public TObject { | |
35 | ||
36 | public: | |
37 | ||
38 | AliTRDtrackerFitter(); | |
d76231c8 | 39 | AliTRDtrackerFitter(const AliTRDtrackerFitter &f); |
40 | AliTRDtrackerFitter& operator=(const AliTRDtrackerFitter &f); | |
e4f2f73d | 41 | virtual ~AliTRDtrackerFitter(); |
42 | ||
43 | void Copy(TObject &f) const; | |
44 | AliRieman *GetRiemanFitter() const { return fRieman1; } | |
45 | void GetHyperplaneFitChi2(Double_t *chisquares) const; | |
46 | void GetHyperplaneFitResults(Double_t *params) const; | |
47 | Double_t GetRiemanCurvature() const { return fRieman1->GetC(); } | |
48 | ||
49 | void FitRieman(AliTRDcluster **cl, Int_t nLayers); | |
50 | void FitRieman(AliTRDseedV1 *cseed, Int_t *planes=0x0); | |
51 | Double_t FitHyperplane(AliTRDseedV1 *cseed, Double_t chi2ZF, Double_t zval); | |
52 | void Reset(); | |
53 | void SetDebugStream(TTreeSRedirector *debug){fDebugStream = debug;} | |
54 | void SetLayers(const Int_t nlayers) {fNlayers = nlayers;} | |
55 | ||
56 | private: | |
57 | ||
58 | // Linear fitters in planes | |
59 | TLinearFitter *fFitterTC; // Fitting with tilting pads - kz fixed - kz= Z/x, + vertex const | |
60 | TLinearFitter *fFitterT2; // Fitting with tilting pads - kz not fixed | |
61 | AliRieman *fRieman1; // Rieman fitter | |
62 | AliRieman *fRieman2; // Rieman fitter | |
63 | // Linear Fitter chisquares | |
64 | Double_t fChi2TR; // Chisquared | |
65 | Double_t fChi2TC; // Chisquared | |
66 | // Hyperplane Fit results | |
67 | Double_t fCR; // Track radius | |
68 | Double_t fCC; // Track curvature | |
69 | Double_t fDca; // DCA | |
70 | // Helping Parameters | |
71 | Double_t fDzmf; // Something | |
72 | Double_t fZmf; // Something else | |
73 | Int_t fNlayers; // Some layers | |
74 | ||
75 | // Debug | |
76 | TTreeSRedirector *fDebugStream; //! debugger | |
77 | ||
78 | ClassDef(AliTRDtrackerFitter,1) // TRD track fitter | |
79 | }; | |
80 | #endif // ALITRDTRACKERFITTER_H |