2 // This class calculates the inclusive charged particle density
3 // in each for the 5 FMD rings based on the MC truth.
5 #ifndef ALIFMDMCDENSITYCALCULATOR_H
6 #define ALIFMDMCDENSITYCALCULATOR_H
8 * @file AliFMDMCDensityCalculator.h
9 * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
10 * @date Wed Mar 23 14:03:27 2011
15 * @ingroup pwg2_forward_aod
17 #include "AliFMDDensityCalculator.h"
19 #include "AliForwardUtil.h"
26 * This class calculates the inclusive charged particle density
27 * in each for the 5 FMD rings based on the MC truth.
30 * - AliMCEvent MC truth event infromation
35 * @par Corrections used:
38 * @ingroup pwg2_forward_algo
39 * @ingroup pwg2_forward_mc
40 * @ingroup pwg2_forward_aod
42 class AliFMDMCDensityCalculator : public AliFMDDensityCalculator
48 AliFMDMCDensityCalculator()
49 : AliFMDDensityCalculator(),
70 * @param name Name of object
72 AliFMDMCDensityCalculator(const char* name)
73 : AliFMDDensityCalculator(name),
94 * @param o Object to copy from
96 AliFMDMCDensityCalculator(const AliFMDMCDensityCalculator& o)
97 : AliFMDDensityCalculator(o) ,
118 virtual ~AliFMDMCDensityCalculator();
120 * Assignement operator
122 * @param o Object to assign from
124 * @return Reference to this object
126 AliFMDMCDensityCalculator& operator=(const AliFMDMCDensityCalculator& o);
128 * Initialize this object
130 * @param etaAxis Eta axis to use
132 void Init(const TAxis& etaAxis);
134 * Calculate the charged particle density from the MC track references.
136 * @param fmd FMD ESD event structure
137 * @param hists Histograms to fill
139 * @return true on success
141 virtual Bool_t CalculateMC(const AliESDFMD& fmd,
142 AliForwardUtil::Histos& hists);
145 * Compare the result of analysing the ESD for
146 * the inclusive charged particle density to analysing
154 virtual Bool_t CompareResults(AliForwardUtil::Histos& esd,
155 AliForwardUtil::Histos& mc);
157 * Output diagnostic histograms to directory
159 * @param dir List to write in
161 void DefineOutput(TList* dir);
164 * MAke comparison profiles
168 * @param axis Eta axis
170 * @return Newly allocated profile object
172 TProfile2D* Make(UShort_t d, Char_t r, const TAxis& axis) const;
174 * MAke comparison profiles
179 * @return Newly allocated profile object
181 TH2D* Make(UShort_t d, Char_t r) const;
183 * Make comparison profiles
189 * @return Newly allocated profile object
191 TH1D* Make(UShort_t d, Char_t r, Int_t max) const;
193 * Fill comparison profiles
197 * @param esd ESD histogram
198 * @param mc MC histogram
200 void Fill(UShort_t d, Char_t r, TH2* esd, TH2* mc);
202 TProfile2D* fFMD1i; // Comparison
203 TProfile2D* fFMD2i; // Comparison
204 TProfile2D* fFMD2o; // Comparison
205 TProfile2D* fFMD3i; // Comparison
206 TProfile2D* fFMD3o; // Comparison
207 TH2D* fFMD1iC; // Correlation in FMD1i
208 TH2D* fFMD2iC; // Correlation in FMD2i
209 TH2D* fFMD2oC; // Correlation in FMD2o
210 TH2D* fFMD3iC; // Correlation in FMD3i
211 TH2D* fFMD3oC; // Correlation in FMD3o
212 TH1D* fFMD1iD; // Correlation in FMD1i
213 TH1D* fFMD2iD; // Correlation in FMD2i
214 TH1D* fFMD2oD; // Correlation in FMD2o
215 TH1D* fFMD3iD; // Correlation in FMD3i
216 TH1D* fFMD3oD; // Correlation in FMD3o
217 TList* fComps; // List of comparisons
219 ClassDef(AliFMDMCDensityCalculator,1); // Calculate Nch density