]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - PWGLF/FORWARD/analysis2/AliForwardMultiplicityTask.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliForwardMultiplicityTask.h
... / ...
CommitLineData
1//
2// Calculate the multiplicity in the forward regions event-by-event
3//
4#ifndef ALIFORWARDMULTIPLICITYTASK_H
5#define ALIFORWARDMULTIPLICITYTASK_H
6/**
7 * @file AliForwardMultiplicityTask.h
8 * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
9 * @date Wed Mar 23 14:06:42 2011
10 *
11 * @brief
12 *
13 *
14 * @ingroup pwglf_forward_aod
15 */
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>
27class AliESDEvent;
28class TH2D;
29class TList;
30class TH3D;
31
32/**
33 * Calculate the multiplicity in the forward regions event-by-event
34 *
35 * @par Inputs:
36 * - AliESDEvent
37 *
38 * @par Outputs:
39 * - AliAODForwardMult
40 *
41 * @par Histograms
42 *
43 * @par Corrections used
44 *
45 * @ingroup pwglf_forward_tasks
46 * @ingroup pwglf_forward_aod
47 *
48 */
49class AliForwardMultiplicityTask : public AliForwardMultiplicityBase
50{
51public:
52 /**
53 * Constructor
54 *
55 * @param name Name of task
56 */
57 AliForwardMultiplicityTask(const char* name);
58 /**
59 * Constructor
60 */
61 AliForwardMultiplicityTask();
62 /**
63 * @{
64 * @name Interface methods
65 */
66 /**
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.
70 *
71 * @param esd Event
72 */
73 virtual void PreCorrections(const AliESDEvent* esd);
74 /**
75 * Called before processing a single event - should not do anything
76 * but clear data, etc.
77 *
78 * @return true on success
79 */
80 virtual Bool_t PreEvent();
81 /**
82 * Process each event
83 *
84 * @param esd Event
85 *
86 * @return true on success
87 */
88 virtual Bool_t Event(AliESDEvent& esd);
89 /**
90 * @}
91 */
92 /**
93 * @{
94 * @name Access to sub-algorithms
95 */
96 /**
97 * Get reference to the EventInspector algorithm
98 *
99 * @return Reference to AliFMDEventInspector object
100 */
101 AliFMDEventInspector& GetEventInspector() { return fEventInspector; }
102 /**
103 * Get reference to the ESDFixer algorithm
104 *
105 * @return Reference to AliFMDESDFixer object
106 */
107 AliFMDESDFixer& GetESDFixer() { return fESDFixer; }
108 /**
109 * Get reference to the SharingFilter algorithm
110 *
111 * @return Reference to AliFMDSharingFilter object
112 */
113 AliFMDSharingFilter& GetSharingFilter() { return fSharingFilter; }
114 /**
115 * Get reference to the DensityCalculator algorithm
116 *
117 * @return Reference to AliFMDDensityCalculator object
118 */
119 AliFMDDensityCalculator& GetDensityCalculator() { return fDensityCalculator; }
120 /**
121 * Get reference to the Corrections algorithm
122 *
123 * @return Reference to AliFMDCorrector object
124 */
125 AliFMDCorrector& GetCorrections() { return fCorrections; }
126 /**
127 * Get reference to the HistCollector algorithm
128 *
129 * @return Reference to AliFMDHistCollector object
130 */
131 AliFMDHistCollector& GetHistCollector() { return fHistCollector; }
132 /**
133 * Get reference to the EventInspector algorithm
134 *
135 * @return Reference to AliFMDEventInspector object
136 */
137 const AliFMDEventInspector& GetEventInspector() const { return fEventInspector; }
138 /**
139 * Get reference to the ESDFixer algorithm
140 *
141 * @return Reference to AliFMDESDFixer object
142 */
143 const AliFMDESDFixer& GetESDFixer() const { return fESDFixer; }
144 /**
145 * Get reference to the SharingFilter algorithm
146 *
147 * @return Reference to AliFMDSharingFilter object
148 */
149 const AliFMDSharingFilter& GetSharingFilter() const { return fSharingFilter; }
150 /**
151 * Get reference to the DensityCalculator algorithm
152 *
153 * @return Reference to AliFMDDensityCalculator object
154 */
155 const AliFMDDensityCalculator& GetDensityCalculator() const { return fDensityCalculator; }
156 /**
157 * Get reference to the Corrections algorithm
158 *
159 * @return Reference to AliFMDCorrector object
160 */
161 const AliFMDCorrector& GetCorrections() const { return fCorrections; }
162 /**
163 * Get reference to the HistCollector algorithm
164 *
165 * @return Reference to AliFMDHistCollector object
166 */
167 const AliFMDHistCollector& GetHistCollector() const { return fHistCollector; }
168 /**
169 * Get reference to the EventPlaneFinder algorithm
170 *
171 * @return Reference to AliFMDEventPlaneFinder object
172 */
173 AliFMDEventPlaneFinder& GetEventPlaneFinder() { return fEventPlaneFinder; }
174 /**
175 * Get reference to the EventPlaneFinder algorithm
176 *
177 * @return Reference to AliFMDEventPlaneFinder object
178 */
179 const AliFMDEventPlaneFinder& GetEventPlaneFinder() const { return fEventPlaneFinder; }
180 /**
181 * @}
182 */
183 /**
184 * Set whether to make a timing histogram
185 *
186 * @param enable
187 */
188 virtual void SetDoTiming(Bool_t enable=true);
189protected:
190 /**
191 * Copy constructor
192 *
193 * @param o Object to copy from
194 */
195 AliForwardMultiplicityTask(const AliForwardMultiplicityTask& o);
196 /**
197 * Assignment operator
198 *
199 * @param o Object to assign from
200 *
201 * @return Reference to this object
202 */
203 AliForwardMultiplicityTask& operator=(const AliForwardMultiplicityTask& o);
204
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
213
214 ClassDef(AliForwardMultiplicityTask,6) // Forward multiplicity class
215};
216
217#endif
218// Local Variables:
219// mode: C++
220// End:
221