]>
Commit | Line | Data |
---|---|---|
1a6d7c9a | 1 | #ifndef ALITRDPIDCHECKER_H |
2 | #define ALITRDPIDCHECKER_H | |
3 | ||
4 | ////////////////////////////////////////////////////// | |
5 | // | |
6 | // Task to check PID performance of the TRD | |
7 | // | |
8 | // Author : Alex Wilk <wilka@uni-muenster.de> | |
9 | // | |
10 | /////////////////////////////////////////////////////// | |
11 | ||
3d86166d | 12 | #ifndef ALITRDRECOTASK_H |
13 | #include "AliTRDrecoTask.h" | |
14 | #endif | |
1a6d7c9a | 15 | |
1a6d7c9a | 16 | class AliTRDReconstructor; |
74b2e03d | 17 | class AliTRDpidUtil; |
3d86166d | 18 | class AliTRDpidChecker : public AliTRDrecoTask |
1a6d7c9a | 19 | { |
c7cf2032 | 20 | |
21 | enum{ | |
422a2dc0 | 22 | kLQlikelihood = 0 // place for 2-dim LQ electron likelihood distributions |
23 | ,kNNlikelihood = 1 // place for NN electron likelihood distributions | |
24 | ,kdEdx = 2 // place for the dE/dx spectra | |
b718144c | 25 | ,kdEdxSlice = 3 // place for the dE/dx spectra |
26 | ,kPH = 4 // place for pulse height spectra | |
27 | ,kNClus = 5 // place for the number of clusters per track | |
28 | ,kMomentum = 6 // place for the momentum distribution | |
29 | ,kMomentumBin = 7 // place for the momentum distribution | |
30 | ,kGraphLQ = 8 // place for the 2-dim LQ pion efficiencies | |
31 | ,kGraphNN = 9 // place for the NN pion efficiencies | |
c7cf2032 | 32 | }; |
33 | ||
34 | enum{ | |
35 | kGraphStart = kGraphLQ | |
28efdace | 36 | }; |
c7cf2032 | 37 | |
1a6d7c9a | 38 | public: |
3d86166d | 39 | AliTRDpidChecker(); |
1a6d7c9a | 40 | virtual ~AliTRDpidChecker(); |
41 | ||
74b2e03d | 42 | virtual void CreateOutputObjects(); |
43 | virtual void GetRefFigure(Int_t ifig); | |
44 | virtual Bool_t PostProcess(); | |
45 | virtual void Terminate(Option_t *); | |
46 | ||
47 | TH1 *PlotLQ(const AliTRDtrackV1 *track = 0x0); | |
48 | TH1 *PlotNN(const AliTRDtrackV1 *track = 0x0); | |
49 | TH1 *PlotdEdx(const AliTRDtrackV1 *track = 0x0); | |
50 | TH1 *PlotdEdxSlice(const AliTRDtrackV1 *track = 0x0); | |
51 | TH1 *PlotPH(const AliTRDtrackV1 *track = 0x0); | |
52 | TH1 *PlotNClus(const AliTRDtrackV1 *track = 0x0); | |
53 | TH1 *PlotMom(const AliTRDtrackV1 *track = 0x0); | |
54 | TH1 *PlotMomBin(const AliTRDtrackV1 *track = 0x0); | |
1a6d7c9a | 55 | |
74b2e03d | 56 | virtual TObjArray *Histos(); |
c4c5bbfb | 57 | |
1a6d7c9a | 58 | private: |
c4c5bbfb | 59 | AliTRDpidChecker(const AliTRDpidChecker&); // not implemented |
60 | AliTRDpidChecker& operator=(const AliTRDpidChecker&); // not implemented | |
1a6d7c9a | 61 | |
74b2e03d | 62 | Int_t CalcPDG(AliTRDtrackV1* track = 0x0); |
63 | Bool_t CheckTrackQuality(const AliTRDtrackV1* track = 0x0); | |
64 | ||
1a6d7c9a | 65 | AliTRDReconstructor *fReconstructor; //! reconstructor needed for recalculation the PID |
74b2e03d | 66 | AliTRDpidUtil *fUtil; //! utility class for PID calculations |
1a6d7c9a | 67 | |
68 | ClassDef(AliTRDpidChecker, 1); // TRD PID checker | |
69 | }; | |
70 | ||
71 | #endif |