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 nested loops *
10 * authors: Naomi van der Kolk *
13 * (snelling@nikhef.nl) *
16 * *******************************/
18 #ifndef ALIANALYSISTASKNESTEDLOOPS_H
19 #define ALIANALYSISTASKNESTEDLOOPS_H
22 #include "AliAnalysisTaskSE.h"
26 class AliFlowEventSimple;
27 class AliFlowAnalysisWithNestedLoops;
29 //================================================================================================================
31 class AliAnalysisTaskNestedLoops : public AliAnalysisTaskSE{
33 AliAnalysisTaskNestedLoops();
34 AliAnalysisTaskNestedLoops(const char *name, Bool_t useParticleWeights=kFALSE);
35 virtual ~AliAnalysisTaskNestedLoops(){};
37 virtual void UserCreateOutputObjects();
38 virtual void UserExec(Option_t *option);
39 virtual void Terminate(Option_t *);
41 // Setters and getters:
43 void SetHarmonic(Int_t const h) {this->fHarmonic = h;};
44 Int_t GetHarmonic() const {return this->fHarmonic;};
45 void SetOppositeChargesPOI(Bool_t const ocp) {this->fOppositeChargesPOI = ocp;};
46 Bool_t GetOppositeChargesPOI() const {return this->fOppositeChargesPOI;};
47 void SetEvaluateDifferential3pCorrelator(Bool_t const ed3pc) {this->fEvaluateDifferential3pCorrelator = ed3pc;};
48 Bool_t GetEvaluateDifferential3pCorrelator() const {return this->fEvaluateDifferential3pCorrelator;};
49 // 1.) Particle weights:
50 void SetUsePhiWeights(Bool_t const uPhiW) {this->fUsePhiWeights = uPhiW;};
51 Bool_t GetUsePhiWeights() const {return this->fUsePhiWeights;};
52 void SetUsePtWeights(Bool_t const uPtW) {this->fUsePtWeights = uPtW;};
53 Bool_t GetUsePtWeights() const {return this->fUsePtWeights;};
54 void SetUseEtaWeights(Bool_t const uEtaW) {this->fUseEtaWeights = uEtaW;};
55 Bool_t GetUseEtaWeights() const {return this->fUseEtaWeights;};
56 // 2.) Nested loops for relative angle distribution (RAD):
57 void SetEvaluateNestedLoopsForRAD(Bool_t const enlfRAD) {this->fEvaluateNestedLoopsForRAD = enlfRAD;};
58 Bool_t GetEvaluateNestedLoopsForRAD() const {return this->fEvaluateNestedLoopsForRAD;};
59 // 3.) Debugging and cross-checking Q-cumulants:
60 void SetEvaluateNestedLoopsForQC(Bool_t const enlfQC) {this->fEvaluateNestedLoopsForQC = enlfQC;};
61 Bool_t GetEvaluateNestedLoopsForQC() const {return this->fEvaluateNestedLoopsForQC;};
62 // 4.) Debugging and cross-checking mixed harmonics:
63 void SetEvaluateNestedLoopsForMH(Bool_t const enlfMH) {this->fEvaluateNestedLoopsForMH = enlfMH;};
64 Bool_t GetEvaluateNestedLoopsForMH() const {return this->fEvaluateNestedLoopsForMH;};
67 AliAnalysisTaskNestedLoops(const AliAnalysisTaskNestedLoops& aatmh);
68 AliAnalysisTaskNestedLoops& operator=(const AliAnalysisTaskNestedLoops& aatmh);
70 AliFlowEventSimple *fEvent; // the input event
71 AliFlowAnalysisWithNestedLoops *fNL; // nested loops object
72 TList *fListHistos; // collection of output
73 Int_t fHarmonic; // integer n in correlators
74 Bool_t fOppositeChargesPOI; // two POIs, psi1 and psi2, in correlator <<cos[psi1+psi2-2phi3)]>> will be taken with opposite charges
75 Bool_t fEvaluateDifferential3pCorrelator; // evaluate <<cos[psi1+psi2-2phi3)]>>, where psi1 and psi2 are two POIs
77 Bool_t fUseParticleWeights; // use any particle 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
82 // Nested loops for relative angle distribution (RAD):
83 Bool_t fEvaluateNestedLoopsForRAD; // evaluate nested loops for relative angle distribution (RAD)
84 // Debugging and cross-checking Q-cumulants:
85 Bool_t fEvaluateNestedLoopsForQC; // evaluate nested loops for Q-cumulants
86 // Debugging and cross-checking mixed harmonics:
87 Bool_t fEvaluateNestedLoopsForMH; // evaluate nested loops for mixed harmonics
89 ClassDef(AliAnalysisTaskNestedLoops, 1);
92 //================================================================================================================