]>
Commit | Line | Data |
---|---|---|
2b556440 | 1 | // |
2 | // Calculate the flow in the forward regions using the Q cumulants method | |
3 | // | |
4 | #ifndef ALIFORWARDMCFLOWTASKQC_H | |
5 | #define ALIFORWARDMCFLOWTASKQC_H | |
6 | /** | |
7 | * @file AliForwardMCFlowTaskQC.h | |
8 | * @author Alexander Hansen alexander.hansen@cern.ch | |
2b556440 | 9 | * |
10 | * @brief | |
11 | * | |
12 | * | |
13 | * @ingroup pwglf_forward_flow | |
14 | */ | |
15 | #include "AliForwardFlowTaskQC.h" | |
936b0a6c | 16 | #include "AliForwardFlowWeights.h" |
2b556440 | 17 | #include <TH2D.h> |
18 | class TGraph; | |
19 | ||
2b556440 | 20 | /** |
21 | * Calculate the flow in the forward regions using the Q cumulants method | |
22 | * | |
23 | * @par Inputs: | |
24 | * - AliAODEvent | |
25 | * | |
26 | * Outputs: | |
27 | * - AnalysisResults.root | |
28 | * | |
d420e249 | 29 | * @ingroup pwglf_forward_tasks_flow |
30 | * @ingroup pwglf_forward_flow | |
2b556440 | 31 | * |
2b556440 | 32 | */ |
33 | class AliForwardMCFlowTaskQC : public AliForwardFlowTaskQC | |
34 | { | |
35 | public: | |
36 | /** | |
37 | * Constructor | |
38 | */ | |
39 | AliForwardMCFlowTaskQC(); | |
290052e7 | 40 | /** |
2b556440 | 41 | * Constructor |
42 | * | |
43 | * @param name Name of task | |
44 | */ | |
45 | AliForwardMCFlowTaskQC(const char* name); | |
46 | /** | |
47 | * Destructor | |
48 | */ | |
49 | virtual ~AliForwardMCFlowTaskQC() {} | |
d420e249 | 50 | /** |
51 | * Check trigger from AODForwardMult object | |
52 | * returns true if B trigger is present | |
53 | * | |
54 | * @param aodfm AliAODForwardMultObject | |
55 | * | |
56 | * @return Bool_t | |
57 | */ | |
58 | virtual Bool_t CheckTrigger(const AliAODForwardMult* aodfm) const; | |
2b556440 | 59 | /** |
4b5b52b7 | 60 | * Check for centrality in AliAODForwardMult object, |
61 | * if present return true - also sets fCent value | |
62 | * can be used to get centrality from impact parameter | |
63 | * | |
64 | * @param aodfm AliAODForwardMultObject | |
2b556440 | 65 | * |
4b5b52b7 | 66 | * @return Bool_t |
2b556440 | 67 | */ |
4b5b52b7 | 68 | virtual Bool_t GetCentrality(const AliAODForwardMult* aodfm); |
290052e7 | 69 | /** |
4b5b52b7 | 70 | * Set use parametrization from impact parameter for centrality |
71 | * | |
72 | * @param use Use impact par | |
73 | */ | |
74 | void SetUseImpactParameter(Bool_t use) { fUseImpactPar = use; } | |
290052e7 | 75 | /** |
2b556440 | 76 | * Set string to add flow to MC truth particles |
77 | * | |
78 | * @param type String | |
79 | */ | |
80 | void AddFlow(TString type = "") { fAddFlow = type; } | |
290052e7 | 81 | /** |
2b556440 | 82 | * Set which function fAddFlow should use |
83 | * | |
290052e7 | 84 | * @param number Type of AddFlow |
2b556440 | 85 | */ |
86 | void AddFlowType(Int_t number = 0) { fAddType = number; } | |
290052e7 | 87 | /** |
2b556440 | 88 | * Set which order of flow to add |
89 | * | |
90 | * @param order Flow order | |
91 | */ | |
92 | void AddFlowOrder(Int_t order = 2) { fAddOrder = order; } | |
93 | ||
94 | protected: | |
290052e7 | 95 | /** |
2b556440 | 96 | * Copy constructor |
97 | * | |
98 | * @param o Object to copy from | |
99 | */ | |
100 | AliForwardMCFlowTaskQC(const AliForwardMCFlowTaskQC& o); | |
101 | /** | |
102 | * Assignment operator | |
103 | * | |
290052e7 | 104 | * @param o Object to assing from |
105 | * | |
2b556440 | 106 | * @return Reference to this object |
107 | */ | |
108 | AliForwardMCFlowTaskQC& operator=(const AliForwardMCFlowTaskQC& o); | |
290052e7 | 109 | /** |
2b556440 | 110 | * Initiate vertex bin objects |
111 | */ | |
112 | void InitVertexBins(); | |
290052e7 | 113 | /** |
2b556440 | 114 | * Initiate diagnostics histograms |
115 | */ | |
116 | void InitHists(); | |
290052e7 | 117 | /** |
2b556440 | 118 | * Analyze event |
290052e7 | 119 | * |
120 | * @return true on success | |
2b556440 | 121 | */ |
122 | Bool_t Analyze(); | |
290052e7 | 123 | /** |
2b556440 | 124 | * Finalize analysis |
125 | */ | |
126 | void Finalize(); | |
4b5b52b7 | 127 | /** |
128 | * Loop over AliAODMCParticle branch object and fill d^2N/detadphi histograms | |
129 | * add flow if arguments are set | |
130 | * | |
131 | * @return true on success | |
132 | */ | |
133 | Bool_t LoopAODMC(); | |
2b556440 | 134 | /** |
135 | * Get centrality form MC impact parameter | |
290052e7 | 136 | * |
137 | * @return Centrality | |
2b556440 | 138 | */ |
139 | Double_t GetCentFromB() const; | |
d420e249 | 140 | /** |
141 | * Print the setup of the task | |
142 | * | |
143 | * @return void | |
144 | */ | |
145 | virtual void PrintFlowSetup() const; | |
2b556440 | 146 | |
147 | TList fBinsFMDTR; // List with FMDTR VertexBin objects | |
148 | TList fBinsSPDTR; // List with SPDTR VertexBin objects | |
149 | TList fBinsMC; // List with MC VertexBin objects | |
150 | TH2D fdNdedpMC; // d^2N/detadphi MC truth histogram | |
936b0a6c | 151 | AliForwardFlowWeights fWeights; // Flow after burner |
152 | TGraph* fImpactParToCent; // Parametrization of b to centrality | |
153 | Bool_t fUseImpactPar; // Flag to use impact parameter for cent | |
2b556440 | 154 | TString fAddFlow; // Add flow string |
155 | Int_t fAddType; // Add flow type # | |
156 | Int_t fAddOrder; // Add flow order | |
157 | ||
936b0a6c | 158 | ClassDef(AliForwardMCFlowTaskQC, 2); // FMD MC analysis task |
2b556440 | 159 | }; |
160 | ||
161 | #endif | |
162 | // Local Variables: | |
163 | // mode: C++ | |
164 | // End: |