1 #ifndef ALITRDCHECKDET_H
2 #define ALITRDCHECKDET_H
4 #ifndef ALITRDRECOTASK_H
5 #include "AliTRDrecoTask.h"
7 ////////////////////////////////////////////////////////////////////////////
8 // Basic checks for tracking and detector performance //
11 // Anton Andronic <A.Andronic@gsi.de> //
12 // Alexandru Bercuci <A.Bercuci@gsi.de> //
13 // Markus Fasel <M.Fasel@gsi.de> //
14 ////////////////////////////////////////////////////////////////////////////
21 class AliExternalTrackParam;
25 class AliTRDReconstructor;
26 class AliTRDrecoParam;
27 class AliTRDeventInfo;
28 class AliTRDcheckDET : public AliTRDrecoTask{
30 // The Histogram number
33 kNclustersTracklet = 1,
38 kNtrackletsFindable = 6,
46 kNeventsTriggerTracks=14,
55 kFigNclustersTracklet,
59 kFigNtrackletsFindable,
69 kFigNeventsTriggerTracks,
74 AliTRDcheckDET(char* name);
75 virtual ~AliTRDcheckDET();
77 virtual void UserCreateOutputObjects();
78 virtual void UserExec(Option_t *opt);
79 virtual TObjArray *Histos();
81 // Plotting Functions:
82 TH1 *PlotTrackStatus(const AliTRDtrackV1 *track = 0x0);
83 TH1 *PlotTrackletStatus(const AliTRDtrackV1 *track = 0x0);
84 TH1 *PlotNClustersTracklet(const AliTRDtrackV1 *t = 0x0);
85 TH1 *PlotNClustersTrack(const AliTRDtrackV1 *t = 0x0);
86 TH1 *PlotNTrackletsTrack(const AliTRDtrackV1 *t = 0x0);
87 TH1 *PlotNTrackletsRowCross(const AliTRDtrackV1 *t = 0x0);
88 TH1 *PlotFindableTracklets(const AliTRDtrackV1 *track = 0x0);
89 TH1 *PlotNTracksSector(const AliTRDtrackV1 *t = 0x0);
90 TH1 *PlotPHt(const AliTRDtrackV1 *t = 0x0);
91 TH1 *PlotPHx(const AliTRDtrackV1 *track = 0x0);
92 TH1 *PlotChi2(const AliTRDtrackV1 *t = 0x0);
93 TH1 *PlotChargeCluster(const AliTRDtrackV1 *t = 0x0);
94 TH1 *PlotChargeTracklet(const AliTRDtrackV1 *t = 0x0);
96 virtual Bool_t PostProcess();
97 virtual Bool_t GetRefFigure(Int_t ifig);
98 virtual void MakeSummary();
100 Bool_t IsUsingClustersOutsideChamber() const {return TESTBIT(fFlags, kUseClustersOutsideChamber);}
101 void UseClustersOutsideChamber(Bool_t b = kTRUE) {if(b) SETBIT(fFlags, kUseClustersOutsideChamber); else CLRBIT(fFlags, kUseClustersOutsideChamber);}
102 void SetRecoParam(AliTRDrecoParam *r);
106 kUseClustersOutsideChamber = 0
108 AliTRDcheckDET(const AliTRDcheckDET &);
109 AliTRDcheckDET& operator=(const AliTRDcheckDET &);
110 void GetDistanceToTracklet(Double_t *dist, AliTRDseedV1 * const tracklet, AliTRDcluster * const c);
112 TH1* MakePlotNTracklets();
113 Bool_t MakePlotPulseHeight();
114 void MakePlotnTrackletsVsP();
115 void MakePlotMeanClustersLayer();
116 Bool_t MakeBarPlot(TH1 *histo, Int_t Color);
117 void GetEtaPhiAt(AliExternalTrackParam *track, Double_t x, Double_t &eta, Double_t &phi);
119 AliTRDeventInfo *fEventInfo; //! ESD Header
120 TMap *fTriggerNames; //! Containing trigger class names
121 AliTRDReconstructor *fReconstructor; // TRD Reconstructor
122 AliTRDgeometry *fGeo; // TRD Geometry object
123 UChar_t fFlags; // Flags for setting
125 ClassDef(AliTRDcheckDET, 1)