]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TRD/AliTRDcheckDET.h
b5b55e1ece99d497aaea2347a9df867af86c30f2
[u/mrichter/AliRoot.git] / PWG1 / TRD / AliTRDcheckDET.h
1 #ifndef ALITRDCHECKDET_H
2 #define ALITRDCHECKDET_H
3
4 #ifndef ALITRDRECOTASK_H
5 #include "AliTRDrecoTask.h"
6 #endif
7 ////////////////////////////////////////////////////////////////////////////
8 //  Basic checks for tracking and detector performance                    //
9 //                                                                        //
10 //  Authors:                                                              //
11 //    Anton Andronic <A.Andronic@gsi.de>                                  //
12 //    Alexandru Bercuci <A.Bercuci@gsi.de>                                //
13 //    Markus Fasel <M.Fasel@gsi.de>                                       //
14 ////////////////////////////////////////////////////////////////////////////
15
16
17 class TObjArray;
18 class TH1;
19 class TMap;
20 class AliESDHeader;
21 class AliTRDcluster;
22 class AliTRDseedV1;
23 class AliTRDgeometry;
24 class AliTRDReconstructor;
25 class AliTRDrecoParam;
26 class AliTRDeventInfo;
27 class AliTRDcheckDET : public AliTRDrecoTask{
28 public:
29   // The Histogram number
30   enum  HistType_t {
31     kNclustersTrack     = 0,
32     kNclustersTracklet  = 1,
33     kNtrackletsTrack    = 2,
34     kNtrackletsSTA      = 3,
35     kNtrackletsBAR      = 4,
36     kNtrackletsCross    = 5,
37     kNtrackletsFindable = 6,
38     kNtracksEvent       = 7,
39     kNtracksSector      = 8,
40     kPH                 = 9,
41     kChi2               = 10,
42     kChargeCluster      = 11,
43     kChargeTracklet     = 12,
44     kNeventsTrigger     = 13,
45     kNeventsTriggerTracks=14,
46     kTriggerPurity      = 15,
47     kTrackStatus        = 16,
48     kTrackletStatus     = 17
49   };
50
51   AliTRDcheckDET();
52   virtual ~AliTRDcheckDET();
53
54   virtual void ConnectInputData(const Option_t *);
55   virtual void CreateOutputObjects();
56   virtual void Exec(Option_t *opt);
57
58   virtual TObjArray *Histos();
59
60   // Plotting Functions:
61   TH1 *PlotTrackStatus(const AliTRDtrackV1 *track = 0x0);
62   TH1 *PlotTrackletStatus(const AliTRDtrackV1 *track = 0x0);
63   TH1 *PlotNClustersTracklet(const AliTRDtrackV1 *t = 0x0);
64   TH1 *PlotNClustersTrack(const AliTRDtrackV1 *t = 0x0);
65   TH1 *PlotNTrackletsTrack(const AliTRDtrackV1 *t = 0x0);
66   TH1 *PlotNTrackletsRowCross(const AliTRDtrackV1 *t = 0x0);
67   TH1 *PlotFindableTracklets(const AliTRDtrackV1 *track = 0x0);
68   TH1 *PlotNTracksSector(const AliTRDtrackV1 *t = 0x0);
69   TH1 *PlotPHt(const AliTRDtrackV1 *t = 0x0);
70   TH1 *PlotPHx(const AliTRDtrackV1 *track = 0x0);
71   TH1 *PlotChi2(const AliTRDtrackV1 *t = 0x0);
72   TH1 *PlotChargeCluster(const AliTRDtrackV1 *t = 0x0);
73   TH1 *PlotChargeTracklet(const AliTRDtrackV1 *t = 0x0);
74
75   virtual Bool_t PostProcess();
76   virtual Bool_t GetRefFigure(Int_t ifig);
77   
78   Bool_t IsUsingClustersOutsideChamber() const {return TESTBIT(fFlags, kUseClustersOutsideChamber);}
79   void UseClustersOutsideChamber(Bool_t b = kTRUE) {if(b) SETBIT(fFlags, kUseClustersOutsideChamber); else CLRBIT(fFlags, kUseClustersOutsideChamber);}
80   void SetRecoParam(AliTRDrecoParam *r);
81
82 private:
83   enum{
84     kUseClustersOutsideChamber
85   };
86   AliTRDcheckDET(const AliTRDcheckDET &);
87   AliTRDcheckDET& operator=(const AliTRDcheckDET &);
88   void GetDistanceToTracklet(Double_t *dist, AliTRDseedV1 * const tracklet, AliTRDcluster * const c);
89   TH1* MakePlotChi2();
90   TH1* MakePlotNTracklets();
91   TH1* MakePlotPulseHeight();
92   Bool_t MakeBarPlot(TH1 *histo, Int_t Color);
93
94   AliTRDeventInfo *fEventInfo;         //! ESD Header
95   TMap *fTriggerNames;                 //! Containing trigger class names
96   AliTRDReconstructor *fReconstructor; // TRD Reconstructor
97   AliTRDgeometry *fGeo;                // TRD Geometry object
98   UChar_t fFlags;                      // Flags for setting
99     
100   ClassDef(AliTRDcheckDET, 1)
101 };
102 #endif