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(),
65 * @param name Name of object
67 AliFMDMCDensityCalculator(const char* name)
68 : AliFMDDensityCalculator(name),
84 * @param o Object to copy from
86 AliFMDMCDensityCalculator(const AliFMDMCDensityCalculator& o)
87 : AliFMDDensityCalculator(o) ,
103 virtual ~AliFMDMCDensityCalculator();
105 * Assignement operator
107 * @param o Object to assign from
109 * @return Reference to this object
111 AliFMDMCDensityCalculator& operator=(const AliFMDMCDensityCalculator& o);
113 * Initialize this object
115 * @param etaAxis Eta axis to use
117 void Init(const TAxis& etaAxis);
119 * Calculate the charged particle density from the MC track references.
121 * @param fmd FMD ESD event structure
122 * @param hists Histograms to fill
124 * @return true on success
126 virtual Bool_t CalculateMC(const AliESDFMD& fmd,
127 AliForwardUtil::Histos& hists);
130 * Compare the result of analysing the ESD for
131 * the inclusive charged particle density to analysing
139 virtual Bool_t CompareResults(AliForwardUtil::Histos& esd,
140 AliForwardUtil::Histos& mc);
142 * Output diagnostic histograms to directory
144 * @param dir List to write in
146 void DefineOutput(TList* dir);
149 * MAke comparison profiles
153 * @param axis Eta axis
155 * @return Newly allocated profile object
157 TProfile2D* Make(UShort_t d, Char_t r, const TAxis& axis) const;
159 * MAke comparison profiles
164 * @return Newly allocated profile object
166 TH2D* Make(UShort_t d, Char_t r) const;
168 * Fill comparison profiles
172 * @param esd ESD histogram
173 * @param mc MC histogram
175 void Fill(UShort_t d, Char_t r, TH2* esd, TH2* mc);
177 TProfile2D* fFMD1i; // Comparison
178 TProfile2D* fFMD2i; // Comparison
179 TProfile2D* fFMD2o; // Comparison
180 TProfile2D* fFMD3i; // Comparison
181 TProfile2D* fFMD3o; // Comparison
182 TH2D* fFMD1iC; // Correlation in FMD1i
183 TH2D* fFMD2iC; // Correlation in FMD2i
184 TH2D* fFMD2oC; // Correlation in FMD2o
185 TH2D* fFMD3iC; // Correlation in FMD3i
186 TH2D* fFMD3oC; // Correlation in FMD3o
187 TList* fComps; // List of comparisons
189 ClassDef(AliFMDMCDensityCalculator,1); // Calculate Nch density