32 fRingArray(o.fRingArray),
33 fVertexAxis(o.fVertexAxis.GetNbins(), o.fVertexAxis.GetXmin(),
34 o.fVertexAxis.GetXmax()),
35 fEtaAxis(o.fEtaAxis.GetNbins(), o.fEtaAxis.GetXmin(),
113 if (!ringArray)
return 0;
115 if (b <= 0 || b > ringArray->GetEntriesFast()) {
116 AliWarning(Form(
"vertex bin %d out of range [1,%d]",
117 b, ringArray->GetEntriesFast()));
121 TObject* o = ringArray->At(b-1);
123 AliWarning(Form(
"No secondary map found for FMD%d%c in vertex bin %d",
127 return static_cast<TH2D*
>(o);
145 AliWarning(
"No vertex array defined");
150 AliWarning(Form(
"vertex %+8.4f out of range [%+8.4f,%+8.4f]",
172 case 2:
return (r ==
'I' || r ==
'i' ? 1 : 2);
break;
173 case 3:
return (r ==
'I' || r ==
'i' ? 3 : 4);
break;
175 AliWarning(Form(
"Index for FMD%d%c not found", d, r));
193 if (idx < 0)
return 0;
197 AliWarning(Form(
"No array found for FMD%d%c", d, r));
218 if (idx < 0)
return 0;
223 a->SetName(Form(
"FMD%d%c", d, r));
252 if (!ringArray)
return false;
255 AliWarning(Form(
"Vertex bin %3d out of range [1,%3d]",
259 h->SetName(Form(
"FMD%d%c_vtxbin%03d", d, r, b));
260 h->SetTitle(Form(
"Secondary map correction for FMD%d%c "
261 "in vertex bin %d [%+8.4f,%+8.4f]",
264 h->SetXTitle(
"#eta");
265 h->SetYTitle(
"#phi [radians]");
266 h->SetZTitle(
"#sum_{i} N_{ch,i,primary} / #sum_{i} N_{ch,i,FMD}");
269 ringArray->AddAtAndExpand(h, b-1);
292 AliWarning(Form(
"Vertex %+8.4f out of range [%+8.4f,%+8.4f]",
322 std::cout <<
"Secondary correction map" << std::endl;
Bool_t SetCorrection(UShort_t d, Char_t r, Double_t v, TH2D *h)
Int_t FindVertexBin(Double_t vertex) const
TH2D * GetCorrection(UShort_t d, Char_t r, Double_t v) const
Int_t GetRingIndex(UShort_t d, Char_t r) const
virtual ~AliFMDCorrSecondaryMap()
void Print(Option_t *option="R") const
void SetVertexAxis(const TAxis &axis)
AliFMDCorrSecondaryMap & operator=(const AliFMDCorrSecondaryMap &o)
TObjArray * GetRingArray(UShort_t d, Char_t r) const
void SetEtaAxis(const TAxis &axis)
TObjArray * GetOrMakeRingArray(UShort_t d, Char_t r)