]>
Commit | Line | Data |
---|---|---|
e62c1aea | 1 | #ifndef ALIITSPIDENT_H |
2 | #define ALIITSPIDENT_H | |
3 | ||
4 | ///////////////////////////////////////////////////////////////////////// | |
5 | //Class for PID in the ITS // | |
6 | //The PID is based on the likelihood of all the four ITS' layers, // | |
7 | //without using the truncated mean for the dE/dx. The response // | |
8 | //functions for each layer are convoluted Landau-Gaussian functions. // | |
9 | // Origin: Elena Bruna bruna@to.infn.it, Massimo Masera masera@to.infn.it// | |
10 | //////////////////////////////////////////////////////////////////////// | |
b68da4a2 | 11 | |
e62c1aea | 12 | #include <TObject.h> |
e96abd41 | 13 | class AliESDtrack; |
b68da4a2 | 14 | class TF1; |
b536a002 | 15 | class AliITSPidParams; |
16 | ||
e62c1aea | 17 | class AliITSPident : public TObject{ |
18 | ||
19 | public: | |
20 | AliITSPident(); | |
b536a002 | 21 | AliITSPident(Double_t mom,AliITSPidParams *pars,Double_t *Qlay,Double_t priorip=0.066,Double_t priorik=0.103,Double_t prioripi=0.83,Double_t priorie=0.001); |
e62c1aea | 22 | |
b536a002 | 23 | AliITSPident(AliESDtrack *track,AliITSPidParams *pars,Double_t priorip=0.066,Double_t priorik=0.103,Double_t prioripi=0.83,Double_t priorie=0.001); |
e62c1aea | 24 | |
25 | virtual ~AliITSPident(); | |
e62c1aea | 26 | Double_t GetCondFunPro(Int_t lay) const { |
27 | return fCondFunProLay[lay]; | |
28 | } | |
b68da4a2 | 29 | Double_t GetProdCondFunPro() const; |
e62c1aea | 30 | Double_t GetCondFunK(Int_t lay) const { |
31 | return fCondFunKLay[lay]; | |
32 | } | |
b68da4a2 | 33 | Double_t GetProdCondFunK() const; |
e62c1aea | 34 | Double_t GetCondFunPi(Int_t lay) const { |
35 | return fCondFunPiLay[lay]; | |
36 | } | |
b68da4a2 | 37 | Double_t GetProdCondFunPi() const; |
b536a002 | 38 | |
39 | Double_t GetPBayesp()const {return fPBayesp;} | |
40 | Double_t GetPBayesk()const {return fPBayesk;} | |
41 | Double_t GetPBayespi()const {return fPBayespi;} | |
42 | Double_t GetPPriorip() const {return fPPriorip;} | |
43 | Double_t GetPPriorik() const {return fPPriorik;} | |
44 | Double_t GetPPrioripi() const {return fPPrioripi;} | |
45 | Double_t GetPPriorie() const {return fPPriorie;} | |
e62c1aea | 46 | |
47 | private: | |
48 | ||
b536a002 | 49 | void CalculateResponses(Double_t mom,AliITSPidParams *pars, Double_t *Qlay); |
50 | Double_t CookCombinedBayes(Double_t condfun[][3],Double_t *prior,Int_t part)const; | |
51 | Double_t CookProd(Double_t condfun[][3],Int_t part) const; | |
52 | Double_t CookSum(Double_t condfun[][3],Double_t *prior) const; | |
53 | ||
e62c1aea | 54 | AliITSPident(const AliITSPident &ob); // copy constructor |
94631b2f | 55 | AliITSPident& operator=(const AliITSPident & ob); // ass. op. |
e62c1aea | 56 | |
b68da4a2 | 57 | Double_t fCondFunProLay[8]; // one for each silicon layer |
58 | Double_t fCondFunKLay[8]; // cond. prob. function kaons per layer | |
59 | Double_t fCondFunPiLay[8]; // cond. prob. function pions per layer | |
b536a002 | 60 | Double_t fPBayesp; // Bayes prob. |
61 | Double_t fPBayesk; // Bayes prob. for kaons | |
62 | Double_t fPBayespi; // Bayes prob. for pions | |
63 | Double_t fPPriorip; // Priori prob. | |
64 | Double_t fPPriorik; // Priori prob. for kaons | |
65 | Double_t fPPrioripi; // Priori prob. for pions | |
66 | Double_t fPPriorie; // Priori prob. for electrons | |
67 | ||
68 | ClassDef(AliITSPident,4); | |
e62c1aea | 69 | }; |
70 | #endif |