]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Base/AliFlowAnalysisTemplate.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / FLOW / Base / AliFlowAnalysisTemplate.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
6
7 #ifndef AliFlowAnalysisTemplate_H
8 #define AliFlowAnalysisTemplate_H
9
10 // aliroot includes
11 #include  "TList.h"
12 // forward declarations ROOT
13 class TH1D;
14 class TH1F;
15 class TH2D;
16 class TProfile;
17 class TDirectoryFile;
18 // forward declarations ALIROOT
19 class AliFlowTrackSimple;
20 class AliFlowEventSimple;
21 class AliFlowCommonHist;
22 class AliFlowCommonHistResults;
23
24 // Description: Template maker to serve as a startign point for a flow analysis.
25 // Author:      Redmer Alexander Bertens, Utrecht University, 2013
26 //              rbertens@cern.ch, rbertens@nikhef.nl, r.a.bertens@uu.nl
27  
28 class AliFlowAnalysisTemplate {
29     public:
30         AliFlowAnalysisTemplate();
31         virtual  ~AliFlowAnalysisTemplate();
32         void Init();
33         void Make(AliFlowEventSimple* anEvent);
34         void GetOutputHistograms(TList *outputListHistos);
35         void Finish();
36         void WriteHistograms(TDirectoryFile *outputFileName) const;
37         // setters
38         void SetHarmonic(Int_t h)               { fHarmonic = h; }
39         void SetApplyCorrectionForNUA(Bool_t a) { fApplyCorrectionForNUA = a; }
40         void SetDebug(Bool_t d)                 { fDebug = d; }
41         void SetUsePhiWeights(Bool_t p)         { fUsePhiWeights = p; }
42         void SetWeightsList(TList* const w)     { fWeightsList = (TList*)w->Clone(); }
43         // getters
44         TList*    GetHistList() const           { return fHistList; }
45         AliFlowCommonHist*        GetCommonHists()    const { return fCommonHists; }
46         AliFlowCommonHistResults* GetCommonHistsRes() const { return fCommonHistsRes; }
47     private:
48         Int_t fDebug;                   // debug flag 
49         Int_t fUsePhiWeights;           // use phi weights
50         Int_t fApplyCorrectionForNUA;   // apply correction for non-uniform acceptance
51         Int_t fHarmonic;                // harmonic 
52         TList*     fWeightsList;        // list holding input histograms with phi weights
53         TList*     fHistList;           // list to hold all output histograms  
54         AliFlowCommonHist*              fCommonHists;           // control histograms
55         AliFlowCommonHistResults*       fCommonHistsRes;        // results histograms
56
57         AliFlowAnalysisTemplate(const AliFlowAnalysisTemplate& a);              // not implemented
58         AliFlowAnalysisTemplate& operator=(const AliFlowAnalysisTemplate& a);   // not implemented
59         ClassDef(AliFlowAnalysisTemplate, 0)
60 };
61  
62
63 #endif