2 // Calculate the multiplicity in the forward regions event-by-event
4 #ifndef ALIFORWARDMULTIPLICITYTASK_H
5 #define ALIFORWARDMULTIPLICITYTASK_H
6 #include "AliForwardMultiplicityBase.h"
7 #include "AliForwardUtil.h"
8 #include "AliFMDEventInspector.h"
9 #include "AliFMDEnergyFitter.h"
10 #include "AliFMDSharingFilter.h"
11 #include "AliFMDDensityCalculator.h"
12 #include "AliFMDCorrector.h"
13 #include "AliFMDHistCollector.h"
14 #include "AliAODForwardMult.h"
15 #include "AliFMDEnergyFitter.h"
16 #include <AliESDFMD.h>
22 * Calculate the multiplicity in the forward regions event-by-event
32 * @par Corrections used
34 * @ingroup pwg2_forward_tasks
37 class AliForwardMultiplicityTask : public AliForwardMultiplicityBase
43 * @param name Name of task
45 AliForwardMultiplicityTask(const char* name);
49 AliForwardMultiplicityTask();
53 * @param o Object to copy from
55 AliForwardMultiplicityTask(const AliForwardMultiplicityTask& o);
59 * @param o Object to assign from
61 * @return Reference to this object
63 AliForwardMultiplicityTask& operator=(const AliForwardMultiplicityTask& o);
66 * @name Interface methods
69 * Create output objects
72 virtual void UserCreateOutputObjects();
76 * @param option Not used
78 virtual void UserExec(Option_t* option);
82 * @param option Not used
84 virtual void Terminate(Option_t* option);
90 * @name Access to sub-algorithms
93 * Get reference to the EventInspector algorithm
95 * @return Reference to AliFMDEventInspector object
97 AliFMDEventInspector& GetEventInspector() { return fEventInspector; }
99 * Get reference to the EnergyFitter algorithm
101 * @return Reference to AliFMDEnergyFitter object
103 AliFMDEnergyFitter& GetEnergyFitter() { return fEnergyFitter; }
105 * Get reference to the SharingFilter algorithm
107 * @return Reference to AliFMDSharingFilter object
109 AliFMDSharingFilter& GetSharingFilter() { return fSharingFilter; }
111 * Get reference to the DensityCalculator algorithm
113 * @return Reference to AliFMDDensityCalculator object
115 AliFMDDensityCalculator& GetDensityCalculator() { return fDensityCalculator; }
117 * Get reference to the Corrections algorithm
119 * @return Reference to AliFMDCorrector object
121 AliFMDCorrector& GetCorrections() { return fCorrections; }
123 * Get reference to the HistCollector algorithm
125 * @return Reference to AliFMDHistCollector object
127 AliFMDHistCollector& GetHistCollector() { return fHistCollector; }
129 * Get reference to the EventInspector algorithm
131 * @return Reference to AliFMDEventInspector object
133 const AliFMDEventInspector& GetEventInspector() const { return fEventInspector; }
135 * Get reference to the EnergyFitter algorithm
137 * @return Reference to AliFMDEnergyFitter object
139 const AliFMDEnergyFitter& GetEnergyFitter() const { return fEnergyFitter; }
141 * Get reference to the SharingFilter algorithm
143 * @return Reference to AliFMDSharingFilter object
145 const AliFMDSharingFilter& GetSharingFilter() const { return fSharingFilter; }
147 * Get reference to the DensityCalculator algorithm
149 * @return Reference to AliFMDDensityCalculator object
151 const AliFMDDensityCalculator& GetDensityCalculator() const { return fDensityCalculator; }
153 * Get reference to the Corrections algorithm
155 * @return Reference to AliFMDCorrector object
157 const AliFMDCorrector& GetCorrections() const { return fCorrections; }
159 * Get reference to the HistCollector algorithm
161 * @return Reference to AliFMDHistCollector object
163 const AliFMDHistCollector& GetHistCollector() const { return fHistCollector; }
170 * @param dbg Debug level
172 void SetDebug(Int_t dbg);
175 * Initialise the sub objects and stuff. Called on first event
178 virtual void InitializeSubs();
180 TH2D* fHData; // Summed 1/Nd^2N_{ch}/dphideta
181 AliESDFMD fESDFMD; // Sharing corrected ESD object
182 AliForwardUtil::Histos fHistos; // Cache histograms
183 AliAODForwardMult fAODFMD; // Output object
185 AliFMDEventInspector fEventInspector; // Algorithm
186 AliFMDEnergyFitter fEnergyFitter; // Algorithm
187 AliFMDSharingFilter fSharingFilter; // Algorithm
188 AliFMDDensityCalculator fDensityCalculator; // Algorithm
189 AliFMDCorrector fCorrections; // Algorithm
190 AliFMDHistCollector fHistCollector; // Algorithm
192 TList* fList; // Output list
194 ClassDef(AliForwardMultiplicityTask,1) // Forward multiplicity class