]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/EMCAL/AliEmcalAodTrackFilterTask.h
- Fix for the patch energy introduced in commit 05a42e4d3e68cf9929437bb2bc1310476f097476
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalAodTrackFilterTask.h
CommitLineData
fe75ca27
CL
1#ifndef ALIEMCALAODTRACKFILTERTASK_H
2#define ALIEMCALAODTRACKFILTERTASK_H
fb99243d 3
fb99243d 4class TClonesArray;
fb99243d 5
da07e905 6#include <TF1.h>
7
fb99243d
CL
8#include "AliAnalysisTaskSE.h"
9
fe75ca27 10class AliEmcalAodTrackFilterTask : public AliAnalysisTaskSE {
fb99243d 11 public:
fe75ca27
CL
12 AliEmcalAodTrackFilterTask();
13 AliEmcalAodTrackFilterTask(const char *name);
14 virtual ~AliEmcalAodTrackFilterTask();
fb99243d 15
33a8056d 16 void SetAODfilterBits(Int_t b0 = 0, Int_t b1 = 0) { fAODfilterBits[0] = b0 ; fAODfilterBits[1] = b1 ; }
507ffd10 17 void SetAttemptProp(Bool_t b) { fAttemptProp = b ; }
18 void SetAttemptPropMatch(Bool_t b) { fAttemptPropMatch = b ; }
33a8056d 19 void SetCutMaxFractionSharedTPCClusters(Double_t c = 0.4) { fCutMaxFrShTPCClus = c ; }
20 void SetDist(Double_t d) { fDist = d ; }
21 void SetDoPropagation(Bool_t b) { fDoPropagation = b ; }
22 void SetIncludeNoITS(Bool_t f) { fIncludeNoITS = f ; }
507ffd10 23 void SetMC(Bool_t b) { fIsMC = b ; }
33a8056d 24 void SetTracksInName(const char *name) { fTracksInName = name; }
25 void SetTracksOutName(const char *name) { fTracksOutName = name; }
507ffd10 26 void SetUseNegativeLabels(Bool_t f) { fUseNegativeLabels = f ; }
da07e905 27 void SetTrackEfficiency(Double_t eff = 0.95) { fTrackEfficiency = new TF1("eff", "[0]", 0, 500); fTrackEfficiency->FixParameter(0,eff); }
28 void SetTrackEfficiency(TF1* eff) { fTrackEfficiency = eff ; }
fb99243d
CL
29
30 protected:
33a8056d 31 void UserCreateOutputObjects();
32 void UserExec(Option_t *option);
33
fb99243d
CL
34 Int_t fAODfilterBits[2]; // AOD track filter bit map
35 TString fTracksOutName; // name of output track array
36 TString fTracksInName; // name of input track array
fb99243d 37 Bool_t fIncludeNoITS; // includes tracks with failed ITS refit
33a8056d 38 Double_t fCutMaxFrShTPCClus; // max fraction of shared TPC clusters
fb99243d
CL
39 Bool_t fUseNegativeLabels; // whether or not should use negative MC labels
40 Bool_t fIsMC; // whether it is a MC event or not
fe75ca27 41 Bool_t fDoPropagation; // if true then propagate all hybrid tracks to EMCal surface
507ffd10 42 Bool_t fAttemptProp; // if true then attempt to propagate if not done yet
43 Bool_t fAttemptPropMatch; // if true then attempt to propagate if not done yet but IsEMCAL is true
fe75ca27 44 Double_t fDist; // distance to surface (440cm default)
da07e905 45 TF1 *fTrackEfficiency; // track efficiency
fb99243d
CL
46 TClonesArray *fTracksIn; //!track array in
47 TClonesArray *fTracksOut; //!track array out
48
49 private:
fe75ca27
CL
50 AliEmcalAodTrackFilterTask(const AliEmcalAodTrackFilterTask&); // not implemented
51 AliEmcalAodTrackFilterTask &operator=(const AliEmcalAodTrackFilterTask&); // not implemented
fb99243d 52
da07e905 53 ClassDef(AliEmcalAodTrackFilterTask, 4); // Task to filter Aod tracks
fb99243d
CL
54};
55#endif