]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/EMCAL/AliEmcalAodTrackFilterTask.h
Add ptr to original AliVTrack.
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalAodTrackFilterTask.h
CommitLineData
fe75ca27
CL
1#ifndef ALIEMCALAODTRACKFILTERTASK_H
2#define ALIEMCALAODTRACKFILTERTASK_H
fb99243d
CL
3
4// $Id$
5
6class TClonesArray;
7class AliVEvent;
8class AliVTrack;
9
10#include "AliAnalysisTaskSE.h"
11
fe75ca27 12class AliEmcalAodTrackFilterTask : public AliAnalysisTaskSE {
fb99243d 13 public:
fe75ca27
CL
14 AliEmcalAodTrackFilterTask();
15 AliEmcalAodTrackFilterTask(const char *name);
16 virtual ~AliEmcalAodTrackFilterTask();
fb99243d
CL
17
18 void UserCreateOutputObjects();
19 void UserExec(Option_t *option);
20
21 void SetAODfilterBits(Int_t b0 = 0, Int_t b1 = 0) { fAODfilterBits[0] = b0 ; fAODfilterBits[1] = b1 ; }
22 void SetCutMaxFractionSharedTPCClusters(Double_t c = 0.4) { fCutMaxFrShTPCClus = c ; }
fe75ca27
CL
23 void SetDist(Double_t d) { fDist = d ; }
24 void SetDoPropagation(Bool_t b) { fDoPropagation = b ; }
fb99243d
CL
25 void SetIncludeNoITS(Bool_t f) { fIncludeNoITS = f ; }
26 void SetMC(Bool_t a) { fIsMC = a ; }
27 void SetModifyTrack(Bool_t b) { fModifyTrack = b; }
28 void SetTrackEfficiency(Double_t eff = 0.95) { fTrackEfficiency = eff ; }
29 void SetTrackEtaLimits(Double_t min, Double_t max) { fMaxTrackEta = max ; fMinTrackEta = min ; }
30 void SetTrackPhiLimits(Double_t min, Double_t max) { fMaxTrackPhi = max ; fMinTrackPhi = min ; }
31 void SetTrackPtLimits(Double_t min, Double_t max) { fMaxTrackPt = max ; fMinTrackPt = min ; }
32 void SetTracksInName(const char *name) { fTracksInName = name; }
33 void SetTracksOutName(const char *name) { fTracksOutName = name; }
34 void SetUseNegativeLabels(Bool_t f) { fUseNegativeLabels = f ; }
35
36 protected:
37 Int_t fAODfilterBits[2]; // AOD track filter bit map
38 TString fTracksOutName; // name of output track array
39 TString fTracksInName; // name of input track array
40 Double_t fMinTrackPt; // mix pt of tracks
41 Double_t fMaxTrackPt; // max pt of tracks
42 Double_t fMinTrackEta; // cut on track eta
43 Double_t fMaxTrackEta; // cut on track eta
44 Double_t fMinTrackPhi; // cut on track phi
45 Double_t fMaxTrackPhi; // cut on track phi
46 Double_t fTrackEfficiency; // track efficiency
47 Bool_t fIncludeNoITS; // includes tracks with failed ITS refit
48 Bool_t fUseNegativeLabels; // whether or not should use negative MC labels
49 Bool_t fIsMC; // whether it is a MC event or not
50 Double_t fCutMaxFrShTPCClus; // max fraction of shared TPC clusters
51 Bool_t fModifyTrack; // if true then overwrite some fields in AodTrack
fe75ca27
CL
52 Bool_t fDoPropagation; // if true then propagate all hybrid tracks to EMCal surface
53 Double_t fDist; // distance to surface (440cm default)
fb99243d
CL
54 TClonesArray *fTracksIn; //!track array in
55 TClonesArray *fTracksOut; //!track array out
56
57 private:
fe75ca27
CL
58 AliEmcalAodTrackFilterTask(const AliEmcalAodTrackFilterTask&); // not implemented
59 AliEmcalAodTrackFilterTask &operator=(const AliEmcalAodTrackFilterTask&); // not implemented
fb99243d 60
fe75ca27 61 ClassDef(AliEmcalAodTrackFilterTask, 1); // Task to filter Aod tracks
fb99243d
CL
62};
63#endif