GetClusterFast function implemented (No getter before) (Marian)
[u/mrichter/AliRoot.git] / TPC / AliTPCPid.h
1 #ifndef ALITPCPID_H
2 #define ALITPCPID_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 #include <TObject.h>
10 //#include <TF1.h>
11 //#include <TClonesArray.h>
12 #include <TVector.h>
13 #include "../TPC/AliTPCtrack.h"
14 //#include "../ITS/AliITSIOTrack.h"
15 class AliKalmanTrack;
16 #include <assert.h>
17
18 class TF1;
19 class TClonesArray;
20 //___________________________________________________________________________
21 class  AliTPCPid :
22   public TObject {
23
24 public:
25                 AliTPCPid(Int_t ntrs=1000);
26                 virtual ~AliTPCPid(){}
27                 AliTPCPid( const AliTPCPid& r);
28         void    SetEdep(Int_t track,Float_t Edep);
29         void    SetPmom(Int_t track,Float_t Pmom);
30         void    SetPcod(Int_t track,Int_t Pcod);
31         void    PrintPID(Int_t track);
32         void    Tab(void);
33         void    Reset(void);
34         void    SetVec(Int_t track,TVector info) const;
35         TVector* GetVec(Int_t track) const;
36         Int_t   GetPcode(TClonesArray* ,Float_t) const;
37         Int_t   GetPcode(Float_t q,Float_t pm);
38         Int_t   GetPcode(AliTPCtrack*track);
39         //Int_t   GetPcode(AliKalmanTrack* track);
40         void    SetCut(Int_t n, Float_t pm, Float_t pilo, Float_t pihi,
41                             Float_t klo, Float_t khi, Float_t plo, 
42                             Float_t phi);
43         void    SetAProb(Int_t ivar,Int_t icut,Float_t apro){ faprob[ivar][icut]=apro; } 
44         Float_t GetAProb(Int_t ivar,Int_t icut) const
45                         { return faprob[ivar][icut]; } 
46         Float_t GetWpi() const {return fWpi;}
47         Float_t GetWk() const {return fWk;}
48         Float_t GetWp() const {return fWp;}
49         Int_t   GetPid() const {return fPcode;};
50         Float_t Qcorr(Float_t xc);
51         Int_t   Qcomp(Float_t* qa,Float_t* qb) const {return qa[0]>qb[0]?1:0;}
52         Float_t Qtrm(Int_t track) const;
53         Float_t Qtrm(Float_t qarr[6],Int_t narr);
54         Int_t   Wpik(Int_t nc, Float_t q);
55         Int_t   Wpikp(Int_t nc, Float_t q);
56         Int_t   Pion(){return /*fWpi=1.,*/fPcode=211;}
57         Int_t   Kaon(){return /*fWk=1.,*/fPcode=321;}
58         Int_t   Proton(){return /*fWp=1.,*/fPcode=2212;}
59 private:
60         TF1 *fCutKa; // function
61         TF1 *fCutPr; // function
62         Float_t fCutKaTune,fCutPrTune; // tune cuts
63         Float_t fSigmin; // sigma min
64         Int_t   fSilent; // flag
65         Float_t fcut[13][7],faprob[3][8]; //cuts
66         Int_t       fmxtrs; // fmxtrs
67         TClonesArray *trs; //pointer
68         Float_t fqtot; // tot q
69         Float_t fWpi,fWk,fWp; // weights
70         Float_t fRpik,fRppi,fRpka,fRp; // ratios
71         Int_t   fPcode; //p-code
72
73   ClassDef(AliTPCPid,1) // Class for TPC PID
74
75 };
76
77 #endif  
78
79
80
81