2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
3 * See cxx source for full Copyright notice
7 /**************************************
8 * analysis task for cumulant method *
10 * authors: Naomi van der Kolk *
13 * (snelling@nikhef.nl) *
16 * ***********************************/
18 #ifndef ALIANALYSISTASKCUMULANTS_H
19 #define ALIANALYSISTASKCUMULANTS_H
22 #include "AliAnalysisTaskSE.h"
25 class AliFlowEventSimple;
26 class AliFlowAnalysisWithCumulants;
28 //================================================================================================================
30 class AliAnalysisTaskCumulants : public AliAnalysisTaskSE{
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];};
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
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
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
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)
86 ClassDef(AliAnalysisTaskCumulants, 1);
89 //================================================================================================================