]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG/EMCAL/AliEmcalAodTrackFilterTask.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalAodTrackFilterTask.cxx
index dc1de736147958b09020b02633a88b5cf48875a7..3dabc51a424f8b288b778e3fb284175a21ca256c 100644 (file)
@@ -1,4 +1,3 @@
-// $Id: AliEmcalAodTrackFilterTask.cxx | Fri Dec 6 10:29:20 2013 +0100 | Constantin Loizides  $
 //
 // Class to filter Aod tracks
 //
@@ -28,6 +27,7 @@ AliEmcalAodTrackFilterTask::AliEmcalAodTrackFilterTask() :
   fAttemptProp(kFALSE),
   fAttemptPropMatch(kFALSE),
   fDist(440),
+  fTrackEfficiency(0),
   fTracksIn(0),
   fTracksOut(0)
 {
@@ -50,6 +50,7 @@ AliEmcalAodTrackFilterTask::AliEmcalAodTrackFilterTask(const char *name) :
   fAttemptProp(kFALSE),
   fAttemptPropMatch(kFALSE),
   fDist(440),
+  fTrackEfficiency(0),
   fTracksIn(0),
   fTracksOut(0)
 {
@@ -144,6 +145,12 @@ void AliEmcalAodTrackFilterTask::UserExec(Option_t *)
       }
     }
 
+    if (fTrackEfficiency) {
+      Double_t r = gRandom->Rndm();
+      if (fTrackEfficiency->Eval(track->Pt()) < r)
+        continue;
+    }
+
     AliAODTrack *newt = new ((*fTracksOut)[nacc]) AliAODTrack(*track);
     newt->SetUniqueID(0);
     newt->ResetBit(TObject::kHasUUID);
@@ -155,7 +162,7 @@ void AliEmcalAodTrackFilterTask::UserExec(Option_t *)
     else if (!newt->IsExtrapolatedToEMCAL()) {
       if (fAttemptProp)
        propthistrack = kTRUE;
-      else if (fAttemptPropMatch && !newt->IsEMCAL())
+      else if (fAttemptPropMatch && newt->IsEMCAL())
        propthistrack = kTRUE;
     }
     if (propthistrack)
@@ -170,6 +177,7 @@ void AliEmcalAodTrackFilterTask::UserExec(Option_t *)
       if (label == 0) 
        AliDebug(2,Form("Track %d with label==0", iTracks));
     }
+    newt->SetLabel(label);
     if (type==0) {
       newt->SetBit(BIT(22),0);
       newt->SetBit(BIT(23),0);