]>
Commit | Line | Data |
---|---|---|
8c6a71ab | 1 | #ifndef ALIESDPID_H |
2 | #define ALIESDPID_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
4f679a16 | 6 | /* $Id$ */ |
7 | ||
8c6a71ab | 8 | //------------------------------------------------------- |
9 | // Combined PID class | |
4f679a16 | 10 | // for the Event Summary Data class |
8c6a71ab | 11 | // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch |
fca752cb | 12 | // Modified: Jens Wiechula, Uni Tuebingen, jens.wiechula@cern.ch |
8c6a71ab | 13 | //------------------------------------------------------- |
14 | #include <Rtypes.h> | |
10d100d4 | 15 | #include "AliESDtrack.h" // Needed for inline functions |
fca752cb | 16 | |
10d100d4 | 17 | //#include "HMPID/AliHMPID.h" |
18 | //#include "TRD/AliTRDpidESD.h" | |
8c6a71ab | 19 | |
fca752cb | 20 | #include "AliPIDResponse.h" |
21 | ||
af885e0f | 22 | class AliESDEvent; |
fca752cb | 23 | class AliVEvent; |
24 | class AliVParticle; | |
8c6a71ab | 25 | |
fca752cb | 26 | class AliESDpid : public AliPIDResponse { |
8c6a71ab | 27 | public: |
fd21ec8d | 28 | AliESDpid(Bool_t forMC=kFALSE): AliPIDResponse(forMC), fRangeTOFMismatch(5.) {;} |
44ce6bbe | 29 | virtual ~AliESDpid() {} |
fca752cb | 30 | |
f858b00e | 31 | Int_t MakePID(AliESDEvent *event, Bool_t TPCOnly = kFALSE, Float_t timeZeroTOF=9999) const; |
10d100d4 | 32 | void MakeTPCPID(AliESDtrack *track) const; |
33 | void MakeITSPID(AliESDtrack *track) const; | |
f858b00e | 34 | void MakeTOFPID(AliESDtrack *track, Float_t /*timeZeroTOF*/) const; |
35 | Bool_t CheckTOFMatching(AliESDtrack *track) const; | |
10d100d4 | 36 | // void MakeHMPIDPID(AliESDtrack *track); |
b439f460 | 37 | void MakeTRDPID(AliESDtrack *track) const; |
10d100d4 | 38 | void CombinePID(AliESDtrack *track) const; |
fca752cb | 39 | |
40 | virtual Float_t NumberOfSigmasTOF(const AliVParticle *vtrack, AliPID::EParticleType type, const Float_t timeZeroTOF) const; | |
41 | virtual Float_t NumberOfSigmasTOF(const AliVParticle *vtrack, AliPID::EParticleType type) const {return NumberOfSigmasTOF(vtrack,type,0); } | |
42 | ||
43 | void SetTOFResponse(AliVEvent *vevent,EStartTimeType_t option); | |
10d100d4 | 44 | |
7170298c | 45 | void SetNMaxSigmaTOFTPCMismatch(Float_t range) {fRangeTOFMismatch=range;} |
46 | Float_t GetNMaxSigmaTOFTPCMismatch() const {return fRangeTOFMismatch;} | |
47 | ||
8c6a71ab | 48 | private: |
7170298c | 49 | Float_t fRangeTOFMismatch; // nSigma max for TOF matching with TPC |
10d100d4 | 50 | |
29d9710e | 51 | ClassDef(AliESDpid,6) // PID calculation class |
8c6a71ab | 52 | }; |
53 | ||
10d100d4 | 54 | |
fca752cb | 55 | inline Float_t AliESDpid::NumberOfSigmasTOF(const AliVParticle *vtrack, AliPID::EParticleType type, const Float_t /*timeZeroTOF*/) const { |
56 | AliESDtrack *track=(AliESDtrack*)vtrack; | |
10d100d4 | 57 | Double_t times[AliPID::kSPECIES]; |
58 | track->GetIntegratedTimes(times); | |
2150d133 | 59 | return (track->GetTOFsignal() - fTOFResponse.GetStartTime(track->GetP()) - times[type])/fTOFResponse.GetExpectedSigma(track->GetP(),times[type],AliPID::ParticleMass(type)); |
10d100d4 | 60 | } |
61 | ||
8c6a71ab | 62 | #endif |
63 | ||
64 |