]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/FORWARD/analysis2/AliForwardMultiplicityTask.h
Fixed references from PWG2 -> PWGLF - very efficiently done using ETags.
[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"
fffea31d 24#include "AliFMDEnergyFitter.h"
7e4038b5 25#include <AliESDFMD.h>
7e4038b5 26class AliESDEvent;
27class TH2D;
28class TList;
7e4038b5 29
7e4038b5 30/**
31 * Calculate the multiplicity in the forward regions event-by-event
32 *
33 * @par Inputs:
34 * - AliESDEvent
35 *
36 * @par Outputs:
37 * - AliAODForwardMult
38 *
39 * @par Histograms
40 *
41 * @par Corrections used
42 *
bd6f5206 43 * @ingroup pwglf_forward_tasks
44 * @ingroup pwglf_forward_aod
7e4038b5 45 *
46 */
eb865a4f 47class AliForwardMultiplicityTask : public AliForwardMultiplicityBase
7e4038b5 48{
49public:
50 /**
51 * Constructor
52 *
53 * @param name Name of task
54 */
0bd4b00f 55 AliForwardMultiplicityTask(const char* name);
7e4038b5 56 /**
57 * Constructor
58 */
0bd4b00f 59 AliForwardMultiplicityTask();
7e4038b5 60 /**
61 * Copy constructor
62 *
63 * @param o Object to copy from
64 */
0bd4b00f 65 AliForwardMultiplicityTask(const AliForwardMultiplicityTask& o);
7e4038b5 66 /**
67 * Assignment operator
68 *
69 * @param o Object to assign from
70 *
71 * @return Reference to this object
72 */
0bd4b00f 73 AliForwardMultiplicityTask& operator=(const AliForwardMultiplicityTask& o);
7e4038b5 74 /**
75 * @{
76 * @name Interface methods
77 */
7e4038b5 78 /**
79 * Create output objects
80 *
81 */
82 virtual void UserCreateOutputObjects();
83 /**
84 * Process each event
85 *
86 * @param option Not used
87 */
88 virtual void UserExec(Option_t* option);
89 /**
90 * End of job
91 *
92 * @param option Not used
93 */
94 virtual void Terminate(Option_t* option);
95 /**
96 * @}
97 */
fea27ee0 98 /**
fffea31d 99 * @{
100 * @name Access to sub-algorithms
101 */
102 /**
103 * Get reference to the EventInspector algorithm
fea27ee0 104 *
fffea31d 105 * @return Reference to AliFMDEventInspector object
fea27ee0 106 */
fffea31d 107 AliFMDEventInspector& GetEventInspector() { return fEventInspector; }
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; }
1174780f 138 /**
139 * Get reference to the SharingFilter algorithm
140 *
141 * @return Reference to AliFMDSharingFilter object
142 */
143 const AliFMDSharingFilter& GetSharingFilter() const { return fSharingFilter; }
144 /**
145 * Get reference to the DensityCalculator algorithm
146 *
147 * @return Reference to AliFMDDensityCalculator object
148 */
149 const AliFMDDensityCalculator& GetDensityCalculator() const { return fDensityCalculator; }
150 /**
151 * Get reference to the Corrections algorithm
152 *
72cc12cd 153 * @return Reference to AliFMDCorrector object
1174780f 154 */
72cc12cd 155 const AliFMDCorrector& GetCorrections() const { return fCorrections; }
1174780f 156 /**
157 * Get reference to the HistCollector algorithm
158 *
159 * @return Reference to AliFMDHistCollector object
160 */
161 const AliFMDHistCollector& GetHistCollector() const { return fHistCollector; }
fffea31d 162 /**
163 * @}
164 */
7984e5f7 165 /**
166 * Set debug level
167 *
168 * @param dbg Debug level
169 */
fffea31d 170 void SetDebug(Int_t dbg);
7e4038b5 171protected:
172 /**
173 * Initialise the sub objects and stuff. Called on first event
174 *
175 */
176 virtual void InitializeSubs();
7e4038b5 177
7e4038b5 178 TH2D* fHData; // Summed 1/Nd^2N_{ch}/dphideta
7e4038b5 179 AliESDFMD fESDFMD; // Sharing corrected ESD object
180 AliForwardUtil::Histos fHistos; // Cache histograms
181 AliAODForwardMult fAODFMD; // Output object
5bb5d1f6 182 AliForwardUtil::Histos fRingSums; // Cache histograms
7e4038b5 183
fffea31d 184 AliFMDEventInspector fEventInspector; // Algorithm
7e4038b5 185 AliFMDSharingFilter fSharingFilter; // Algorithm
186 AliFMDDensityCalculator fDensityCalculator; // Algorithm
72cc12cd 187 AliFMDCorrector fCorrections; // Algorithm
7e4038b5 188 AliFMDHistCollector fHistCollector; // Algorithm
189
190 TList* fList; // Output list
7e4038b5 191
0bd4b00f 192 ClassDef(AliForwardMultiplicityTask,1) // Forward multiplicity class
7e4038b5 193};
194
195#endif
196// Local Variables:
197// mode: C++
198// End:
199