// for the AOD class
// Origin: Rosa Romita, GSI, r.romita@gsi.de
// Modified: Jens Wiechula, Uni Tuebingen, jens.wiechula@cern.ch
+// Modified: Pietro Antonioli, INFN BO, pietro.antonioli@bo.infn.it
//-------------------------------------------------------
#include <Rtypes.h>
#include <TMatrixD.h>
+#include <AliLog.h>
+#include "AliAODEvent.h" // Needed for inline functions
#include "AliAODTrack.h" // Needed for inline functions
#include "AliAODPid.h" // Needed for inline functions
+#include "AliTOFHeader.h" //Needed for inline functions
//#include "HMPID/AliHMPID.h"
#include "AliPIDResponse.h"
AliAODpidUtil(Bool_t isMC = kFALSE): AliPIDResponse(isMC) {;}
virtual ~AliAODpidUtil() {;}
- Int_t MakePID(const AliAODTrack *track,Double_t *p) const;
- void MakeTPCPID(const AliAODTrack *track,Double_t *p) const;
- void MakeITSPID(const AliAODTrack *track,Double_t *p) const;
- void MakeTOFPID(const AliAODTrack *track,Double_t *p) const;
- // void MakeHMPIDPID(AliESDtrack *track);
- void MakeTRDPID(const AliAODTrack *track,Double_t *p) const;
- virtual Float_t NumberOfSigmasTOF(const AliVParticle *vtrack, AliPID::EParticleType type) const;
+ Float_t GetTPCsignalTunedOnData(const AliVTrack *t) const;
+ Float_t GetTOFsignalTunedOnData(const AliVTrack *t) const;
+
+protected:
+ virtual Float_t GetSignalDeltaTOFold(const AliVParticle *track, AliPID::EParticleType type, Bool_t ratio=kFALSE) const;
+ virtual Float_t GetNumberOfSigmasTOFold(const AliVParticle *vtrack, AliPID::EParticleType type) const;
private:
ClassDef(AliAODpidUtil,3) // PID calculation class
};
-inline Float_t AliAODpidUtil::NumberOfSigmasTOF(const AliVParticle *vtrack, AliPID::EParticleType type) const {
- AliAODTrack *track=(AliAODTrack*)vtrack;
- Double_t times[AliPID::kSPECIES];
- Double_t sigmaTOFPid[AliPID::kSPECIES];
- AliAODPid *pidObj = track->GetDetPid();
- if (!pidObj) return -999.;
- pidObj->GetIntegratedTimes(times);
- pidObj->GetTOFpidResolution(sigmaTOFPid);
- if (sigmaTOFPid[type]>0) return (pidObj->GetTOFsignal() - times[type])/sigmaTOFPid[type];
- else return (pidObj->GetTOFsignal() - times[type])/fTOFResponse.GetExpectedSigma(track->P(),times[type],AliPID::ParticleMass(type));
-}
#endif