2 // Calculate the multiplicity in the forward regions event-by-event
4 #ifndef ALIFORWARDMULTIPLICITYTASK_H
5 #define ALIFORWARDMULTIPLICITYTASK_H
7 * @file AliForwardMultiplicityTask.h
8 * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
9 * @date Wed Mar 23 14:06:42 2011
14 * @ingroup pwglf_forward_aod
16 #include "AliForwardMultiplicityBase.h"
17 #include "AliForwardUtil.h"
18 #include "AliFMDEventInspector.h"
19 #include "AliFMDSharingFilter.h"
20 #include "AliFMDDensityCalculator.h"
21 #include "AliFMDCorrector.h"
22 #include "AliFMDHistCollector.h"
23 #include "AliAODForwardMult.h"
24 #include "AliAODForwardEP.h"
25 #include "AliFMDEnergyFitter.h"
26 #include "AliFMDEventPlaneFinder.h"
27 #include <AliESDFMD.h>
33 * Calculate the multiplicity in the forward regions event-by-event
43 * @par Corrections used
45 * @ingroup pwglf_forward_tasks
46 * @ingroup pwglf_forward_aod
49 class AliForwardMultiplicityTask : public AliForwardMultiplicityBase
55 * @param name Name of task
57 AliForwardMultiplicityTask(const char* name);
61 AliForwardMultiplicityTask();
65 * @param o Object to copy from
67 AliForwardMultiplicityTask(const AliForwardMultiplicityTask& o);
71 * @param o Object to assign from
73 * @return Reference to this object
75 AliForwardMultiplicityTask& operator=(const AliForwardMultiplicityTask& o);
78 * @name Interface methods
81 * Create output objects
84 virtual void UserCreateOutputObjects();
88 * @param option Not used
90 virtual void UserExec(Option_t* option);
92 * Called on the slaves when the job has finished.
95 virtual void FinishTaskOutput();
99 * @param option Not used
101 virtual void Terminate(Option_t* option);
107 * @name Access to sub-algorithms
110 * Get reference to the EventInspector algorithm
112 * @return Reference to AliFMDEventInspector object
114 AliFMDEventInspector& GetEventInspector() { return fEventInspector; }
116 * Get reference to the SharingFilter algorithm
118 * @return Reference to AliFMDSharingFilter object
120 AliFMDSharingFilter& GetSharingFilter() { return fSharingFilter; }
122 * Get reference to the DensityCalculator algorithm
124 * @return Reference to AliFMDDensityCalculator object
126 AliFMDDensityCalculator& GetDensityCalculator() { return fDensityCalculator; }
128 * Get reference to the Corrections algorithm
130 * @return Reference to AliFMDCorrector object
132 AliFMDCorrector& GetCorrections() { return fCorrections; }
134 * Get reference to the HistCollector algorithm
136 * @return Reference to AliFMDHistCollector object
138 AliFMDHistCollector& GetHistCollector() { return fHistCollector; }
140 * Get reference to the EventInspector algorithm
142 * @return Reference to AliFMDEventInspector object
144 const AliFMDEventInspector& GetEventInspector() const { return fEventInspector; }
146 * Get reference to the SharingFilter algorithm
148 * @return Reference to AliFMDSharingFilter object
150 const AliFMDSharingFilter& GetSharingFilter() const { return fSharingFilter; }
152 * Get reference to the DensityCalculator algorithm
154 * @return Reference to AliFMDDensityCalculator object
156 const AliFMDDensityCalculator& GetDensityCalculator() const { return fDensityCalculator; }
158 * Get reference to the Corrections algorithm
160 * @return Reference to AliFMDCorrector object
162 const AliFMDCorrector& GetCorrections() const { return fCorrections; }
164 * Get reference to the HistCollector algorithm
166 * @return Reference to AliFMDHistCollector object
168 const AliFMDHistCollector& GetHistCollector() const { return fHistCollector; }
170 * Get reference to the EventPlaneFinder algorithm
172 * @return Reference to AliFMDEventPlaneFinder object
174 AliFMDEventPlaneFinder& GetEventPlaneFinder() { return fEventPlaneFinder; }
176 * Get reference to the EventPlaneFinder algorithm
178 * @return Reference to AliFMDEventPlaneFinder object
180 const AliFMDEventPlaneFinder& GetEventPlaneFinder() const { return fEventPlaneFinder; }
188 * @param dbg Debug level
190 void SetDebug(Int_t dbg);
193 * Initialise the sub objects and stuff. Called on first event
195 * @return false on errors
197 virtual Bool_t InitializeSubs();
199 TH2D* fHData; // Summed 1/Nd^2N_{ch}/dphideta
200 AliESDFMD fESDFMD; // Sharing corrected ESD object
201 AliForwardUtil::Histos fHistos; // Cache histograms
202 AliAODForwardMult fAODFMD; // Output object
203 AliAODForwardEP fAODEP; // Output object
204 AliForwardUtil::Histos fRingSums; // Cache histograms
206 AliFMDEventInspector fEventInspector; // Algorithm
207 AliFMDSharingFilter fSharingFilter; // Algorithm
208 AliFMDDensityCalculator fDensityCalculator; // Algorithm
209 AliFMDCorrector fCorrections; // Algorithm
210 AliFMDHistCollector fHistCollector; // Algorithm
211 AliFMDEventPlaneFinder fEventPlaneFinder; // Algorithm
213 TList* fList; // Output list
215 ClassDef(AliForwardMultiplicityTask,1) // Forward multiplicity class