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 //-------------------------------------------------------
19 class AliITSPIDResponse : public TObject {
22 AliITSPIDResponse(Bool_t isMC=kFALSE);
23 //AliITSPIDResponse(Double_t *param);
24 ~AliITSPIDResponse() {}
26 void SetBetheBlochParamsITSTPC(Double_t* param){
27 for(Int_t iPar=0; iPar<5; iPar++) fBBtpcits[iPar]=param[iPar];
29 void SetBetheBlochParamsITSsa(Double_t* param){
30 for(Int_t iPar=0; iPar<5; iPar++) fBBsa[iPar]=param[iPar];
33 void SetBetheBlochHybridParamsITSsa(Double_t* param){
34 for(Int_t iPar=0; iPar<9; iPar++) fBBsaHybrid[iPar]=param[iPar];
36 void SetElectronBetheBlochParamsITSsa(Double_t* param){
37 for(Int_t iPar=0; iPar<5; iPar++) fBBsaElectron[iPar]=param[iPar];
40 Double_t BetheAleph(Double_t p,Double_t mass) const;
41 Double_t Bethe(Double_t p, Double_t mass, Bool_t iSA=kFALSE) const;
42 Double_t BetheITSsaHybrid(Double_t p, Double_t mass) const;
43 Double_t GetResolution(Double_t bethe, Int_t nPtsForPid=4, Bool_t isSA=kFALSE) const;
44 void GetITSProbabilities(Float_t mom, Double_t qclu[4], Double_t condprobfun[AliPID::kSPECIES],Bool_t isMC=kFALSE) const;
46 Double_t GetNumberOfSigmas( const AliVTrack* track, AliPID::EParticleType species) const;
48 Double_t GetSignalDelta( const AliVTrack* track, AliPID::EParticleType species, Bool_t ratio=kFALSE) const;
50 Float_t GetNumberOfSigmas(Float_t mom, Float_t signal, AliPID::EParticleType type, Int_t nPtsForPid=4, Bool_t isSA=kFALSE) const {
51 const Double_t chargeFactor = TMath::Power(AliPID::ParticleCharge(type),2.);
52 Float_t bethe = Bethe(mom,AliPID::ParticleMassZ(type),isSA)*chargeFactor;
53 return (signal - bethe)/GetResolution(bethe,nPtsForPid,isSA);
55 Int_t GetParticleIdFromdEdxVsP(Float_t mom, Float_t signal, Bool_t isSA=kFALSE) const;
60 // Data members for truncated mean method
61 Float_t fRes; // relative dEdx resolution
62 Double_t fKp1; // ALEPH BB param 1
63 Double_t fKp2; // ALEPH BB param 2
64 Double_t fKp3; // ALEPH BB param 3
65 Double_t fKp4; // ALEPH BB param 4
66 Double_t fKp5; // ALEPH BB param
67 Double_t fBBsa[5]; // parameters of BB for SA tracks
68 Double_t fBBsaHybrid[9]; // parameters of Hybrid BB for SA tracks, PHOB + Polinomial al low beta*gamma
69 Double_t fBBsaElectron[5];// parameters of electron BB for SA tracks
70 Double_t fBBtpcits[5]; // parameters of BB for TPC+ITS tracks
71 Float_t fResolSA[5]; // resolutions vs. n. of SDD/SSD points
72 Float_t fResolTPCITS[5]; // resolutions vs. n. of SDD/SSD points
74 ClassDef(AliITSPIDResponse,4) // ITS PID class