1 #ifndef ALIITSPIDRESPONSE_H
2 #define ALIITSPIDRESPONSE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //-------------------------------------------------------
9 // ITS PID response class
12 //-------------------------------------------------------
17 class AliITSPIDResponse : public TObject {
20 AliITSPIDResponse(Bool_t isMC=kFALSE);
21 AliITSPIDResponse(Double_t *param);
22 ~AliITSPIDResponse() {}
24 void SetBetheBlochParamsITSTPC(Double_t* param){
25 for(Int_t iPar=0; iPar<5; iPar++) fBBtpcits[iPar]=param[iPar];
27 void SetBetheBlochParamsITSsa(Double_t* param){
28 for(Int_t iPar=0; iPar<5; iPar++) fBBsa[iPar]=param[iPar];
31 Double_t BetheAleph(Double_t p,Double_t mass) const;
32 Double_t Bethe(Double_t p, Double_t mass, Bool_t iSA=kFALSE) const;
33 Double_t GetResolution(Double_t bethe, Int_t nPtsForPid=4, Bool_t isSA=kFALSE) const;
34 void GetITSProbabilities(Float_t mom, Double_t qclu[4], Double_t condprobfun[AliPID::kSPECIES]) const;
35 Float_t GetNumberOfSigmas(Float_t mom, Float_t signal, AliPID::EParticleType type, Int_t nPtsForPid=4, Bool_t isSA=kFALSE) const {
36 Float_t bethe = Bethe(mom,AliPID::ParticleMass(type),isSA);
37 return (signal - bethe)/GetResolution(bethe,nPtsForPid,isSA);
39 Int_t GetParticleIdFromdEdxVsP(Float_t mom, Float_t signal, Bool_t isSA=kFALSE) const;
44 // Data members for truncated mean method
45 Float_t fRes; // relative dEdx resolution
46 Double_t fKp1; // ALEPH BB param 1
47 Double_t fKp2; // ALEPH BB param 2
48 Double_t fKp3; // ALEPH BB param 3
49 Double_t fKp4; // ALEPH BB param 4
50 Double_t fKp5; // ALEPH BB param
51 Double_t fBBsa[5]; // parameters of BB for SA tracks
52 Double_t fBBtpcits[5]; // parameters of BB for TPC+ITS tracks
53 Float_t fResolSA[5]; // resolutions vs. n. of SDD/SSD points
54 Float_t fResolTPCITS[5]; // resolutions vs. n. of SDD/SSD points
56 ClassDef(AliITSPIDResponse,2) // ITS PID class