]>
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){;}; | |
31 | AliESDpid& operator=(const AliESDpid& a){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; |
10d100d4 | 35 | void MakeTPCPID(AliESDtrack *track) const; |
36 | void MakeITSPID(AliESDtrack *track) const; | |
f858b00e | 37 | void MakeTOFPID(AliESDtrack *track, Float_t /*timeZeroTOF*/) const; |
38 | Bool_t CheckTOFMatching(AliESDtrack *track) const; | |
10d100d4 | 39 | // void MakeHMPIDPID(AliESDtrack *track); |
b439f460 | 40 | void MakeTRDPID(AliESDtrack *track) const; |
10d100d4 | 41 | void CombinePID(AliESDtrack *track) const; |
1c9d11be | 42 | |
43 | Float_t NumberOfSigmasTOF(const AliVParticle *track, AliPID::EParticleType type) const {return AliPIDResponse::NumberOfSigmasTOF(track,type);} | |
44 | Float_t NumberOfSigmasTOF(const AliVParticle *track, AliPID::EParticleType type, const Float_t timeZeroTOF) const; | |
fca752cb | 45 | |
7170298c | 46 | void SetNMaxSigmaTOFTPCMismatch(Float_t range) {fRangeTOFMismatch=range;} |
47 | Float_t GetNMaxSigmaTOFTPCMismatch() const {return fRangeTOFMismatch;} | |
48 | ||
539a5a59 | 49 | Float_t GetTPCsignalTunedOnData(const AliVTrack *t) const; |
50 | ||
a864479b | 51 | void SetEventHandler(AliVEventHandler *event){fEventHandler=event;}; |
1c9d11be | 52 | protected: |
53 | virtual Float_t GetNumberOfSigmasTOF(const AliVParticle *track, AliPID::EParticleType type) const {return NumberOfSigmasTOF(track,type,0); } | |
a864479b | 54 | |
8c6a71ab | 55 | private: |
10d100d4 | 56 | |
a864479b | 57 | Float_t fRangeTOFMismatch; // nSigma max for TOF matching with TPC |
58 | AliVEventHandler *fEventHandler; //! MC event handler | |
59 | ||
60 | ClassDef(AliESDpid,7) // PID calculation class | |
8c6a71ab | 61 | }; |
62 | ||
10d100d4 | 63 | |
8c6a71ab | 64 | #endif |
65 | ||
66 |