]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Tasks/AliAnalysisTaskFittingQDistribution.h
Ante Bilandzic: add POI as reference multiplicity estimator
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliAnalysisTaskFittingQDistribution.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 fitting       * 
9  *         q-distribution             *
10  *                                    * 
11  * authors: Naomi van der Kolk        *
12  *           (kolk@nikhef.nl)         *  
13  *          Raimond Snellings         *
14  *           (snelling@nikhef.nl)     * 
15  *          Ante Bilandzic            *
16  *           (abilandzic@gmail.com)   * 
17  * ***********************************/
18
19 #ifndef ALIANALYSISTASKFITTINGQDISTRIBUTION_H
20 #define ALIANALYSISTASKFITTINGQDISTRIBUTION_H
21
22 #include "AliAnalysisTaskSE.h"
23 #include "AliFlowCommonConstants.h"
24
25 class TString;
26 class TList;
27 class AliFlowEventSimple;
28 class AliFlowAnalysisWithFittingQDistribution;
29 class TH2D;
30
31 //================================================================================================================
32
33 class AliAnalysisTaskFittingQDistribution : public AliAnalysisTaskSE{
34  public:
35   AliAnalysisTaskFittingQDistribution();
36   AliAnalysisTaskFittingQDistribution(const char *name, Bool_t useWeights=kFALSE);
37   virtual ~AliAnalysisTaskFittingQDistribution(){}; 
38
39   virtual void   UserCreateOutputObjects();
40   virtual void   UserExec(Option_t *option);
41   virtual void   Terminate(Option_t *);
42
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;};  
49   // q-distribution:
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 SetMultiplicityIs(AliFlowCommonConstants::ERefMultSource mi) {this->fMultiplicityIs = mi;};
69  
70  private:
71   AliAnalysisTaskFittingQDistribution(const AliAnalysisTaskFittingQDistribution& aatfqd);
72   AliAnalysisTaskFittingQDistribution& operator=(const AliAnalysisTaskFittingQDistribution& aatfqd);
73
74   AliFlowEventSimple* fEvent;                    // the input event
75   AliFlowAnalysisWithFittingQDistribution* fFQD; // Fitting q-distribution (FQD) object
76   TList *fListHistos;                            // collection of output 
77      
78   Bool_t fBookOnlyBasicCCH;              // book only basis common control histrograms (by default book them all) 
79   Bool_t fUseWeights;                    // use any weights
80   Bool_t fUsePhiWeights;                 // phi weights
81   TList* fListWeights;                   // list with weights  
82   Int_t fHarmonic;                       // harmonic   
83   Double_t fqMin;                        // lower boundary of TH1D *fqDistribution
84   Double_t fqMax;                        // upper boundary of TH1D *fqDistribution
85   Int_t fqNbins;                         // number of bins of TH1D *fqDistribution                                             
86   Bool_t fStoreqDistributionVsMult;      // store q-distributions vs M
87   TH2D *fqDistributionVsMult;            // distribution of Q/sqrt{M} vs multiplicity
88   Double_t fMinMult;                     // minimum multiplicity
89   Double_t fMaxMult;                     // maximum multiplicity
90   Int_t fnBinsMult;                      // number of multiplicity bins
91   Bool_t fDoFit;                         // do the final fit
92   AliFlowCommonConstants::ERefMultSource fMultiplicityIs;              // by default kRP
93                                                            
94   ClassDef(AliAnalysisTaskFittingQDistribution, 1); 
95 };
96
97 //================================================================================================================
98
99 #endif
100
101
102
103
104
105
106
107
108
109
110