]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/STRANGENESS/Hypernuclei/AliAnalysisTaskESDNuclExFilterMC.h
.so cleanup: more gSystem->Load()
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Hypernuclei / AliAnalysisTaskESDNuclExFilterMC.h
CommitLineData
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
26class AliAnalysisFilter;
27class AliESDtrack;
28//class AliPIDResponse;
29
30class 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