AliPhysics  a88b1f0 (a88b1f0)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliFMDCorrSecondaryMap.h
Go to the documentation of this file.
1 //
2 // This class contains the secondary correction and the double hit
3 // correction used in low-flux events.
4 //
5 #ifndef ALIFMDCORRSECONDARYMAP_H
6 #define ALIFMDCORRSECONDARYMAP_H
7 
17 #include <TObject.h>
18 #include <TObjArray.h>
19 #include <TAxis.h>
20 class TH2D;
21 
43 {
44 public:
59  virtual ~AliFMDCorrSecondaryMap();
81  TH2D* GetCorrection(UShort_t d, Char_t r, Double_t v) const;
92  TH2D* GetCorrection(UShort_t d, Char_t r, UShort_t b) const;
98  const TAxis& GetVertexAxis() const { return fVertexAxis; }
104  const TAxis& GetEtaAxis() const { return fEtaAxis; }
105  /* @} */
106 
141  void SetVertexAxis(const TAxis& axis);
149  void SetVertexAxis(Int_t nBins, Double_t min, Double_t max);
155  void SetEtaAxis(const TAxis& axis);
163  void SetEtaAxis(Int_t nBins, Double_t min, Double_t max);
164  /* @} */
165 
175  Bool_t IsFolder() const { return true; }
181  void Browse(TBrowser* b);
187  void Print(Option_t* option="R") const; //*MENU*
188  /* @} */
189 protected:
198  Int_t FindVertexBin(Double_t vertex) const;
207  Int_t GetRingIndex(UShort_t d, Char_t r) const;
216  TObjArray* GetRingArray(UShort_t d, Char_t r) const;
226 
227  TObjArray fRingArray; // Array of per-ring, per-vertex 2nd map
228  TAxis fVertexAxis; // The vertex axis
229  TAxis fEtaAxis; // The eta axis
231 };
232 
233 //____________________________________________________________________
234 inline void
236 {
237  fVertexAxis.Set(nBins, min, max);
238 }
239 //____________________________________________________________________
240 inline void
242 {
243  if (e.GetXbins() && e.GetXbins()->GetArray())
244  fVertexAxis.Set(e.GetNbins(), e.GetXbins()->GetArray());
245  else
246  fVertexAxis.Set(e.GetNbins(), e.GetXmin(), e.GetXmax());
247 }
248 //____________________________________________________________________
249 inline void
251 {
252  fEtaAxis.Set(nBins, min, max);
253 }
254 //____________________________________________________________________
255 inline void
257 {
258  fEtaAxis.Set(e.GetNbins(), e.GetXmin(), e.GetXmax());
259 }
260 #endif
261 // Local Variables:
262 // mode: C++
263 // End:
Bool_t SetCorrection(UShort_t d, Char_t r, Double_t v, TH2D *h)
double Double_t
Definition: External.C:58
ClassDef(AliFMDCorrSecondaryMap, 1)
Int_t FindVertexBin(Double_t vertex) const
TH2D * GetCorrection(UShort_t d, Char_t r, Double_t v) const
char Char_t
Definition: External.C:18
Int_t GetRingIndex(UShort_t d, Char_t r) const
const TAxis & GetVertexAxis() const
int Int_t
Definition: External.C:63
void Print(Option_t *option="R") const
void SetVertexAxis(const TAxis &axis)
Definition: External.C:228
AliFMDCorrSecondaryMap & operator=(const AliFMDCorrSecondaryMap &o)
unsigned short UShort_t
Definition: External.C:28
const char Option_t
Definition: External.C:48
TObjArray * GetRingArray(UShort_t d, Char_t r) const
void SetEtaAxis(const TAxis &axis)
bool Bool_t
Definition: External.C:53
TObjArray * GetOrMakeRingArray(UShort_t d, Char_t r)
const TAxis & GetEtaAxis() const