]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/FORWARD/analysis2/AliForwardMultiplicityTask.h
Mega commit of many changes to PWGLFforward
[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 /**
62 * Copy constructor
63 *
64 * @param o Object to copy from
65 */
0bd4b00f 66 AliForwardMultiplicityTask(const AliForwardMultiplicityTask& o);
7e4038b5 67 /**
68 * Assignment operator
69 *
70 * @param o Object to assign from
71 *
72 * @return Reference to this object
73 */
0bd4b00f 74 AliForwardMultiplicityTask& operator=(const AliForwardMultiplicityTask& o);
7e4038b5 75 /**
76 * @{
77 * @name Interface methods
78 */
7e4038b5 79 /**
80 * Process each event
81 *
82 * @param option Not used
83 */
84 virtual void UserExec(Option_t* option);
36ffcf83 85 /**
86 * Called on the slaves when the job has finished.
87 *
88 */
89 virtual void FinishTaskOutput();
7e4038b5 90 /**
91 * @}
92 */
fea27ee0 93 /**
fffea31d 94 * @{
95 * @name Access to sub-algorithms
96 */
97 /**
98 * Get reference to the EventInspector algorithm
fea27ee0 99 *
fffea31d 100 * @return Reference to AliFMDEventInspector object
fea27ee0 101 */
fffea31d 102 AliFMDEventInspector& GetEventInspector() { return fEventInspector; }
7e4038b5 103 /**
104 * Get reference to the SharingFilter algorithm
105 *
106 * @return Reference to AliFMDSharingFilter object
107 */
108 AliFMDSharingFilter& GetSharingFilter() { return fSharingFilter; }
109 /**
110 * Get reference to the DensityCalculator algorithm
111 *
112 * @return Reference to AliFMDDensityCalculator object
113 */
114 AliFMDDensityCalculator& GetDensityCalculator() { return fDensityCalculator; }
115 /**
116 * Get reference to the Corrections algorithm
117 *
72cc12cd 118 * @return Reference to AliFMDCorrector object
7e4038b5 119 */
72cc12cd 120 AliFMDCorrector& GetCorrections() { return fCorrections; }
7e4038b5 121 /**
122 * Get reference to the HistCollector algorithm
123 *
124 * @return Reference to AliFMDHistCollector object
125 */
126 AliFMDHistCollector& GetHistCollector() { return fHistCollector; }
1174780f 127 /**
128 * Get reference to the EventInspector algorithm
129 *
130 * @return Reference to AliFMDEventInspector object
131 */
132 const AliFMDEventInspector& GetEventInspector() const { return fEventInspector; }
1174780f 133 /**
134 * Get reference to the SharingFilter algorithm
135 *
136 * @return Reference to AliFMDSharingFilter object
137 */
138 const AliFMDSharingFilter& GetSharingFilter() const { return fSharingFilter; }
139 /**
140 * Get reference to the DensityCalculator algorithm
141 *
142 * @return Reference to AliFMDDensityCalculator object
143 */
144 const AliFMDDensityCalculator& GetDensityCalculator() const { return fDensityCalculator; }
145 /**
146 * Get reference to the Corrections algorithm
147 *
72cc12cd 148 * @return Reference to AliFMDCorrector object
1174780f 149 */
72cc12cd 150 const AliFMDCorrector& GetCorrections() const { return fCorrections; }
1174780f 151 /**
152 * Get reference to the HistCollector algorithm
153 *
154 * @return Reference to AliFMDHistCollector object
155 */
156 const AliFMDHistCollector& GetHistCollector() const { return fHistCollector; }
2b556440 157 /**
158 * Get reference to the EventPlaneFinder algorithm
159 *
160 * @return Reference to AliFMDEventPlaneFinder object
161 */
162 AliFMDEventPlaneFinder& GetEventPlaneFinder() { return fEventPlaneFinder; }
163 /**
164 * Get reference to the EventPlaneFinder algorithm
165 *
166 * @return Reference to AliFMDEventPlaneFinder object
167 */
168 const AliFMDEventPlaneFinder& GetEventPlaneFinder() const { return fEventPlaneFinder; }
fffea31d 169 /**
170 * @}
171 */
7e4038b5 172protected:
7e4038b5 173
8449e3e0 174 AliESDFMD fESDFMD; // Sharing corrected ESD object
fffea31d 175 AliFMDEventInspector fEventInspector; // Algorithm
7e4038b5 176 AliFMDSharingFilter fSharingFilter; // Algorithm
177 AliFMDDensityCalculator fDensityCalculator; // Algorithm
72cc12cd 178 AliFMDCorrector fCorrections; // Algorithm
7e4038b5 179 AliFMDHistCollector fHistCollector; // Algorithm
2b556440 180 AliFMDEventPlaneFinder fEventPlaneFinder; // Algorithm
7e4038b5 181
8449e3e0 182 ClassDef(AliForwardMultiplicityTask,6) // Forward multiplicity class
7e4038b5 183};
184
185#endif
186// Local Variables:
187// mode: C++
188// End:
189