1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 /* AliAnalysisTaskNanoAODFilter.h
7 * Template task producing a P_t spectrum and pseudorapidity distribution.
8 * Includes explanations of physics and primary track selections
10 * Based on tutorial example from offline pages
11 * Edited by Arvinder Palaha
13 #ifndef ALIANALYSISTASKNANOAODESEFILTER_H
14 #define ALIANALYSISTASKNANOAODESEFILTER_H
18 class AliESDtrackCuts;
19 class AliAnalysisCuts;
20 class AliNanoAODReplicator;
21 class AliNanoAODCustomSetter;
23 #ifndef ALIANALYSISTASKSE_H
24 #include "AliAnalysisTaskSE.h"
27 class AliAnalysisTaskNanoAODFilter : public AliAnalysisTaskSE {
29 AliAnalysisTaskNanoAODFilter();
30 AliAnalysisTaskNanoAODFilter(const char *name, Bool_t saveCutsFlag);
31 virtual ~AliAnalysisTaskNanoAODFilter();
33 virtual void UserCreateOutputObjects();
34 virtual void UserExec(Option_t *option);
36 virtual void LocalInit() {Init();}
37 virtual void Terminate(Option_t *);
38 virtual void FinishTaskOutput() ;
40 Int_t GetMCMode() { return fMCMode; }
41 void SetMCMode (Int_t var) { fMCMode = var;}
42 void AddFilteredAOD(const char* aodfilename, const char* title);
44 AliAnalysisCuts * GetEvtCuts() { return fEvtCuts; }
45 AliAnalysisCuts * GetTrkCuts() { return fTrkCuts; }
46 AliNanoAODCustomSetter * GetSetter() { return fSetter; }
47 TString GetVarList() { return fVarList; }
48 TString GetVarListHead() { return fVarListHead; }
49 Bool_t GetSaveCutsFlag() { return fSaveCutsFlag; }
51 void SetEvtCuts (AliAnalysisCuts * var ) { fEvtCuts = var;}
52 void SetTrkCuts (AliAnalysisCuts * var ) { fTrkCuts = var;}
53 void SetSetter (AliNanoAODCustomSetter * var ) { fSetter = var;}
54 void SetVarList (TString var ) { fVarList = var;}
55 void SetVarListHead (TString var ) { fVarListHead = var;}
58 Int_t fMCMode; // true if processing monte carlo. if > 1 not all MC particles are filtered
59 AliNanoAODReplicator* fTrkrep ; // ! replicator
60 TString fVarList ; // List of variables to be added to the special track
61 TString fVarListHead; // List of variables to be added to the special header
62 AliAnalysisCuts * fEvtCuts; // Event cuts
63 AliAnalysisCuts * fTrkCuts; // Track cuts
65 AliNanoAODCustomSetter * fSetter; // setter for custom variables
67 Bool_t fSaveCutsFlag; // If true, the event and track cuts are saved to disk. Can only be set in the constructor.
70 AliAnalysisTaskNanoAODFilter(const AliAnalysisTaskNanoAODFilter&); // not implemented
71 AliAnalysisTaskNanoAODFilter& operator=(const AliAnalysisTaskNanoAODFilter&); // not implemented
73 ClassDef(AliAnalysisTaskNanoAODFilter, 1); // example of analysis