]>
Commit | Line | Data |
---|---|---|
10d100d4 | 1 | #ifndef ALITPCPIDRESPONSE_H |
2 | #define ALITPCPIDRESPONSE_H | |
8c6a71ab | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | //------------------------------------------------------- | |
7 | // TPC PID class | |
8 | // A very naive design... Should be made better by the detector experts... | |
9 | // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch | |
aea7a46d | 10 | // With many additions and modifications suggested by |
11 | // Alexander Kalweit, GSI, alexander.philipp.kalweit@cern.ch | |
12 | // Dariusz Miskowiec, GSI, D.Miskowiec@gsi.de | |
8c6a71ab | 13 | //------------------------------------------------------- |
14 | #include <Rtypes.h> | |
15 | ||
aea7a46d | 16 | #include "AliPID.h" |
17 | ||
10d100d4 | 18 | class AliTPCPIDResponse { |
8c6a71ab | 19 | public: |
10d100d4 | 20 | AliTPCPIDResponse(); |
21 | AliTPCPIDResponse(Double_t *param); | |
22 | virtual ~AliTPCPIDResponse() {} | |
23 | void SetSigma(Float_t res0, Float_t resN2); | |
aea7a46d | 24 | void SetBetheBlochParameters(Double_t kp1, |
25 | Double_t kp2, | |
26 | Double_t kp3, | |
27 | Double_t kp4, | |
28 | Double_t kp5 | |
29 | ); | |
10d100d4 | 30 | void SetMip(Float_t mip) { fMIP = mip; } // Set overall normalisation; mean dE/dx for MIP |
aea7a46d | 31 | Double_t Bethe(Double_t bg) const; |
32 | ||
aea7a46d | 33 | |
10d100d4 | 34 | Double_t GetExpectedSignal(const Float_t mom, |
aea7a46d | 35 | AliPID::EParticleType n=AliPID::kKaon) const; |
10d100d4 | 36 | Double_t GetExpectedSigma(const Float_t mom, const Int_t nPoints, |
aea7a46d | 37 | AliPID::EParticleType n=AliPID::kKaon) const; |
10d100d4 | 38 | Float_t GetNumberOfSigmas(const Float_t mom, const Float_t dEdx, |
39 | const Int_t nPoints, | |
40 | AliPID::EParticleType n=AliPID::kKaon) const { | |
41 | ||
42 | Double_t bethe=GetExpectedSignal(mom,n); | |
43 | Double_t sigma=GetExpectedSigma(mom,nPoints,n); | |
44 | return (dEdx-bethe)/sigma; | |
45 | } | |
aea7a46d | 46 | |
10d100d4 | 47 | Double_t GetMIP() const { return fMIP;} |
8c6a71ab | 48 | private: |
10d100d4 | 49 | Float_t fMIP; // dEdx for MIP |
50 | Float_t fRes0; // relative dEdx resolution rel sigma = fRes0*sqrt(1+fResN2/npoint) | |
51 | Float_t fResN2; // relative Npoint dependence rel sigma = fRes0*sqrt(1+fResN2/npoint) | |
aea7a46d | 52 | |
53 | Double_t fKp1; // Parameters | |
54 | Double_t fKp2; // of | |
55 | Double_t fKp3; // the ALEPH | |
56 | Double_t fKp4; // Bethe-Bloch | |
57 | Double_t fKp5; // formula | |
58 | ||
10d100d4 | 59 | ClassDef(AliTPCPIDResponse,2) // TPC PID class |
8c6a71ab | 60 | }; |
61 | ||
62 | #endif | |
63 | ||
64 |