]>
Commit | Line | Data |
---|---|---|
809a4336 | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
75d81601 | 15 | #ifndef ALIHFEPIDTRD_H |
16 | #define ALIHFEPIDTRD_H | |
809a4336 | 17 | |
75d81601 | 18 | #ifndef ALIHFEPIDBASE_H |
809a4336 | 19 | #include "AliHFEpidBase.h" |
20 | #endif | |
21 | ||
75d81601 | 22 | class AliESDtrack; |
809a4336 | 23 | class AliVParticle; |
75d81601 | 24 | class TList; |
25 | class TH2F; | |
809a4336 | 26 | |
27 | class AliHFEpidTRD : public AliHFEpidBase{ | |
28 | public: | |
29 | typedef enum{ | |
30 | kLQ = 0, | |
31 | kNN = 1 | |
32 | } PIDMethodTRD_t; | |
dbe3abbe | 33 | enum{ |
34 | kThreshParams = 24 | |
35 | }; | |
75d81601 | 36 | enum{ |
37 | kHistTRDSigV1 = 0, | |
38 | kHistTRDSigV2 = 1, | |
39 | kHistOverallSpecies = 2 | |
40 | }; | |
809a4336 | 41 | AliHFEpidTRD(const Char_t *name); |
42 | AliHFEpidTRD(const AliHFEpidTRD &ref); | |
43 | AliHFEpidTRD& operator=(const AliHFEpidTRD &ref); | |
44 | virtual ~AliHFEpidTRD(); | |
45 | ||
46 | virtual Bool_t InitializePID(); | |
47 | virtual Int_t IsSelected(AliVParticle *track); | |
75d81601 | 48 | virtual Bool_t HasQAhistos() const { return kTRUE; }; |
49 | ||
50 | Double_t GetTRDSignalV1(AliESDtrack *track); | |
51 | Double_t GetTRDSignalV2(AliESDtrack *track); | |
809a4336 | 52 | |
809a4336 | 53 | void SetPIDMethod(PIDMethodTRD_t method) { fPIDMethod = method; }; |
809a4336 | 54 | protected: |
55 | void Copy(TObject &ref) const; | |
dbe3abbe | 56 | Double_t GetTRDthresholds(Double_t electronEff, Double_t p); |
75d81601 | 57 | Int_t GetMCpid(AliESDtrack *track); |
dbe3abbe | 58 | void InitParameters(); |
75d81601 | 59 | virtual void AddQAhistograms(TList *l); |
dbe3abbe | 60 | void GetParameters(Double_t electronEff, Double_t *parameters); |
75d81601 | 61 | |
62 | void FillHistogramsTRDSignalV1(Double_t signal, Double_t p, Int_t species); | |
63 | void FillHistogramsTRDSignalV2(Double_t signal, Double_t p, Int_t species); | |
809a4336 | 64 | private: |
75d81601 | 65 | static const Double_t fgkVerySmall; // Check for 0 |
809a4336 | 66 | PIDMethodTRD_t fPIDMethod; // PID Method: 2D Likelihood or Neural Network |
dbe3abbe | 67 | Double_t fThreshParams[kThreshParams]; // Threshold parametrisation |
75d81601 | 68 | TList *fContainer; // QA Histogram Container |
809a4336 | 69 | ClassDef(AliHFEpidTRD, 1) // TRD electron ID class |
70 | }; | |
71 | ||
72 | #endif |