]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG/EMCAL/AliEmcalAodTrackFilterTask.h
Merge remote-tracking branch 'origin/master' into flatdev
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalAodTrackFilterTask.h
index 4e11718d0ad1e90569caa3b25b38cfdaf5b9a176..4c9553cd503617d69f1f951f7a46c5dec5ef3ed7 100644 (file)
@@ -1,10 +1,10 @@
 #ifndef ALIEMCALAODTRACKFILTERTASK_H
 #define ALIEMCALAODTRACKFILTERTASK_H
 
-// $Id$
-
 class TClonesArray;
 
+#include <TF1.h>
+
 #include "AliAnalysisTaskSE.h"
 
 class AliEmcalAodTrackFilterTask : public AliAnalysisTaskSE {
@@ -14,14 +14,18 @@ class AliEmcalAodTrackFilterTask : public AliAnalysisTaskSE {
   virtual ~AliEmcalAodTrackFilterTask();
 
   void               SetAODfilterBits(Int_t b0 = 0, Int_t b1 = 0)         { fAODfilterBits[0]  = b0  ; fAODfilterBits[1] = b1  ; }
+  void               SetAttemptProp(Bool_t b)                             { fAttemptProp       = b   ; }
+  void               SetAttemptPropMatch(Bool_t b)                        { fAttemptPropMatch  = b   ; }
   void               SetCutMaxFractionSharedTPCClusters(Double_t c = 0.4) { fCutMaxFrShTPCClus = c   ; }
   void               SetDist(Double_t d)                                  { fDist              = d   ; }
   void               SetDoPropagation(Bool_t b)                           { fDoPropagation     = b   ; }
   void               SetIncludeNoITS(Bool_t f)                            { fIncludeNoITS      = f   ; }
+  void               SetMC(Bool_t b)                                      { fIsMC              = b   ; }
   void               SetTracksInName(const char *name)                    { fTracksInName      = name; }
   void               SetTracksOutName(const char *name)                   { fTracksOutName     = name; }
-  void               SetMC(Bool_t b)                                      { fIsMC              = b   ; }
-  void               SetUseNegativeLabels(Bool_t f)                    { fUseNegativeLabels = f   ; }
+  void               SetUseNegativeLabels(Bool_t f)                       { fUseNegativeLabels = f   ; }
+  void               SetTrackEfficiency(Double_t eff = 0.95)              { fTrackEfficiency  = new TF1("eff", "[0]", 0, 500); fTrackEfficiency->FixParameter(0,eff); }
+  void               SetTrackEfficiency(TF1* eff)                         { fTrackEfficiency  = eff  ; }
 
  protected:
   void               UserCreateOutputObjects();
@@ -35,7 +39,10 @@ class AliEmcalAodTrackFilterTask : public AliAnalysisTaskSE {
   Bool_t             fUseNegativeLabels;    // whether or not should use negative MC labels
   Bool_t             fIsMC;                 // whether it is a MC event or not
   Bool_t             fDoPropagation;        // if true then propagate all hybrid tracks to EMCal surface
+  Bool_t             fAttemptProp;          // if true then attempt to propagate if not done yet
+  Bool_t             fAttemptPropMatch;     // if true then attempt to propagate if not done yet but IsEMCAL is true
   Double_t           fDist;                 // distance to surface (440cm default)
+  TF1               *fTrackEfficiency;      // track efficiency
   TClonesArray      *fTracksIn;             //!track array in
   TClonesArray      *fTracksOut;            //!track array out
 
@@ -43,6 +50,6 @@ class AliEmcalAodTrackFilterTask : public AliAnalysisTaskSE {
   AliEmcalAodTrackFilterTask(const AliEmcalAodTrackFilterTask&);            // not implemented
   AliEmcalAodTrackFilterTask &operator=(const AliEmcalAodTrackFilterTask&); // not implemented
 
-  ClassDef(AliEmcalAodTrackFilterTask, 2); // Task to filter Aod tracks
+  ClassDef(AliEmcalAodTrackFilterTask, 4); // Task to filter Aod tracks
 };
 #endif