]>
Commit | Line | Data |
---|---|---|
0cf0c402 | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * See cxx source for full Copyright notice * | |
4 | **************************************************************************/ | |
5 | ||
6 | /* $Id: AliRsnPID.h,v 1.5 2007/02/21 14:33:25 pulvir Exp $ */ | |
7 | ||
8 | //------------------------------------------------------------------------- | |
9 | // Class AliRsnPID | |
10 | // Simple collection of reconstructed tracks, selected from an ESD event | |
06351446 | 11 | // |
0cf0c402 | 12 | // author: A. Pulvirenti (email: alberto.pulvirenti@ct.infn.it) |
13 | //------------------------------------------------------------------------- | |
14 | ||
15 | #ifndef ALIRSNPID_H | |
16 | #define ALIRSNPID_H | |
17 | ||
06351446 | 18 | class AliRsnPIDProb; |
0cf0c402 | 19 | class AliRsnDaughter; |
20 | class AliRsnEvent; | |
21 | ||
22 | class AliRsnPID : public TObject | |
23 | { | |
24 | public: | |
06351446 | 25 | |
0cf0c402 | 26 | AliRsnPID(); |
27 | AliRsnPID(const AliRsnPID& copy); | |
28 | AliRsnPID& operator=(const AliRsnPID& copy); | |
29 | virtual ~AliRsnPID() {} | |
06351446 | 30 | |
0cf0c402 | 31 | // types enum |
06351446 | 32 | enum EType { |
33 | kElectron = 0, | |
34 | kMuon, | |
35 | kPion, | |
36 | kKaon, | |
37 | kProton, | |
38 | kUnknown, | |
39 | kSpecies = 5 | |
0cf0c402 | 40 | }; |
06351446 | 41 | |
0cf0c402 | 42 | // identification method enum |
43 | enum EMethod { | |
44 | kNone = 0, | |
45 | kRealistic, | |
06351446 | 46 | kPerfect, |
47 | kMethods | |
0cf0c402 | 48 | }; |
06351446 | 49 | |
50 | // conversions from PDG code to local type | |
0cf0c402 | 51 | static EType InternalType(Int_t pdgCode); |
06351446 | 52 | |
0cf0c402 | 53 | // retrieve particle informations from internal type |
54 | static Int_t PDGCode(EType pid); | |
06351446 | 55 | static const char * ParticleName(EType pid, Bool_t shortName = kTRUE); |
56 | static const char * ParticleNameLatex(EType pid); | |
0cf0c402 | 57 | static Double_t ParticleMass(EType pid); |
06351446 | 58 | |
0cf0c402 | 59 | // identification routines |
06351446 | 60 | Bool_t Identify(AliRsnDaughter *d); |
61 | Bool_t Identify(AliRsnEvent *e); | |
62 | Bool_t IdentifiedAs(AliRsnDaughter *d, EType type, Short_t charge = 0); | |
63 | ||
0cf0c402 | 64 | // setters |
65 | void SetMethod(EMethod method) {fMethod = method;} | |
66 | void SetPriorProbability(EType type, Double_t p); | |
67 | void SetMinProb(Double_t p) {fMinProb = p;} | |
68 | void SetMaxPt(Double_t p) {fMaxPt = p;} | |
06351446 | 69 | |
0cf0c402 | 70 | // getters |
71 | EMethod GetMethod() {return fMethod;} | |
06351446 | 72 | |
0cf0c402 | 73 | private: |
74 | ||
75 | // identification routines | |
76 | Bool_t IdentifyPerfect(AliRsnDaughter *d); | |
77 | Bool_t IdentifyRealistic(AliRsnDaughter *d); | |
06351446 | 78 | Bool_t Unidentify(AliRsnDaughter *d, Double_t value = 1.0); |
0cf0c402 | 79 | |
80 | EMethod fMethod; // PID method | |
06351446 | 81 | |
82 | Double_t fPrior[kSpecies]; // prior probabilities | |
0cf0c402 | 83 | Double_t fMaxPt; // realistic PID is done for Pt < this parameter |
84 | Double_t fMinProb; // threshold on acceptable largest probability | |
06351446 | 85 | |
86 | static const char* fgkParticleNameShort[kSpecies+1]; | |
87 | static const char* fgkParticleNameLong[kSpecies+1]; | |
88 | static const char* fgkParticleNameLatex[kSpecies+1]; | |
0cf0c402 | 89 | static const Int_t fgkParticlePDG[kSpecies+1]; |
90 | ||
91 | ClassDef(AliRsnPID,1); | |
92 | }; | |
93 | ||
94 | #endif |