29 fRingArray(o.fRingArray),
30 fVertexAxis(o.fVertexAxis.GetNbins(), o.fVertexAxis.GetXmin(),
31 o.fVertexAxis.GetXmax())
105 if (!ringArray)
return 0;
107 if (b <= 0 || b > ringArray->GetEntriesFast()) {
108 AliWarning(Form(
"vertex bin %d out of range [1,%d]",
109 b, ringArray->GetEntriesFast()));
113 TObject* o = ringArray->At(b-1);
115 AliWarning(Form(
"No secondary map found for FMD%d%c in vertex bin %d",
119 return static_cast<TH1D*
>(o);
137 AliWarning(
"No vertex array defined");
142 AliWarning(Form(
"vertex %+8.4f out of range [%+8.4f,%+8.4f]",
164 case 2:
return (r ==
'I' || r ==
'i' ? 1 : 2);
break;
165 case 3:
return (r ==
'I' || r ==
'i' ? 3 : 4);
break;
167 AliWarning(Form(
"Index for FMD%d%c not found", d, r));
185 if (idx < 0)
return 0;
189 AliWarning(Form(
"No array found for FMD%d%c", d, r));
210 if (idx < 0)
return 0;
215 a->SetName(Form(
"FMD%d%c", d, r));
244 if (!ringArray)
return false;
247 AliWarning(Form(
"Vertex bin %3d out of range [1,%3d]",
251 h->SetName(Form(
"FMD%d%c_vtxbin%03d", d, r, b));
252 h->SetTitle(Form(
"Secondary map correction for FMD%d%c "
253 "in vertex bin %d [%+8.4f,%+8.4f]",
256 h->SetXTitle(
"#eta");
257 h->SetYTitle(
"dN_{ch}/d#eta / sum_i N_{ch,i}");
258 h->SetFillStyle(3001);
261 ringArray->AddAtAndExpand(h, b-1);
284 AliWarning(Form(
"Vertex %+8.4f out of range [%+8.4f,%+8.4f]",
313 std::cout <<
"Merging efficiency correction" << std::endl;
Bool_t SetCorrection(UShort_t d, Char_t r, Double_t v, TH1D *h)
void SetVertexAxis(const TAxis &axis)
AliFMDCorrMergingEfficiency()
TH1D * GetCorrection(UShort_t d, Char_t r, Double_t v) const
Int_t GetRingIndex(UShort_t d, Char_t r) const
TObjArray * GetOrMakeRingArray(UShort_t d, Char_t r)
TObjArray * GetRingArray(UShort_t d, Char_t r) const
virtual ~AliFMDCorrMergingEfficiency()
AliFMDCorrMergingEfficiency & operator=(const AliFMDCorrMergingEfficiency &o)
void Print(Option_t *option="R") const
Int_t FindVertexBin(Double_t vertex) const