]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/FORWARD/analysis2/AliForwardMultiplicityTask.h
Major refactoring of the code.
[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"
7e4038b5 19#include "AliFMDSharingFilter.h"
20#include "AliFMDDensityCalculator.h"
72cc12cd 21#include "AliFMDCorrector.h"
7e4038b5 22#include "AliFMDHistCollector.h"
fffea31d 23#include "AliFMDEnergyFitter.h"
2b556440 24#include "AliFMDEventPlaneFinder.h"
7e4038b5 25#include <AliESDFMD.h>
7e4038b5 26class AliESDEvent;
27class TH2D;
28class TList;
4f9319f3 29class TH3D;
7e4038b5 30
7e4038b5 31/**
32 * Calculate the multiplicity in the forward regions event-by-event
33 *
34 * @par Inputs:
35 * - AliESDEvent
36 *
37 * @par Outputs:
38 * - AliAODForwardMult
39 *
40 * @par Histograms
41 *
42 * @par Corrections used
43 *
bd6f5206 44 * @ingroup pwglf_forward_tasks
45 * @ingroup pwglf_forward_aod
7e4038b5 46 *
47 */
eb865a4f 48class AliForwardMultiplicityTask : public AliForwardMultiplicityBase
7e4038b5 49{
50public:
51 /**
52 * Constructor
53 *
54 * @param name Name of task
55 */
0bd4b00f 56 AliForwardMultiplicityTask(const char* name);
7e4038b5 57 /**
58 * Constructor
59 */
0bd4b00f 60 AliForwardMultiplicityTask();
7e4038b5 61 /**
c8b1a7db 62 * @{
63 * @name Interface methods
7e4038b5 64 */
7e4038b5 65 /**
c8b1a7db 66 * Called before processing a single event - should not do anything
67 * but clear data, etc.
7e4038b5 68 *
c8b1a7db 69 * @return true on success
7e4038b5 70 */
c8b1a7db 71 virtual Bool_t PreEvent();
7e4038b5 72 /**
73 * Process each event
74 *
c8b1a7db 75 * @param esd Event
36ffcf83 76 *
c8b1a7db 77 * @return true on success
78 */
79 virtual Bool_t Event(AliESDEvent& esd);
7e4038b5 80 /**
81 * @}
82 */
fea27ee0 83 /**
fffea31d 84 * @{
85 * @name Access to sub-algorithms
86 */
87 /**
88 * Get reference to the EventInspector algorithm
fea27ee0 89 *
fffea31d 90 * @return Reference to AliFMDEventInspector object
fea27ee0 91 */
fffea31d 92 AliFMDEventInspector& GetEventInspector() { return fEventInspector; }
7e4038b5 93 /**
94 * Get reference to the SharingFilter algorithm
95 *
96 * @return Reference to AliFMDSharingFilter object
97 */
98 AliFMDSharingFilter& GetSharingFilter() { return fSharingFilter; }
99 /**
100 * Get reference to the DensityCalculator algorithm
101 *
102 * @return Reference to AliFMDDensityCalculator object
103 */
104 AliFMDDensityCalculator& GetDensityCalculator() { return fDensityCalculator; }
105 /**
106 * Get reference to the Corrections algorithm
107 *
72cc12cd 108 * @return Reference to AliFMDCorrector object
7e4038b5 109 */
72cc12cd 110 AliFMDCorrector& GetCorrections() { return fCorrections; }
7e4038b5 111 /**
112 * Get reference to the HistCollector algorithm
113 *
114 * @return Reference to AliFMDHistCollector object
115 */
116 AliFMDHistCollector& GetHistCollector() { return fHistCollector; }
1174780f 117 /**
118 * Get reference to the EventInspector algorithm
119 *
120 * @return Reference to AliFMDEventInspector object
121 */
122 const AliFMDEventInspector& GetEventInspector() const { return fEventInspector; }
1174780f 123 /**
124 * Get reference to the SharingFilter algorithm
125 *
126 * @return Reference to AliFMDSharingFilter object
127 */
128 const AliFMDSharingFilter& GetSharingFilter() const { return fSharingFilter; }
129 /**
130 * Get reference to the DensityCalculator algorithm
131 *
132 * @return Reference to AliFMDDensityCalculator object
133 */
134 const AliFMDDensityCalculator& GetDensityCalculator() const { return fDensityCalculator; }
135 /**
136 * Get reference to the Corrections algorithm
137 *
72cc12cd 138 * @return Reference to AliFMDCorrector object
1174780f 139 */
72cc12cd 140 const AliFMDCorrector& GetCorrections() const { return fCorrections; }
1174780f 141 /**
142 * Get reference to the HistCollector algorithm
143 *
144 * @return Reference to AliFMDHistCollector object
145 */
146 const AliFMDHistCollector& GetHistCollector() const { return fHistCollector; }
2b556440 147 /**
148 * Get reference to the EventPlaneFinder algorithm
149 *
150 * @return Reference to AliFMDEventPlaneFinder object
151 */
152 AliFMDEventPlaneFinder& GetEventPlaneFinder() { return fEventPlaneFinder; }
153 /**
154 * Get reference to the EventPlaneFinder algorithm
155 *
156 * @return Reference to AliFMDEventPlaneFinder object
157 */
158 const AliFMDEventPlaneFinder& GetEventPlaneFinder() const { return fEventPlaneFinder; }
fffea31d 159 /**
160 * @}
161 */
7e4038b5 162protected:
c8b1a7db 163 /**
164 * Copy constructor
165 *
166 * @param o Object to copy from
167 */
168 AliForwardMultiplicityTask(const AliForwardMultiplicityTask& o);
169 /**
170 * Assignment operator
171 *
172 * @param o Object to assign from
173 *
174 * @return Reference to this object
175 */
176 AliForwardMultiplicityTask& operator=(const AliForwardMultiplicityTask& o);
7e4038b5 177
8449e3e0 178 AliESDFMD fESDFMD; // Sharing corrected ESD object
fffea31d 179 AliFMDEventInspector fEventInspector; // Algorithm
7e4038b5 180 AliFMDSharingFilter fSharingFilter; // Algorithm
181 AliFMDDensityCalculator fDensityCalculator; // Algorithm
72cc12cd 182 AliFMDCorrector fCorrections; // Algorithm
7e4038b5 183 AliFMDHistCollector fHistCollector; // Algorithm
2b556440 184 AliFMDEventPlaneFinder fEventPlaneFinder; // Algorithm
7e4038b5 185
8449e3e0 186 ClassDef(AliForwardMultiplicityTask,6) // Forward multiplicity class
7e4038b5 187};
188
189#endif
190// Local Variables:
191// mode: C++
192// End:
193