]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/STEERBase/AliITSPIDResponse.h
- Splines for LHC12i3 (also used for 12f1X, good statistics up to larger momenta...
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliITSPIDResponse.h
CommitLineData
10d100d4 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 */
5
6/* $Id$ */
7
8//-------------------------------------------------------
9// ITS PID response class
10//
11//
12//-------------------------------------------------------
13//#include <Rtypes.h>
14#include <TObject.h>
10d100d4 15#include "AliPID.h"
16
17class AliITSPIDResponse : public TObject {
18
19public:
15e979c9 20 AliITSPIDResponse(Bool_t isMC=kFALSE);
56576f1e 21 //AliITSPIDResponse(Double_t *param);
10d100d4 22 ~AliITSPIDResponse() {}
99daa709 23
24 void SetBetheBlochParamsITSTPC(Double_t* param){
25 for(Int_t iPar=0; iPar<5; iPar++) fBBtpcits[iPar]=param[iPar];
26 }
27 void SetBetheBlochParamsITSsa(Double_t* param){
28 for(Int_t iPar=0; iPar<5; iPar++) fBBsa[iPar]=param[iPar];
29 }
62ccfebf 30
31 void SetBetheBlochHybridParamsITSsa(Double_t* param){
32 for(Int_t iPar=0; iPar<9; iPar++) fBBsaHybrid[iPar]=param[iPar];
33 }
88f46717 34 void SetElectronBetheBlochParamsITSsa(Double_t* param){
35 for(Int_t iPar=0; iPar<5; iPar++) fBBsaElectron[iPar]=param[iPar];
36 }
99daa709 37
15e979c9 38 Double_t BetheAleph(Double_t p,Double_t mass) const;
39 Double_t Bethe(Double_t p, Double_t mass, Bool_t iSA=kFALSE) const;
62ccfebf 40 Double_t BetheITSsaHybrid(Double_t p, Double_t mass) const;
15e979c9 41 Double_t GetResolution(Double_t bethe, Int_t nPtsForPid=4, Bool_t isSA=kFALSE) const;
b52bfc67 42 void GetITSProbabilities(Float_t mom, Double_t qclu[4], Double_t condprobfun[AliPID::kSPECIES],Bool_t isMC=kFALSE) const;
15e979c9 43 Float_t GetNumberOfSigmas(Float_t mom, Float_t signal, AliPID::EParticleType type, Int_t nPtsForPid=4, Bool_t isSA=kFALSE) const {
00a38d07 44 const Double_t chargeFactor = TMath::Power(AliPID::ParticleCharge(type),2.);
45 Float_t bethe = Bethe(mom,AliPID::ParticleMassZ(type),isSA)*chargeFactor;
15e979c9 46 return (signal - bethe)/GetResolution(bethe,nPtsForPid,isSA);
47 }
8abeb05b 48 Int_t GetParticleIdFromdEdxVsP(Float_t mom, Float_t signal, Bool_t isSA=kFALSE) const;
10d100d4 49
50private:
51
15e979c9 52
10d100d4 53 // Data members for truncated mean method
15e979c9 54 Float_t fRes; // relative dEdx resolution
10d100d4 55 Double_t fKp1; // ALEPH BB param 1
56 Double_t fKp2; // ALEPH BB param 2
57 Double_t fKp3; // ALEPH BB param 3
58 Double_t fKp4; // ALEPH BB param 4
15e979c9 59 Double_t fKp5; // ALEPH BB param
62ccfebf 60 Double_t fBBsa[5]; // parameters of BB for SA tracks
61 Double_t fBBsaHybrid[9]; // parameters of Hybrid BB for SA tracks, PHOB + Polinomial al low beta*gamma
62 Double_t fBBsaElectron[5];// parameters of electron BB for SA tracks
15e979c9 63 Double_t fBBtpcits[5]; // parameters of BB for TPC+ITS tracks
64 Float_t fResolSA[5]; // resolutions vs. n. of SDD/SSD points
65 Float_t fResolTPCITS[5]; // resolutions vs. n. of SDD/SSD points
10d100d4 66
62ccfebf 67 ClassDef(AliITSPIDResponse,4) // ITS PID class
10d100d4 68};
69
70#endif
71
72