1 /////////////////////////////////////////////////////
2 // AliAnalysisTaskFlowEventfoRP:
3 // analysis task to fill the flow event
4 // and calculate the ReactionPlane for the AODheader
5 //////////////////////////////////////////////////////
7 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
8 * See cxx source for full Copyright notice */
11 #ifndef AliAnalysisTaskFlowEventforRP_H
12 #define AliAnalysisTaskFlowEventforRP_H
17 class AliFlowEventSimpleMaker;
22 #include "AliAnalysisTaskSE.h"
24 class AliAnalysisTaskFlowEventforRP : public AliAnalysisTaskSE {
26 AliAnalysisTaskFlowEventforRP();
27 AliAnalysisTaskFlowEventforRP(const char *name,Bool_t QAon);
28 AliAnalysisTaskFlowEventforRP(const char *name,Bool_t QAon,UInt_t);
29 virtual ~AliAnalysisTaskFlowEventforRP();
31 //virtual void ConnectInputData(Option_t *);
32 virtual void UserCreateOutputObjects();
33 virtual void UserExec(Option_t *option);
34 virtual void Terminate(Option_t *);
36 void SetAnalysisType(TString type) { this->fAnalysisType = type; }
37 TString GetAnalysisType() const { return this->fAnalysisType; }
39 void SetMinMult(Int_t multmin) {this->fMinMult = multmin; }
40 Int_t GetMinMult() const {return this->fMinMult; }
41 void SetMaxMult(Int_t multmax) {this->fMaxMult = multmax; }
42 Int_t GetMaxMult() const {return this->fMaxMult; }
45 void SetCFManager1(AliCFManager* cfmgr) {this->fCFManager1 = cfmgr; }
46 AliCFManager* GetCFManager1() {return this->fCFManager1; }
47 void SetCFManager2(AliCFManager* cfmgr) {this->fCFManager2 = cfmgr; }
48 AliCFManager* GetCFManager2() {return this->fCFManager2; }
49 void SetQAList1(TList* list) {this->fQAInt = list; }
50 TList* GetQAList1() {return this->fQAInt; }
51 void SetQAList2(TList* list) {this->fQADiff = list; }
52 TList* GetQAList2() {return this->fQADiff; }
53 void SetQAOn(Bool_t kt) {this->fQA = kt; }
54 Bool_t GetQAOn() {return this->fQA; }
55 //setters for adding by hand flow values (afterburner)
56 void SetMCReactionPlaneAngle(Double_t fPhiRP) { this->fMCReactionPlaneAngle = fPhiRP; }
57 void SetNoOfLoops(Int_t noofl) {this->fNoOfLoops = noofl;}
58 Int_t GetNoOfLoops() const {return this->fNoOfLoops;}
59 void SetEllipticFlowValue(Double_t elfv) {this->fEllipticFlowValue = elfv;}
60 Double_t GetEllipticFlowValue() const {return this->fEllipticFlowValue;}
61 void SetSigmaEllipticFlowValue(Double_t sigelfv) {this->fSigmaEllipticFlowValue = sigelfv;}
62 Double_t GetSigmaEllipticFlowValue() const {return this->fSigmaEllipticFlowValue;}
63 void SetMultiplicityOfEvent(Int_t multevnt) {this->fMultiplicityOfEvent = multevnt;}
64 Int_t GetMultiplicityOfEvent() const {return this->fMultiplicityOfEvent;}
65 void SetSigmaMultiplicityOfEvent(Int_t sigmultevnt) {this->fSigmaMultiplicityOfEvent = sigmultevnt;}
66 Int_t GetSigmaMultiplicityOfEvent() const {return this->fSigmaMultiplicityOfEvent;}
67 //end setters afterburner
71 AliAnalysisTaskFlowEventforRP(const AliAnalysisTaskFlowEventforRP& aAnalysisTask);
72 AliAnalysisTaskFlowEventforRP& operator=(const AliAnalysisTaskFlowEventforRP& aAnalysisTask);
74 // TFile* fOutputFile; // temporary output file for testing
75 //AliESDEvent* fESD; // ESD object
76 //AliAODEvent* fAOD; // AOD object
77 AliFlowEventSimpleMaker* fEventMaker; // FlowEventSimple maker object
78 TString fAnalysisType; // can be MC, ESD or AOD
79 AliCFManager* fCFManager1; // correction framework manager
80 AliCFManager* fCFManager2; // correction framework manager
81 TList* fQAInt; // QA histogram list
82 TList* fQADiff; // QA histogram list
83 Int_t fMinMult; // Minimum multiplicity from tracks selected using CORRFW
84 Int_t fMaxMult; // Maximum multiplicity from tracks selected using CORRFW
85 Bool_t fQA; // flag to set the filling of the QA hostograms
87 Double_t fMCReactionPlaneAngle; // the angle of the reaction plane from the MC truth
88 Int_t fCount; // counter for the number of events processed
89 Int_t fNoOfLoops; // number of times to use the same particle (nonflow)
90 Double_t fEllipticFlowValue; // Add Flow. Must be in range [0,1].
91 Double_t fSigmaEllipticFlowValue; // Sigma Flow (Gaussian). Must be in range [0,1].
92 Int_t fMultiplicityOfEvent; // Set maximal multiplicity.
93 Int_t fSigmaMultiplicityOfEvent; // Sigma multiplicity (Gaussian).
95 TRandom3* fMyTRandom3; // our TRandom3 generator
98 ClassDef(AliAnalysisTaskFlowEventforRP, 1); // example of analysis