]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FLOW/AliFlowTasks/AliAnalysisTaskNestedLoops.h
Fix XML list creation from tag cuts - reset list counter for each file tag
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowTasks / AliAnalysisTaskNestedLoops.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 nested loops * 
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 ALIANALYSISTASKNESTEDLOOPS_H
19 #define ALIANALYSISTASKNESTEDLOOPS_H
20
21 #include "TString.h"
22 #include "AliAnalysisTaskSE.h"
23
24 class TList;
25 class AliFlowEventSimple;
26 class AliFlowAnalysisWithNestedLoops;
27
28 //================================================================================================================
29
30 class AliAnalysisTaskNestedLoops : public AliAnalysisTaskSE{
31  public:
32   AliAnalysisTaskNestedLoops();
33   AliAnalysisTaskNestedLoops(const char *name, Bool_t useParticleWeights=kFALSE);
34   virtual ~AliAnalysisTaskNestedLoops(){}; 
35   
36   virtual void UserCreateOutputObjects();
37   virtual void UserExec(Option_t *option);
38   virtual void Terminate(Option_t *);
39   
40   // Setters and getters:
41   // 0.) Common:
42   void SetHarmonic(Int_t const h) {this->fHarmonic = h;};
43   Int_t GetHarmonic() const {return this->fHarmonic;}; 
44   void SetOppositeChargesPOI(Bool_t const ocp) {this->fOppositeChargesPOI = ocp;};
45   Bool_t GetOppositeChargesPOI() const {return this->fOppositeChargesPOI;}; 
46   void SetEvaluateDifferential3pCorrelator(Bool_t const ed3pc) {this->fEvaluateDifferential3pCorrelator = ed3pc;};
47   Bool_t GetEvaluateDifferential3pCorrelator() const {return this->fEvaluateDifferential3pCorrelator;};       
48   // 1.) Particle weights:
49   void SetUsePhiWeights(Bool_t const uPhiW) {this->fUsePhiWeights = uPhiW;};
50   Bool_t GetUsePhiWeights() const {return this->fUsePhiWeights;};
51   void SetUsePtWeights(Bool_t const uPtW) {this->fUsePtWeights = uPtW;};
52   Bool_t GetUsePtWeights() const {return this->fUsePtWeights;};
53   void SetUseEtaWeights(Bool_t const uEtaW) {this->fUseEtaWeights = uEtaW;};
54   Bool_t GetUseEtaWeights() const {return this->fUseEtaWeights;};
55   // 2.) Nested loops for relative angle distribution (RAD): 
56   void SetEvaluateNestedLoopsForRAD(Bool_t const enlfRAD) {this->fEvaluateNestedLoopsForRAD = enlfRAD;};
57   Bool_t GetEvaluateNestedLoopsForRAD() const {return this->fEvaluateNestedLoopsForRAD;};
58   // 3.) Debugging and cross-checking Q-cumulants:
59   void SetEvaluateNestedLoopsForQC(Bool_t const enlfQC) {this->fEvaluateNestedLoopsForQC = enlfQC;};
60   Bool_t GetEvaluateNestedLoopsForQC() const {return this->fEvaluateNestedLoopsForQC;};
61   // 4.) Debugging and cross-checking mixed harmonics:
62   void SetEvaluateNestedLoopsForMH(Bool_t const enlfMH) {this->fEvaluateNestedLoopsForMH = enlfMH;};
63   Bool_t GetEvaluateNestedLoopsForMH() const {return this->fEvaluateNestedLoopsForMH;};
64  
65  private:
66   AliAnalysisTaskNestedLoops(const AliAnalysisTaskNestedLoops& aatmh);
67   AliAnalysisTaskNestedLoops& operator=(const AliAnalysisTaskNestedLoops& aatmh);
68   
69   AliFlowEventSimple *fEvent; // the input event
70   AliFlowAnalysisWithNestedLoops *fNL; // nested loops object
71   TList *fListHistos; // collection of output 
72   Int_t fHarmonic; // integer n in correlators  
73   Bool_t fOppositeChargesPOI; // two POIs, psi1 and psi2, in correlator <<cos[psi1+psi2-2phi3)]>> will be taken with opposite charges 
74   Bool_t fEvaluateDifferential3pCorrelator; // evaluate <<cos[psi1+psi2-2phi3)]>>, where psi1 and psi2 are two POIs      
75   // Particle weights:
76   Bool_t fUseParticleWeights; // use any particle weights
77   Bool_t fUsePhiWeights; // use phi weights
78   Bool_t fUsePtWeights; // use pt weights
79   Bool_t fUseEtaWeights; // use eta weights  
80   TList *fWeightsList; // list with weights
81   // Nested loops for relative angle distribution (RAD):
82   Bool_t fEvaluateNestedLoopsForRAD; // evaluate nested loops for relative angle distribution (RAD)
83   // Debugging and cross-checking Q-cumulants:
84   Bool_t fEvaluateNestedLoopsForQC; // evaluate nested loops for Q-cumulants
85   // Debugging and cross-checking mixed harmonics:
86   Bool_t fEvaluateNestedLoopsForMH; // evaluate nested loops for mixed harmonics
87   
88   ClassDef(AliAnalysisTaskNestedLoops, 1); 
89 };
90
91 //================================================================================================================
92
93 #endif
94
95
96
97
98
99
100
101
102
103
104