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