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
7 #include "AliFMDDensityCalculator.h"
9 #include "AliForwardUtil.h"
16 * This class calculates the inclusive charged particle density
17 * in each for the 5 FMD rings based on the MC truth.
20 * - AliMCEvent MC truth event infromation
25 * @par Corrections used:
28 * @ingroup pwg2_forward_algo
29 * @ingroup pwg2_forward_mc
31 class AliFMDMCDensityCalculator : public AliFMDDensityCalculator
37 AliFMDMCDensityCalculator()
38 : AliFMDDensityCalculator(),
54 * @param name Name of object
56 AliFMDMCDensityCalculator(const char* name)
57 : AliFMDDensityCalculator(name),
73 * @param o Object to copy from
75 AliFMDMCDensityCalculator(const AliFMDMCDensityCalculator& o)
76 : AliFMDDensityCalculator(o) ,
92 virtual ~AliFMDMCDensityCalculator();
94 * Assignement operator
96 * @param o Object to assign from
98 * @return Reference to this object
100 AliFMDMCDensityCalculator& operator=(const AliFMDMCDensityCalculator& o);
102 * Initialize this object
104 * @param etaAxis Eta axis to use
106 void Init(const TAxis& etaAxis);
108 * Calculate the charged particle density from the MC track references.
110 * @param event MC event
111 * @param hists Histograms to fill
112 * @param vz Interaction z coordinate @f$ v_z@f$
113 * @param vtxBin bin corresponding to @f$ v_z@f$
115 * @return true on success
117 virtual Bool_t CalculateMC(const AliESDFMD& fmd,
118 AliForwardUtil::Histos& hists);
121 * Compare the result of analysing the ESD for
122 * the inclusive charged particle density to analysing
130 virtual Bool_t CompareResults(AliForwardUtil::Histos& esd,
131 AliForwardUtil::Histos& mc);
133 * Output diagnostic histograms to directory
135 * @param dir List to write in
137 void DefineOutput(TList* dir);
140 * MAke comparison profiles
144 * @param axis Eta axis
146 * @return Newly allocated profile object
148 TProfile2D* Make(UShort_t d, Char_t r, const TAxis& axis) const;
150 * MAke comparison profiles
155 * @return Newly allocated profile object
157 TH2D* Make(UShort_t d, Char_t r) const;
159 * Fill comparison profiles
163 * @param esd ESD histogram
164 * @param mc MC histogram
166 void Fill(UShort_t d, Char_t r, TH2* esd, TH2* mc);
168 TProfile2D* fFMD1i; // Comparison
169 TProfile2D* fFMD2i; // Comparison
170 TProfile2D* fFMD2o; // Comparison
171 TProfile2D* fFMD3i; // Comparison
172 TProfile2D* fFMD3o; // Comparison
173 TH2D* fFMD1iC; // Correlation in FMD1i
174 TH2D* fFMD2iC; // Correlation in FMD2i
175 TH2D* fFMD2oC; // Correlation in FMD2o
176 TH2D* fFMD3iC; // Correlation in FMD3i
177 TH2D* fFMD3oC; // Correlation in FMD3o
178 TList* fComps; // List of comparisons
180 ClassDef(AliFMDMCDensityCalculator,1); // Calculate Nch density