Formatting changes.
[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                 AliTPCPid &operator = (const AliTPCPid & param); //assignment
29         void    SetEdep(Int_t track,Float_t Edep);
30         void    SetPmom(Int_t track,Float_t Pmom);
31         void    SetPcod(Int_t track,Int_t Pcod);
32         void    PrintPID(Int_t track);
33         void    Tab(void);
34         void    Reset(void);
35         void    SetVec(Int_t track,TVector info) const;
36         TVector* GetVec(Int_t track) const;
37         Int_t   GetPcode(TClonesArray* ,Float_t) const;
38         Int_t   GetPcode(Float_t q,Float_t pm);
39         Int_t   GetPcode(AliTPCtrack*track);
40         //Int_t   GetPcode(AliKalmanTrack* track);
41         void    SetCut(Int_t n, Float_t pm, Float_t pilo, Float_t pihi,
42                             Float_t klo, Float_t khi, Float_t plo, 
43                             Float_t phi);
44         void    SetAProb(Int_t ivar,Int_t icut,Float_t apro){ faprob[ivar][icut]=apro; } 
45         Float_t GetAProb(Int_t ivar,Int_t icut) const
46                         { return faprob[ivar][icut]; } 
47         Float_t GetWpi() const {return fWpi;}
48         Float_t GetWk() const {return fWk;}
49         Float_t GetWp() const {return fWp;}
50         Int_t   GetPid() const {return fPcode;};
51         Float_t Qcorr(Float_t xc);
52         Int_t   Qcomp(Float_t* qa,Float_t* qb) const {return qa[0]>qb[0]?1:0;}
53         Float_t Qtrm(Int_t track) const;
54         Float_t Qtrm(Float_t qarr[6],Int_t narr);
55         Int_t   Wpik(Int_t nc, Float_t q);
56         Int_t   Wpikp(Int_t nc, Float_t q);
57         Int_t   Pion(){return /*fWpi=1.,*/fPcode=211;}
58         Int_t   Kaon(){return /*fWk=1.,*/fPcode=321;}
59         Int_t   Proton(){return /*fWp=1.,*/fPcode=2212;}
60 private:
61         TF1 *fCutKa; // function
62         TF1 *fCutPr; // function
63         Float_t fCutKaTune,fCutPrTune; // tune cuts
64         Float_t fSigmin; // sigma min
65         Int_t   fSilent; // flag
66         Float_t fcut[13][7],faprob[3][8]; //cuts
67         Int_t       fmxtrs; // fmxtrs
68         TClonesArray *trs; //pointer
69         Float_t fqtot; // tot q
70         Float_t fWpi,fWk,fWp; // weights
71         Float_t fRpik,fRppi,fRpka,fRp; // ratios
72         Int_t   fPcode; //p-code
73
74   ClassDef(AliTPCPid,1) // Class for TPC PID
75
76 };
77
78 #endif  
79
80
81
82