]>
Commit | Line | Data |
---|---|---|
fe75ca27 CL |
1 | #ifndef ALIEMCALAODTRACKFILTERTASK_H |
2 | #define ALIEMCALAODTRACKFILTERTASK_H | |
fb99243d CL |
3 | |
4 | // $Id$ | |
5 | ||
6 | class TClonesArray; | |
7 | class AliVEvent; | |
8 | class AliVTrack; | |
9 | ||
10 | #include "AliAnalysisTaskSE.h" | |
11 | ||
fe75ca27 | 12 | class 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 |