1 #ifndef ALIFMDMCSHARINGFILTER_H
2 #define ALIFMDMCSHARINGFILTER_H
3 #include "AliFMDSharingFilter.h"
7 * Class to do the sharing correction for MC data.
10 * - AliESDFMD object - from reconstruction
13 * - AliESDFMD object - copy of input, but with signals merged
15 * @par Corrections used:
19 * - For each ring (FMD1i, FMD2i, FMD2o, FMD3i, FMD3o) the distribution of
20 * signals before and after the filter.
21 * - For each ring (see above), an array of distributions of number of
22 * hit strips for each vertex bin (if enabled - see Init method)
25 * @ingroup pwg2_forward_algo
26 * @ingroup pwg2_forward_mc
28 class AliFMDMCSharingFilter : public AliFMDSharingFilter
34 virtual ~AliFMDMCSharingFilter();
36 * Default Constructor - do not use
38 AliFMDMCSharingFilter();
42 * @param title Title of object - not significant
44 AliFMDMCSharingFilter(const char* title);
48 * @param o Object to copy from
50 AliFMDMCSharingFilter(const AliFMDMCSharingFilter& o);
54 * @param o Object to assign from
56 * @return Reference to this
58 AliFMDMCSharingFilter& operator=(const AliFMDMCSharingFilter& o);
60 * Filter the input AliESDFMD object
62 * @param input Input (from ESD) - used for eta
63 * @param lowFlux If this is a low-flux event
64 * @param output Output AliESDFMD object
66 * @return True on success, false otherwise
68 Bool_t FilterMC(const AliESDFMD& input,
69 const AliMCEvent& event,
73 * Compare the result of merging to the monte-carlo truth. This
74 * fills the correlation histograms
76 * @param esd ESD after sharing correction
79 void CompareResults(const AliESDFMD& esd, const AliESDFMD& mc);
82 * Define the output histograms. These are put in a sub list of the
83 * passed list. The histograms are merged before the parent task calls
84 * AliAnalysisTaskSE::Terminate
86 * @param dir Directory to add to
88 void DefineOutput(TList* dir);
90 * Scale the histograms to the total number of events
92 * @param dir Where the output is
93 * @param nEvents Number of events
95 void ScaleHistograms(TList* dir, Int_t nEvents);
99 * @param option Not used
101 void Print(Option_t* option="") const;
103 void StoreParticle(UShort_t d, Char_t r, UShort_t s, UShort_t t,
104 AliESDFMD& output) const;
105 TH2D* fFMD1i; // ESD-MC correlation
106 TH2D* fFMD2i; // ESD-MC correlation
107 TH2D* fFMD2o; // ESD-MC correlation
108 TH2D* fFMD3i; // ESD-MC correlation
109 TH2D* fFMD3o; // ESD-MC correlation
110 TH1D* fSumEta; // MC dN/deta
112 ClassDef(AliFMDMCSharingFilter,1); //