]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/TRD/AliTRDcheckDET.h
Streamlining with the analyis framework:
[u/mrichter/AliRoot.git] / PWG1 / TRD / AliTRDcheckDET.h
CommitLineData
1ee39b3a 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
17class TObjArray;
18class TH1;
19class TMap;
20class AliESDHeader;
21class AliTRDcluster;
22class AliTRDseedV1;
23class AliTRDgeometry;
24class AliTRDReconstructor;
25class AliTRDrecoParam;
26class AliTRDeventInfo;
27class AliTRDcheckDET : public AliTRDrecoTask{
28public:
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,
0c76cfa4 48 kTrackletStatus = 17,
49 kNTrackletsP = 18
1ee39b3a 50 };
51
52 AliTRDcheckDET();
f8f46e4d 53 AliTRDcheckDET(char* name);
1ee39b3a 54 virtual ~AliTRDcheckDET();
55
f8f46e4d 56 virtual void UserCreateOutputObjects();
57 virtual void UserExec(Option_t *opt);
58 virtual void ConnectInputData(Option_t *opt);
1ee39b3a 59 virtual TObjArray *Histos();
60
61 // Plotting Functions:
62 TH1 *PlotTrackStatus(const AliTRDtrackV1 *track = 0x0);
63 TH1 *PlotTrackletStatus(const AliTRDtrackV1 *track = 0x0);
64 TH1 *PlotNClustersTracklet(const AliTRDtrackV1 *t = 0x0);
65 TH1 *PlotNClustersTrack(const AliTRDtrackV1 *t = 0x0);
66 TH1 *PlotNTrackletsTrack(const AliTRDtrackV1 *t = 0x0);
67 TH1 *PlotNTrackletsRowCross(const AliTRDtrackV1 *t = 0x0);
68 TH1 *PlotFindableTracklets(const AliTRDtrackV1 *track = 0x0);
69 TH1 *PlotNTracksSector(const AliTRDtrackV1 *t = 0x0);
70 TH1 *PlotPHt(const AliTRDtrackV1 *t = 0x0);
71 TH1 *PlotPHx(const AliTRDtrackV1 *track = 0x0);
72 TH1 *PlotChi2(const AliTRDtrackV1 *t = 0x0);
73 TH1 *PlotChargeCluster(const AliTRDtrackV1 *t = 0x0);
74 TH1 *PlotChargeTracklet(const AliTRDtrackV1 *t = 0x0);
75
76 virtual Bool_t PostProcess();
77 virtual Bool_t GetRefFigure(Int_t ifig);
78
c732f879 79 Bool_t IsUsingClustersOutsideChamber() const {return TESTBIT(fFlags, kUseClustersOutsideChamber);}
80 void UseClustersOutsideChamber(Bool_t b = kTRUE) {if(b) SETBIT(fFlags, kUseClustersOutsideChamber); else CLRBIT(fFlags, kUseClustersOutsideChamber);}
1ee39b3a 81 void SetRecoParam(AliTRDrecoParam *r);
82
83private:
c732f879 84 enum{
85 kUseClustersOutsideChamber
86 };
1ee39b3a 87 AliTRDcheckDET(const AliTRDcheckDET &);
88 AliTRDcheckDET& operator=(const AliTRDcheckDET &);
89 void GetDistanceToTracklet(Double_t *dist, AliTRDseedV1 * const tracklet, AliTRDcluster * const c);
90 TH1* MakePlotChi2();
91 TH1* MakePlotNTracklets();
92 TH1* MakePlotPulseHeight();
0c76cfa4 93 void MakePlotnTrackletsVsP();
1ee39b3a 94 Bool_t MakeBarPlot(TH1 *histo, Int_t Color);
95
96 AliTRDeventInfo *fEventInfo; //! ESD Header
97 TMap *fTriggerNames; //! Containing trigger class names
98 AliTRDReconstructor *fReconstructor; // TRD Reconstructor
99 AliTRDgeometry *fGeo; // TRD Geometry object
c732f879 100 UChar_t fFlags; // Flags for setting
1ee39b3a 101
102 ClassDef(AliTRDcheckDET, 1)
103};
104#endif