added new files to build system
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackingAnalysis.h
1 #ifndef AliTRDtrackingAnalysis_H
2 #define AliTRDtrackingAnalysis_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$ */
8
9 ////////////////////////////////////////////////////////////////////
10 //                                                                //
11 // Fills a set of QA histograms to check the correctness of       //
12 // the TRD reconstruction                                         // 
13 //                                                                //
14 ////////////////////////////////////////////////////////////////////
15
16 #include "TObject.h"
17
18 class TH1D;
19 class TH2D;
20 class TTree;
21 class TObjArray;
22 class TGraphErrors;
23
24 class AliRunLoader;
25 class AliTRDgeometry;
26 class AliESDEvent;
27 class AliTRDcluster;
28 class AliTRDtracker;
29
30 class AliTRDtrackingAnalysis : public TObject {
31
32  public:
33   
34   AliTRDtrackingAnalysis();
35   AliTRDtrackingAnalysis(const AliTRDtrackingAnalysis &t);
36   virtual ~AliTRDtrackingAnalysis() {}
37   AliTRDtrackingAnalysis  &operator=(const AliTRDtrackingAnalysis &/*t*/) { return *this; }
38     
39   void SetPath(const char *path) {fPath = path;}
40
41   void DrawResolutionPt(int startEvent, int stopEvent);  
42   void DrawRecPointResolution(int startEvent, int stopEvent);
43   //void DrawTrackletResolution(int startEvent, int stopEvent);
44
45  protected:
46
47   void CheckFiles();
48   void LoadRecPointsFile();
49   void LoadRefs();
50   Int_t GetReference(Int_t label); 
51   Int_t GetMCPosition(Int_t label, Double_t x, Double_t &Y, Double_t &Z, Double_t &tgphi);
52
53   Int_t GetPhiBin(Double_t phi) const;
54   Double_t GetPhi(Int_t bin) const;
55
56   const char *fPath;              // Path to data directory
57   
58   TObjArray *fRefTPC;             // TPC track references
59   TObjArray *fRefTRD;             // TRD track references
60   Int_t fLabels[100000];          // Track lables
61
62   AliRunLoader *fLoader;          // AliRunLoader instance
63   TTree  *fEsdTree;               // ESD tree
64   AliESDEvent *fESD;                   // ESD
65
66   AliTRDtracker *fTracker;        // TRD tracker instance
67
68   // histograms 
69   TH1D *fDeltaPt;                 // Histogram for the pt resolution
70   TH1D *fDeltaZ;                  // Histogram for the cluster z deviation
71   TH1D *fDeltaX;                  // Histogram for the cluster x deviation
72   TH1D *fDeltaYPos;               // Histogram for the cluster y deviation (positives)
73   TH1D *fDeltaYNeg;               // Histogram for the cluster y deviation (negatives)
74
75   TH1D *fNPoints;                 // Histogram for the number of points
76   TH1D *fNGood;                   // Histogram for the number of good points
77   
78   TH2D *fRefSpace;                // Histogram for reference space 
79
80   AliTRDgeometry *fGeo;           // TRD geometry
81
82   TH1D *fClY2;                    // Histogram for cluster studies Y
83   TH1D *fClY3;                    // Histogram for cluster studies Y
84
85   TH1D *fTgPhi;                   // Histogram for tangens(phi)
86   TH1D *fClYTgPhi[12];            // Histogram cluster Y tangen phi
87
88   TGraphErrors *fGrResTgPhi;      // Graph resolution tangens phi
89   TGraphErrors *fGrMeanTgPhi;     // Graph mean tangens phi
90
91   //TH1D *fPullY2;
92   //TH1D *fPullY3;
93
94   TH1D *fTrklY;                   // QA histogram
95   TH1D *fTrklZ;                   // QA histogram
96
97   TH1D *fClZ;                     // QA histogram
98   TH2D *fClZZ;                    // QA histogram
99   TH2D *fClYY;                    // QA histogram
100   TH2D *fClYX;                    // QA histogram
101   TH1D *fNLabels;                 // QA histogram
102   TH1D *fTestBits;                // QA histogram
103   TH1D *fRefDx;                   // QA histogram
104
105   TH2D *fClZXref;                 // QA histogram
106   TH2D *fClZXcl;                  // QA histogram
107
108   TH2D *fClPos;                   // QA histogram
109  
110   ClassDef(AliTRDtrackingAnalysis,1)            // qa for Digits
111 };
112
113 #endif
114
115