2 // Class AliRsnAnalysisTask2ndStep
4 // AnalysisTask which collects an input of RSN events
5 // and produces histograms.
7 // authors: Martin Vala (martin.vala@cern.ch)
8 // Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
10 #ifndef ALIRSNANALYSISTASK2NDSTEP_H
11 #define ALIRSNANALYSISTASK2NDSTEP_H
13 #include "AliRsnDaughter.h"
14 #include "AliAnalysisTaskSE.h"
19 class AliAODInputHandler;
20 class AliAnalysisManager;
23 class AliRsnEventBuffer;
26 class AliRsnAnalysisTask2ndStep : public AliAnalysisTaskSE
29 AliRsnAnalysisTask2ndStep(const char *name = "AliRsnAnalysisTask2ndStep");
30 virtual ~AliRsnAnalysisTask2ndStep() {/* Does nothing*/}
32 virtual void UserCreateOutputObjects();
33 virtual void UserExec(Option_t *option);
34 virtual void Terminate(Option_t *option);
36 void AddPairMgr(AliRsnPairMgr *pairmgr);
37 void CreateHandlers(AliAnalysisManager *am);
38 void SetAnalysisMgr(AliAnalysisManager* theValue) { fAnalysisMgr = theValue; }
39 AliAnalysisManager* GetAnalysisMgr() const { return fAnalysisMgr; }
40 void ProcessEventAnalysis(AliRsnEvent *curEvent);
41 void PostEventProcess();
45 AliRsnAnalysisTask2ndStep(const AliRsnAnalysisTask2ndStep& copy) :
46 AliAnalysisTaskSE(copy),fOutList(0x0),fPairMgrs(0x0),fEventBuffer(0x0),
47 fRsnHandlerAOD(0x0),fAnalysisMgr(0x0) {}
48 AliRsnAnalysisTask2ndStep& operator= (const AliRsnAnalysisTask2ndStep&) {return *this;}
50 TList *fOutList; // list of output histograms
51 TObjArray *fPairMgrs; // array if pair managers used
52 AliRsnEventBuffer *fEventBuffer; // event buffer
54 AliAODInputHandler *fRsnHandlerAOD; // AOD event handler
55 AliAnalysisManager *fAnalysisMgr; // pointer to current AnalysisMgr
57 ClassDef(AliRsnAnalysisTask2ndStep, 1)