Line data Source code
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 :
6 : /* $Id$ */
7 :
8 : //-------------------------------------------------------
9 : // Combined PID class
10 : // for the Event Summary Data class
11 : // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
12 : // Modified: Jens Wiechula, Uni Tuebingen, jens.wiechula@cern.ch
13 : //-------------------------------------------------------
14 : #include <Rtypes.h>
15 : #include "AliESDtrack.h" // Needed for inline functions
16 : #include "AliMCEventHandler.h"
17 :
18 : //#include "HMPID/AliHMPID.h"
19 : //#include "TRD/AliTRDpidESD.h"
20 :
21 : #include "AliPIDResponse.h"
22 :
23 : class AliESDEvent;
24 : class AliVEvent;
25 : class AliVParticle;
26 :
27 : class AliESDpid : public AliPIDResponse {
28 : public:
29 20 : AliESDpid(Bool_t forMC=kFALSE): AliPIDResponse(forMC), fRangeTOFMismatch(5.), fEventHandler(NULL) {;}
30 0 : AliESDpid(const AliESDpid&a): AliPIDResponse(a), fRangeTOFMismatch(a.fRangeTOFMismatch), fEventHandler(NULL){;};
31 0 : AliESDpid& operator=(const AliESDpid& a){if (this==&a) return *this; AliPIDResponse::operator=(a); fRangeTOFMismatch=a.fRangeTOFMismatch; fEventHandler=NULL; return *this;};
32 60 : virtual ~AliESDpid() {}
33 :
34 : Int_t MakePID(AliESDEvent *event, Bool_t TPCOnly = kFALSE, Float_t timeZeroTOF=9999) const;
35 : void MakePIDForTracking(AliESDEvent *event) const;
36 :
37 : void MakeTPCPID(AliESDtrack *track) const;
38 : void MakeITSPID(AliESDtrack *track) const;
39 : void MakeTOFPID(AliESDtrack *track, Float_t /*timeZeroTOF*/) const;
40 : Bool_t CheckTOFMatching(AliESDtrack *track) const;
41 : // void MakeHMPIDPID(AliESDtrack *track);
42 : void MakeTRDPID(AliESDtrack *track) const;
43 : void CombinePID(AliESDtrack *track) const;
44 :
45 : void SetPIDForTracking(AliESDtrack *track) const;
46 :
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;
49 :
50 0 : void SetNMaxSigmaTOFTPCMismatch(Float_t range) {fRangeTOFMismatch=range;}
51 0 : Float_t GetNMaxSigmaTOFTPCMismatch() const {return fRangeTOFMismatch;}
52 :
53 0 : void SetEventHandler(AliVEventHandler *event){fEventHandler=event;};
54 : protected:
55 : virtual Float_t GetSignalDeltaTOFold(const AliVParticle *track, AliPID::EParticleType type, Bool_t ratio=kFALSE) const;
56 : virtual Float_t GetNumberOfSigmasTOFold(const AliVParticle *track, AliPID::EParticleType type) const;
57 :
58 : private:
59 :
60 : Float_t fRangeTOFMismatch; // nSigma max for TOF matching with TPC
61 : AliVEventHandler *fEventHandler; //! MC event handler
62 :
63 172 : ClassDef(AliESDpid,7) // PID calculation class
64 : };
65 :
66 :
67 : #endif
68 :
69 :
|