]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FORWARD/analysis2/AliForwardMCMultiplicityTask.h
Renamed AliFMDCorrDeadChannels to AliFMDCorrAcceptance
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / AliForwardMCMultiplicityTask.h
CommitLineData
7984e5f7 1//
2// Calculate the multiplicity in the forward regions event-by-event
3//
285e7b27 4#ifndef ALIFORWARDMCMULTIPLICITYTASK_H
5#define ALIFORWARDMCMULTIPLICITYTASK_H
6#include "AliForwardMultiplicityBase.h"
7#include "AliForwardUtil.h"
8#include "AliFMDEventInspector.h"
9#include "AliFMDEnergyFitter.h"
10#include "AliFMDMCSharingFilter.h"
11#include "AliFMDMCDensityCalculator.h"
12#include "AliFMDMCCorrections.h"
13#include "AliFMDHistCollector.h"
14#include "AliAODForwardMult.h"
15#include "AliFMDEnergyFitter.h"
16#include <AliESDFMD.h>
17class AliESDEvent;
18class TH2D;
19class TList;
20
21/**
22 * Calculate the multiplicity in the forward regions event-by-event
23 *
24 * @par Inputs:
25 * - AliESDEvent
7984e5f7 26 * - Kinematics
27 * - Track references
285e7b27 28 *
29 * @par Outputs:
30 * - AliAODForwardMult
31 *
32 * @par Histograms
33 *
34 * @par Corrections used
35 *
36 * @ingroup pwg2_forward_tasks
37 * @ingroup pwg2_forward_mc
38 *
39 */
40class AliForwardMCMultiplicityTask : public AliForwardMultiplicityBase
41{
42public:
43 /**
44 * Constructor
45 *
46 * @param name Name of task
47 */
48 AliForwardMCMultiplicityTask(const char* name);
49 /**
50 * Constructor
51 */
52 AliForwardMCMultiplicityTask();
53 /**
54 * Copy constructor
55 *
56 * @param o Object to copy from
57 */
58 AliForwardMCMultiplicityTask(const AliForwardMCMultiplicityTask& o);
59 /**
60 * Assignment operator
61 *
62 * @param o Object to assign from
63 *
64 * @return Reference to this object
65 */
66 AliForwardMCMultiplicityTask&
67 operator=(const AliForwardMCMultiplicityTask& o);
68 /**
69 * @{
70 * @name Interface methods
71 */
72 /**
73 * Create output objects
74 *
75 */
76 virtual void UserCreateOutputObjects();
77 /**
78 * Process each event
79 *
80 * @param option Not used
81 */
82 virtual void UserExec(Option_t* option);
83 /**
84 * End of job
85 *
86 * @param option Not used
87 */
88 virtual void Terminate(Option_t* option);
89 /**
90 * @}
91 */
285e7b27 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 EnergyFitter algorithm
104 *
105 * @return Reference to AliFMDEnergyFitter object
106 */
107 AliFMDEnergyFitter& GetEnergyFitter() { return fEnergyFitter; }
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 AliFMDCorrections object
124 */
125 AliFMDCorrections& GetCorrections() { return fCorrections; }
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; }
138 /**
139 * Get reference to the EnergyFitter algorithm
140 *
141 * @return Reference to AliFMDEnergyFitter object
142 */
143 const AliFMDEnergyFitter& GetEnergyFitter() const { return fEnergyFitter; }
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 AliFMDCorrections object
160 */
161 const AliFMDCorrections& 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; }
285e7b27 168 /**
169 * @}
170 */
7984e5f7 171 /**
172 * Set debug level
173 *
174 * @param dbg debug level
175 */
285e7b27 176 void SetDebug(Int_t dbg);
177protected:
178 /**
179 * Initialise the sub objects and stuff. Called on first event
180 *
181 */
182 virtual void InitializeSubs();
183
184 TH2D* fHData; // Summed 1/Nd^2N_{ch}/dphideta
185 AliESDFMD fESDFMD; // Sharing corrected ESD object
186 AliForwardUtil::Histos fHistos; // Cache histograms
187 AliAODForwardMult fAODFMD; // Output object
188 AliESDFMD fMCESDFMD; // MC 'Sharing corrected' ESD object
189 AliForwardUtil::Histos fMCHistos; // MC Cache histograms
190 AliAODForwardMult fMCAODFMD; // MC Output object
4cbdf467 191 TH2D* fPrimary; // Per event primary particles
285e7b27 192
193 AliFMDEventInspector fEventInspector; // Algorithm
194 AliFMDEnergyFitter fEnergyFitter; // Algorithm
195 AliFMDMCSharingFilter fSharingFilter; // Algorithm
196 AliFMDMCDensityCalculator fDensityCalculator; // Algorithm
197 AliFMDMCCorrections fCorrections; // Algorithm
198 AliFMDHistCollector fHistCollector; // Algorithm
199
200 TList* fList; // Output list
201
202 ClassDef(AliForwardMCMultiplicityTask,1) // Forward multiplicity class
203};
204
205#endif
206// Local Variables:
207// mode: C++
208// End:
209