]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/TRD/AliTRDcheckDET.h
updates in centrality dependence for DET monitoring task (Markus)
[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;
44fd53ca 21class AliExternalTrackParam;
1ee39b3a 22class AliTRDcluster;
23class AliTRDseedV1;
24class AliTRDgeometry;
1ee39b3a 25class AliTRDcheckDET : public AliTRDrecoTask{
26public:
27 // The Histogram number
28 enum HistType_t {
29 kNclustersTrack = 0,
30 kNclustersTracklet = 1,
31 kNtrackletsTrack = 2,
32 kNtrackletsSTA = 3,
33 kNtrackletsBAR = 4,
34 kNtrackletsCross = 5,
35 kNtrackletsFindable = 6,
36 kNtracksEvent = 7,
37 kNtracksSector = 8,
38 kPH = 9,
39 kChi2 = 10,
40 kChargeCluster = 11,
41 kChargeTracklet = 12,
42 kNeventsTrigger = 13,
43 kNeventsTriggerTracks=14,
44 kTriggerPurity = 15,
45 kTrackStatus = 16,
0c76cfa4 46 kTrackletStatus = 17,
44fd53ca 47 kNTrackletsP = 18,
48 kNclustersLayer = 19
1ee39b3a 49 };
b795b480 50 enum FigureType_t{
51 kFigNclustersTrack,
52 kFigNclustersTracklet,
53 kFigNtrackletsTrack,
54 kFigNTrackletsP,
55 kFigNtrackletsCross,
56 kFigNtrackletsFindable,
57 kFigNtracksEvent,
58 kFigNtracksSector,
59 kFigTrackStatus,
60 kFigTrackletStatus,
61 kFigChi2,
62 kFigPH,
63 kFigChargeCluster,
64 kFigChargeTracklet,
65 kFigNeventsTrigger,
66 kFigNeventsTriggerTracks,
67 kFigTriggerPurity
68 };
69
1ee39b3a 70 AliTRDcheckDET();
f8f46e4d 71 AliTRDcheckDET(char* name);
1ee39b3a 72 virtual ~AliTRDcheckDET();
73
f8f46e4d 74 virtual void UserCreateOutputObjects();
75 virtual void UserExec(Option_t *opt);
1ee39b3a 76 virtual TObjArray *Histos();
77
78 // Plotting Functions:
79 TH1 *PlotTrackStatus(const AliTRDtrackV1 *track = 0x0);
80 TH1 *PlotTrackletStatus(const AliTRDtrackV1 *track = 0x0);
81 TH1 *PlotNClustersTracklet(const AliTRDtrackV1 *t = 0x0);
82 TH1 *PlotNClustersTrack(const AliTRDtrackV1 *t = 0x0);
83 TH1 *PlotNTrackletsTrack(const AliTRDtrackV1 *t = 0x0);
84 TH1 *PlotNTrackletsRowCross(const AliTRDtrackV1 *t = 0x0);
85 TH1 *PlotFindableTracklets(const AliTRDtrackV1 *track = 0x0);
86 TH1 *PlotNTracksSector(const AliTRDtrackV1 *t = 0x0);
87 TH1 *PlotPHt(const AliTRDtrackV1 *t = 0x0);
88 TH1 *PlotPHx(const AliTRDtrackV1 *track = 0x0);
89 TH1 *PlotChi2(const AliTRDtrackV1 *t = 0x0);
90 TH1 *PlotChargeCluster(const AliTRDtrackV1 *t = 0x0);
91 TH1 *PlotChargeTracklet(const AliTRDtrackV1 *t = 0x0);
92
93 virtual Bool_t PostProcess();
94 virtual Bool_t GetRefFigure(Int_t ifig);
b795b480 95 virtual void MakeSummary();
1ee39b3a 96
c732f879 97 Bool_t IsUsingClustersOutsideChamber() const {return TESTBIT(fFlags, kUseClustersOutsideChamber);}
98 void UseClustersOutsideChamber(Bool_t b = kTRUE) {if(b) SETBIT(fFlags, kUseClustersOutsideChamber); else CLRBIT(fFlags, kUseClustersOutsideChamber);}
1ee39b3a 99
100private:
c732f879 101 enum{
c0a6ac06 102 kUseClustersOutsideChamber = 0
c732f879 103 };
1ee39b3a 104 AliTRDcheckDET(const AliTRDcheckDET &);
105 AliTRDcheckDET& operator=(const AliTRDcheckDET &);
106 void GetDistanceToTracklet(Double_t *dist, AliTRDseedV1 * const tracklet, AliTRDcluster * const c);
8a3dd7a0 107 //----------------------------------------------------
108 // Functions creating the reference figures
d48822f2 109 TH1* MakePlotChi2() const;
1ee39b3a 110 TH1* MakePlotNTracklets();
c0a6ac06 111 Bool_t MakePlotPulseHeight();
0c76cfa4 112 void MakePlotnTrackletsVsP();
44fd53ca 113 void MakePlotMeanClustersLayer();
8a3dd7a0 114 void MakePlotNclustersTrack();
115 void MakePlotNclustersTracklet();
116 void MakePlotTrackletCharge();
1ee39b3a 117 Bool_t MakeBarPlot(TH1 *histo, Int_t Color);
8a3dd7a0 118 //----------------------------------------------------
efb9a759 119 void GetEtaPhiAt(const AliExternalTrackParam *track, Double_t x, Double_t &eta, Double_t &phi);
8a3dd7a0 120 TH1 *ProjectCentrality(TH2 *h2d, Int_t centralityBin = -1);
1ee39b3a 121
2e8eb67c 122 Int_t fCentralityClass; // Centrality Class
1ee39b3a 123 TMap *fTriggerNames; //! Containing trigger class names
c732f879 124 UChar_t fFlags; // Flags for setting
8a3dd7a0 125
126 static const Color_t fkColorsCentrality[AliTRDeventInfo::kCentralityClasses]; // Colors for the different centrality classes in the Ref Figures
fd7ffd88 127 ClassDef(AliTRDcheckDET, 2)
1ee39b3a 128};
129#endif