]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/qaRec/AliTRDtrackingResolution.h
348f0c128dcaf6dfbb74cd6c86fda8934593fdd9
[u/mrichter/AliRoot.git] / TRD / qaRec / AliTRDtrackingResolution.h
1 #ifndef ALITRDTRACKINGRESOLUTION_H
2 #define ALITRDTRACKINGRESOLUTION_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id: AliTRDtrackingResolution.h 27496 2008-07-22 08:35:45Z cblume $ */
7
8 ////////////////////////////////////////////////////////////////////////////
9 //                                                                        //
10 //  Reconstruction QA                                                     //
11 //                                                                        //
12 ////////////////////////////////////////////////////////////////////////////
13
14 #ifndef ALITRDRECOTASK_H
15 #include "AliTRDrecoTask.h"
16 #endif
17
18 class TH1;
19 class TF1;
20 class TObjArray;
21 class AliTRDReconstructor;
22 class AliTRDgeometry;
23 class AliTRDrecoParam;
24 class AliTRDseedV1;
25 class AliTRDtrackInfo;
26 class AliTRDtrackingResolution : public AliTRDrecoTask
27 {
28 public:
29   enum{
30     kCluster        = 0
31     ,kTrackletY     = 1 // tracklet - track y pools
32     ,kTrackletPhi   = 2 // tracklet - track angular pools residuals
33     ,kMCcluster     = 3/*5*/
34     ,kMCtrackletY   = 4/*6*/
35     ,kMCtrackletZ   = 5/*6*/
36     ,kMCtrackletPhi = 6/*7*/
37     ,kMCtrackY      = 7 // Kalman Y resolution
38     ,kMCtrackZ      = 8 // Kalman Z resolution
39   };
40   enum{
41     kVerbose  = 0
42     ,kVisual  = 1
43   };
44
45   AliTRDtrackingResolution();
46   virtual ~AliTRDtrackingResolution();
47   
48   void    CreateOutputObjects();
49   Bool_t  GetRefFigure(Int_t ifig);
50   TObjArray*  Histos(); 
51   void    Exec(Option_t *);
52   Bool_t  IsVerbose() const {return TESTBIT(fStatus, kVerbose);}
53   Bool_t  IsVisual() const {return TESTBIT(fStatus, kVisual);}
54   Bool_t  PostProcess();
55
56   TH1*    PlotCluster(const AliTRDtrackV1 *t=0x0);
57   TH1*    PlotTracklet(const AliTRDtrackV1 *t=0x0);
58   TH1*    PlotTrackletPhi(const AliTRDtrackV1 *t=0x0);
59   TH1*    PlotResolution(const AliTRDtrackV1 *t=0x0);
60
61   void    SetRecoParam(AliTRDrecoParam *r);
62   void    SetVerbose(Bool_t v = kTRUE) {v ? SETBIT(fStatus ,kVerbose): CLRBIT(fStatus ,kVerbose);}
63   void    SetVisual(Bool_t v = kTRUE) {v ? SETBIT(fStatus, kVisual) : CLRBIT(fStatus, kVisual);}
64
65   void    Terminate(Option_t *);
66   
67 private:
68   AliTRDtrackingResolution(const AliTRDtrackingResolution&);
69   AliTRDtrackingResolution& operator=(const AliTRDtrackingResolution&);
70   void        AdjustF1(TH1 *h, TF1 *f);
71
72 private:
73   UChar_t             fStatus;          // steer parameter of the task
74   AliTRDReconstructor *fReconstructor;  //! local reconstructor
75   AliTRDgeometry      *fGeo;            //! TRD geometry
76   TObjArray           *fGraphS;         //! result holder - sigma values
77   TObjArray           *fGraphM;         //! result holder - mean values
78
79   // calibration containers
80   TObjArray           *fClResiduals;    //!
81   TObjArray           *fTrkltResiduals;    //!
82   TObjArray           *fTrkltPhiResiduals;    //!
83   TObjArray           *fClResolution;   //!
84   TObjArray           *fTrkltResolution;//!
85   
86   ClassDef(AliTRDtrackingResolution, 1) // tracking resolution task
87 };
88 #endif