]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/DevNanoAOD/AliAnalysisTaskNanoAODFilter.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / DevNanoAOD / AliAnalysisTaskNanoAODFilter.h
CommitLineData
778636d4 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
4/* $Id$ */
5/* AliAnalysisTaskNanoAODFilter.h
6 *
7 * Template task producing a P_t spectrum and pseudorapidity distribution.
8 * Includes explanations of physics and primary track selections
9 *
10 * Based on tutorial example from offline pages
11 * Edited by Arvinder Palaha
12 */
13#ifndef ALIANALYSISTASKNANOAODESEFILTER_H
14#define ALIANALYSISTASKNANOAODESEFILTER_H
15
16class TH1F;
17class TList;
18class AliESDtrackCuts;
19class AliAnalysisCuts;
20class AliNanoAODReplicator;
21class AliNanoAODCustomSetter;
22
23#ifndef ALIANALYSISTASKSE_H
24#include "AliAnalysisTaskSE.h"
25#endif
26
27class AliAnalysisTaskNanoAODFilter : public AliAnalysisTaskSE {
28public:
29 AliAnalysisTaskNanoAODFilter();
30 AliAnalysisTaskNanoAODFilter(const char *name, Bool_t saveCutsFlag);
31 virtual ~AliAnalysisTaskNanoAODFilter();
32
33 virtual void UserCreateOutputObjects();
34 virtual void UserExec(Option_t *option);
35 virtual void Init();
36 virtual void LocalInit() {Init();}
37 virtual void Terminate(Option_t *);
38 virtual void FinishTaskOutput() ;
39
40 Int_t GetMCMode() { return fMCMode; }
41 void SetMCMode (Int_t var) { fMCMode = var;}
42 void AddFilteredAOD(const char* aodfilename, const char* title);
43
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; }
50
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;}
56
57private:
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
64
65 AliNanoAODCustomSetter * fSetter; // setter for custom variables
66
67 Bool_t fSaveCutsFlag; // If true, the event and track cuts are saved to disk. Can only be set in the constructor.
68
69
70 AliAnalysisTaskNanoAODFilter(const AliAnalysisTaskNanoAODFilter&); // not implemented
71 AliAnalysisTaskNanoAODFilter& operator=(const AliAnalysisTaskNanoAODFilter&); // not implemented
72
73 ClassDef(AliAnalysisTaskNanoAODFilter, 1); // example of analysis
74};
75
76#endif
77