]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSPident.h
Add class to access simulation parameters, AliEMCALSimParam, to be set in configurati...
[u/mrichter/AliRoot.git] / ITS / AliITSPident.h
CommitLineData
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 13class AliESDtrack;
b68da4a2 14class TF1;
b536a002 15class AliITSPidParams;
16
e62c1aea 17class 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