]>
Commit | Line | Data |
---|---|---|
36f902bc | 1 | #ifndef ALIANALYSISTASKESDNUCLEXFILTERMC_H |
2 | #define ALIANALYSISTASKESDNUCLEXFILTERMC_H | |
3 | ||
4 | ||
5 | // Create a new AOD starting from the general AOD. This Task can be used also strating | |
6 | //from ESD changing the input handler. (Method to be testeted on the grid) | |
7 | // filtering of the ESD. | |
8 | // | |
9 | // Authors: S. Bufalino (stefania.bufalino@cern.ch) | |
10 | // R. Lea (ramona.lea@cern.ch) | |
11 | // Based on AliAnalysisTaskESDMuonFilter.h | |
12 | ||
13 | #ifndef ALIANALYSISTASKSE_H | |
14 | # include "AliAnalysisTaskSE.h" | |
15 | # include "AliESDtrack.h" | |
16 | # include "AliAODTrack.h" | |
17 | # include "AliAODPid.h" | |
18 | # include "AliAODMCNuclExReplicator.h" | |
19 | //#include "AliAOD3LH.h" | |
20 | ||
21 | #endif | |
22 | #ifndef ALIANALYSISCUTS_H | |
23 | # include "AliAnalysisCuts.h" | |
24 | #endif | |
25 | ||
26 | class AliAnalysisFilter; | |
27 | class AliESDtrack; | |
28 | //class AliPIDResponse; | |
29 | ||
30 | class AliAnalysisTaskESDNuclExFilterMC : public AliAnalysisTaskSE | |
31 | { | |
32 | public: | |
33 | AliAnalysisTaskESDNuclExFilterMC(Bool_t onlyMuon=kTRUE, Bool_t keepAllEvents=kTRUE, Int_t mcMode=0, Int_t nsigmaTrk1=3 ,Int_t nsigmaTrk2 = 3, Int_t partType1 = 2,Int_t partType2 = 7); | |
34 | AliAnalysisTaskESDNuclExFilterMC(const char* name, Bool_t onlyMuon=kTRUE, Bool_t keepAllEvents=kTRUE, Int_t mcMode=0, Int_t nsigmaTrk1=3 ,Int_t nsigmaTrk2 = 3, Int_t partType1 = 2,Int_t partType2 = 7); | |
35 | virtual ~AliAnalysisTaskESDNuclExFilterMC() {;} | |
36 | // Implementation of interface methods | |
37 | virtual void UserCreateOutputObjects(); | |
38 | virtual void Init(); | |
39 | virtual void LocalInit() {Init();} | |
40 | virtual void UserExec(Option_t *option); | |
41 | virtual void Terminate(Option_t *option); | |
42 | ||
43 | virtual void ConvertESDtoAOD(); | |
44 | ||
45 | ||
46 | // Setters | |
47 | virtual void SetTrackFilter(AliAnalysisFilter* trackF) {fTrackFilter = trackF;} | |
48 | void SetWriteMuonAOD(Bool_t enableMuonAOD){fEnableMuonAOD = enableMuonAOD;} | |
49 | void SetWriteDimuonAOD(Bool_t enableDimuonAOD){fEnableDimuonAOD = enableDimuonAOD;} | |
50 | ||
51 | void PrintTask(Option_t *option="", Int_t indent=0) const; | |
52 | ||
53 | ||
54 | private: | |
55 | AliAnalysisTaskESDNuclExFilterMC(const AliAnalysisTaskESDNuclExFilterMC&); | |
56 | AliAnalysisTaskESDNuclExFilterMC& operator=(const AliAnalysisTaskESDNuclExFilterMC&); | |
57 | void AddFilteredAOD(const char* aodfilename, const char* title, Bool_t toMerge); | |
58 | ||
59 | AliAnalysisFilter* fTrackFilter; // Track Filter | |
60 | Bool_t fEnableMuonAOD; // flag for enabling Muon AOD production | |
61 | Bool_t fEnableDimuonAOD; // flag for enabling Dimuon AOD production | |
62 | Bool_t fOnlyMuon; // flag for disabling branches irrelevant for (most) muon analyses | |
63 | Bool_t fKeepAllEvents; // keep even events where there's no muons (to get e.g. unbiased vertex distribution) | |
64 | Int_t fMCMode; // whether and how we're filtering MC data | |
65 | ||
66 | Int_t fnSigmaTrk1; | |
67 | Int_t fnSigmaTrk2; | |
68 | Int_t fpartType1; | |
69 | Int_t fpartType2; | |
70 | ||
71 | AliAODMCNuclExReplicator* murep; | |
72 | ||
73 | /* AliPIDResponse *fPIDResponse; //! PID response object */ | |
74 | ||
75 | ClassDef(AliAnalysisTaskESDNuclExFilterMC, 5); // Analysis task for standard ESD filtering | |
76 | }; | |
77 | ||
78 | /* class AliAnalysisNonMuonTrackCuts : public AliAnalysisCuts */ | |
79 | /* { */ | |
80 | /* public: */ | |
81 | /* AliAnalysisNonMuonTrackCuts(); */ | |
82 | /* virtual ~AliAnalysisNonMuonTrackCuts() {} */ | |
83 | /* /\* virtual Bool_t IsSelected(TObject* obj); *\/ */ | |
84 | /* /\* virtual Bool_t IsSelected(TList* /\\* list *\\/ ) { return kTRUE; } *\/ */ | |
85 | ||
86 | /* ClassDef(AliAnalysisNonMuonTrackCuts,1); // Select muon spectrometer tracks */ | |
87 | /* }; */ | |
88 | ||
89 | /* class AliAnalysisNonPrimaryVertices : public AliAnalysisCuts */ | |
90 | /* { */ | |
91 | /* public: */ | |
92 | /* AliAnalysisNonPrimaryVertices(); */ | |
93 | /* virtual ~AliAnalysisNonPrimaryVertices() {} */ | |
94 | /* /\* virtual Bool_t IsSelected(TObject* obj); *\/ */ | |
95 | /* /\* virtual Bool_t IsSelected(TList* /\\* list *\\/ ) { return kTRUE; } *\/ */ | |
96 | ||
97 | /* ClassDef(AliAnalysisNonPrimaryVertices,1); // Select primary vertices */ | |
98 | /* }; */ | |
99 | ||
100 | #endif |