X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FSTEERBase%2FAliPIDResponse.h;h=280c68e72f437c72da080d02313b53a70bf08756;hb=ac9870144bd00e3584aeec1996659f27441b5ad4;hp=33270a98e0e4e1cd7fadd4d0db16302c28b63cf4;hpb=f911e7435ba8b2adf187fa86b04a0a84ac892951;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/STEERBase/AliPIDResponse.h b/STEER/STEERBase/AliPIDResponse.h index 33270a98e0e..280c68e72f4 100644 --- a/STEER/STEERBase/AliPIDResponse.h +++ b/STEER/STEERBase/AliPIDResponse.h @@ -60,6 +60,12 @@ public: kDetPHOS = 0x40 }; + enum EBeamType { + kPP = 0, + kPPB, + kPBPB + }; + enum EStartTimeType_t {kFILL_T0,kTOF_T0, kT0_T0, kBest_T0}; enum ITSPIDmethod { kITSTruncMean, kITSLikelihood }; @@ -89,6 +95,7 @@ public: virtual Float_t NumberOfSigmasITS (const AliVParticle *track, AliPID::EParticleType type) const; virtual Float_t NumberOfSigmasTPC (const AliVParticle *track, AliPID::EParticleType type) const; virtual Float_t NumberOfSigmasTPC (const AliVParticle *track, AliPID::EParticleType type, AliTPCPIDResponse::ETPCdEdxSource dedxSource) const; + virtual Float_t NumberOfSigmasTRD (const AliVParticle *track, AliPID::EParticleType type) const; virtual Float_t NumberOfSigmasEMCAL(const AliVParticle *track, AliPID::EParticleType type, Double_t &eop, Double_t showershape[4]) const; virtual Float_t NumberOfSigmasTOF (const AliVParticle *track, AliPID::EParticleType type) const; virtual Float_t NumberOfSigmasTOF (const AliVParticle *track, AliPID::EParticleType type, Float_t /*timeZeroTOF*/) const { return NumberOfSigmasTOF(track,type); } @@ -96,6 +103,8 @@ public: virtual Float_t NumberOfSigmasEMCAL(const AliVParticle *track, AliPID::EParticleType type) const; Bool_t IdentifiedAsElectronTRD(const AliVTrack *track, Double_t efficiencyLevel,Double_t centrality=-1,AliTRDPIDResponse::ETRDPIDMethod PIDmethod=AliTRDPIDResponse::kLQ1D) const; + Bool_t IdentifiedAsElectronTRD(const AliVTrack *track, Int_t &ntracklets, Double_t efficiencyLevel,Double_t centrality=-1,AliTRDPIDResponse::ETRDPIDMethod PIDmethod=AliTRDPIDResponse::kLQ1D) const; + // Signal delta EDetPidStatus GetSignalDelta(EDetector detCode, const AliVParticle *track, AliPID::EParticleType type, Double_t &val, Bool_t ratio=kFALSE) const; @@ -119,8 +128,8 @@ public: EDetPidStatus CheckPIDStatus(EDetector detCode, const AliVTrack *track) const; AliTOFPIDParams *GetTOFPIDParams() const {return fTOFPIDParams;} - Float_t GetTOFMismatchProbability(const AliVTrack *track) const; - + Float_t GetTOFMismatchProbability(const AliVTrack *track = NULL) const; // if empty argument return the value stored during TOF probability computation + void SetITSPIDmethod(ITSPIDmethod pmeth) { fITSPIDmethod = pmeth; } void SetOADBPath(const char* path) {fOADBPath=path;} @@ -189,7 +198,8 @@ protected: //unbuffered PID calculation virtual Float_t GetNumberOfSigmasTOFold (const AliVParticle */*track*/, AliPID::EParticleType /*type*/) const {return 0;} virtual Float_t GetSignalDeltaTOFold(const AliVParticle */*track*/, AliPID::EParticleType /*type*/, Bool_t /*ratio*/=kFALSE) const {return -9999.;} - + + Int_t CalculateTRDResponse(const AliVTrack *track, Double_t p[],AliTRDPIDResponse::ETRDPIDMethod PIDmethod) const; EDetPidStatus GetComputeTRDProbability (const AliVTrack *track, Int_t nSpecies, Double_t p[],AliTRDPIDResponse::ETRDPIDMethod PIDmethod=AliTRDPIDResponse::kLQ1D) const; EDetPidStatus GetTOFPIDStatus(const AliVTrack *track) const; @@ -198,6 +208,8 @@ protected: private: + static Float_t fgTOFmismatchProb; // TOF mismatch probability (Bayesian) + Bool_t fIsMC; // If we run on MC data Bool_t fCachePID; @@ -236,7 +248,8 @@ private: AliVEvent *fCurrentEvent; //! event currently being processed Float_t fCurrCentrality; //! current centrality - + + EBeamType fBeamTypeNum; //! beam type enum void ExecNewRun(); @@ -286,6 +299,7 @@ private: Float_t GetNumberOfSigmas(EDetector detCode, const AliVParticle *track, AliPID::EParticleType type) const; Float_t GetNumberOfSigmasITS (const AliVParticle *track, AliPID::EParticleType type) const; Float_t GetNumberOfSigmasTPC (const AliVParticle *track, AliPID::EParticleType type) const; + Float_t GetNumberOfSigmasTRD (const AliVParticle *track, AliPID::EParticleType type) const; Float_t GetNumberOfSigmasTOF (const AliVParticle *track, AliPID::EParticleType type) const; Float_t GetNumberOfSigmasHMPID(const AliVParticle *track, AliPID::EParticleType type) const; Float_t GetNumberOfSigmasEMCAL(const AliVParticle *track, AliPID::EParticleType type, Double_t &eop, Double_t showershape[4]) const; @@ -296,6 +310,7 @@ private: // Signal deltas EDetPidStatus GetSignalDeltaITS(const AliVParticle *track, AliPID::EParticleType type, Double_t &val, Bool_t ratio=kFALSE) const; EDetPidStatus GetSignalDeltaTPC(const AliVParticle *track, AliPID::EParticleType type, Double_t &val, Bool_t ratio=kFALSE) const; + EDetPidStatus GetSignalDeltaTRD(const AliVParticle *track, AliPID::EParticleType type, Double_t &val, Bool_t ratio=kFALSE) const; EDetPidStatus GetSignalDeltaTOF(const AliVParticle *track, AliPID::EParticleType type, Double_t &val, Bool_t ratio=kFALSE) const; EDetPidStatus GetSignalDeltaHMPID(const AliVParticle *vtrack, AliPID::EParticleType type, Double_t &val, Bool_t ratio=kFALSE) const; @@ -317,7 +332,7 @@ private: EDetPidStatus GetPHOSPIDStatus(const AliVTrack *track) const; EDetPidStatus GetEMCALPIDStatus(const AliVTrack *track) const; - ClassDef(AliPIDResponse, 12); //PID response handling + ClassDef(AliPIDResponse, 13); //PID response handling }; #endif