]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDpidUtil.h
OCDB viewer implementation (Ionut)
[u/mrichter/AliRoot.git] / TRD / AliTRDpidUtil.h
CommitLineData
0e60774c 1#ifndef ALITRDPIDUTIL_H
2#define ALITRDPIDUTIL_H
3
4//////////////////////////////////////////////////////
5//
6// Class to calculate PID performance of the TRD
7//
8// Author : Alex Wilk <wilka@uni-muenster.de>
9//
10///////////////////////////////////////////////////////
11
422a2dc0 12class TH1;
0affc9e5 13class AliESDtrack;
0e60774c 14class AliTRDpidUtil : public TObject {
15public:
0e60774c 16 enum {
17 kBins = 10001
18 };
0d83b3a5 19 enum ETRDPIDMethod {
0affc9e5 20 kLQ = 0 // 2D likelihood method
21 ,kNN = 1 // Neural network method
22 ,kESD = 2 // ESD results - check offline
0d83b3a5 23 };
24 enum{
25 kNNslices = 8
26 ,kLQslices = 3
27 };
0e60774c 28
29 AliTRDpidUtil();
30 virtual ~AliTRDpidUtil(){;}
31
0d83b3a5 32 Bool_t CalculatePionEffi(TH1* histo1, TH1* histo2);
0e60774c 33
4d6aee34 34 static Float_t ElectronEfficiency() { return fgEleEffi;};
0affc9e5 35
0d83b3a5 36 static Bool_t IsElectron(const AliESDtrack *track, ETRDPIDMethod method = kNN);
37 static Double_t GetSystematicError(const AliESDtrack *track, ETRDPIDMethod method = kNN);
38 static Int_t GetNdEdxSlices(ETRDPIDMethod m) { return m == kNN ? kNNslices : kLQslices;}
39 Double_t GetCalcElectronEfficiency() const { return fCalcEleEffi;};
40 Double_t GetPionEfficiency() const { return fPionEffi;};
41 Double_t GetError() const { return fError;};
42 Double_t GetThreshold() const { return fThreshold;};
43
44 static Int_t GetMomentumBin(Double_t p);
45 static Int_t Pdg2Pid(Int_t pdg);
4d6aee34 46 static void SetElectronEfficiency(Float_t eleeffi) {fgEleEffi = eleeffi;};
0e60774c 47
48private:
49 AliTRDpidUtil(const AliTRDpidUtil&); // not implemented
50 AliTRDpidUtil& operator=(const AliTRDpidUtil&); // not implemented
51
4d6aee34 52 static Float_t fgEleEffi; // electron efficiency
0e60774c 53
54 Double_t fCalcEleEffi; // electron efficiency after calculation
55 Double_t fPionEffi; // pion efficiency
56 Double_t fError; // pion efficiency error
57 Double_t fThreshold; // threshold for calculated electron efficiency
58
59 ClassDef(AliTRDpidUtil, 1) // TRD PID efficiency calculator
60
61};
62
63#endif