]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FORWARD/analysis2/AliFMDCorrections.h
Added ROOT THtml docs to .cxx and top .h
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / AliFMDCorrections.h
CommitLineData
7984e5f7 1// This class calculates the exclusive charged particle density
2// in each for the 5 FMD rings.
3//
4#ifndef ALIFMDCORRECTIONS_H
5#define ALIFMDCORRECTIONS_H
7e4038b5 6#include <TNamed.h>
7#include <TList.h>
8#include "AliForwardUtil.h"
7e4038b5 9class TH2D;
10
11/**
219882ab 12 * @defgroup pwg2_forward_algo Algorithms
13 *
14 * @ingroup pwg2_forward
15 */
16/**
17 * This class calculates the exclusive charged particle density
7e4038b5 18 * in each for the 5 FMD rings.
19 *
20 * @par Input:
219882ab 21 * - 5 RingHistos objects - each with a number of vertex dependent
22 * 2D histograms of the inclusive charge particle density
7e4038b5 23 *
24 * @par Output:
25 * - 5 RingHistos objects - each with a number of vertex dependent
219882ab 26 * 2D histograms of the exclusive charge particle density
7e4038b5 27 *
28 * @par Corrections used:
219882ab 29 * - AliFMDCorrSecondaryMap;
30 * - AliFMDCorrVertexBias
31 * - AliFMDCorrMergingEfficiency
7e4038b5 32 *
219882ab 33 * @ingroup pwg2_forward_algo
7e4038b5 34 */
35class AliFMDCorrections : public TNamed
36{
37public:
38 /**
39 * Constructor
40 */
41 AliFMDCorrections();
42 /**
43 * Constructor
44 *
45 * @param name Name of object
46 */
47 AliFMDCorrections(const char* name);
48 /**
49 * Copy constructor
50 *
51 * @param o Object to copy from
52 */
53 AliFMDCorrections(const AliFMDCorrections& o);
54 /**
55 * Destructor
56 */
57 virtual ~AliFMDCorrections();
58 /**
59 * Assignement operator
60 *
61 * @param o Object to assign from
62 *
63 * @return Reference to this object
64 */
65 AliFMDCorrections& operator=(const AliFMDCorrections&);
66 /**
67 * Do the calculations
68 *
69 * @param hists Cache of histograms
70 * @param vtxBin Vertex bin
71 *
72 * @return true on successs
73 */
0bd4b00f 74 virtual Bool_t Correct(AliForwardUtil::Histos& hists, UShort_t vtxBin);
7e4038b5 75 /**
76 * Scale the histograms to the total number of events
77 *
c389303e 78 * @param dir Where the output is stored
7e4038b5 79 * @param nEvents Number of events
80 */
219882ab 81 virtual void ScaleHistograms(TList* dir, Int_t nEvents);
7e4038b5 82 /**
83 * Output diagnostic histograms to directory
84 *
85 * @param dir List to write in
86 */
219882ab 87 virtual void DefineOutput(TList* dir);
8dc20805 88 /**
89 * Set the debug level. The higher the value the more output
90 *
91 * @param dbg Debug level
92 */
93 void SetDebug(Int_t dbg=1) { fDebug = dbg; }
0bd4b00f 94 /**
95 * Print information
96 *
97 * @param option Not used
98 */
99 void Print(Option_t* option="") const;
7e4038b5 100protected:
101 /**
102 * Internal data structure to keep track of the histograms
103 */
9d99b0dd 104 struct RingHistos : public AliForwardUtil::RingHistos
7e4038b5 105 {
106 /**
107 * Default CTOR
108 */
109 RingHistos();
110 /**
111 * Constructor
112 *
113 * @param d detector
114 * @param r ring
115 */
116 RingHistos(UShort_t d, Char_t r);
117 /**
118 * Copy constructor
119 *
120 * @param o Object to copy from
121 */
122 RingHistos(const RingHistos& o);
123 /**
124 * Assignment operator
125 *
126 * @param o Object to assign from
127 *
128 * @return Reference to this
129 */
130 RingHistos& operator=(const RingHistos& o);
131 /**
132 * Destructor
133 */
134 ~RingHistos();
c389303e 135 /**
136 * Make output
137 *
138 * @param dir Where to put it
139 */
7e4038b5 140 void Output(TList* dir);
9d99b0dd 141 /**
142 * Scale the histograms to the total number of events
143 *
c389303e 144 * @param dir where the output is stored
9d99b0dd 145 * @param nEvents Number of events
146 */
147 void ScaleHistograms(TList* dir, Int_t nEvents);
7e4038b5 148 TH2D* fDensity; // Distribution primary Nch
9d99b0dd 149 ClassDef(RingHistos,1);
7e4038b5 150 };
151 /**
152 * Get the ring histogram container
153 *
154 * @param d Detector
155 * @param r Ring
156 *
157 * @return Ring histogram container
158 */
159 RingHistos* GetRingHistos(UShort_t d, Char_t r) const;
160
161 TList fRingHistos; // List of histogram containers
8dc20805 162 Int_t fDebug; // Debug level
7e4038b5 163
164 ClassDef(AliFMDCorrections,1); // Calculate Nch density
165};
166
167#endif
168// Local Variables:
169// mode: C++
170// End:
171