1 #ifndef ALIEMCALESDTRACKFILTERTASK_H
2 #define ALIEMCALESDTRACKFILTERTASK_H
10 #include "AliAnalysisTaskSE.h"
11 #include "AliESDtrackCuts.h"
13 class AliEmcalEsdTrackFilterTask : public AliAnalysisTaskSE {
15 AliEmcalEsdTrackFilterTask();
16 AliEmcalEsdTrackFilterTask(const char *name);
17 virtual ~AliEmcalEsdTrackFilterTask();
19 void SetDist(Double_t d) { fDist = d; }
20 void SetDoPropagation(Bool_t b) { fDoPropagation = b; }
21 void SetDoSpdVtxConstrain(Bool_t b) { fDoSpdVtxCon = b; }
22 void SetHybridTrackCuts(AliESDtrackCuts *cuts) { fHybridTrackCuts = cuts; }
23 void SetIncludeNoITS(Bool_t f) { fIncludeNoITS = f; }
24 void SetTrackCuts(AliESDtrackCuts *cuts) { fEsdTrackCuts = cuts; }
25 void SetTracksName(const char *name) { fTracksName = name; }
26 void SetTrackEfficiency(Double_t eff = 0.95) { fTrackEfficiency = new TF1("eff", "[0]", 0, 500); fTrackEfficiency->FixParameter(0,eff); }
27 void SetTrackEfficiency(TF1* eff) { fTrackEfficiency = eff; }
28 void SetMC(Bool_t b) { fIsMC = b ; }
31 void UserCreateOutputObjects();
32 void UserExec(Option_t *option);
34 AliESDtrackCuts *fEsdTrackCuts; // esd track cuts
35 Bool_t fDoSpdVtxCon; // if true then do vertex constraint
36 AliESDtrackCuts *fHybridTrackCuts; // hybrid track cuts
37 TString fTracksName; // name of tracks
38 Bool_t fIncludeNoITS; // includes tracks with failed ITS refit
39 Bool_t fDoPropagation; // propagate all hybrid tracks to EMCal surface
40 Double_t fDist; // distance to surface (440cm default)
41 TF1 *fTrackEfficiency; // track efficiency
42 Bool_t fIsMC; // whether it is a MC event or not
43 AliESDEvent *fEsdEv; //!esd event
44 TClonesArray *fTracks; //!track array
47 AliEmcalEsdTrackFilterTask(const AliEmcalEsdTrackFilterTask&); // not implemented
48 AliEmcalEsdTrackFilterTask &operator=(const AliEmcalEsdTrackFilterTask&); // not implemented
50 ClassDef(AliEmcalEsdTrackFilterTask, 4); // Class to constrain TPC tracks to SPD vertex