temporary bug fix (speed issues)
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackerDebug.h
1 #ifndef ALITRDTRACKERDEBUG_H
2 #define ALITRDTRACKERDEBUG_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id: AliTRDtrackerDebug.h 22646 2007-11-29 18:13:40Z cblume $ */
8
9 ////////////////////////////////////////////////////////////////////////////
10 //                                                                        //
11 //  Reader for the TRD tracker debug streamer                             // 
12 //                                                                        // 
13 //  Authors:                                                              //
14 //                                                                        //
15 //    Alex Bercuci <A.Bercuci@gsi.de>                                     //
16 //    Markus Fasel <M.Fasel@gsi.de>                                       //
17 //                                                                        // 
18 ////////////////////////////////////////////////////////////////////////////
19
20 #include "AliTRDtrackerV1.h"
21
22 class TTree;
23 class TCanvas;
24 class TTreeSRedirector;
25 class AliTRDtrackV1;
26 class AliTRDseedV1;
27
28 class AliTRDtrackerDebug : public AliTRDtrackerV1
29 {
30 public:
31         AliTRDtrackerDebug();
32         ~AliTRDtrackerDebug();
33
34         void                            Draw(Option_t *);
35
36         Bool_t      Init();
37         Bool_t      Open(const char *method);
38         Int_t       Process();
39
40         void        ResidualsClustersTrack(const AliTRDseedV1 *tracklet);
41         void        ResidualsClustersTracklet(const AliTRDseedV1 *tracklet) const;
42         void        ResidualsClustersParametrisation(const AliTRDseedV1 *tracklet) const;
43         void        ResidualsTrackletsTrack() const;
44         
45         void        AnalyseTiltedRiemanFit();
46         void        AnalyseMinMax();
47         void        AnalyseFindable(Char_t *treename);
48
49         TCanvas*    PlotSeedingConfiguration(const Char_t *direction, Int_t event, Int_t Candidate);
50         TCanvas*    PlotFullTrackFit(Int_t event, Int_t candidate, Int_t iteration = -1, const Char_t *direction = "y");
51         
52         static Int_t GetEventNumber(){ return fgEventNumber; }
53         static Int_t GetTrackNumber(){ return fgTrackNumber; }
54         static Int_t GetCandidateNumber(){ return fgCandidateNumber; }
55         
56         static void SetEventNumber(Int_t eventNumber){ fgEventNumber = eventNumber; }
57         static void SetTrackNumber(Int_t trackNumber){ fgTrackNumber = trackNumber; }
58         static void SetCandidateNumber(Int_t candidateNumber){ fgCandidateNumber = candidateNumber; }
59                         
60 private:
61         AliTRDtrackerDebug(const AliTRDtrackerDebug &);
62         AliTRDtrackerDebug& operator=(const AliTRDtrackerDebug &);
63
64         Float_t     GetTrackRadius(Float_t a, Float_t b, Float_t c) const;
65         Float_t     GetTrackCurvature(Float_t a, Float_t b, Float_t c) const;
66         Float_t     GetDCA(Float_t a, Float_t b, Float_t c) const;
67
68         TTreeSRedirector *fOutputStreamer;                 //!Output streamer
69         TTree            *fTree;       // debug tree
70         AliTRDseedV1     *fTracklet;   // current tracklet
71         AliTRDtrackV1    *fTrack;      // current TRD track
72         Int_t            fNClusters;   // N clusters for current track
73         Float_t          fAlpha;       // sector
74         
75         static Int_t fgEventNumber;                             //  Event Number in the tracking code
76         static Int_t fgTrackNumber;       //  Track Number per Event
77         static Int_t fgCandidateNumber;   //  Candidate Number per event (Set in MakeSeeds)
78
79         ClassDef(AliTRDtrackerDebug, 1) // debug suite of the TRD tracker
80 };
81
82 #endif
83