]>
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 | **************************************************************************/ | |
50685501 | 15 | // |
16 | // TRD PID Class | |
17 | // Does PID either on a x% electron efficiency basis or on dE/dx | |
18 | // For more information please check the implementation file | |
19 | // | |
75d81601 | 20 | #ifndef ALIHFEPIDTRD_H |
21 | #define ALIHFEPIDTRD_H | |
809a4336 | 22 | |
75d81601 | 23 | #ifndef ALIHFEPIDBASE_H |
809a4336 | 24 | #include "AliHFEpidBase.h" |
25 | #endif | |
26 | ||
722347d8 | 27 | class AliAODTrack; |
28 | class AliAODMCParticle; | |
75d81601 | 29 | class AliESDtrack; |
722347d8 | 30 | class AliMCParticle; |
809a4336 | 31 | class AliVParticle; |
75d81601 | 32 | class TList; |
33 | class TH2F; | |
809a4336 | 34 | |
35 | class AliHFEpidTRD : public AliHFEpidBase{ | |
36 | public: | |
37 | typedef enum{ | |
38 | kLQ = 0, | |
39 | kNN = 1 | |
40 | } PIDMethodTRD_t; | |
dbe3abbe | 41 | enum{ |
42 | kThreshParams = 24 | |
43 | }; | |
75d81601 | 44 | enum{ |
0792aa82 | 45 | kHistTRDlikeBefore = 0, |
46 | kHistTRDlikeAfter = 1, | |
47 | kHistTRDthresholds = 2, | |
48 | kHistTRDSigV1 = 3, | |
49 | kHistTRDSigV2 = 4, | |
50 | kHistOverallSpecies = 5 | |
75d81601 | 51 | }; |
809a4336 | 52 | AliHFEpidTRD(const Char_t *name); |
53 | AliHFEpidTRD(const AliHFEpidTRD &ref); | |
54 | AliHFEpidTRD& operator=(const AliHFEpidTRD &ref); | |
55 | virtual ~AliHFEpidTRD(); | |
56 | ||
57 | virtual Bool_t InitializePID(); | |
722347d8 | 58 | virtual Int_t IsSelected(AliHFEpidObject *track); |
75d81601 | 59 | virtual Bool_t HasQAhistos() const { return kTRUE; }; |
60 | ||
722347d8 | 61 | Double_t GetTRDSignalV1(AliESDtrack *track, Int_t mcPID); |
62 | Double_t GetTRDSignalV2(AliESDtrack *track, Int_t mcPID); | |
809a4336 | 63 | |
809a4336 | 64 | void SetPIDMethod(PIDMethodTRD_t method) { fPIDMethod = method; }; |
809a4336 | 65 | protected: |
66 | void Copy(TObject &ref) const; | |
722347d8 | 67 | Int_t MakePIDesd(AliESDtrack *esdTrack, AliMCParticle *mcTrack); |
68 | Int_t MakePIDaod(AliAODTrack *aofTrack, AliAODMCParticle *aodMC); | |
dbe3abbe | 69 | Double_t GetTRDthresholds(Double_t electronEff, Double_t p); |
75d81601 | 70 | Int_t GetMCpid(AliESDtrack *track); |
dbe3abbe | 71 | void InitParameters(); |
75d81601 | 72 | virtual void AddQAhistograms(TList *l); |
dbe3abbe | 73 | void GetParameters(Double_t electronEff, Double_t *parameters); |
75d81601 | 74 | |
0792aa82 | 75 | void FillHistogramsLikelihood(Int_t whenFilled, Float_t p, Float_t elProb); |
75d81601 | 76 | void FillHistogramsTRDSignalV1(Double_t signal, Double_t p, Int_t species); |
77 | void FillHistogramsTRDSignalV2(Double_t signal, Double_t p, Int_t species); | |
809a4336 | 78 | private: |
75d81601 | 79 | static const Double_t fgkVerySmall; // Check for 0 |
809a4336 | 80 | PIDMethodTRD_t fPIDMethod; // PID Method: 2D Likelihood or Neural Network |
dbe3abbe | 81 | Double_t fThreshParams[kThreshParams]; // Threshold parametrisation |
75d81601 | 82 | TList *fContainer; // QA Histogram Container |
809a4336 | 83 | ClassDef(AliHFEpidTRD, 1) // TRD electron ID class |
84 | }; | |
85 | ||
86 | #endif |