]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/qaRec/AliTRDpidChecker.h
updates for studying the drift cell structure
[u/mrichter/AliRoot.git] / TRD / qaRec / AliTRDpidChecker.h
CommitLineData
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 16class AliTRDReconstructor;
74b2e03d 17class AliTRDpidUtil;
3d86166d 18class AliTRDpidChecker : public AliTRDrecoTask
1a6d7c9a 19{
c46a7947 20 // Plots registered for this task
c7cf2032 21 enum{
c46a7947 22 kEfficiency = 0 // pi Efficiency plot
23 ,kdEdx = 1 // dE/dx spectra
24 ,kdEdxSlice = 2 // dE/dx spectra
25 ,kPH = 3 // pulse height spectra
26 ,kNClus = 4 // number of clusters per track
27 ,kMomentum = 5 // momentum distribution
28 ,kMomentumBin = 6 // momentum distribution
29 ,kThresh = 7 // threshold in efficiency
c7cf2032 30 };
c46a7947 31 // PID methods
32 enum {
33 kLQ = 0 // 2D likelihood method
34 ,kNN = 1 // Neural network method
35 ,kESD = 2 // ESD results - check offline
28efdace 36 };
1a6d7c9a 37public:
3d86166d 38 AliTRDpidChecker();
1a6d7c9a 39 virtual ~AliTRDpidChecker();
40
74b2e03d 41 virtual void CreateOutputObjects();
e15179be 42 virtual Bool_t GetRefFigure(Int_t ifig);
74b2e03d 43 virtual Bool_t PostProcess();
44 virtual void Terminate(Option_t *);
45
46 TH1 *PlotLQ(const AliTRDtrackV1 *track = 0x0);
47 TH1 *PlotNN(const AliTRDtrackV1 *track = 0x0);
c46a7947 48 TH1 *PlotESD(const AliTRDtrackV1 *track = 0x0);
74b2e03d 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
b8174058 56 TObjArray *GetGraphs() { return fGraph; };
74b2e03d 57 virtual TObjArray *Histos();
1bd44ae8 58 void EvaluatePionEfficiency(TObjArray *histoContainer, TObjArray *results, Float_t electron_efficiency);
c4c5bbfb 59
1a6d7c9a 60private:
c4c5bbfb 61 AliTRDpidChecker(const AliTRDpidChecker&); // not implemented
62 AliTRDpidChecker& operator=(const AliTRDpidChecker&); // not implemented
1a6d7c9a 63
74b2e03d 64 Int_t CalcPDG(AliTRDtrackV1* track = 0x0);
65 Bool_t CheckTrackQuality(const AliTRDtrackV1* track = 0x0);
66
1a6d7c9a 67 AliTRDReconstructor *fReconstructor; //! reconstructor needed for recalculation the PID
74b2e03d 68 AliTRDpidUtil *fUtil; //! utility class for PID calculations
c46a7947 69 TObjArray *fGraph; //! array of graphs filled in PostProcess
70 TObjArray *fEfficiency; //! array of histograms with efficiency
1a6d7c9a 71
72 ClassDef(AliTRDpidChecker, 1); // TRD PID checker
73};
74
75#endif