]>
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 |
a864479b | 16 | #include "AliMCEventHandler.h" |
fca752cb | 17 | |
10d100d4 | 18 | //#include "HMPID/AliHMPID.h" |
19 | //#include "TRD/AliTRDpidESD.h" | |
8c6a71ab | 20 | |
fca752cb | 21 | #include "AliPIDResponse.h" |
22 | ||
af885e0f | 23 | class AliESDEvent; |
fca752cb | 24 | class AliVEvent; |
25 | class AliVParticle; | |
8c6a71ab | 26 | |
fca752cb | 27 | class AliESDpid : public AliPIDResponse { |
8c6a71ab | 28 | public: |
a864479b | 29 | AliESDpid(Bool_t forMC=kFALSE): AliPIDResponse(forMC), fRangeTOFMismatch(5.), fEventHandler(NULL) {;} |
30 | AliESDpid(const AliESDpid&a): AliPIDResponse(a), fRangeTOFMismatch(a.fRangeTOFMismatch), fEventHandler(NULL){;}; | |
2fa8bec5 | 31 | AliESDpid& operator=(const AliESDpid& a){if (this==&a) return *this; AliPIDResponse::operator=(a); fRangeTOFMismatch=a.fRangeTOFMismatch; fEventHandler=NULL; return *this;}; |
44ce6bbe | 32 | virtual ~AliESDpid() {} |
fca752cb | 33 | |
f858b00e | 34 | Int_t MakePID(AliESDEvent *event, Bool_t TPCOnly = kFALSE, Float_t timeZeroTOF=9999) const; |
1d26da6d | 35 | void MakePIDForTracking(AliESDEvent *event) const; |
36 | ||
10d100d4 | 37 | void MakeTPCPID(AliESDtrack *track) const; |
38 | void MakeITSPID(AliESDtrack *track) const; | |
f858b00e | 39 | void MakeTOFPID(AliESDtrack *track, Float_t /*timeZeroTOF*/) const; |
40 | Bool_t CheckTOFMatching(AliESDtrack *track) const; | |
10d100d4 | 41 | // void MakeHMPIDPID(AliESDtrack *track); |
b439f460 | 42 | void MakeTRDPID(AliESDtrack *track) const; |
10d100d4 | 43 | void CombinePID(AliESDtrack *track) const; |
1c9d11be | 44 | |
a3314882 | 45 | void SetPIDForTracking(AliESDtrack *track) const; |
1d26da6d | 46 | |
355b831b | 47 | // Float_t NumberOfSigmasTOF(const AliVParticle *track, AliPID::EParticleType type) const {return AliPIDResponse::NumberOfSigmasTOF(track,type);} |
48 | // Float_t GetNumberOfSigmasTOF(const AliVParticle *track, AliPID::EParticleType type, const Float_t timeZeroTOF) const; | |
fca752cb | 49 | |
7170298c | 50 | void SetNMaxSigmaTOFTPCMismatch(Float_t range) {fRangeTOFMismatch=range;} |
51 | Float_t GetNMaxSigmaTOFTPCMismatch() const {return fRangeTOFMismatch;} | |
52 | ||
539a5a59 | 53 | Float_t GetTPCsignalTunedOnData(const AliVTrack *t) const; |
a2c30af1 | 54 | Float_t GetTOFsignalTunedOnData(const AliVTrack *t) const; |
539a5a59 | 55 | |
a864479b | 56 | void SetEventHandler(AliVEventHandler *event){fEventHandler=event;}; |
1c9d11be | 57 | protected: |
1d59271b | 58 | virtual Float_t GetSignalDeltaTOFold(const AliVParticle *track, AliPID::EParticleType type, Bool_t ratio=kFALSE) const; |
355b831b | 59 | virtual Float_t GetNumberOfSigmasTOFold(const AliVParticle *track, AliPID::EParticleType type) const; |
a864479b | 60 | |
8c6a71ab | 61 | private: |
10d100d4 | 62 | |
a864479b | 63 | Float_t fRangeTOFMismatch; // nSigma max for TOF matching with TPC |
64 | AliVEventHandler *fEventHandler; //! MC event handler | |
65 | ||
66 | ClassDef(AliESDpid,7) // PID calculation class | |
8c6a71ab | 67 | }; |
68 | ||
10d100d4 | 69 | |
8c6a71ab | 70 | #endif |
71 | ||
72 |