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 "AliFMDESDFixer.h"
20 #include "AliFMDSharingFilter.h"
21 #include "AliFMDDensityCalculator.h"
22 #include "AliFMDCorrector.h"
23 #include "AliFMDHistCollector.h"
24 // #include "AliFMDEnergyFitter.h"
25 #include "AliFMDEventPlaneFinder.h"
26 #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();
64 * @name Interface methods
67 * Called on first event _before_ reading corrections. Here, the
68 * user class can do additional checking to see if the some (more or
69 * less) corrections are needed.
73 virtual void PreCorrections(const AliESDEvent* esd);
75 * Called before processing a single event - should not do anything
76 * but clear data, etc.
78 * @return true on success
80 virtual Bool_t PreEvent();
86 * @return true on success
88 virtual Bool_t Event(AliESDEvent& esd);
94 * @name Access to sub-algorithms
97 * Get reference to the EventInspector algorithm
99 * @return Reference to AliFMDEventInspector object
101 AliFMDEventInspector& GetEventInspector() { return fEventInspector; }
103 * Get reference to the ESDFixer algorithm
105 * @return Reference to AliFMDESDFixer object
107 AliFMDESDFixer& GetESDFixer() { return fESDFixer; }
109 * Get reference to the SharingFilter algorithm
111 * @return Reference to AliFMDSharingFilter object
113 AliFMDSharingFilter& GetSharingFilter() { return fSharingFilter; }
115 * Get reference to the DensityCalculator algorithm
117 * @return Reference to AliFMDDensityCalculator object
119 AliFMDDensityCalculator& GetDensityCalculator() { return fDensityCalculator; }
121 * Get reference to the Corrections algorithm
123 * @return Reference to AliFMDCorrector object
125 AliFMDCorrector& GetCorrections() { return fCorrections; }
127 * Get reference to the HistCollector algorithm
129 * @return Reference to AliFMDHistCollector object
131 AliFMDHistCollector& GetHistCollector() { return fHistCollector; }
133 * Get reference to the EventInspector algorithm
135 * @return Reference to AliFMDEventInspector object
137 const AliFMDEventInspector& GetEventInspector() const { return fEventInspector; }
139 * Get reference to the ESDFixer algorithm
141 * @return Reference to AliFMDESDFixer object
143 const AliFMDESDFixer& GetESDFixer() const { return fESDFixer; }
145 * Get reference to the SharingFilter algorithm
147 * @return Reference to AliFMDSharingFilter object
149 const AliFMDSharingFilter& GetSharingFilter() const { return fSharingFilter; }
151 * Get reference to the DensityCalculator algorithm
153 * @return Reference to AliFMDDensityCalculator object
155 const AliFMDDensityCalculator& GetDensityCalculator() const { return fDensityCalculator; }
157 * Get reference to the Corrections algorithm
159 * @return Reference to AliFMDCorrector object
161 const AliFMDCorrector& GetCorrections() const { return fCorrections; }
163 * Get reference to the HistCollector algorithm
165 * @return Reference to AliFMDHistCollector object
167 const AliFMDHistCollector& GetHistCollector() const { return fHistCollector; }
169 * Get reference to the EventPlaneFinder algorithm
171 * @return Reference to AliFMDEventPlaneFinder object
173 AliFMDEventPlaneFinder& GetEventPlaneFinder() { return fEventPlaneFinder; }
175 * Get reference to the EventPlaneFinder algorithm
177 * @return Reference to AliFMDEventPlaneFinder object
179 const AliFMDEventPlaneFinder& GetEventPlaneFinder() const { return fEventPlaneFinder; }
184 * Set whether to make a timing histogram
188 virtual void SetDoTiming(Bool_t enable=true);
193 * @param o Object to copy from
195 AliForwardMultiplicityTask(const AliForwardMultiplicityTask& o);
197 * Assignment operator
199 * @param o Object to assign from
201 * @return Reference to this object
203 AliForwardMultiplicityTask& operator=(const AliForwardMultiplicityTask& o);
205 AliESDFMD fESDFMD; // Sharing corrected ESD object
206 AliFMDEventInspector fEventInspector; // Algorithm
207 AliFMDESDFixer fESDFixer; // Algorithm
208 AliFMDSharingFilter fSharingFilter; // Algorithm
209 AliFMDDensityCalculator fDensityCalculator; // Algorithm
210 AliFMDCorrector fCorrections; // Algorithm
211 AliFMDHistCollector fHistCollector; // Algorithm
212 AliFMDEventPlaneFinder fEventPlaneFinder; // Algorithm
214 ClassDef(AliForwardMultiplicityTask,6) // Forward multiplicity class