]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCPid.h
Possibility to specify GEM readout option
[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 <TVector.h>
11 #include "AliTPCtrack.h"
12 #include <assert.h>
13
14 class TF1;
15 class TClonesArray;
16 //___________________________________________________________________________
17 class  AliTPCPid :
18   public TObject {
19
20 public:
21                 AliTPCPid(Int_t ntrs=1000);
22                 virtual ~AliTPCPid(){}
23                 AliTPCPid( const AliTPCPid& r);
24                 AliTPCPid &operator = (const AliTPCPid & param); //assignment
25         void    SetEdep(Int_t track,Float_t Edep);
26         void    SetPmom(Int_t track,Float_t Pmom);
27         void    SetPcod(Int_t track,Int_t Pcod);
28         void    PrintPID(Int_t track);
29         void    Tab(void);
30         void    Reset(void);
31         void    SetVec(Int_t track,TVector info) const;
32         TVector* GetVec(Int_t track) const;
33         Int_t   GetPcode(TClonesArray* ,Float_t) const;
34         Int_t   GetPcode(Float_t q,Float_t pm);
35         Int_t   GetPcode(AliTPCtrack*track);
36         void    SetCut(Int_t n, Float_t pm, Float_t pilo, Float_t pihi,
37                             Float_t klo, Float_t khi, Float_t plo, 
38                             Float_t phi);
39         void    SetAProb(Int_t ivar,Int_t icut,Float_t apro){ faprob[ivar][icut]=apro; } 
40         Float_t GetAProb(Int_t ivar,Int_t icut) const
41                         { return faprob[ivar][icut]; } 
42         Float_t GetWpi() const {return fWpi;}
43         Float_t GetWk() const {return fWk;}
44         Float_t GetWp() const {return fWp;}
45         Int_t   GetPid() const {return fPcode;};
46         Float_t Qcorr(Float_t xc);
47         Int_t   Qcomp(Float_t* qa,Float_t* qb) const {return qa[0]>qb[0]?1:0;}
48         Float_t Qtrm(Int_t track) const;
49         Float_t Qtrm(Float_t qarr[6],Int_t narr);
50         Int_t   Wpik(Int_t nc, Float_t q);
51         Int_t   Wpikp(Int_t nc, Float_t q);
52         Int_t   Pion(){return /*fWpi=1.,*/fPcode=211;}
53         Int_t   Kaon(){return /*fWk=1.,*/fPcode=321;}
54         Int_t   Proton(){return /*fWp=1.,*/fPcode=2212;}
55 private:
56         TF1 *fCutKa; // function
57         TF1 *fCutPr; // function
58         Float_t fCutKaTune,fCutPrTune; // tune cuts
59         Float_t fSigmin; // sigma min
60         Int_t   fSilent; // flag
61         Float_t fcut[13][7],faprob[3][8]; //cuts
62         Int_t       fmxtrs; // fmxtrs
63         TClonesArray *trs; //pointer
64         Float_t fqtot; // tot q
65         Float_t fWpi,fWk,fWp; // weights
66         Float_t fRpik,fRppi,fRpka,fRp; // ratios
67         Int_t   fPcode; //p-code
68
69   ClassDef(AliTPCPid,1) // Class for TPC PID
70
71 };
72
73 #endif  
74
75
76
77