]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muon/AliAnalysisTaskESDMuonFilter.h
Make the option to keep the SPD tracklets in muon AODs accessible after the ctor...
[u/mrichter/AliRoot.git] / PWG / muon / AliAnalysisTaskESDMuonFilter.h
CommitLineData
c683985a 1#ifndef ALIANALYSISTASKESDMUONFILTER_H
2#define ALIANALYSISTASKESDMUONFILTER_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9///
10/// \brief Add the muon tracks to the generic AOD track branch during the
11/// filtering of the ESD.
12///
13/// \author R. Arnaldi 5/5/08 and L. Aphecetche January 2011
14
15#ifndef ALIANALYSISTASKSE_H
16# include "AliAnalysisTaskSE.h"
17#endif
18
19class AliAnalysisFilter;
20
21class AliAnalysisTaskESDMuonFilter : public AliAnalysisTaskSE
22{
23public:
24 AliAnalysisTaskESDMuonFilter(Bool_t onlyMuon=kTRUE, Bool_t keepAllEvents=kTRUE, Int_t mcMode=0, Bool_t withSPDtracklets=kFALSE);
25 AliAnalysisTaskESDMuonFilter(const char* name, Bool_t onlyMuon=kTRUE, Bool_t keepAllEvents=kTRUE, Int_t mcMode=0, Bool_t withSPDtracklets=kFALSE);
26 virtual ~AliAnalysisTaskESDMuonFilter() {;}
27
28 virtual void UserCreateOutputObjects();
29 virtual void Init();
30 virtual void LocalInit() {Init();}
31 virtual void UserExec(Option_t *option);
32
33 virtual void ConvertESDtoAOD();
34
35 virtual void SetTrackFilter(AliAnalysisFilter* trackF) {fTrackFilter = trackF;}
36 void SetWriteMuonAOD(Bool_t enableMuonAOD){fEnableMuonAOD = enableMuonAOD;}
37 void SetWriteDimuonAOD(Bool_t enableDimuonAOD){fEnableDimuonAOD = enableDimuonAOD;}
fa345e25 38 void SetWithSPDtracklets(Bool_t withSPDtracklets=kTRUE) { fWithSPDTracklets = withSPDtracklets; }
39 void SetMCMode(Int_t mcMode) { fMCMode=mcMode; }
c683985a 40
41 void PrintTask(Option_t *option="", Int_t indent=0) const;
42
43private:
44 AliAnalysisTaskESDMuonFilter(const AliAnalysisTaskESDMuonFilter&);
45 AliAnalysisTaskESDMuonFilter& operator=(const AliAnalysisTaskESDMuonFilter&);
46 void AddFilteredAOD(const char* aodfilename, const char* title);
47
48 AliAnalysisFilter* fTrackFilter; ///< Track Filter
49 Bool_t fEnableMuonAOD; ///< flag for enabling Muon AOD production
50 Bool_t fEnableDimuonAOD; ///< flag for enabling Dimuon AOD production
51 Bool_t fOnlyMuon; ///< flag for disabling branches irrelevant for (most) muon analyses
52 Bool_t fKeepAllEvents; ///< keep even events where there's no muons (to get e.g. unbiased vertex distribution)
53 Int_t fMCMode; ///< whether and how we're filtering MC data
54 Bool_t fWithSPDTracklets; ///< whether or not we keep SPD tracklets
55
56 ClassDef(AliAnalysisTaskESDMuonFilter, 6); // Analysis task for standard ESD filtering
57};
58
59#endif