]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/FORWARD/analysis2/AliForwardMultiplicityTask.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliForwardMultiplicityTask.h
CommitLineData
7984e5f7 1//
2// Calculate the multiplicity in the forward regions event-by-event
3//
eb865a4f 4#ifndef ALIFORWARDMULTIPLICITYTASK_H
5#define ALIFORWARDMULTIPLICITYTASK_H
ffca499d 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 *
bd6f5206 14 * @ingroup pwglf_forward_aod
ffca499d 15 */
eb865a4f 16#include "AliForwardMultiplicityBase.h"
7e4038b5 17#include "AliForwardUtil.h"
fffea31d 18#include "AliFMDEventInspector.h"
0ccdab7b 19#include "AliFMDESDFixer.h"
7e4038b5 20#include "AliFMDSharingFilter.h"
21#include "AliFMDDensityCalculator.h"
72cc12cd 22#include "AliFMDCorrector.h"
7e4038b5 23#include "AliFMDHistCollector.h"
0b7de667 24// #include "AliFMDEnergyFitter.h"
2b556440 25#include "AliFMDEventPlaneFinder.h"
7e4038b5 26#include <AliESDFMD.h>
7e4038b5 27class AliESDEvent;
28class TH2D;
29class TList;
4f9319f3 30class TH3D;
7e4038b5 31
7e4038b5 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 *
bd6f5206 45 * @ingroup pwglf_forward_tasks
46 * @ingroup pwglf_forward_aod
7e4038b5 47 *
48 */
eb865a4f 49class AliForwardMultiplicityTask : public AliForwardMultiplicityBase
7e4038b5 50{
51public:
52 /**
53 * Constructor
54 *
55 * @param name Name of task
56 */
0bd4b00f 57 AliForwardMultiplicityTask(const char* name);
7e4038b5 58 /**
59 * Constructor
60 */
0bd4b00f 61 AliForwardMultiplicityTask();
7e4038b5 62 /**
c8b1a7db 63 * @{
64 * @name Interface methods
7e4038b5 65 */
0ccdab7b 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);
7e4038b5 74 /**
c8b1a7db 75 * Called before processing a single event - should not do anything
76 * but clear data, etc.
7e4038b5 77 *
c8b1a7db 78 * @return true on success
7e4038b5 79 */
c8b1a7db 80 virtual Bool_t PreEvent();
7e4038b5 81 /**
82 * Process each event
83 *
c8b1a7db 84 * @param esd Event
36ffcf83 85 *
c8b1a7db 86 * @return true on success
87 */
88 virtual Bool_t Event(AliESDEvent& esd);
7e4038b5 89 /**
90 * @}
91 */
fea27ee0 92 /**
fffea31d 93 * @{
94 * @name Access to sub-algorithms
95 */
96 /**
97 * Get reference to the EventInspector algorithm
fea27ee0 98 *
fffea31d 99 * @return Reference to AliFMDEventInspector object
fea27ee0 100 */
fffea31d 101 AliFMDEventInspector& GetEventInspector() { return fEventInspector; }
0ccdab7b 102 /**
103 * Get reference to the ESDFixer algorithm
104 *
105 * @return Reference to AliFMDESDFixer object
106 */
107 AliFMDESDFixer& GetESDFixer() { return fESDFixer; }
7e4038b5 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 *
72cc12cd 123 * @return Reference to AliFMDCorrector object
7e4038b5 124 */
72cc12cd 125 AliFMDCorrector& GetCorrections() { return fCorrections; }
7e4038b5 126 /**
127 * Get reference to the HistCollector algorithm
128 *
129 * @return Reference to AliFMDHistCollector object
130 */
131 AliFMDHistCollector& GetHistCollector() { return fHistCollector; }
1174780f 132 /**
133 * Get reference to the EventInspector algorithm
134 *
135 * @return Reference to AliFMDEventInspector object
136 */
137 const AliFMDEventInspector& GetEventInspector() const { return fEventInspector; }
0ccdab7b 138 /**
139 * Get reference to the ESDFixer algorithm
140 *
141 * @return Reference to AliFMDESDFixer object
142 */
143 const AliFMDESDFixer& GetESDFixer() const { return fESDFixer; }
1174780f 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 *
72cc12cd 159 * @return Reference to AliFMDCorrector object
1174780f 160 */
72cc12cd 161 const AliFMDCorrector& GetCorrections() const { return fCorrections; }
1174780f 162 /**
163 * Get reference to the HistCollector algorithm
164 *
165 * @return Reference to AliFMDHistCollector object
166 */
167 const AliFMDHistCollector& GetHistCollector() const { return fHistCollector; }
2b556440 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; }
fffea31d 180 /**
181 * @}
182 */
336ac2ac 183 /**
184 * Set whether to make a timing histogram
185 *
186 * @param enable
187 */
188 virtual void SetDoTiming(Bool_t enable=true);
7e4038b5 189protected:
c8b1a7db 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);
7e4038b5 204
8449e3e0 205 AliESDFMD fESDFMD; // Sharing corrected ESD object
fffea31d 206 AliFMDEventInspector fEventInspector; // Algorithm
0ccdab7b 207 AliFMDESDFixer fESDFixer; // Algorithm
7e4038b5 208 AliFMDSharingFilter fSharingFilter; // Algorithm
209 AliFMDDensityCalculator fDensityCalculator; // Algorithm
72cc12cd 210 AliFMDCorrector fCorrections; // Algorithm
7e4038b5 211 AliFMDHistCollector fHistCollector; // Algorithm
2b556440 212 AliFMDEventPlaneFinder fEventPlaneFinder; // Algorithm
7e4038b5 213
8449e3e0 214 ClassDef(AliForwardMultiplicityTask,6) // Forward multiplicity class
7e4038b5 215};
216
217#endif
218// Local Variables:
219// mode: C++
220// End:
221