]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/RESONANCES/AliRsnPID.h
Package upgrade.
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnPID.h
index b0cddca71032d9d06a068f5456bb5930b2a37904..8d24d51a02bdfb5c93d244242a664d0274f76f37 100644 (file)
@@ -8,78 +8,84 @@
 //-------------------------------------------------------------------------
 //                      Class AliRsnPID
 //  Simple collection of reconstructed tracks, selected from an ESD event
-// 
+//
 // author: A. Pulvirenti             (email: alberto.pulvirenti@ct.infn.it)
 //-------------------------------------------------------------------------
 
 #ifndef ALIRSNPID_H
 #define ALIRSNPID_H
 
+class AliRsnPIDProb;
 class AliRsnDaughter;
 class AliRsnEvent;
 
 class AliRsnPID : public TObject
 {
 public:
-       
+
     AliRsnPID();
     AliRsnPID(const AliRsnPID& copy);
     AliRsnPID& operator=(const AliRsnPID& copy);
     virtual ~AliRsnPID() {}
-    
+
     // types enum
-    enum EType { 
-        kElectron = 0, 
-        kMuon, 
-        kPion, 
-        kKaon, 
-        kProton, 
-        kUnknown, 
-        kSpecies = 5 
+    enum EType {
+        kElectron = 0,
+        kMuon,
+        kPion,
+        kKaon,
+        kProton,
+        kUnknown,
+        kSpecies = 5
     };
-    
+
     // identification method enum
     enum EMethod {
         kNone = 0,
         kRealistic,
-        kPerfect
+        kPerfect,
+        kMethods
     };
-    
-    // conversions from PDG code to local type 
+
+    // conversions from PDG code to local type
     static EType         InternalType(Int_t pdgCode);
-    
+
     // retrieve particle informations from internal type
     static Int_t         PDGCode(EType pid);
-    static const char *  ParticleName(EType pid);
+    static const char *  ParticleName(EType pid, Bool_t shortName = kTRUE);
+    static const char *  ParticleNameLatex(EType pid);
     static Double_t      ParticleMass(EType pid);
-    
+
     // identification routines
-    Bool_t  Identify(AliRsnDaughter *d);
-    Bool_t  Identify(AliRsnEvent *e);
-    
+    Bool_t        Identify(AliRsnDaughter *d);
+    Bool_t        Identify(AliRsnEvent *e);
+    Bool_t        IdentifiedAs(AliRsnDaughter *d, EType type, Short_t charge = 0);
+
     // setters
     void SetMethod(EMethod method) {fMethod = method;}
        void SetPriorProbability(EType type, Double_t p);
        void SetMinProb(Double_t p) {fMinProb = p;}
        void SetMaxPt(Double_t p) {fMaxPt = p;}
-       
+
        // getters
        EMethod  GetMethod() {return fMethod;}
-    
+
 private:
 
     // identification routines
     Bool_t  IdentifyPerfect(AliRsnDaughter *d);
     Bool_t  IdentifyRealistic(AliRsnDaughter *d);
-    Bool_t  Unidentify(AliRsnDaughter *d);
+    Bool_t  Unidentify(AliRsnDaughter *d, Double_t value = 1.0);
 
     EMethod    fMethod;          // PID method
-    
-    Double_t   fPrior[kSpecies]; // prior probabilities 
+
+    Double_t   fPrior[kSpecies]; // prior probabilities
     Double_t   fMaxPt;           // realistic PID is done for Pt < this parameter
     Double_t   fMinProb;         // threshold on acceptable largest probability
-    
-    static const char* fgkParticleName[kSpecies+1];
+
+    static const char* fgkParticleNameShort[kSpecies+1];
+    static const char* fgkParticleNameLong[kSpecies+1];
+    static const char* fgkParticleNameLatex[kSpecies+1];
     static const Int_t fgkParticlePDG[kSpecies+1];
 
     ClassDef(AliRsnPID,1);