#ifndef ALITRACKDIHADRONPID_H #define ALITRACKDIHADRONPID_H /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ /* $Id$ */ #include using namespace std; #include "AliAODTrack.h" #include "AliAODEvent.h" #include "AliAODMCParticle.h" #include "AliPIDResponse.h" class AliTrackDiHadronPID : public TObject { public: AliTrackDiHadronPID(); AliTrackDiHadronPID(AliAODTrack* track, AliAODTrack* globaltrack = 0x0, AliAODMCParticle* mcparticle = 0x0, AliPIDResponse* pidresponse = 0x0); virtual ~AliTrackDiHadronPID() {} private: AliTrackDiHadronPID(const AliTrackDiHadronPID&); AliTrackDiHadronPID& operator=(const AliTrackDiHadronPID&); // Internal copy functions. private: Bool_t CopyBasicTrackInfo(); Bool_t CopyFlags(); Bool_t CopyDCAInfo(); Bool_t CopyITSInfo(); Bool_t CopyTPCInfo(); Bool_t CopyTOFInfo(); Bool_t CopyMCInfo(); // Check functions. public: Bool_t IsBasicTrackInfoAvailable() const { if (!fBasicInfoAvailable) cout<<"Basic Track Info not available."<= 0 && species < 3) return fY[species]; else return -999.; } ULong_t GetFlags() const {return fFlags;} ULong_t GetStatus() const {return GetFlags();} UInt_t GetFilterMap() const {return fFilterMap;} Bool_t TestFilterMask(UInt_t filterMask) const {return (Bool_t)((filterMask & fFilterMap) == filterMask);} Int_t GetID() const {return fID;} Int_t GetLabel() const {return fLabel;} Short_t Charge() const {return fCharge;} Int_t GetNclsTPC() const {return fNclsTPC;} Double_t GetZAtDCA() const {return fDCAz;} Double_t GetXYAtDCA() const {return fDCAxy;} Double_t GetTOFsignal() const {return fTOFsignal;} Double_t GetTOFsignalMinusExpected(Int_t species) const { if (species < 0 || species > 2) { cout<<"ERROR: Unknown species"< 2) { cout<<"ERROR: Unknown species"< 2) { cout<<"ERROR: Unknown species"< 2) { cout<<"ERROR: Unknown species"< -1) && (layer < 6)) return fITSHits[layer]; else { cout<<"ITS has only 6 layers."<