Updated version of the PID code (from B. Batyunya)
[u/mrichter/AliRoot.git] / ITS / AliITSPid.h
1 #ifndef ALIITSPID_H
2 #define ALIITSPID_H
3 #include <TObject.h>
4 #include <TClonesArray.h>
5 #include <TVector.h>
6 #include "../TPC/AliTPCtrack.h"
7 #include "AliITSIOTrack.h"
8 #include "AliITStrackV2.h"
9 #include <assert.h>
10 //#include <stl.h>
11 //___________________________________________________________________________
12 class  AliITSPid :
13   public TObject {
14
15 public:
16                 AliITSPid(Int_t ntrs=1000);
17                 virtual ~AliITSPid(){}
18         void    SetEdep(Int_t track,Float_t Edep);
19         void    SetPmom(Int_t track,Float_t Pmom);
20         void    SetPcod(Int_t track,Int_t Pcod);
21         void    Print(Int_t track);
22         void    Tab(void);
23         void    Reset(void);
24         void    SetVec(Int_t track,TVector info);
25         TVector* GetVec(Int_t track);
26         Int_t   GetPcode(TClonesArray*,Float_t);
27         Int_t   GetPcode(Float_t,Float_t);
28         Int_t   GetPcode(AliTPCtrack*);  // For PID TPC
29 //        Int_t   GetPcode(AliITSIOTrack*); // For PID ITS tracking V1
30         Int_t   GetPcode(AliITStrackV2*); // For PID ITS tracking V2
31         void    SetCut(Int_t,Float_t,Float_t,Float_t,
32                             Float_t,Float_t,Float_t,Float_t);
33         Float_t GetWpi(){return fWpi;}
34         Float_t GetWk(){return fWk;}
35         Float_t GetWp(){return fWp;}
36         Int_t   GetPid(){return fPcode;};
37 protected:
38 public:
39         Float_t cut[13][7];
40         Int_t       mxtrs;
41         TClonesArray *trs;
42         Float_t qtot;
43         Float_t fWpi,fWk,fWp;
44         Float_t fRpik,fRppi,fRpka,fRp; 
45         Int_t   fPcode;
46 //private:
47 public:
48         Float_t qcorr(Float_t);
49         int     qcomp(Float_t* qa,Float_t* qb){return qa[0]>qb[0]?1:0;}
50         Float_t qtrm(Int_t track);
51         Float_t qtrm(Float_t qarr[6],Int_t narr);
52         Int_t   wpik(Int_t,Float_t);
53         Int_t   wpikp(Int_t,Float_t);
54         Int_t   pion(){return fWpi=1.,fPcode=211;}
55         Int_t   kaon(){return fWk=1.,fPcode=321;}
56         Int_t   proton(){return fWp=1.,fPcode=2212;}
57 public:
58   ClassDef(AliITSPid,1) // Class for ITS PID
59 };
60
61 #endif  
62
63
64
65