Coding conventions
[u/mrichter/AliRoot.git] / ITS / AliITSPid.h
CommitLineData
23efe5f1 1#ifndef ALIITSPID_H
2#define ALIITSPID_H
e75c69cd 3
23efe5f1 4#include <TObject.h>
e75c69cd 5
6class TClonesArray;
7class TVector;
8057c644 8class AliITSIOTrack;
e75c69cd 9class AliTPCtrack;
10class AliITStrackV2;
11class TF1;
12
8057c644 13
14class AliITSPid : public TObject {
23efe5f1 15
16public:
17 AliITSPid(Int_t ntrs=1000);
18 virtual ~AliITSPid(){}
8057c644 19
23efe5f1 20 void SetEdep(Int_t track,Float_t Edep);
21 void SetPmom(Int_t track,Float_t Pmom);
22 void SetPcod(Int_t track,Int_t Pcod);
23 void Print(Int_t track);
24 void Tab(void);
25 void Reset(void);
26 void SetVec(Int_t track,TVector info);
8057c644 27 TVector* GetVec(Int_t track) const;
e75c69cd 28 Int_t GetPcode(TClonesArray* rps,Float_t pm);
29 Int_t GetPcode(Float_t p,Float_t pm);
30 Int_t GetPcode(AliTPCtrack* track);
31 Int_t GetPcode(AliITSIOTrack* track);
32 Int_t GetPcode(AliITStrackV2* track);
33 void SetCut(Int_t n,Float_t pm,Float_t pilo,Float_t pihi,
34 Float_t klo,Float_t khi,Float_t plo,Float_t phi);
35 void SetAProb(Int_t ivar,Int_t icut,Float_t apro){ fAprob[ivar][icut]=apro; }
8057c644 36 Float_t GetAProb(Int_t ivar,Int_t icut) const { return fAprob[ivar][icut]; }
37 Float_t GetWpi() const {return fWpi;}
38 Float_t GetWk() const {return fWk;}
39 Float_t GetWp() const {return fWp;}
40 Int_t GetPid() const {return fPcode;};
23efe5f1 41protected:
8057c644 42 // copy constructor and assignment operator are protected
43 // since they are not allowed
44 AliITSPid(const AliITSPid &source); // copy constructor.
45 AliITSPid& operator=(const AliITSPid& /* source */); // = operator.
e75c69cd 46
8057c644 47 int Qcomp(Float_t* qa,Float_t* qb) const {return qa[0]>qb[0]?1:0;}
e75c69cd 48 Float_t Qtrm(Int_t track);
8057c644 49 Float_t Qtrm(Float_t qarr[6],Int_t narr) const;
e75c69cd 50 Int_t Wpik(Float_t pm,Float_t q);
51 Int_t Wpikp(Float_t pm,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;}
8057c644 55 //================ Data members ========================
56 Float_t fCut[13][7],fAprob[3][8]; //Cuts and prior probs tables
57 Int_t fMxtrs; //Maximum tracks limit
58 TClonesArray *fTrs; //Tracks set under investigation
59 Float_t fWpi,fWk,fWp; //Probabilities for pions,kaons,protons
60 Float_t fRpik,fRppi,fRpka,fRp; //Signal ratios
61 Int_t fPcode; //Particle code
62 Float_t fSigmin; // Tuning parameter
63 Int_t fSilent; // Output suppresion flag
64 TF1* fCutKa; // Pions-kaons cut function
65 TF1* fCutPr; // Kaons-protons cut function
66 TF1* fGGpi[6];// Pions signal parametrization for Hijing
67 TF1* fGGka[3];// Kaons --//--
68 TF1* fGGpr[3];// Protons --//--
69 TF1* fggpi; // Pions signal for given momentum
70 TF1* fggka; // Kaons --//--
71 TF1* fggpr; // Protons --//--
e6727e13 72 ClassDef(AliITSPid,2) // Class for ITS PID
23efe5f1 73};
74
75#endif
76
77
78
79