]>
Commit | Line | Data |
---|---|---|
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 | 26 | class AliESDEvent; |
27 | class TH2D; | |
28 | class 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 | 47 | class AliForwardMultiplicityTask : public AliForwardMultiplicityBase |
7e4038b5 | 48 | { |
49 | public: | |
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 | 171 | protected: |
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 |