1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 #ifndef AliAnalysisTaskScalarProduct_H
6 #define AliAnalysisTaskScalarProduct_H
8 /////////////////////////////////////////////////
9 // AliAnalysisTaskScalarProduct:
10 // analysis task for Scalar Product method
11 // Author: Naomi van der Kolk (kolk@nikhef.nl)
12 /////////////////////////////////////////////////
14 class AliFlowEventSimple;
15 class AliFlowAnalysisWithScalarProduct;
19 #include "AliAnalysisTaskSE.h"
21 //===============================================================
23 class AliAnalysisTaskScalarProduct : public AliAnalysisTaskSE {
25 AliAnalysisTaskScalarProduct();
26 AliAnalysisTaskScalarProduct(const char *name, Bool_t usePhiWeights);
27 virtual ~AliAnalysisTaskScalarProduct();
29 virtual void UserCreateOutputObjects();
30 virtual void UserExec(Option_t *option);
31 virtual void Terminate(Option_t *);
33 void SetUsePhiWeights(Bool_t const aPhiW) {this->fUsePhiWeights = aPhiW;}
34 Bool_t GetUsePhiWeights() const {return this->fUsePhiWeights;}
36 void SetRelDiffMsub(Double_t diff) { this->fRelDiffMsub = diff; }
37 Double_t GetRelDiffMsub() const { return this->fRelDiffMsub; }
39 void SetApplyCorrectionForNUA(Bool_t const applyCorrectionForNUA) {this->fApplyCorrectionForNUA = applyCorrectionForNUA;};
40 Bool_t GetApplyCorrectionForNUA() const {return this->fApplyCorrectionForNUA;};
42 void SetHarmonic(Int_t const harmonic) {this->fHarmonic = harmonic;};
43 Int_t GetHarmonic() const {return this->fHarmonic;};
45 void SetBehaveAsEP() { fNormalizationType = 0; }
47 void SetTotalQvector(const char *tqv) {*this->fTotalQvector = tqv;};
51 AliAnalysisTaskScalarProduct(const AliAnalysisTaskScalarProduct& aAnalysisTask);
52 AliAnalysisTaskScalarProduct& operator=(const AliAnalysisTaskScalarProduct& aAnalysisTask);
54 AliFlowEventSimple* fEvent; //input event
55 AliFlowAnalysisWithScalarProduct* fSP; // analysis object
56 TList* fListHistos; // collection of output
58 Bool_t fUsePhiWeights; // use phi weights
59 TList* fListWeights; // list with weights
61 Double_t fRelDiffMsub; // the relative difference the two subevent multiplicities can have
63 Bool_t fApplyCorrectionForNUA; // apply automatic correction for non-uniform acceptance
65 Int_t fHarmonic; // harmonic
66 Int_t fNormalizationType; // 0: EP mode || 1: SP mode (default)
68 TString *fTotalQvector; // total Q-vector is: "QaQb" (means Qa+Qb), "Qa" or "Qb"
70 ClassDef(AliAnalysisTaskScalarProduct, 1); // example of analysis
73 //==================================================================