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 fitting *
11 * authors: Naomi van der Kolk *
14 * (snelling@nikhef.nl) *
16 * (abilandzic@gmail.com) *
17 * ***********************************/
19 #ifndef ALIANALYSISTASKFITTINGQDISTRIBUTION_H
20 #define ALIANALYSISTASKFITTINGQDISTRIBUTION_H
22 #include "AliAnalysisTaskSE.h"
23 #include "AliFlowCommonConstants.h"
27 class AliFlowEventSimple;
28 class AliFlowAnalysisWithFittingQDistribution;
31 //================================================================================================================
33 class AliAnalysisTaskFittingQDistribution : public AliAnalysisTaskSE{
35 AliAnalysisTaskFittingQDistribution();
36 AliAnalysisTaskFittingQDistribution(const char *name, Bool_t useWeights=kFALSE);
37 virtual ~AliAnalysisTaskFittingQDistribution(){};
39 virtual void UserCreateOutputObjects();
40 virtual void UserExec(Option_t *option);
41 virtual void Terminate(Option_t *);
43 void SetBookOnlyBasicCCH(Bool_t const bobcch) {this->fBookOnlyBasicCCH = bobcch;};
44 Bool_t GetBookOnlyBasicCCH() const {return this->fBookOnlyBasicCCH;};
45 void SetUsePhiWeights(Bool_t const uPhiW) {this->fUsePhiWeights = uPhiW;};
46 Bool_t GetUsePhiWeights() const {return this->fUsePhiWeights;};
47 void SetHarmonic(Int_t const harmonic) {this->fHarmonic = harmonic;};
48 Int_t GetHarmonic() const {return this->fHarmonic;};
50 void SetqMin(Double_t const qmin) {this->fqMin = qmin;};
51 Double_t GetqMin() const {return this->fqMin;};
52 void SetqMax(Double_t const qmax) {this->fqMax = qmax;};
53 Double_t GetqMax() const {return this->fqMax;};
54 void SetqNbins(Int_t const qNbins) {this->fqNbins = qNbins;};
55 Int_t GetqNbins() const {return this->fqNbins;};
56 void SetStoreqDistributionVsMult(Bool_t const sqdvm) {this->fStoreqDistributionVsMult = sqdvm;};
57 Bool_t GetStoreqDistributionVsMult() const {return this->fStoreqDistributionVsMult;};
58 void SetqDistributionVsMult(TH2D* const qdvm) {this->fqDistributionVsMult = qdvm;};
59 TH2D* GetqDistributionVsMult() const {return this->fqDistributionVsMult;};
60 void SetMinMult(Double_t const minm) {this->fMinMult = minm;};
61 Double_t GetMinMult() const {return this->fMinMult;};
62 void SetMaxMult(Double_t const maxm) {this->fMaxMult = maxm;};
63 Double_t GetMaxMult() const {return this->fMaxMult;};
64 void SetnBinsMult(Int_t const nbm) {this->fnBinsMult = nbm;};
65 Int_t GetnBinsMult() const {return this->fnBinsMult;};
66 void SetDoFit(Bool_t df) {this->fDoFit = df;};
67 Bool_t GetDoFit() const {return this->fDoFit;};
68 void SetExactNoRPs(Int_t const enr) {this->fExactNoRPs = enr;};
69 Int_t GetExactNoRPs() const {return this->fExactNoRPs;};
70 void SetMultiplicityIs(AliFlowCommonConstants::ERefMultSource mi) {this->fMultiplicityIs = mi;};
73 AliAnalysisTaskFittingQDistribution(const AliAnalysisTaskFittingQDistribution& aatfqd);
74 AliAnalysisTaskFittingQDistribution& operator=(const AliAnalysisTaskFittingQDistribution& aatfqd);
76 AliFlowEventSimple* fEvent; // the input event
77 AliFlowAnalysisWithFittingQDistribution* fFQD; // Fitting q-distribution (FQD) object
78 TList *fListHistos; // collection of output
80 Bool_t fBookOnlyBasicCCH; // book only basis common control histrograms (by default book them all)
81 Bool_t fUseWeights; // use any weights
82 Bool_t fUsePhiWeights; // phi weights
83 TList* fListWeights; // list with weights
84 Int_t fHarmonic; // harmonic
85 Double_t fqMin; // lower boundary of TH1D *fqDistribution
86 Double_t fqMax; // upper boundary of TH1D *fqDistribution
87 Int_t fqNbins; // number of bins of TH1D *fqDistribution
88 Bool_t fStoreqDistributionVsMult; // store q-distributions vs M
89 TH2D *fqDistributionVsMult; // distribution of Q/sqrt{M} vs multiplicity
90 Double_t fMinMult; // minimum multiplicity
91 Double_t fMaxMult; // maximum multiplicity
92 Int_t fnBinsMult; // number of multiplicity bins
93 Bool_t fDoFit; // do the final fit
94 Int_t fExactNoRPs; // when shuffled, select only this number of RPs for the analysis
95 AliFlowCommonConstants::ERefMultSource fMultiplicityIs; // by default kRP
97 ClassDef(AliAnalysisTaskFittingQDistribution, 1);
100 //================================================================================================================