]>
Commit | Line | Data |
---|---|---|
23efe5f1 | 1 | #ifndef ALIITSPID_H |
2 | #define ALIITSPID_H | |
e75c69cd | 3 | |
23efe5f1 | 4 | #include <TObject.h> |
e75c69cd | 5 | |
6 | class TClonesArray; | |
7 | class TVector; | |
8057c644 | 8 | class AliITSIOTrack; |
e75c69cd | 9 | class AliTPCtrack; |
10 | class AliITStrackV2; | |
11 | class TF1; | |
12 | ||
8057c644 | 13 | |
14 | class AliITSPid : public TObject { | |
23efe5f1 | 15 | |
16 | public: | |
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 | 41 | protected: |
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 |