]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/DevNanoAOD/AliAnalysisTaskNanoAODFilter.h
Added missing cxx for AliVAODHeader
[u/mrichter/AliRoot.git] / PWG / DevNanoAOD / AliAnalysisTaskNanoAODFilter.h
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
16 class TH1F;
17 class TList;
18 class AliESDtrackCuts;
19 class AliAnalysisCuts;
20 class AliNanoAODReplicator;
21 class AliNanoAODCustomSetter;
22
23 #ifndef ALIANALYSISTASKSE_H
24 #include "AliAnalysisTaskSE.h"
25 #endif
26
27 class AliAnalysisTaskNanoAODFilter : public AliAnalysisTaskSE {
28 public:
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     
57 private:
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