]>
Commit | Line | Data |
---|---|---|
b82e76e0 | 1 | #ifndef ALIFMDANACALIBBACKGROUNDCORRECTION_H |
2 | #define ALIFMDANACALIBBACKGROUNDCORRECTION_H | |
3 | ||
4 | #include <TObject.h> | |
5 | #include <TObjArray.h> | |
6 | // #include <TH2F.h> | |
7 | #include <TAxis.h> | |
4fb49e43 | 8 | #include <TList.h> |
b82e76e0 | 9 | class TH2F; |
4fb49e43 | 10 | class TH1F; |
b82e76e0 | 11 | class TBrowser; |
12 | ||
cfe59e45 | 13 | /** |
14 | * @ingroup FMD_ana | |
1b418b63 | 15 | * @brief Object to store secondary corrections. |
16 | * | |
17 | * Objects of this class contains 1 2D histogram per detector,ring | |
18 | * per vertex bin. The histogram is an (eta,phi) histogram of the ratio | |
19 | * of total number of particles (seconary+primary) to the number of | |
20 | * primary particles. | |
21 | * | |
22 | * Objects of this class are generated by | |
23 | * @todo expand documentation | |
cfe59e45 | 24 | * |
25 | */ | |
b82e76e0 | 26 | class AliFMDAnaCalibBackgroundCorrection : public TObject |
27 | { | |
1b418b63 | 28 | public: |
29 | /** | |
30 | * Constructor | |
31 | */ | |
b82e76e0 | 32 | AliFMDAnaCalibBackgroundCorrection(); |
1b418b63 | 33 | /** |
34 | * Copy constructor | |
35 | * | |
36 | * @param o Object to copy from | |
37 | */ | |
b82e76e0 | 38 | AliFMDAnaCalibBackgroundCorrection(const AliFMDAnaCalibBackgroundCorrection& o); |
1b418b63 | 39 | /** |
40 | * Assignment operator | |
41 | * | |
42 | * @param o Object to assign from | |
43 | * | |
44 | * @return Reference to this object | |
45 | */ | |
b82e76e0 | 46 | AliFMDAnaCalibBackgroundCorrection& operator=(const AliFMDAnaCalibBackgroundCorrection& o); |
47 | ||
1b418b63 | 48 | /** |
49 | * Get the background (secondary) correction | |
50 | * | |
51 | * @param det Detector | |
52 | * @param ring Ring | |
53 | * @param vtxbin Vertex bin | |
54 | * | |
55 | * @return 2D Histogram (eta,phi) secondary correction map | |
56 | */ | |
57 | TH2F* GetBgCorrection(Int_t det, Char_t ring, Int_t vtxbin) const; | |
58 | /** | |
59 | * Set the background correction | |
60 | * | |
61 | * @param det Detector | |
62 | * @param ring Ring | |
63 | * @param vtxbin Vertex bin | |
64 | * @param hCorrection 2D Histogram (eta,phi) secondary correction map | |
65 | */ | |
66 | void SetBgCorrection(Int_t det, Char_t ring, Int_t vtxbin, | |
67 | TH2F* hCorrection); | |
68 | /** | |
69 | * Get the Non-single-diffractive secondary correction map | |
70 | * | |
71 | * @param det Detector | |
72 | * @param ring Ring | |
73 | * @param vtxbin Vertex bin | |
74 | * | |
75 | * @return 2D Histogram (eta,phi) secondary correction map | |
76 | */ | |
77 | TH2F* GetNSDBgCorrection(Int_t det, Char_t ring, Int_t vtxbin) const; | |
78 | /** | |
79 | * Set the Non-single-diffractive secondary correction map | |
80 | * | |
81 | * @param det Detector | |
82 | * @param ring Ring | |
83 | * @param vtxbin Vertex bin | |
84 | * @param hCorrection 2D Histogram (eta,phi) secondary correction map | |
85 | */ | |
86 | void SetNSDBgCorrection(Int_t det, Char_t ring, Int_t vtxbin, | |
87 | TH2F* hCorrection); | |
507687cd | 88 | |
1b418b63 | 89 | /** |
90 | * Get the double hit correction | |
91 | * | |
92 | * @param det Detector | |
93 | * @param ring Ring | |
94 | * | |
95 | * @return 1D histogram (eta) of correction | |
96 | */ | |
97 | TH1F* GetDoubleHitCorrection(Int_t det, Char_t ring) const; | |
98 | /** | |
99 | * Set the double hit correction | |
100 | * | |
101 | * @param det Detector | |
102 | * @param ring Ring | |
103 | * @param hCorrection 1D histogram (eta) of correction | |
104 | */ | |
4fb49e43 | 105 | void SetDoubleHitCorrection(Int_t det, Char_t ring, TH1F* hCorrection); |
1b418b63 | 106 | /** |
107 | * Get the SPD dead correction | |
108 | * | |
109 | * @param vtxbin Vertext bin | |
110 | * | |
111 | * @return 1D Histogram (eta) of SPD dead correction | |
112 | */ | |
113 | TH1F* GetSPDDeadCorrection(Int_t vtxbin) const; | |
114 | /** | |
115 | * Set the SPD dead correction | |
116 | * | |
117 | * @param vtxbin Vertex bin | |
118 | * @param hCorrection 1D Histogram (eta) of SPD dead correction | |
119 | */ | |
04f1ff3d | 120 | void SetSPDDeadCorrection(Int_t vtxbin, TH1F* hCorrection); |
1b418b63 | 121 | /** |
122 | * Get the FMD dead correction | |
123 | * | |
124 | * @param vtxbin Vertext bin | |
125 | * | |
126 | * @return 1D Histogram (eta) of FMD dead correction | |
127 | */ | |
f7356393 | 128 | TH1F* GetFMDDeadCorrection(Int_t vtxbin); |
1b418b63 | 129 | /** |
130 | * Set the FMD dead correction | |
131 | * | |
132 | * @param vtxbin Vertex bin | |
133 | * @param hCorrection 1D Histogram (eta) of FMD dead correction | |
134 | */ | |
f7356393 | 135 | void SetFMDDeadCorrection(Int_t vtxbin, TH1F* hCorrection); |
1b418b63 | 136 | /** |
137 | * Set the reference axis | |
138 | * | |
139 | * @param axis Axis of vertex bins | |
140 | */ | |
b82e76e0 | 141 | void SetRefAxis(TAxis* axis); |
1b418b63 | 142 | /** |
143 | * Get the vertex axis | |
144 | * | |
145 | * @return Constant reference to vertex axis | |
146 | */ | |
147 | const TAxis& GetRefAxis() const { return fAxis; } | |
148 | /** | |
149 | * Get the number of vertex bins | |
150 | * | |
151 | * @return Number of vertex bins | |
152 | */ | |
153 | Int_t GetNvtxBins() const { return fAxis.GetNbins(); } | |
154 | /** | |
155 | * Get the maximum vertex cut (in cm) | |
156 | * | |
157 | * @return Maximum absolute value of the Z position of the vertex | |
158 | */ | |
159 | Float_t GetVtxCutZ() const { return fAxis.GetXmax(); } | |
160 | /** | |
161 | * Initialize | |
162 | * | |
163 | */ | |
b82e76e0 | 164 | void Init(); |
1b418b63 | 165 | /** |
166 | * Nice browsing | |
167 | * | |
168 | * | |
169 | * @return | |
170 | */ | |
b82e76e0 | 171 | Bool_t IsFolder() const { return kTRUE; } |
1b418b63 | 172 | /** |
173 | * Nice browsing | |
174 | * | |
175 | * @param b Browser | |
176 | */ | |
b82e76e0 | 177 | void Browse(TBrowser* b); |
1b418b63 | 178 | protected: |
179 | /** | |
180 | * Get the ring array | |
181 | * | |
182 | * @param det Detector | |
183 | * @param ring Ring | |
184 | * | |
185 | * @return | |
186 | */ | |
187 | TObjArray* GetRingArray(Int_t det, Char_t ring) const; | |
188 | TObjArray fArray; // Array | |
189 | TAxis fAxis; // Vertex axis | |
190 | Bool_t fIsInit; // Whether this has been init | |
191 | TList fListOfDoubleHitCorrection; // Double hit corrections | |
192 | TList fListOfNSDBgMaps; // NSD bg maps | |
507687cd | 193 | ClassDef(AliFMDAnaCalibBackgroundCorrection,3); |
b82e76e0 | 194 | }; |
195 | ||
196 | #endif | |
cfe59e45 | 197 | // Local Variables: |
198 | // mode: C++ | |
199 | // End: |