]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FORWARD/analysis2/AliFMDMCCorrector.h
Simplify
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / AliFMDMCCorrector.h
CommitLineData
7984e5f7 1//
2// This class calculates the exclusive charged particle density
3// in each for the 5 FMD rings.
4//
72cc12cd 5#ifndef ALIFMDMCCORRECTOR_H
6#define ALIFMDMCCORRECTOR_H
ffca499d 7/**
8 * @file AliFMDMCCorrector.h
9 * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
10 * @date Wed Mar 23 14:03:15 2011
11 *
12 * @brief
13 *
14 *
15 * @ingroup pwg2_forward_aod
16 */
72cc12cd 17#include "AliFMDCorrector.h"
886dd429 18#include <TList.h>
19class TProfile2D;
20class TH2;
21
22/**
23 * @defgroup pwg2_forward_mc Monte-carlo code
24 *
25 * @ingroup pwg2_forward
26 */
27/**
28 * This class calculates the exclusive charged particle density
29 * in each for the 5 FMD rings.
30 *
31 * @par Input:
32 * - 5 RingHistos objects - each with a number of vertex dependent
33 * 2D histograms of the inclusive charge particle density
34 *
35 * @par Output:
36 * - 5 RingHistos objects - each with a number of vertex dependent
37 * 2D histograms of the exclusive charge particle density
38 *
39 * @par Corrections used:
40 * - AliFMDCorrSecondaryMap;
41 * - AliFMDCorrVertexBias
42 * - AliFMDCorrMergingEfficiency
43 *
44 * @ingroup pwg2_forward_algo
45 * @ingroup pwg2_forward_mc
ffca499d 46 * @ingroup pwg2_forward_aod
886dd429 47 */
72cc12cd 48class AliFMDMCCorrector : public AliFMDCorrector
886dd429 49{
50public:
51 /**
52 * Constructor
53 */
72cc12cd 54 AliFMDMCCorrector()
55 : AliFMDCorrector(),
886dd429 56 fFMD1i(0),
57 fFMD2i(0),
58 fFMD2o(0),
59 fFMD3i(0),
60 fFMD3o(0),
61 fComps(0)
62 {}
63 /**
64 * Constructor
65 *
66 * @param name Name of object
67 */
72cc12cd 68 AliFMDMCCorrector(const char* name)
69 : AliFMDCorrector(name),
886dd429 70 fFMD1i(0),
71 fFMD2i(0),
72 fFMD2o(0),
73 fFMD3i(0),
74 fFMD3o(0),
75 fComps(0)
76 {}
77 /**
78 * Copy constructor
79 *
80 * @param o Object to copy from
81 */
72cc12cd 82 AliFMDMCCorrector(const AliFMDMCCorrector& o)
83 : AliFMDCorrector(o),
886dd429 84 fFMD1i(o.fFMD1i),
85 fFMD2i(o.fFMD2i),
86 fFMD2o(o.fFMD2o),
87 fFMD3i(o.fFMD3i),
88 fFMD3o(o.fFMD3o),
89 fComps(0)
90 {}
91 /**
92 * Destructor
93 */
72cc12cd 94 virtual ~AliFMDMCCorrector();
886dd429 95 /**
96 * Assignement operator
97 *
98 * @param o Object to assign from
99 *
100 * @return Reference to this object
101 */
72cc12cd 102 AliFMDMCCorrector& operator=(const AliFMDMCCorrector&);
886dd429 103 /**
104 * Initialize this object
105 *
106 * @param etaAxis Eta axis to use
107 */
108 void Init(const TAxis& etaAxis);
109 /**
110 * Do the calculations
111 *
112 * @param hists Cache of histograms
113 * @param vtxBin Vertex bin
114 *
115 * @return true on successs
116 */
117 virtual Bool_t CorrectMC(AliForwardUtil::Histos& hists, UShort_t vtxBin);
118 /**
119 * Compare the result of analysing the ESD for
120 * the inclusive charged particle density to analysing
121 * MC truth
122 *
123 * @param esd
124 * @param mc
125 *
126 * @return
127 */
128 virtual Bool_t CompareResults(AliForwardUtil::Histos& esd,
129 AliForwardUtil::Histos& mc);
130 /**
131 * Output diagnostic histograms to directory
132 *
133 * @param dir List to write in
134 */
135 void DefineOutput(TList* dir);
136protected:
137 /**
138 * MAke comparison profiles
139 *
140 * @param d Detector
141 * @param r Ring
142 * @param axis Eta axis
143 *
144 * @return Newly allocated profile object
145 */
146 TProfile2D* Make(UShort_t d, Char_t r, const TAxis& axis) const;
147 /**
148 * Fill comparison profiles
149 *
150 * @param d Detector
151 * @param r Ring
152 * @param esd ESD histogram
153 * @param mc MC histogram
154 */
155 void Fill(UShort_t d, Char_t r, TH2* esd, TH2* mc);
156
157 TProfile2D* fFMD1i; // Comparison
158 TProfile2D* fFMD2i; // Comparison
159 TProfile2D* fFMD2o; // Comparison
160 TProfile2D* fFMD3i; // Comparison
161 TProfile2D* fFMD3o; // Comparison
162 TList* fComps; // List of comparisons
163
72cc12cd 164 ClassDef(AliFMDMCCorrector,1); // Calculate Nch density
886dd429 165};
166
167#endif
168// Local Variables:
169// mode: C++
170// End:
171