]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - PWG/EMCAL/AliEmcalEsdTrackFilterTask.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalEsdTrackFilterTask.h
... / ...
CommitLineData
1#ifndef ALIEMCALESDTRACKFILTERTASK_H
2#define ALIEMCALESDTRACKFILTERTASK_H
3
4class TClonesArray;
5class AliESDEvent;
6class AliESDtrackCuts;
7
8#include <TF1.h>
9
10#include "AliAnalysisTaskSE.h"
11#include "AliESDtrackCuts.h"
12
13class AliEmcalEsdTrackFilterTask : public AliAnalysisTaskSE {
14 public:
15 AliEmcalEsdTrackFilterTask();
16 AliEmcalEsdTrackFilterTask(const char *name);
17 virtual ~AliEmcalEsdTrackFilterTask();
18
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 ; }
29
30 protected:
31 void UserCreateOutputObjects();
32 void UserExec(Option_t *option);
33
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
45
46 private:
47 AliEmcalEsdTrackFilterTask(const AliEmcalEsdTrackFilterTask&); // not implemented
48 AliEmcalEsdTrackFilterTask &operator=(const AliEmcalEsdTrackFilterTask&); // not implemented
49
50 ClassDef(AliEmcalEsdTrackFilterTask, 4); // Class to constrain TPC tracks to SPD vertex
51};
52
53#endif