]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/qaRec/AliTRDcheckDetector.h
- add TPC performance train (Alex & Jacek)
[u/mrichter/AliRoot.git] / TRD / qaRec / AliTRDcheckDetector.h
1 #ifndef ALITRDCHECKDETECTOR_H
2 #define ALITRDCHECKDETECTOR_H
3
4 #ifndef ALITRDRECOTASK_H
5 #include "AliTRDrecoTask.h"
6 #endif
7
8 class TObjArray;
9 class TH1;
10 class TMap;
11 class AliESDHeader;
12 class AliTRDcluster;
13 class AliTRDseedV1;
14 class AliTRDgeometry;
15 class AliTRDReconstructor;
16 class AliTRDrecoParam;
17 class AliTRDeventInfo;
18
19 class AliTRDcheckDetector : public AliTRDrecoTask{
20 public:
21   // The Histogram number
22   enum  HistType_t {
23     kNclustersTrack     = 0,
24     kNclustersTracklet   = 1,
25     kNtrackletsTrack    = 2,
26     kNtrackletsSTA      = 3,
27     kNtrackletsBAR      = 4,
28     kNtrackletsCross    = 5,
29     kNtrackletsFindable = 6,
30     kNtracksEvent       = 7,
31     kNtracksSector      = 8,
32     kPH                 = 9,
33     kChi2               = 10,
34     kChargeCluster      = 11,
35     kChargeTracklet     = 12,
36     kNeventsTrigger     = 13,
37     kNeventsTriggerTracks=14,
38     kTriggerPurity      = 15
39   };
40
41   AliTRDcheckDetector();
42   virtual ~AliTRDcheckDetector();
43
44   virtual void ConnectInputData(const Option_t *);
45   virtual void CreateOutputObjects();
46   virtual void Exec(Option_t *);
47   virtual void Terminate(Option_t *);
48
49   virtual TObjArray *Histos();
50
51   // Plotting Functions:
52   TH1 *PlotNClustersTracklet(const AliTRDtrackV1 *t = 0x0);
53   TH1 *PlotNClustersTrack(const AliTRDtrackV1 *t = 0x0);
54   TH1 *PlotNTrackletsTrack(const AliTRDtrackV1 *t = 0x0);
55   TH1 *PlotNTrackletsRowCross(const AliTRDtrackV1 *t = 0x0);
56   TH1 *PlotFindableTracklets(const AliTRDtrackV1 *track = 0x0);
57   TH1 *PlotNTracksSector(const AliTRDtrackV1 *t = 0x0);
58   TH1 *PlotPHt(const AliTRDtrackV1 *t = 0x0);
59   TH1 *PlotPHx(const AliTRDtrackV1 *track = 0x0);
60   TH1 *PlotChi2(const AliTRDtrackV1 *t = 0x0);
61   TH1 *PlotChi2Norm(const AliTRDtrackV1 *t = 0x0);
62   TH1 *PlotChargeCluster(const AliTRDtrackV1 *t = 0x0);
63   TH1 *PlotChargeTracklet(const AliTRDtrackV1 *t = 0x0);
64
65   virtual Bool_t PostProcess();
66   virtual Bool_t GetRefFigure(Int_t ifig);
67   
68   void SetRecoParam(AliTRDrecoParam *r);
69
70 private:
71   AliTRDcheckDetector(const AliTRDcheckDetector &);
72   AliTRDcheckDetector& operator=(const AliTRDcheckDetector &);
73   void GetDistanceToTracklet(Double_t *dist, AliTRDseedV1 *tracklet, AliTRDcluster *c);
74   void MakePlotNTracklets();
75   void MakePlotPulseHeight();
76   Bool_t MakeBarPlot(TH1 *histo, Int_t Color);
77   AliTRDeventInfo *fEventInfo;         //! ESD Header
78   TMap *fTriggerNames;                 //! Containing trigger class names
79   AliTRDReconstructor *fReconstructor; // TRD Reconstructor
80   AliTRDgeometry *fGeo;                // TRD Geometry object
81     
82   ClassDef(AliTRDcheckDetector, 1)
83 };
84 #endif
85