4 // Processes the tracks to compute PID probabilities,
5 // by combining the prior probabilities with the PID weights
6 // stored in each AliRsnDaughter
8 // authors: A. Pulvirenti (alberto.pulvirenti@ct.infn.it)
9 // M. Vala (martin.vala@cern.ch)
20 class AliRsnPID : public TNamed
40 virtual ~AliRsnPID() {}
42 // conversions from PDG code to local type
43 static EType InternalType(Int_t pdgCode);
45 // retrieve particle informations from internal type
46 static Int_t PDGCode(EType pid);
47 static const char* ParticleName(EType pid, Bool_t shortName = kTRUE);
48 static const char* ParticleNameLatex(EType pid);
49 static Double_t ParticleMass(EType pid);
51 // identification routines
52 Bool_t Process(AliRsnEvent *e);
53 Bool_t ComputeProbs(AliRsnDaughter *d);
54 Bool_t IdentifiedAs(AliRsnDaughter *d, EType type, Short_t charge = 0);
55 EType TrackType(AliRsnDaughter *d);
58 void SetPriorProbability(EType type, Double_t p);
59 void SetMinProb(Double_t p) {fMinProb = p;}
60 void SetMaxPt(Double_t p) {fMaxPt = p;}
61 Double_t GetPriorProbability(EType type) {return fPrior[(Int_t)type];}
62 Double_t GetMinProb() {return fMinProb;}
63 Double_t GetMaxPt() {return fMaxPt;}
67 void SetPIDArraysSize(Int_t size) {fPIDArraysSize = size;}
71 Double_t fPrior[kSpecies]; // prior probabilities
72 Double_t fMaxPt; // pt threshold for realistic PID
73 Double_t fMinProb; // threshold on acceptable largest probability
74 Int_t fPIDArraysSize; // size of PID arrays filled during processing
76 static const Double_t fgkParticleMass[kSpeciesAll + 1]; // PDG particle mass
77 static const char* fgkParticleNameShort[kSpeciesAll + 1]; // short particle name
78 static const char* fgkParticleNameLong[kSpeciesAll + 1]; // long particle name
79 static const char* fgkParticleNameLatex[kSpeciesAll + 1]; // latex particle name
80 static const Int_t fgkParticlePDG[kSpeciesAll + 1]; // PDG code of particle
82 ClassDef(AliRsnPID,1);