2 // Calculate the flow in the forward regions using the Q cumulants method
4 #ifndef ALIFORWARDMCFLOWTASKQC_H
5 #define ALIFORWARDMCFLOWTASKQC_H
7 * @file AliForwardMCFlowTaskQC.h
8 * @author Alexander Hansen alexander.hansen@cern.ch
9 * @date Tue Feb 14 2012
14 * @ingroup pwglf_forward_flow
16 #include "AliForwardFlowTaskQC.h"
21 * @defgroup pwg2_forward_tasks_flow Flow tasks
22 * @ingroup pwg2_forward_tasks
25 * Calculate the flow in the forward regions using the Q cumulants method
31 * - AnalysisResults.root
33 * @ingroup pwg2_forward_tasks_flow
34 * @ingroup pwg2_forward_flow
38 class AliForwardMCFlowTaskQC : public AliForwardFlowTaskQC
44 AliForwardMCFlowTaskQC();
48 * @param name Name of task
50 AliForwardMCFlowTaskQC(const char* name);
54 virtual ~AliForwardMCFlowTaskQC() {}
57 * @name Task interface methods
60 * Loop over AliAODMCParticle branch object and fill d^2N/detadphi histograms
61 * add flow if arguments are set
63 * @return true on success
67 * Set string to add flow to MC truth particles
71 void AddFlow(TString type = "") { fAddFlow = type; }
73 * Set which function fAddFlow should use
75 * @param type of AddFlow
77 void AddFlowType(Int_t number = 0) { fAddType = number; }
79 * Set which order of flow to add
81 * @param order Flow order
83 void AddFlowOrder(Int_t order = 2) { fAddOrder = order; }
89 * @param o Object to copy from
91 AliForwardMCFlowTaskQC(const AliForwardMCFlowTaskQC& o);
95 * @return Reference to this object
97 AliForwardMCFlowTaskQC& operator=(const AliForwardMCFlowTaskQC& o);
99 * Initiate vertex bin objects
101 void InitVertexBins();
103 * Initiate diagnostics histograms
115 * Add pt dependent flow factor
117 * @param Pt @f$ p_T@f$
118 * @param type Type of flow
120 Double_t AddptFlow(Double_t pt) const;
122 * Add pid dependent flow factor
124 * @param ID Particle ID
125 * @param type Type of flow
127 Double_t AddpidFlow(Int_t id) const;
129 * Add eta dependent flow factor
131 * @param Eta @f$\eta@f$
132 * @param type Type of flow
134 Double_t AddetaFlow(Double_t eta) const;
136 * Get centrality form MC impact parameter
138 Double_t GetCentFromB() const;
140 TList fBinsFMDTR; // List with FMDTR VertexBin objects
141 TList fBinsSPDTR; // List with SPDTR VertexBin objects
142 TList fBinsMC; // List with MC VertexBin objects
143 TH2D fdNdedpMC; // d^2N/detadphi MC truth histogram
144 TGraph* fAliceCent4th; // Parametrization of ALICE QC4 vs. cent. data
145 TGraph* fAlicePt2nd4050; // Parametrization of ALICE QC2 vs. pT data
146 TGraph* fAlicePt4th3040; // Parametrization of ALICE QC4 vs. pT data
147 TGraph* fAlicePt4th4050; // Parametrization of ALICE QC4 vs. pT data
148 TGraph* fImpactParToCent; // Parametrization of b to centrality datapoints
149 TString fAddFlow; // Add flow string
150 Int_t fAddType; // Add flow type #
151 Int_t fAddOrder; // Add flow order
153 ClassDef(AliForwardMCFlowTaskQC, 1); // FMD MC analysis task