0c8c170d01c740fa1d6cd3fc0779fd2053d2a830
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowTasks / AliAnalysisTaskFlowEvent.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3 /* $Id: $ */
4
5 #ifndef AliAnalysisTaskFlowEvent_H
6 #define AliAnalysisTaskFlowEvent_H
7
8 // AliAnalysisTaskFlowEvent:
9 // analysis task to fill the flow event and make it available to the methods
10
11
12 class AliESDEvent;
13 class AliAODEvent;
14 class AliCFManager;
15 class AliFlowEventSimpleMaker;
16 class TList;
17
18 #include "TString.h"
19 #include "AliAnalysisTask.h"
20
21 class AliAnalysisTaskFlowEvent : public AliAnalysisTask {
22  public:
23   AliAnalysisTaskFlowEvent();
24   AliAnalysisTaskFlowEvent(const char *name,Bool_t QAon = kFALSE);
25   virtual ~AliAnalysisTaskFlowEvent();
26   
27   virtual void   ConnectInputData(Option_t *);
28   virtual void   CreateOutputObjects();
29   virtual void   Exec(Option_t *option);
30   virtual void   Terminate(Option_t *);
31
32   void SetAnalysisType(TString type) { this->fAnalysisType = type; }
33   TString GetAnalysisType() const    { return this->fAnalysisType; }
34
35   void SetCFManager1(AliCFManager* cfmgr) {this->fCFManager1 = cfmgr; } 
36   AliCFManager* GetCFManager1()           {return this->fCFManager1; }
37   void SetCFManager2(AliCFManager* cfmgr) {this->fCFManager2 = cfmgr; } 
38   AliCFManager* GetCFManager2()           {return this->fCFManager2; }
39   void          SetQAList1(TList* list)   {this->fQAInt = list; }
40   TList*        GetQAList1()              {return this->fQAInt; }
41   void          SetQAList2(TList* list)   {this->fQADiff = list; }
42   TList*        GetQAList2()              {return this->fQADiff; }
43   void          SetQAOn(Bool_t kt)        {this->fQA = kt; }
44   Bool_t        GetQAOn()                 {return this->fQA; }
45
46  private:
47
48   AliAnalysisTaskFlowEvent(const AliAnalysisTaskFlowEvent& aAnalysisTask);
49   AliAnalysisTaskFlowEvent& operator=(const AliAnalysisTaskFlowEvent& aAnalysisTask); 
50
51   AliESDEvent*  fESD;                     // ESD object
52   AliAODEvent*  fAOD;                     // AOD object
53   AliFlowEventSimpleMaker* fEventMaker;   // FlowEventSimple maker object
54   TString       fAnalysisType;            // can be MC, ESD or AOD
55   AliCFManager* fCFManager1;              // correction framework manager
56   AliCFManager* fCFManager2;              // correction framework manager
57   TList*        fQAInt;                   // QA histogram list
58   TList*        fQADiff;                  // QA histogram list
59
60   Bool_t fQA;                             // flag to set the filling of the QA hostograms
61
62   ClassDef(AliAnalysisTaskFlowEvent, 1); // example of analysis
63 };
64
65 #endif