]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/FORWARD/analysis2/AliForwardMultiplicityTask.h
Updates for better drawings
[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"
23#include "AliAODForwardMult.h"
2b556440 24#include "AliAODForwardEP.h"
fffea31d 25#include "AliFMDEnergyFitter.h"
2b556440 26#include "AliFMDEventPlaneFinder.h"
7e4038b5 27#include <AliESDFMD.h>
7e4038b5 28class AliESDEvent;
29class TH2D;
30class TList;
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 /**
63 * Copy constructor
64 *
65 * @param o Object to copy from
66 */
0bd4b00f 67 AliForwardMultiplicityTask(const AliForwardMultiplicityTask& o);
7e4038b5 68 /**
69 * Assignment operator
70 *
71 * @param o Object to assign from
72 *
73 * @return Reference to this object
74 */
0bd4b00f 75 AliForwardMultiplicityTask& operator=(const AliForwardMultiplicityTask& o);
7e4038b5 76 /**
77 * @{
78 * @name Interface methods
79 */
7e4038b5 80 /**
81 * Create output objects
82 *
83 */
84 virtual void UserCreateOutputObjects();
85 /**
86 * Process each event
87 *
88 * @param option Not used
89 */
90 virtual void UserExec(Option_t* option);
91 /**
92 * End of job
93 *
94 * @param option Not used
95 */
96 virtual void Terminate(Option_t* option);
97 /**
98 * @}
99 */
fea27ee0 100 /**
fffea31d 101 * @{
102 * @name Access to sub-algorithms
103 */
104 /**
105 * Get reference to the EventInspector algorithm
fea27ee0 106 *
fffea31d 107 * @return Reference to AliFMDEventInspector object
fea27ee0 108 */
fffea31d 109 AliFMDEventInspector& GetEventInspector() { return fEventInspector; }
7e4038b5 110 /**
111 * Get reference to the SharingFilter algorithm
112 *
113 * @return Reference to AliFMDSharingFilter object
114 */
115 AliFMDSharingFilter& GetSharingFilter() { return fSharingFilter; }
116 /**
117 * Get reference to the DensityCalculator algorithm
118 *
119 * @return Reference to AliFMDDensityCalculator object
120 */
121 AliFMDDensityCalculator& GetDensityCalculator() { return fDensityCalculator; }
122 /**
123 * Get reference to the Corrections algorithm
124 *
72cc12cd 125 * @return Reference to AliFMDCorrector object
7e4038b5 126 */
72cc12cd 127 AliFMDCorrector& GetCorrections() { return fCorrections; }
7e4038b5 128 /**
129 * Get reference to the HistCollector algorithm
130 *
131 * @return Reference to AliFMDHistCollector object
132 */
133 AliFMDHistCollector& GetHistCollector() { return fHistCollector; }
1174780f 134 /**
135 * Get reference to the EventInspector algorithm
136 *
137 * @return Reference to AliFMDEventInspector object
138 */
139 const AliFMDEventInspector& GetEventInspector() const { return fEventInspector; }
1174780f 140 /**
141 * Get reference to the SharingFilter algorithm
142 *
143 * @return Reference to AliFMDSharingFilter object
144 */
145 const AliFMDSharingFilter& GetSharingFilter() const { return fSharingFilter; }
146 /**
147 * Get reference to the DensityCalculator algorithm
148 *
149 * @return Reference to AliFMDDensityCalculator object
150 */
151 const AliFMDDensityCalculator& GetDensityCalculator() const { return fDensityCalculator; }
152 /**
153 * Get reference to the Corrections algorithm
154 *
72cc12cd 155 * @return Reference to AliFMDCorrector object
1174780f 156 */
72cc12cd 157 const AliFMDCorrector& GetCorrections() const { return fCorrections; }
1174780f 158 /**
159 * Get reference to the HistCollector algorithm
160 *
161 * @return Reference to AliFMDHistCollector object
162 */
163 const AliFMDHistCollector& GetHistCollector() const { return fHistCollector; }
2b556440 164 /**
165 * Get reference to the EventPlaneFinder algorithm
166 *
167 * @return Reference to AliFMDEventPlaneFinder object
168 */
169 AliFMDEventPlaneFinder& GetEventPlaneFinder() { return fEventPlaneFinder; }
170 /**
171 * Get reference to the EventPlaneFinder algorithm
172 *
173 * @return Reference to AliFMDEventPlaneFinder object
174 */
175 const AliFMDEventPlaneFinder& GetEventPlaneFinder() const { return fEventPlaneFinder; }
fffea31d 176 /**
177 * @}
178 */
2b556440 179
7984e5f7 180 /**
181 * Set debug level
182 *
183 * @param dbg Debug level
184 */
fffea31d 185 void SetDebug(Int_t dbg);
7e4038b5 186protected:
187 /**
188 * Initialise the sub objects and stuff. Called on first event
189 *
6ff251d8 190 * @return false on errors
7e4038b5 191 */
6ff251d8 192 virtual Bool_t InitializeSubs();
7e4038b5 193
7e4038b5 194 TH2D* fHData; // Summed 1/Nd^2N_{ch}/dphideta
7e4038b5 195 AliESDFMD fESDFMD; // Sharing corrected ESD object
196 AliForwardUtil::Histos fHistos; // Cache histograms
197 AliAODForwardMult fAODFMD; // Output object
2b556440 198 AliAODForwardEP fAODEP; // Output object
5bb5d1f6 199 AliForwardUtil::Histos fRingSums; // Cache histograms
7e4038b5 200
fffea31d 201 AliFMDEventInspector fEventInspector; // Algorithm
7e4038b5 202 AliFMDSharingFilter fSharingFilter; // Algorithm
203 AliFMDDensityCalculator fDensityCalculator; // Algorithm
72cc12cd 204 AliFMDCorrector fCorrections; // Algorithm
7e4038b5 205 AliFMDHistCollector fHistCollector; // Algorithm
2b556440 206 AliFMDEventPlaneFinder fEventPlaneFinder; // Algorithm
7e4038b5 207
208 TList* fList; // Output list
7e4038b5 209
0bd4b00f 210 ClassDef(AliForwardMultiplicityTask,1) // Forward multiplicity class
7e4038b5 211};
212
213#endif
214// Local Variables:
215// mode: C++
216// End:
217