]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG3/hfe/AliHFEpidTOF.cxx
Update of PID classes (Markus); Reduction of the number of cut steps in the Correctio...
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEpidTOF.cxx
index 967ee7f7f2404cf276d464f23938cee45a30713f..c7eadeaca00dd77027f14c317bd98fc8b830b1db 100644 (file)
 #include <TList.h>
 #include <TMath.h>
 
+#include "AliAODTrack.h"
+#include "AliAODMCParticle.h"
 #include "AliESDtrack.h"
-#include "AliVParticle.h"
+#include "AliLog.h"
+#include "AliMCParticle.h"
 #include "AliPID.h"
 
 #include "AliHFEpidTOF.h"
@@ -93,7 +96,7 @@ Bool_t AliHFEpidTOF::InitializePID(){
 }
 
 //___________________________________________________________________
-Int_t AliHFEpidTOF::IsSelected(AliVParticle *vtrack)
+Int_t AliHFEpidTOF::IsSelected(AliHFEpidObject *vtrack)
 {
 
   //
@@ -104,8 +107,21 @@ Int_t AliHFEpidTOF::IsSelected(AliVParticle *vtrack)
   //
   // returns 10 (== kUnknown)if PID can not be assigned
   //
+  if(vtrack->fAnalysisType == AliHFEpidObject::kESDanalysis){
+    AliESDtrack *esdTrack = dynamic_cast<AliESDtrack *>(vtrack->fRecTrack);
+    if(!esdTrack) return 0;
+    AliMCParticle *mcTrack = dynamic_cast<AliMCParticle *>(vtrack->fMCtrack);
+    return MakePIDesd(esdTrack, mcTrack);
+  } else {
+    AliAODTrack *aodTrack = dynamic_cast<AliAODTrack *>(vtrack->fRecTrack);
+    if(!aodTrack) return 0;
+    AliAODMCParticle *aodmc = dynamic_cast<AliAODMCParticle *>(vtrack->fMCtrack);
+    return MakePIDaod(aodTrack, aodmc);
+  }
+}
 
-  AliESDtrack *track = dynamic_cast<AliESDtrack*>(vtrack);
+//___________________________________________________________________
+Int_t AliHFEpidTOF::MakePIDesd(AliESDtrack *track, AliMCParticle * /*mcTrack*/){
   Long_t status = 0;
   status = track->GetStatus(); 
 
@@ -156,6 +172,12 @@ Int_t AliHFEpidTOF::IsSelected(AliVParticle *vtrack)
   }
 }
 
+//___________________________________________________________________
+Int_t AliHFEpidTOF::MakePIDaod(AliAODTrack * /*aodTrack*/, AliAODMCParticle * /*mcTrack*/){
+  AliError("AOD PID not yet implemented");
+  return 0;
+}
+
 //___________________________________________________________________
 void AliHFEpidTOF::AddQAhistograms(TList *qaList){
   //