]>
Commit | Line | Data |
---|---|---|
0e60774c | 1 | #ifndef ALITRDPIDUTIL_H |
2 | #define ALITRDPIDUTIL_H | |
142229c3 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id: AliTRDpidUtil.h 42548 2010-07-27 08:10:51Z cblume $ */ | |
0e60774c | 7 | |
8 | ////////////////////////////////////////////////////// | |
9 | // | |
10 | // Class to calculate PID performance of the TRD | |
11 | // | |
12 | // Author : Alex Wilk <wilka@uni-muenster.de> | |
13 | // | |
14 | /////////////////////////////////////////////////////// | |
15 | ||
422a2dc0 | 16 | class TH1; |
0affc9e5 | 17 | class AliESDtrack; |
0e60774c | 18 | class AliTRDpidUtil : public TObject { |
19 | public: | |
0e60774c | 20 | enum { |
21 | kBins = 10001 | |
22 | }; | |
0d83b3a5 | 23 | enum ETRDPIDMethod { |
0affc9e5 | 24 | kLQ = 0 // 2D likelihood method |
25 | ,kNN = 1 // Neural network method | |
26 | ,kESD = 2 // ESD results - check offline | |
0d83b3a5 | 27 | }; |
28 | enum{ | |
29 | kNNslices = 8 | |
30 | ,kLQslices = 3 | |
31 | }; | |
0e60774c | 32 | |
33 | AliTRDpidUtil(); | |
34 | virtual ~AliTRDpidUtil(){;} | |
35 | ||
0d83b3a5 | 36 | Bool_t CalculatePionEffi(TH1* histo1, TH1* histo2); |
0e60774c | 37 | |
4d6aee34 | 38 | static Float_t ElectronEfficiency() { return fgEleEffi;}; |
0affc9e5 | 39 | |
0d83b3a5 | 40 | static Bool_t IsElectron(const AliESDtrack *track, ETRDPIDMethod method = kNN); |
41 | static Double_t GetSystematicError(const AliESDtrack *track, ETRDPIDMethod method = kNN); | |
42 | static Int_t GetNdEdxSlices(ETRDPIDMethod m) { return m == kNN ? kNNslices : kLQslices;} | |
43 | Double_t GetCalcElectronEfficiency() const { return fCalcEleEffi;}; | |
44 | Double_t GetPionEfficiency() const { return fPionEffi;}; | |
45 | Double_t GetError() const { return fError;}; | |
46 | Double_t GetThreshold() const { return fThreshold;}; | |
47 | ||
48 | static Int_t GetMomentumBin(Double_t p); | |
49 | static Int_t Pdg2Pid(Int_t pdg); | |
4d6aee34 | 50 | static void SetElectronEfficiency(Float_t eleeffi) {fgEleEffi = eleeffi;}; |
0e60774c | 51 | |
52 | private: | |
53 | AliTRDpidUtil(const AliTRDpidUtil&); // not implemented | |
54 | AliTRDpidUtil& operator=(const AliTRDpidUtil&); // not implemented | |
55 | ||
4d6aee34 | 56 | static Float_t fgEleEffi; // electron efficiency |
0e60774c | 57 | |
58 | Double_t fCalcEleEffi; // electron efficiency after calculation | |
59 | Double_t fPionEffi; // pion efficiency | |
60 | Double_t fError; // pion efficiency error | |
61 | Double_t fThreshold; // threshold for calculated electron efficiency | |
62 | ||
63 | ClassDef(AliTRDpidUtil, 1) // TRD PID efficiency calculator | |
64 | ||
65 | }; | |
66 | ||
67 | #endif |