]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Tasks/AliAnalysisTaskMixedHarmonics.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliAnalysisTaskMixedHarmonics.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 mixed harmomics  * 
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 ALIANALYSISTASKMIXEDHARMONICS_H
19 #define ALIANALYSISTASKMIXEDHARMONICS_H
20
21
22 #include "AliAnalysisTaskSE.h"
23
24 class TString;
25 class TList;
26 class AliFlowEventSimple;
27 class AliFlowAnalysisWithMixedHarmonics;
28
29 //================================================================================================================
30
31 class AliAnalysisTaskMixedHarmonics : public AliAnalysisTaskSE{
32  public:
33   AliAnalysisTaskMixedHarmonics();
34   AliAnalysisTaskMixedHarmonics(const char *name, Bool_t useParticleWeights=kFALSE);
35   virtual ~AliAnalysisTaskMixedHarmonics(){}; 
36   
37   virtual void   UserCreateOutputObjects();
38   virtual void   UserExec(Option_t *option);
39   virtual void   Terminate(Option_t *);
40   
41   // common:
42   void SetHarmonic(Int_t const h) {this->fHarmonic = h;};
43   Int_t GetHarmonic() const {return this->fHarmonic;}; 
44   void SetNoOfMultipicityBins(Int_t const nomb) {this->fNoOfMultipicityBins = nomb;};
45   Int_t GetNoOfMultipicityBins() const {return this->fNoOfMultipicityBins;};   
46   void SetMultipicityBinWidth(Double_t const mbw) {this->fMultipicityBinWidth = mbw;};
47   Double_t GetMultipicityBinWidth() const {return this->fMultipicityBinWidth;};   
48   void SetMinMultiplicity(Double_t const mm) {this->fMinMultiplicity = mm;};
49   Double_t GetMinMultiplicity() const {return this->fMinMultiplicity;}; 
50   void SetOppositeChargesPOI(Bool_t const ocp) {this->fOppositeChargesPOI = ocp;};
51   Bool_t GetOppositeChargesPOI() const {return this->fOppositeChargesPOI;}; 
52   void SetEvaluateDifferential3pCorrelator(Bool_t const ed3pc) {this->fEvaluateDifferential3pCorrelator = ed3pc;};
53   Bool_t GetEvaluateDifferential3pCorrelator() const {return this->fEvaluateDifferential3pCorrelator;};       
54   void SetCorrectForDetectorEffects(Bool_t const cfde) {this->fCorrectForDetectorEffects = cfde;};
55   Bool_t GetCorrectForDetectorEffects() const {return this->fCorrectForDetectorEffects;}; 
56   void SetPrintOnTheScreen(Bool_t const pots) {this->fPrintOnTheScreen = pots;};
57   Bool_t GetPrintOnTheScreen() const {return this->fPrintOnTheScreen;};  
58   void SetCalculateVsM(Bool_t const cvm) {this->fCalculateVsM = cvm;};
59   Bool_t GetCalculateVsM() const {return this->fCalculateVsM;};  
60   void SetShowBinLabelsVsM(Bool_t const sblvm) {this->fShowBinLabelsVsM = sblvm;};
61   Bool_t GetShowBinLabelsVsM() const {return this->fShowBinLabelsVsM;};     
62   // particle weights:
63   void SetUsePhiWeights(Bool_t const uPhiW) {this->fUsePhiWeights = uPhiW;};
64   Bool_t GetUsePhiWeights() const {return this->fUsePhiWeights;};
65   void SetUsePtWeights(Bool_t const uPtW) {this->fUsePtWeights = uPtW;};
66   Bool_t GetUsePtWeights() const {return this->fUsePtWeights;};
67   void SetUseEtaWeights(Bool_t const uEtaW) {this->fUseEtaWeights = uEtaW;};
68   Bool_t GetUseEtaWeights() const {return this->fUseEtaWeights;};
69  
70  private:
71   AliAnalysisTaskMixedHarmonics(const AliAnalysisTaskMixedHarmonics& aatmh);
72   AliAnalysisTaskMixedHarmonics& operator=(const AliAnalysisTaskMixedHarmonics& aatmh);
73   
74   AliFlowEventSimple *fEvent; // the input event
75   AliFlowAnalysisWithMixedHarmonics *fMH; // mixed harmonics object
76   TList *fListHistos; // collection of output 
77   // common:  
78   Int_t fHarmonic; // integer n in cos[n(phi1+phi2-2phi3)]
79   Int_t fNoOfMultipicityBins; // number of multiplicity bins
80   Double_t fMultipicityBinWidth; // width of multiplicity bin
81   Double_t fMinMultiplicity; // minimal multiplicity
82   Bool_t fOppositeChargesPOI; // two POIs, psi1 and psi2, in correlator <<cos[psi1+psi2-2phi3)]>> will be taken with opposite charges 
83   Bool_t fEvaluateDifferential3pCorrelator; // evaluate <<cos[psi1+psi2-2phi3)]>>, where psi1 and psi2 are two POIs      
84   Bool_t fCorrectForDetectorEffects; // correct 3-p correlator for detector effects  
85   Bool_t fPrintOnTheScreen; // print or not the final results on the screen
86   Bool_t fCalculateVsM; // calculate correlators vs multiplicity
87   Bool_t fShowBinLabelsVsM; // in histograms holding results vs multiplicity show bin labels in the format M_lowEdge \leq M < M_upperEdge  
88   // particle weights:
89   Bool_t fUseParticleWeights; // use any particle weights
90   Bool_t fUsePhiWeights; // use phi weights
91   Bool_t fUsePtWeights; // use pt weights
92   Bool_t fUseEtaWeights; // use eta weights  
93   TList *fWeightsList; // list with weights
94   
95   ClassDef(AliAnalysisTaskMixedHarmonics, 1); 
96 };
97
98 //================================================================================================================
99
100 #endif
101
102
103
104
105
106
107
108
109
110
111