]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCPid.h
Added NHard function.
[u/mrichter/AliRoot.git] / TPC / AliTPCPid.h
index 941795e65fe1f21060bd340e6bab77716764619b..48a4a7a39f5e925620db47e60db84f10de436e15 100644 (file)
@@ -7,13 +7,16 @@
 /* $Id$ */
 
 #include <TObject.h>
-#include <TF1.h>
-#include <TClonesArray.h>
+//#include <TF1.h>
+//#include <TClonesArray.h>
 #include <TVector.h>
 #include "../TPC/AliTPCtrack.h"
 //#include "../ITS/AliITSIOTrack.h"
-#include "../ITS/AliITStrackV2.h"
+class AliKalmanTrack;
 #include <assert.h>
+
+class TF1;
+class TClonesArray;
 //___________________________________________________________________________
 class  AliTPCPid :
   public TObject {
@@ -21,54 +24,55 @@ class  AliTPCPid :
 public:
                AliTPCPid(Int_t ntrs=1000);
                virtual ~AliTPCPid(){}
+                AliTPCPid( const AliTPCPid& r);
        void    SetEdep(Int_t track,Float_t Edep);
        void    SetPmom(Int_t track,Float_t Pmom);
        void    SetPcod(Int_t track,Int_t Pcod);
        void    Print(Int_t track);
        void    Tab(void);
        void    Reset(void);
-       void    SetVec(Int_t track,TVector info);
-       TVector* GetVec(Int_t track);
-       Int_t   GetPcode(TClonesArray*,Float_t);
-       Int_t   GetPcode(Float_t,Float_t);
-       Int_t   GetPcode(AliTPCtrack*);
+       void    SetVec(Int_t track,TVector info) const;
+       TVector* GetVec(Int_t track) const;
+       Int_t   GetPcode(TClonesArray* ,Float_t) const;
+       Int_t   GetPcode(Float_t q,Float_t pm);
+       Int_t   GetPcode(AliTPCtrack*track);
 //        Int_t   GetPcode(AliITSIOTrack*); 
-        Int_t   GetPcode(AliITStrackV2*);
-       void    SetCut(Int_t,Float_t,Float_t,Float_t,
-                           Float_t,Float_t,Float_t,Float_t);
-       void    SetAProb(Int_t ivar,Int_t icut,Float_t apro){ aprob[ivar][icut]=apro; } 
-       Float_t GetAProb(Int_t ivar,Int_t icut){ return aprob[ivar][icut]; } 
-       Float_t GetWpi(){return fWpi;}
-       Float_t GetWk(){return fWk;}
-       Float_t GetWp(){return fWp;}
-       Int_t   GetPid(){return fPcode;};
-protected:
-public:
-       Float_t cut[13][7],aprob[3][8];
-       Int_t       mxtrs;
-       TClonesArray *trs;
-       Float_t qtot;
-       Float_t fWpi,fWk,fWp;
-       Float_t fRpik,fRppi,fRpka,fRp; 
-       Int_t   fPcode;
-//private:
-public:
-       TF1 *fCutKa;
-       TF1 *fCutPr;
-       Float_t fCutKaTune,fCutPrTune;
-       Float_t qcorr(Float_t);
-       int     qcomp(Float_t* qa,Float_t* qb){return qa[0]>qb[0]?1:0;}
-       Float_t qtrm(Int_t track);
-       Float_t qtrm(Float_t qarr[6],Int_t narr);
-       Float_t fSigmin;
-       Int_t   wpik(Int_t,Float_t);
-       Int_t   wpikp(Int_t,Float_t);
-       Int_t   pion(){return /*fWpi=1.,*/fPcode=211;}
-       Int_t   kaon(){return /*fWk=1.,*/fPcode=321;}
-       Int_t   proton(){return /*fWp=1.,*/fPcode=2212;}
-        Int_t   fSilent;
-public:
+        Int_t   GetPcode(AliKalmanTrack* track);
+       void    SetCut(Int_t n, Float_t pm, Float_t pilo, Float_t pihi,
+                           Float_t klo, Float_t khi, Float_t plo, 
+                            Float_t phi);
+       void    SetAProb(Int_t ivar,Int_t icut,Float_t apro){ faprob[ivar][icut]=apro; } 
+       Float_t GetAProb(Int_t ivar,Int_t icut) const
+                        { return faprob[ivar][icut]; } 
+       Float_t GetWpi() const {return fWpi;}
+       Float_t GetWk() const {return fWk;}
+       Float_t GetWp() const {return fWp;}
+       Int_t   GetPid() const {return fPcode;};
+       Float_t Qcorr(Float_t xc);
+       Int_t   Qcomp(Float_t* qa,Float_t* qb) const {return qa[0]>qb[0]?1:0;}
+       Float_t Qtrm(Int_t track) const;
+       Float_t Qtrm(Float_t qarr[6],Int_t narr);
+       Int_t   Wpik(Int_t nc, Float_t q);
+       Int_t   Wpikp(Int_t nc, Float_t q);
+       Int_t   Pion(){return /*fWpi=1.,*/fPcode=211;}
+       Int_t   Kaon(){return /*fWk=1.,*/fPcode=321;}
+       Int_t   Proton(){return /*fWp=1.,*/fPcode=2212;}
+private:
+       TF1 *fCutKa; // function
+       TF1 *fCutPr; // function
+       Float_t fCutKaTune,fCutPrTune; // tune cuts
+       Float_t fSigmin; // sigma min
+        Int_t   fSilent; // flag
+       Float_t fcut[13][7],faprob[3][8]; //cuts
+       Int_t       fmxtrs; // fmxtrs
+       TClonesArray *trs; //pointer
+       Float_t fqtot; // tot q
+       Float_t fWpi,fWk,fWp; // weights
+       Float_t fRpik,fRppi,fRpka,fRp; // ratios
+       Int_t   fPcode; //p-code
+
   ClassDef(AliTPCPid,1) // Class for TPC PID
+
 };
 
 #endif