]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Tasks/AliAnalysisTaskCumulants.h
refresh random seed on each node
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliAnalysisTaskCumulants.h
1 /* 
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. 
3  * See cxx source for full Copyright notice 
4  * $Id$ 
5  */
6
7 /**************************************
8  * analysis task for cumulant method  * 
9  *                                    * 
10  * authors: Naomi van der Kolk        *
11  *           (kolk@nikhef.nl)         *  
12  *          Raimond Snellings         *
13  *           (snelling@nikhef.nl)     * 
14  *          Ante Bilandzic            *
15  *           (anteb@nikhef.nl)        * 
16  * ***********************************/
17
18 #ifndef ALIANALYSISTASKCUMULANTS_H
19 #define ALIANALYSISTASKCUMULANTS_H
20
21 #include "TString.h"
22 #include "AliAnalysisTaskSE.h"
23
24 class TList;
25 class AliFlowEventSimple;
26 class AliFlowAnalysisWithCumulants;
27
28 //================================================================================================================
29
30 class AliAnalysisTaskCumulants : public AliAnalysisTaskSE{
31  public:
32   AliAnalysisTaskCumulants();
33   AliAnalysisTaskCumulants(const char *name, Bool_t useWeights=kFALSE);
34   virtual ~AliAnalysisTaskCumulants(){}; 
35   virtual void UserCreateOutputObjects();
36   virtual void UserExec(Option_t *option);
37   virtual void Terminate(Option_t *);
38   // setters and getters:
39   void SetHarmonic(Int_t const harmonic) {this->fHarmonic = harmonic;};
40   Int_t GetHarmonic() const {return this->fHarmonic;};   
41   void SetMultiple(Int_t const multiple) {this->fMultiple = multiple;};
42   Int_t GetMultiple() const {return this->fMultiple;};    
43   void SetCalculateVsMultiplicity(Bool_t const ecvm) {this->fCalculateVsMultiplicity = ecvm;};
44   Bool_t GetCalculateVsMultiplicity() const {return this->fCalculateVsMultiplicity;};  
45   void SetnBinsMult(Int_t const nbm) {this->fnBinsMult = nbm;};
46   Int_t GetnBinsMult() const {return this->fnBinsMult;};  
47   void SetMinMult(Double_t const minm) {this->fMinMult = minm;};
48   Double_t GetMinMult() const {return this->fMinMult;};
49   void SetMaxMult(Double_t const maxm) {this->fMaxMult = maxm;};
50   Double_t GetMaxMult() const {return this->fMaxMult;};
51   void SetUsePhiWeights(Bool_t const uPhiW) {this->fUsePhiWeights = uPhiW;};
52   Bool_t GetUsePhiWeights() const {return this->fUsePhiWeights;};
53   void SetUsePtWeights(Bool_t const uPtW) {this->fUsePtWeights = uPtW;};
54   Bool_t GetUsePtWeights() const {return this->fUsePtWeights;};
55   void SetUseEtaWeights(Bool_t const uEtaW) {this->fUseEtaWeights = uEtaW;};
56   Bool_t GetUseEtaWeights() const {return this->fUseEtaWeights;}; 
57   void SetTuneParameters(Bool_t const tp) {this->fTuneParameters = tp;};
58   Bool_t GetTuneParameters() const {return this->fTuneParameters;};  
59   void SetTuningR0(Double_t const tr0, Int_t const r) {this->fTuningR0[r] = tr0;};
60   Double_t GetTuningR0(Int_t const r) const {return this->fTuningR0[r];};
61
62  private:
63   AliAnalysisTaskCumulants(const AliAnalysisTaskCumulants& aatc);
64   AliAnalysisTaskCumulants& operator=(const AliAnalysisTaskCumulants& aatc);
65   AliFlowEventSimple *fEvent;         // the input event
66   AliFlowAnalysisWithCumulants *fGFC; // Generating Function Cumulant object
67   TList *fListHistos;                 // collection of output 
68   // common:
69   Int_t fHarmonic;                    // harmonic  
70   Int_t fMultiple;                    // the multiple m in p=m*n, where n is harmonic (relevant for differential flow)   
71   // cumulants vs multiplicity:
72   Bool_t fCalculateVsMultiplicity;    // perform flow analysis independently for each multiplicity bin 
73   Int_t fnBinsMult;                   // number of multiplicity bins for flow analysis versus multiplicity  
74   Double_t fMinMult;                  // minimal multiplicity for flow analysis versus multiplicity  
75   Double_t fMaxMult;                  // maximal multiplicity for flow analysis versus multiplicity    
76   // particle weights:  
77   Bool_t fUseWeights;                 // use any weights
78   Bool_t fUsePhiWeights;              // use phi weights
79   Bool_t fUsePtWeights;               // use pt weights
80   Bool_t fUseEtaWeights;              // use eta weights  
81   TList *fWeightsList;                // list with weights
82   // tuning:
83   Bool_t fTuneParameters;             // tune r0 and cut series at different order
84   Double_t fTuningR0[10];             // different r0 values (at maximum 10 different values allowed)
85            
86   ClassDef(AliAnalysisTaskCumulants, 1); 
87 };
88
89 //================================================================================================================
90
91 #endif
92
93
94
95
96
97
98
99
100
101
102