1 #ifndef ALIFMDANACALIBBACKGROUNDCORRECTION_H
2 #define ALIFMDANACALIBBACKGROUNDCORRECTION_H
15 * @brief Object to store secondary corrections.
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
22 * Objects of this class are generated by
23 * @todo expand documentation
26 class AliFMDAnaCalibBackgroundCorrection : public TObject
32 AliFMDAnaCalibBackgroundCorrection();
36 * @param o Object to copy from
38 AliFMDAnaCalibBackgroundCorrection(const AliFMDAnaCalibBackgroundCorrection& o);
42 * @param o Object to assign from
44 * @return Reference to this object
46 AliFMDAnaCalibBackgroundCorrection& operator=(const AliFMDAnaCalibBackgroundCorrection& o);
49 * Get the background (secondary) correction
53 * @param vtxbin Vertex bin
55 * @return 2D Histogram (eta,phi) secondary correction map
57 TH2F* GetBgCorrection(Int_t det, Char_t ring, Int_t vtxbin) const;
59 * Set the background correction
63 * @param vtxbin Vertex bin
64 * @param hCorrection 2D Histogram (eta,phi) secondary correction map
66 void SetBgCorrection(Int_t det, Char_t ring, Int_t vtxbin,
69 * Get the Non-single-diffractive secondary correction map
73 * @param vtxbin Vertex bin
75 * @return 2D Histogram (eta,phi) secondary correction map
77 TH2F* GetNSDBgCorrection(Int_t det, Char_t ring, Int_t vtxbin) const;
79 * Set the Non-single-diffractive secondary correction map
83 * @param vtxbin Vertex bin
84 * @param hCorrection 2D Histogram (eta,phi) secondary correction map
86 void SetNSDBgCorrection(Int_t det, Char_t ring, Int_t vtxbin,
90 * Get the double hit correction
95 * @return 1D histogram (eta) of correction
97 TH1F* GetDoubleHitCorrection(Int_t det, Char_t ring) const;
99 * Set the double hit correction
101 * @param det Detector
103 * @param hCorrection 1D histogram (eta) of correction
105 void SetDoubleHitCorrection(Int_t det, Char_t ring, TH1F* hCorrection);
107 * Get the SPD dead correction
109 * @param vtxbin Vertext bin
111 * @return 1D Histogram (eta) of SPD dead correction
113 TH1F* GetSPDDeadCorrection(Int_t vtxbin) const;
115 * Set the SPD dead correction
117 * @param vtxbin Vertex bin
118 * @param hCorrection 1D Histogram (eta) of SPD dead correction
120 void SetSPDDeadCorrection(Int_t vtxbin, TH1F* hCorrection);
122 * Get the FMD dead correction
124 * @param vtxbin Vertext bin
126 * @return 1D Histogram (eta) of FMD dead correction
128 TH1F* GetFMDDeadCorrection(Int_t vtxbin);
130 * Set the FMD dead correction
132 * @param vtxbin Vertex bin
133 * @param hCorrection 1D Histogram (eta) of FMD dead correction
135 void SetFMDDeadCorrection(Int_t vtxbin, TH1F* hCorrection);
137 * Set the reference axis
139 * @param axis Axis of vertex bins
141 void SetRefAxis(TAxis* axis);
143 * Get the vertex axis
145 * @return Constant reference to vertex axis
147 const TAxis& GetRefAxis() const { return fAxis; }
149 * Get the number of vertex bins
151 * @return Number of vertex bins
153 Int_t GetNvtxBins() const { return fAxis.GetNbins(); }
155 * Get the maximum vertex cut (in cm)
157 * @return Maximum absolute value of the Z position of the vertex
159 Float_t GetVtxCutZ() const { return fAxis.GetXmax(); }
171 Bool_t IsFolder() const { return kTRUE; }
177 void Browse(TBrowser* b);
182 * @param det Detector
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
193 ClassDef(AliFMDAnaCalibBackgroundCorrection,3);