]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AOD/AliAODpidUtil.h
Update timestamp for new data points simulation
[u/mrichter/AliRoot.git] / STEER / AOD / AliAODpidUtil.h
index fb8f200dc4061e65f7a87bf6d77d11847ab474af..db765c54cf3f65c9bfa56e6201eada7c52d9385d 100644 (file)
@@ -32,50 +32,19 @@ public:
   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;
-  Bool_t oldAod=kTRUE;
-  Double_t sigTOF;
-  AliAODPid *pidObj = track->GetDetPid();
-  if (!pidObj) return -999.;
-  Double_t tofTime=pidObj->GetTOFsignal();
-  Double_t expTime=fTOFResponse.GetExpectedSignal((AliVTrack*)vtrack,type);
-  Double_t sigmaTOFPid[AliPID::kSPECIES];
-  pidObj->GetTOFpidResolution(sigmaTOFPid);
-  AliAODEvent *event=(AliAODEvent*)track->GetAODEvent();
-  if (event) {  // protection if the user didn't call GetTrack, which sets the internal pointer
-    AliTOFHeader* tofH=(AliTOFHeader*)event->GetTOFHeader();
-    if (tofH && (TMath::Abs(sigmaTOFPid[0]) <= 1.E-16) ) { // new AOD
-       sigTOF=fTOFResponse.GetExpectedSigma(track->P(),expTime,AliPID::ParticleMassZ(type)); //fTOFResponse is set in InitialiseEvent
-       tofTime -= fTOFResponse.GetStartTime(vtrack->P());
-       oldAod=kFALSE;
-    } 
-  } else {
-    AliError("pointer to AliAODEvent not found, please call GetTrack to set it");
-    return -996.;
-  }
-  if (oldAod) { // old AOD
-    if (type <= AliPID::kProton) {
-      sigTOF=sigmaTOFPid[type];
-    } else return -998.;  // light nuclei cannot be supported on old AOD because we don't have timeZero resolution
-  }
-  if (sigTOF>0) return (tofTime - expTime)/sigTOF;
-  else return -997.;
-}
 
 #endif