#include "AliFMDCorrAcceptance.h"
#include <TBrowser.h>
#include <TH2D.h>
#include <AliLog.h>
#include <AliForwardUtil.h>
#include <TPad.h>
#include <TCanvas.h>
#include <TLatex.h>
#include <TMath.h>
#include <THStack.h>
#include <TROOT.h>
#include <iostream>
AliFMDCorrAcceptance::AliFMDCorrAcceptance()
: fRingArray(),
fCache(0),
fVertexAxis(0,0,0),
fHasOverflow(false)
{
fRingArray.SetOwner(kTRUE);
fRingArray.SetName("rings");
fVertexAxis.SetName("vtxAxis");
fVertexAxis.SetTitle("v_{z} [cm]");
}
AliFMDCorrAcceptance::AliFMDCorrAcceptance(const
AliFMDCorrAcceptance& o)
: TObject(o),
fRingArray(o.fRingArray),
fCache(o.fCache),
fVertexAxis(o.fVertexAxis.GetNbins(), o.fVertexAxis.GetXmin(),
o.fVertexAxis.GetXmax()),
fHasOverflow(o.fHasOverflow)
{
fVertexAxis.SetName("vtxAxis");
fVertexAxis.SetTitle("v_{z} [cm]");
}
AliFMDCorrAcceptance::~AliFMDCorrAcceptance()
{
fRingArray.Clear();
if (fCache) fCache->Clear();
}
AliFMDCorrAcceptance&
AliFMDCorrAcceptance::operator=(const AliFMDCorrAcceptance& o)
{
if (&o == this) return *this;
fRingArray = o.fRingArray;
fCache = o.fCache;
fHasOverflow = o.fHasOverflow;
SetVertexAxis(o.fVertexAxis);
return *this;
}
TH2D*
AliFMDCorrAcceptance::GetCorrection(UShort_t d, Char_t r, Double_t v) const
{
Int_t b = FindVertexBin(v);
if (b <= 0) return 0;
return GetCorrection(d, r, UShort_t(b));
}
TH2D*
AliFMDCorrAcceptance::GetCorrection(UShort_t d, Char_t r, UShort_t b) const
{
return static_cast<TH2D*>(GetObject(fRingArray, d, r, b));
}
TH1D*
AliFMDCorrAcceptance::GetPhiAcceptance(UShort_t d, Char_t r, Double_t v) const
{
Int_t b = FindVertexBin(v);
if (b <= 0) return 0;
return GetPhiAcceptance(d, r, UShort_t(b));
}
TH1D*
AliFMDCorrAcceptance::GetPhiAcceptance(UShort_t d, Char_t r, UShort_t b) const
{
if (!fHasOverflow) return 0;
if (!fCache) FillCache();
return static_cast<TH1D*>(GetObject(*fCache, d, r, b));
}
Int_t
AliFMDCorrAcceptance::FindVertexBin(Double_t v) const
{
if (fVertexAxis.GetNbins() <= 0) {
AliWarning("No vertex array defined");
return 0;
}
Int_t bin = const_cast<TAxis&>(fVertexAxis).FindBin(v);
if (bin <= 0 || bin > fVertexAxis.GetNbins()) {
AliWarning(Form("vertex %+8.4f out of range [%+8.4f,%+8.4f]",
v, fVertexAxis.GetXmin(), fVertexAxis.GetXmax()));
return 0;
}
return bin;
}
Int_t
AliFMDCorrAcceptance::GetRingIndex(UShort_t d, Char_t r) const
{
switch (d) {
case 1: return 0;
case 2: return (r == 'I' || r == 'i' ? 1 : 2); break;
case 3: return (r == 'I' || r == 'i' ? 3 : 4); break;
}
AliWarning(Form("Index for FMD%d%c not found", d, r));
return -1;
}
TObject*
AliFMDCorrAcceptance::GetObject(const TObjArray& m, UShort_t d,
Char_t r, UShort_t b) const
{
TObjArray* ringArray = GetRingArray(m, d, r);
if (!ringArray) return 0;
if (b <= 0 || b > ringArray->GetEntriesFast()) {
AliWarning(Form("vertex bin %d out of range [1,%d]",
b, ringArray->GetEntriesFast()));
return 0;
}
TObject* o = ringArray->At(b-1);
if (o) return o;
AliWarning(Form("No dead channels map found for FMD%d%c in vertex bin %d",
d,r,b));
return 0;
}
TObjArray*
AliFMDCorrAcceptance::GetRingArray(const TObjArray& m,
UShort_t d, Char_t r) const
{
Int_t idx = GetRingIndex(d,r);
if (idx < 0) return 0;
TObject* o = m.At(idx);
if (!o) {
AliWarning(Form("No array found for FMD%d%c", d, r));
return 0;
}
return static_cast<TObjArray*>(o);
}
TObjArray*
AliFMDCorrAcceptance::GetOrMakeRingArray(TObjArray& m,
UShort_t d, Char_t r) const
{
Int_t idx = GetRingIndex(d,r);
if (idx < 0) return 0;
TObject* o = m.At(idx);
if (!o) {
TObjArray* a = new TObjArray(fVertexAxis.GetNbins());
a->SetName(Form("FMD%d%c", d, r));
a->SetOwner(kTRUE);
m.AddAtAndExpand(a, idx);
return a;
}
return static_cast<TObjArray*>(m.At(idx));
}
Bool_t
AliFMDCorrAcceptance::SetCorrection(UShort_t d, Char_t r,
UShort_t b, TH2D* h)
{
TObjArray* ringArray = GetOrMakeRingArray(fRingArray, d, r);
if (!ringArray) return false;
if (b <= 0 || b > fVertexAxis.GetNbins()) {
AliWarning(Form("Vertex bin %3d out of range [1,%3d]",
b, fVertexAxis.GetNbins()));
return false;
}
h->SetName(Form("FMD%d%c_vtxbin%03d", d, r, b));
h->SetTitle(Form("Acceptance correction for FMD%d%c "
"in vertex bin %d [%+8.4f,%+8.4f]",
d, r, b, fVertexAxis.GetBinLowEdge(b),
fVertexAxis.GetBinUpEdge(b)));
h->SetXTitle("#eta");
h->SetYTitle("N_{strips,OK}/N_{strips}");
h->SetFillStyle(3001);
h->SetDirectory(0);
h->SetStats(0);
ringArray->AddAtAndExpand(h, b-1);
return kTRUE;
}
Bool_t
AliFMDCorrAcceptance::SetCorrection(UShort_t d, Char_t r,
Double_t v, TH2D* h)
{
Int_t b = FindVertexBin(v);
if (b <= 0 || b > fVertexAxis.GetNbins()) {
AliWarning(Form("Vertex %+8.4f out of range [%+8.4f,%+8.4f]",
v, fVertexAxis.GetXmin(), fVertexAxis.GetXmax()));
return false;
}
return SetCorrection(d, r, UShort_t(b), h);
}
void
AliFMDCorrAcceptance::FillCache() const
{
if (fCache) return;
fCache = new TObjArray;
fCache->SetOwner(kTRUE);
fCache->SetName("cache");
Int_t nV = fVertexAxis.GetNbins();
for (UShort_t v = 1; v <= nV; v++) {
for(UShort_t d = 1; d <= 3;d++) {
UShort_t nR = (d == 1 ? 1 : 2);
for (UShort_t q = 0; q < nR; q++) {
Char_t r = (q == 0 ? 'I' : 'O');
TObjArray* a = GetOrMakeRingArray(*fCache, d, r);
TH2D* corr = GetCorrection(d, r, v);
if (!corr) continue;
Int_t nY = corr->GetNbinsY();
TH1D* h = corr->ProjectionX("tmp", nY+1, nY+1, "");
h->SetName(Form("FMD%d%c_vtxbin%03d", d, r, v));
h->SetTitle(Form("#phi acceptance correction for FMD%d%c "
"in vertex bin %d [%+8.4f,%+8.4f]",
d, r, v, fVertexAxis.GetBinLowEdge(v),
fVertexAxis.GetBinUpEdge(v)));
h->SetXTitle("#eta");
h->SetYTitle("N_{strips}/N_{strips,OK}");
h->SetFillStyle(3001);
h->SetDirectory(0);
h->SetStats(0);
a->AddAtAndExpand(h,v-1);
if (fHasOverflow) continue;
Int_t nX = corr->GetNbinsX();
for (Int_t eta = 1; eta <= nX; eta++) {
Double_t sum = 0;
for (Int_t phi = 1; phi <= nY; phi++)
sum += corr->GetBinContent(eta, phi);
if (nY <= 0) continue;
h->SetBinContent(eta, nY/sum);
}
}
}
}
}
void
AliFMDCorrAcceptance::Browse(TBrowser* b)
{
b->Add(&fRingArray);
if (fCache) b->Add(fCache);
b->Add(&fVertexAxis);
}
void
AliFMDCorrAcceptance::Print(Option_t* option) const
{
std::cout << "Acceptance correction due to dead channels" << std::endl;
fRingArray.Print(option);
fVertexAxis.Print(option);
}
void
AliFMDCorrAcceptance::ls(Option_t* option) const
{
TObject::ls(option);
gROOT->IncreaseDirLevel();
fVertexAxis.ls(option);
fRingArray.ls(option);
gROOT->DecreaseDirLevel();
}
#if 0
namespace {
void ClearCanvas(TVirtualPad* c)
{
c->SetLeftMargin(.1);
c->SetRightMargin(.05);
c->SetBottomMargin(.1);
c->SetTopMargin(.05);
c->Clear();
}
}
void
AliFMDCorrAcceptance::SaveAs(const Char_t* filename, Option_t* option) const
{
TString fileName(filename);
if (!fileName.EndsWith(".pdf")) {
TObject::SaveAs(fileName, option);
return;
}
TVirtualPad* c = new TCanvas(filename, GetTitle(), 800/TMath::Sqrt(2), 800);
c->SetFillColor(0);
c->SetBorderSize(0);
c->SetBorderMode(0);
c->Print(Form("%s[", filename));
TLatex* ll = new TLatex(.5,.8, filename);
ll->SetTextAlign(22);
ll->SetTextSize(0.03);
ll->SetNDC();
ll->Draw();
TLatex* l = new TLatex(.5,.8, filename);
l->SetNDC();
l->SetTextSize(0.03);
l->SetTextFont(132);
l->SetTextAlign(12);
l->DrawLatex(0.2, 0.70, "Acceptance due to dead channels");
l->SetTextAlign(22);
l->DrawLatex(0.5, 0.60, "c_{v,r}(#eta,#phi)=#frac{"
"#sum active strips#in(#eta,#phi)}{"
"#sum strips#in(#eta,#phi)}");
c->Print(filename, "Title:Title page");
const TAxis& vtxAxis = GetVertexAxis();
Int_t nVtx = vtxAxis.GetNbins();
for (UShort_t d = 1; d <= 3; d++) {
UShort_t nQ = (d == 1 ? 1 : 2);
for (UShort_t q = 0; q < nQ; q++) {
Char_t r = (q == 0 ? 'I' : 'O');
ClearCanvas(c);
c->Divide(2, (nVtx+1)/2);
for (UShort_t v=1; v <= nVtx; v++) {
TVirtualPad* p = c->cd(v);
p->SetFillColor(kWhite);
TH2* h2 = GetCorrection(d, r, v);
if (!h2) {
Warning("DrawCorrAcc", "No correction for r=%c, v=%d", r, v);
continue;
}
h2->Draw(option);
}
c->Print(filename, Form("Title:FMD%d%c", d, r));
}
}
if (HasOverflow()){
const_cast<AliFMDCorrAcceptance*>(this)->Draw(Form("%s phi", option));
c->Print(filename, "Title:Phi Acceptance");
}
const_cast<AliFMDCorrAcceptance*>(this)->Draw(option);
c->Print(filename, "Title:Summary");
c->Print(Form("%s]", filename));
}
void
AliFMDCorrAcceptance::Draw(Option_t* option)
{
TString opt(option);
opt.ToLower();
Bool_t over = opt.Contains("phi");
opt.ReplaceAll("phi", "");
TVirtualPad* c = gPad;
if (!c) c = new TCanvas(GetName(), GetTitle());
const TAxis& vtxAxis = fVertexAxis;
Int_t nVtx = vtxAxis.GetNbins();
Int_t ipad = 0;
c->SetLeftMargin(.1);
c->SetRightMargin(.05);
c->SetBottomMargin(.1);
c->SetTopMargin(.05);
c->Clear();
c->Divide((nVtx+2)/3, 3, 0, 0);
for (UShort_t v = 1; v <= nVtx; v++) {
ipad++;
if (ipad == 1 || ipad == 12) ipad++;
TVirtualPad* p = c->cd(ipad);
p->SetFillColor(kWhite);
THStack* stack = new THStack(Form("vtx%02d", v),
Form("%+5.1f<v_{z}<%+5.1f",
vtxAxis.GetBinLowEdge(v),
vtxAxis.GetBinUpEdge(v)));
for (UShort_t d = 1; d <= 3; d++) {
UShort_t nQ = (d == 1 ? 1 : 2);
for (UShort_t q = 0; q < nQ; q++) {
Char_t r = (q == 0 ? 'I' : 'O');
if (over) {
TH1* hp = GetPhiAcceptance(d, r, v);
if (!hp) {
Error("", "No phi acceptance at v=%d", v-1);
continue;
}
hp->SetDirectory(0);
hp->SetMarkerColor(AliForwardUtil::RingColor(d, r));
hp->SetLineColor(AliForwardUtil::RingColor(d, r));
hp->SetFillColor(AliForwardUtil::RingColor(d, r));
hp->SetFillStyle(3001);
stack->Add(hp);
continue;
}
TH2* h1 = GetCorrection(d, r, v);
if (!h1) {
Warning("Draw", "No correction for r=%c, v=%d", r, v);
continue;
}
Int_t nY = h1->GetNbinsY();
TH1* hh = h1->ProjectionX(Form("FMD%d%c", d, r), 1, nY);
hh->Scale(1. / nY);
hh->SetDirectory(0);
hh->SetMarkerColor(AliForwardUtil::RingColor(d, r));
hh->SetLineColor(AliForwardUtil::RingColor(d, r));
hh->SetFillColor(AliForwardUtil::RingColor(d, r));
hh->SetFillStyle(3004);
stack->Add(hh);
}
}
stack->SetMaximum(1.2);
stack->Draw(Form("nostack %s", opt.Data()));
}
}
#endif
AliFMDCorrAcceptance.cxx:1 AliFMDCorrAcceptance.cxx:2 AliFMDCorrAcceptance.cxx:3 AliFMDCorrAcceptance.cxx:4 AliFMDCorrAcceptance.cxx:5 AliFMDCorrAcceptance.cxx:6 AliFMDCorrAcceptance.cxx:7 AliFMDCorrAcceptance.cxx:8 AliFMDCorrAcceptance.cxx:9 AliFMDCorrAcceptance.cxx:10 AliFMDCorrAcceptance.cxx:11 AliFMDCorrAcceptance.cxx:12 AliFMDCorrAcceptance.cxx:13 AliFMDCorrAcceptance.cxx:14 AliFMDCorrAcceptance.cxx:15 AliFMDCorrAcceptance.cxx:16 AliFMDCorrAcceptance.cxx:17 AliFMDCorrAcceptance.cxx:18 AliFMDCorrAcceptance.cxx:19 AliFMDCorrAcceptance.cxx:20 AliFMDCorrAcceptance.cxx:21 AliFMDCorrAcceptance.cxx:22 AliFMDCorrAcceptance.cxx:23 AliFMDCorrAcceptance.cxx:24 AliFMDCorrAcceptance.cxx:25 AliFMDCorrAcceptance.cxx:26 AliFMDCorrAcceptance.cxx:27 AliFMDCorrAcceptance.cxx:28 AliFMDCorrAcceptance.cxx:29 AliFMDCorrAcceptance.cxx:30 AliFMDCorrAcceptance.cxx:31 AliFMDCorrAcceptance.cxx:32 AliFMDCorrAcceptance.cxx:33 AliFMDCorrAcceptance.cxx:34 AliFMDCorrAcceptance.cxx:35 AliFMDCorrAcceptance.cxx:36 AliFMDCorrAcceptance.cxx:37 AliFMDCorrAcceptance.cxx:38 AliFMDCorrAcceptance.cxx:39 AliFMDCorrAcceptance.cxx:40 AliFMDCorrAcceptance.cxx:41 AliFMDCorrAcceptance.cxx:42 AliFMDCorrAcceptance.cxx:43 AliFMDCorrAcceptance.cxx:44 AliFMDCorrAcceptance.cxx:45 AliFMDCorrAcceptance.cxx:46 AliFMDCorrAcceptance.cxx:47 AliFMDCorrAcceptance.cxx:48 AliFMDCorrAcceptance.cxx:49 AliFMDCorrAcceptance.cxx:50 AliFMDCorrAcceptance.cxx:51 AliFMDCorrAcceptance.cxx:52 AliFMDCorrAcceptance.cxx:53 AliFMDCorrAcceptance.cxx:54 AliFMDCorrAcceptance.cxx:55 AliFMDCorrAcceptance.cxx:56 AliFMDCorrAcceptance.cxx:57 AliFMDCorrAcceptance.cxx:58 AliFMDCorrAcceptance.cxx:59 AliFMDCorrAcceptance.cxx:60 AliFMDCorrAcceptance.cxx:61 AliFMDCorrAcceptance.cxx:62 AliFMDCorrAcceptance.cxx:63 AliFMDCorrAcceptance.cxx:64 AliFMDCorrAcceptance.cxx:65 AliFMDCorrAcceptance.cxx:66 AliFMDCorrAcceptance.cxx:67 AliFMDCorrAcceptance.cxx:68 AliFMDCorrAcceptance.cxx:69 AliFMDCorrAcceptance.cxx:70 AliFMDCorrAcceptance.cxx:71 AliFMDCorrAcceptance.cxx:72 AliFMDCorrAcceptance.cxx:73 AliFMDCorrAcceptance.cxx:74 AliFMDCorrAcceptance.cxx:75 AliFMDCorrAcceptance.cxx:76 AliFMDCorrAcceptance.cxx:77 AliFMDCorrAcceptance.cxx:78 AliFMDCorrAcceptance.cxx:79 AliFMDCorrAcceptance.cxx:80 AliFMDCorrAcceptance.cxx:81 AliFMDCorrAcceptance.cxx:82 AliFMDCorrAcceptance.cxx:83 AliFMDCorrAcceptance.cxx:84 AliFMDCorrAcceptance.cxx:85 AliFMDCorrAcceptance.cxx:86 AliFMDCorrAcceptance.cxx:87 AliFMDCorrAcceptance.cxx:88 AliFMDCorrAcceptance.cxx:89 AliFMDCorrAcceptance.cxx:90 AliFMDCorrAcceptance.cxx:91 AliFMDCorrAcceptance.cxx:92 AliFMDCorrAcceptance.cxx:93 AliFMDCorrAcceptance.cxx:94 AliFMDCorrAcceptance.cxx:95 AliFMDCorrAcceptance.cxx:96 AliFMDCorrAcceptance.cxx:97 AliFMDCorrAcceptance.cxx:98 AliFMDCorrAcceptance.cxx:99 AliFMDCorrAcceptance.cxx:100 AliFMDCorrAcceptance.cxx:101 AliFMDCorrAcceptance.cxx:102 AliFMDCorrAcceptance.cxx:103 AliFMDCorrAcceptance.cxx:104 AliFMDCorrAcceptance.cxx:105 AliFMDCorrAcceptance.cxx:106 AliFMDCorrAcceptance.cxx:107 AliFMDCorrAcceptance.cxx:108 AliFMDCorrAcceptance.cxx:109 AliFMDCorrAcceptance.cxx:110 AliFMDCorrAcceptance.cxx:111 AliFMDCorrAcceptance.cxx:112 AliFMDCorrAcceptance.cxx:113 AliFMDCorrAcceptance.cxx:114 AliFMDCorrAcceptance.cxx:115 AliFMDCorrAcceptance.cxx:116 AliFMDCorrAcceptance.cxx:117 AliFMDCorrAcceptance.cxx:118 AliFMDCorrAcceptance.cxx:119 AliFMDCorrAcceptance.cxx:120 AliFMDCorrAcceptance.cxx:121 AliFMDCorrAcceptance.cxx:122 AliFMDCorrAcceptance.cxx:123 AliFMDCorrAcceptance.cxx:124 AliFMDCorrAcceptance.cxx:125 AliFMDCorrAcceptance.cxx:126 AliFMDCorrAcceptance.cxx:127 AliFMDCorrAcceptance.cxx:128 AliFMDCorrAcceptance.cxx:129 AliFMDCorrAcceptance.cxx:130 AliFMDCorrAcceptance.cxx:131 AliFMDCorrAcceptance.cxx:132 AliFMDCorrAcceptance.cxx:133 AliFMDCorrAcceptance.cxx:134 AliFMDCorrAcceptance.cxx:135 AliFMDCorrAcceptance.cxx:136 AliFMDCorrAcceptance.cxx:137 AliFMDCorrAcceptance.cxx:138 AliFMDCorrAcceptance.cxx:139 AliFMDCorrAcceptance.cxx:140 AliFMDCorrAcceptance.cxx:141 AliFMDCorrAcceptance.cxx:142 AliFMDCorrAcceptance.cxx:143 AliFMDCorrAcceptance.cxx:144 AliFMDCorrAcceptance.cxx:145 AliFMDCorrAcceptance.cxx:146 AliFMDCorrAcceptance.cxx:147 AliFMDCorrAcceptance.cxx:148 AliFMDCorrAcceptance.cxx:149 AliFMDCorrAcceptance.cxx:150 AliFMDCorrAcceptance.cxx:151 AliFMDCorrAcceptance.cxx:152 AliFMDCorrAcceptance.cxx:153 AliFMDCorrAcceptance.cxx:154 AliFMDCorrAcceptance.cxx:155 AliFMDCorrAcceptance.cxx:156 AliFMDCorrAcceptance.cxx:157 AliFMDCorrAcceptance.cxx:158 AliFMDCorrAcceptance.cxx:159 AliFMDCorrAcceptance.cxx:160 AliFMDCorrAcceptance.cxx:161 AliFMDCorrAcceptance.cxx:162 AliFMDCorrAcceptance.cxx:163 AliFMDCorrAcceptance.cxx:164 AliFMDCorrAcceptance.cxx:165 AliFMDCorrAcceptance.cxx:166 AliFMDCorrAcceptance.cxx:167 AliFMDCorrAcceptance.cxx:168 AliFMDCorrAcceptance.cxx:169 AliFMDCorrAcceptance.cxx:170 AliFMDCorrAcceptance.cxx:171 AliFMDCorrAcceptance.cxx:172 AliFMDCorrAcceptance.cxx:173 AliFMDCorrAcceptance.cxx:174 AliFMDCorrAcceptance.cxx:175 AliFMDCorrAcceptance.cxx:176 AliFMDCorrAcceptance.cxx:177 AliFMDCorrAcceptance.cxx:178 AliFMDCorrAcceptance.cxx:179 AliFMDCorrAcceptance.cxx:180 AliFMDCorrAcceptance.cxx:181 AliFMDCorrAcceptance.cxx:182 AliFMDCorrAcceptance.cxx:183 AliFMDCorrAcceptance.cxx:184 AliFMDCorrAcceptance.cxx:185 AliFMDCorrAcceptance.cxx:186 AliFMDCorrAcceptance.cxx:187 AliFMDCorrAcceptance.cxx:188 AliFMDCorrAcceptance.cxx:189 AliFMDCorrAcceptance.cxx:190 AliFMDCorrAcceptance.cxx:191 AliFMDCorrAcceptance.cxx:192 AliFMDCorrAcceptance.cxx:193 AliFMDCorrAcceptance.cxx:194 AliFMDCorrAcceptance.cxx:195 AliFMDCorrAcceptance.cxx:196 AliFMDCorrAcceptance.cxx:197 AliFMDCorrAcceptance.cxx:198 AliFMDCorrAcceptance.cxx:199 AliFMDCorrAcceptance.cxx:200 AliFMDCorrAcceptance.cxx:201 AliFMDCorrAcceptance.cxx:202 AliFMDCorrAcceptance.cxx:203 AliFMDCorrAcceptance.cxx:204 AliFMDCorrAcceptance.cxx:205 AliFMDCorrAcceptance.cxx:206 AliFMDCorrAcceptance.cxx:207 AliFMDCorrAcceptance.cxx:208 AliFMDCorrAcceptance.cxx:209 AliFMDCorrAcceptance.cxx:210 AliFMDCorrAcceptance.cxx:211 AliFMDCorrAcceptance.cxx:212 AliFMDCorrAcceptance.cxx:213 AliFMDCorrAcceptance.cxx:214 AliFMDCorrAcceptance.cxx:215 AliFMDCorrAcceptance.cxx:216 AliFMDCorrAcceptance.cxx:217 AliFMDCorrAcceptance.cxx:218 AliFMDCorrAcceptance.cxx:219 AliFMDCorrAcceptance.cxx:220 AliFMDCorrAcceptance.cxx:221 AliFMDCorrAcceptance.cxx:222 AliFMDCorrAcceptance.cxx:223 AliFMDCorrAcceptance.cxx:224 AliFMDCorrAcceptance.cxx:225 AliFMDCorrAcceptance.cxx:226 AliFMDCorrAcceptance.cxx:227 AliFMDCorrAcceptance.cxx:228 AliFMDCorrAcceptance.cxx:229 AliFMDCorrAcceptance.cxx:230 AliFMDCorrAcceptance.cxx:231 AliFMDCorrAcceptance.cxx:232 AliFMDCorrAcceptance.cxx:233 AliFMDCorrAcceptance.cxx:234 AliFMDCorrAcceptance.cxx:235 AliFMDCorrAcceptance.cxx:236 AliFMDCorrAcceptance.cxx:237 AliFMDCorrAcceptance.cxx:238 AliFMDCorrAcceptance.cxx:239 AliFMDCorrAcceptance.cxx:240 AliFMDCorrAcceptance.cxx:241 AliFMDCorrAcceptance.cxx:242 AliFMDCorrAcceptance.cxx:243 AliFMDCorrAcceptance.cxx:244 AliFMDCorrAcceptance.cxx:245 AliFMDCorrAcceptance.cxx:246 AliFMDCorrAcceptance.cxx:247 AliFMDCorrAcceptance.cxx:248 AliFMDCorrAcceptance.cxx:249 AliFMDCorrAcceptance.cxx:250 AliFMDCorrAcceptance.cxx:251 AliFMDCorrAcceptance.cxx:252 AliFMDCorrAcceptance.cxx:253 AliFMDCorrAcceptance.cxx:254 AliFMDCorrAcceptance.cxx:255 AliFMDCorrAcceptance.cxx:256 AliFMDCorrAcceptance.cxx:257 AliFMDCorrAcceptance.cxx:258 AliFMDCorrAcceptance.cxx:259 AliFMDCorrAcceptance.cxx:260 AliFMDCorrAcceptance.cxx:261 AliFMDCorrAcceptance.cxx:262 AliFMDCorrAcceptance.cxx:263 AliFMDCorrAcceptance.cxx:264 AliFMDCorrAcceptance.cxx:265 AliFMDCorrAcceptance.cxx:266 AliFMDCorrAcceptance.cxx:267 AliFMDCorrAcceptance.cxx:268 AliFMDCorrAcceptance.cxx:269 AliFMDCorrAcceptance.cxx:270 AliFMDCorrAcceptance.cxx:271 AliFMDCorrAcceptance.cxx:272 AliFMDCorrAcceptance.cxx:273 AliFMDCorrAcceptance.cxx:274 AliFMDCorrAcceptance.cxx:275 AliFMDCorrAcceptance.cxx:276 AliFMDCorrAcceptance.cxx:277 AliFMDCorrAcceptance.cxx:278 AliFMDCorrAcceptance.cxx:279 AliFMDCorrAcceptance.cxx:280 AliFMDCorrAcceptance.cxx:281 AliFMDCorrAcceptance.cxx:282 AliFMDCorrAcceptance.cxx:283 AliFMDCorrAcceptance.cxx:284 AliFMDCorrAcceptance.cxx:285 AliFMDCorrAcceptance.cxx:286 AliFMDCorrAcceptance.cxx:287 AliFMDCorrAcceptance.cxx:288 AliFMDCorrAcceptance.cxx:289 AliFMDCorrAcceptance.cxx:290 AliFMDCorrAcceptance.cxx:291 AliFMDCorrAcceptance.cxx:292 AliFMDCorrAcceptance.cxx:293 AliFMDCorrAcceptance.cxx:294 AliFMDCorrAcceptance.cxx:295 AliFMDCorrAcceptance.cxx:296 AliFMDCorrAcceptance.cxx:297 AliFMDCorrAcceptance.cxx:298 AliFMDCorrAcceptance.cxx:299 AliFMDCorrAcceptance.cxx:300 AliFMDCorrAcceptance.cxx:301 AliFMDCorrAcceptance.cxx:302 AliFMDCorrAcceptance.cxx:303 AliFMDCorrAcceptance.cxx:304 AliFMDCorrAcceptance.cxx:305 AliFMDCorrAcceptance.cxx:306 AliFMDCorrAcceptance.cxx:307 AliFMDCorrAcceptance.cxx:308 AliFMDCorrAcceptance.cxx:309 AliFMDCorrAcceptance.cxx:310 AliFMDCorrAcceptance.cxx:311 AliFMDCorrAcceptance.cxx:312 AliFMDCorrAcceptance.cxx:313 AliFMDCorrAcceptance.cxx:314 AliFMDCorrAcceptance.cxx:315 AliFMDCorrAcceptance.cxx:316 AliFMDCorrAcceptance.cxx:317 AliFMDCorrAcceptance.cxx:318 AliFMDCorrAcceptance.cxx:319 AliFMDCorrAcceptance.cxx:320 AliFMDCorrAcceptance.cxx:321 AliFMDCorrAcceptance.cxx:322 AliFMDCorrAcceptance.cxx:323 AliFMDCorrAcceptance.cxx:324 AliFMDCorrAcceptance.cxx:325 AliFMDCorrAcceptance.cxx:326 AliFMDCorrAcceptance.cxx:327 AliFMDCorrAcceptance.cxx:328 AliFMDCorrAcceptance.cxx:329 AliFMDCorrAcceptance.cxx:330 AliFMDCorrAcceptance.cxx:331 AliFMDCorrAcceptance.cxx:332 AliFMDCorrAcceptance.cxx:333 AliFMDCorrAcceptance.cxx:334 AliFMDCorrAcceptance.cxx:335 AliFMDCorrAcceptance.cxx:336 AliFMDCorrAcceptance.cxx:337 AliFMDCorrAcceptance.cxx:338 AliFMDCorrAcceptance.cxx:339 AliFMDCorrAcceptance.cxx:340 AliFMDCorrAcceptance.cxx:341 AliFMDCorrAcceptance.cxx:342 AliFMDCorrAcceptance.cxx:343 AliFMDCorrAcceptance.cxx:344 AliFMDCorrAcceptance.cxx:345 AliFMDCorrAcceptance.cxx:346 AliFMDCorrAcceptance.cxx:347 AliFMDCorrAcceptance.cxx:348 AliFMDCorrAcceptance.cxx:349 AliFMDCorrAcceptance.cxx:350 AliFMDCorrAcceptance.cxx:351 AliFMDCorrAcceptance.cxx:352 AliFMDCorrAcceptance.cxx:353 AliFMDCorrAcceptance.cxx:354 AliFMDCorrAcceptance.cxx:355 AliFMDCorrAcceptance.cxx:356 AliFMDCorrAcceptance.cxx:357 AliFMDCorrAcceptance.cxx:358 AliFMDCorrAcceptance.cxx:359 AliFMDCorrAcceptance.cxx:360 AliFMDCorrAcceptance.cxx:361 AliFMDCorrAcceptance.cxx:362 AliFMDCorrAcceptance.cxx:363 AliFMDCorrAcceptance.cxx:364 AliFMDCorrAcceptance.cxx:365 AliFMDCorrAcceptance.cxx:366 AliFMDCorrAcceptance.cxx:367 AliFMDCorrAcceptance.cxx:368 AliFMDCorrAcceptance.cxx:369 AliFMDCorrAcceptance.cxx:370 AliFMDCorrAcceptance.cxx:371 AliFMDCorrAcceptance.cxx:372 AliFMDCorrAcceptance.cxx:373 AliFMDCorrAcceptance.cxx:374 AliFMDCorrAcceptance.cxx:375 AliFMDCorrAcceptance.cxx:376 AliFMDCorrAcceptance.cxx:377 AliFMDCorrAcceptance.cxx:378 AliFMDCorrAcceptance.cxx:379 AliFMDCorrAcceptance.cxx:380 AliFMDCorrAcceptance.cxx:381 AliFMDCorrAcceptance.cxx:382 AliFMDCorrAcceptance.cxx:383 AliFMDCorrAcceptance.cxx:384 AliFMDCorrAcceptance.cxx:385 AliFMDCorrAcceptance.cxx:386 AliFMDCorrAcceptance.cxx:387 AliFMDCorrAcceptance.cxx:388 AliFMDCorrAcceptance.cxx:389 AliFMDCorrAcceptance.cxx:390 AliFMDCorrAcceptance.cxx:391 AliFMDCorrAcceptance.cxx:392 AliFMDCorrAcceptance.cxx:393 AliFMDCorrAcceptance.cxx:394 AliFMDCorrAcceptance.cxx:395 AliFMDCorrAcceptance.cxx:396 AliFMDCorrAcceptance.cxx:397 AliFMDCorrAcceptance.cxx:398 AliFMDCorrAcceptance.cxx:399 AliFMDCorrAcceptance.cxx:400 AliFMDCorrAcceptance.cxx:401 AliFMDCorrAcceptance.cxx:402 AliFMDCorrAcceptance.cxx:403 AliFMDCorrAcceptance.cxx:404 AliFMDCorrAcceptance.cxx:405 AliFMDCorrAcceptance.cxx:406 AliFMDCorrAcceptance.cxx:407 AliFMDCorrAcceptance.cxx:408 AliFMDCorrAcceptance.cxx:409 AliFMDCorrAcceptance.cxx:410 AliFMDCorrAcceptance.cxx:411 AliFMDCorrAcceptance.cxx:412 AliFMDCorrAcceptance.cxx:413 AliFMDCorrAcceptance.cxx:414 AliFMDCorrAcceptance.cxx:415 AliFMDCorrAcceptance.cxx:416 AliFMDCorrAcceptance.cxx:417 AliFMDCorrAcceptance.cxx:418 AliFMDCorrAcceptance.cxx:419 AliFMDCorrAcceptance.cxx:420 AliFMDCorrAcceptance.cxx:421 AliFMDCorrAcceptance.cxx:422 AliFMDCorrAcceptance.cxx:423 AliFMDCorrAcceptance.cxx:424 AliFMDCorrAcceptance.cxx:425 AliFMDCorrAcceptance.cxx:426 AliFMDCorrAcceptance.cxx:427 AliFMDCorrAcceptance.cxx:428 AliFMDCorrAcceptance.cxx:429 AliFMDCorrAcceptance.cxx:430 AliFMDCorrAcceptance.cxx:431 AliFMDCorrAcceptance.cxx:432 AliFMDCorrAcceptance.cxx:433 AliFMDCorrAcceptance.cxx:434 AliFMDCorrAcceptance.cxx:435 AliFMDCorrAcceptance.cxx:436 AliFMDCorrAcceptance.cxx:437 AliFMDCorrAcceptance.cxx:438 AliFMDCorrAcceptance.cxx:439 AliFMDCorrAcceptance.cxx:440 AliFMDCorrAcceptance.cxx:441 AliFMDCorrAcceptance.cxx:442 AliFMDCorrAcceptance.cxx:443 AliFMDCorrAcceptance.cxx:444 AliFMDCorrAcceptance.cxx:445 AliFMDCorrAcceptance.cxx:446 AliFMDCorrAcceptance.cxx:447 AliFMDCorrAcceptance.cxx:448 AliFMDCorrAcceptance.cxx:449 AliFMDCorrAcceptance.cxx:450 AliFMDCorrAcceptance.cxx:451 AliFMDCorrAcceptance.cxx:452 AliFMDCorrAcceptance.cxx:453 AliFMDCorrAcceptance.cxx:454 AliFMDCorrAcceptance.cxx:455 AliFMDCorrAcceptance.cxx:456 AliFMDCorrAcceptance.cxx:457 AliFMDCorrAcceptance.cxx:458 AliFMDCorrAcceptance.cxx:459 AliFMDCorrAcceptance.cxx:460 AliFMDCorrAcceptance.cxx:461 AliFMDCorrAcceptance.cxx:462 AliFMDCorrAcceptance.cxx:463 AliFMDCorrAcceptance.cxx:464 AliFMDCorrAcceptance.cxx:465 AliFMDCorrAcceptance.cxx:466 AliFMDCorrAcceptance.cxx:467 AliFMDCorrAcceptance.cxx:468 AliFMDCorrAcceptance.cxx:469 AliFMDCorrAcceptance.cxx:470 AliFMDCorrAcceptance.cxx:471 AliFMDCorrAcceptance.cxx:472 AliFMDCorrAcceptance.cxx:473 AliFMDCorrAcceptance.cxx:474 AliFMDCorrAcceptance.cxx:475 AliFMDCorrAcceptance.cxx:476 AliFMDCorrAcceptance.cxx:477 AliFMDCorrAcceptance.cxx:478 AliFMDCorrAcceptance.cxx:479 AliFMDCorrAcceptance.cxx:480 AliFMDCorrAcceptance.cxx:481 AliFMDCorrAcceptance.cxx:482 AliFMDCorrAcceptance.cxx:483 AliFMDCorrAcceptance.cxx:484 AliFMDCorrAcceptance.cxx:485 AliFMDCorrAcceptance.cxx:486 AliFMDCorrAcceptance.cxx:487 AliFMDCorrAcceptance.cxx:488 AliFMDCorrAcceptance.cxx:489 AliFMDCorrAcceptance.cxx:490 AliFMDCorrAcceptance.cxx:491 AliFMDCorrAcceptance.cxx:492 AliFMDCorrAcceptance.cxx:493 AliFMDCorrAcceptance.cxx:494 AliFMDCorrAcceptance.cxx:495 AliFMDCorrAcceptance.cxx:496 AliFMDCorrAcceptance.cxx:497 AliFMDCorrAcceptance.cxx:498 AliFMDCorrAcceptance.cxx:499 AliFMDCorrAcceptance.cxx:500 AliFMDCorrAcceptance.cxx:501 AliFMDCorrAcceptance.cxx:502 AliFMDCorrAcceptance.cxx:503 AliFMDCorrAcceptance.cxx:504 AliFMDCorrAcceptance.cxx:505 AliFMDCorrAcceptance.cxx:506 AliFMDCorrAcceptance.cxx:507 AliFMDCorrAcceptance.cxx:508 AliFMDCorrAcceptance.cxx:509 AliFMDCorrAcceptance.cxx:510 AliFMDCorrAcceptance.cxx:511 AliFMDCorrAcceptance.cxx:512 AliFMDCorrAcceptance.cxx:513 AliFMDCorrAcceptance.cxx:514 AliFMDCorrAcceptance.cxx:515 AliFMDCorrAcceptance.cxx:516 AliFMDCorrAcceptance.cxx:517 AliFMDCorrAcceptance.cxx:518 AliFMDCorrAcceptance.cxx:519 AliFMDCorrAcceptance.cxx:520 AliFMDCorrAcceptance.cxx:521 AliFMDCorrAcceptance.cxx:522 AliFMDCorrAcceptance.cxx:523 AliFMDCorrAcceptance.cxx:524 AliFMDCorrAcceptance.cxx:525 AliFMDCorrAcceptance.cxx:526 AliFMDCorrAcceptance.cxx:527 AliFMDCorrAcceptance.cxx:528 AliFMDCorrAcceptance.cxx:529 AliFMDCorrAcceptance.cxx:530 AliFMDCorrAcceptance.cxx:531 AliFMDCorrAcceptance.cxx:532 AliFMDCorrAcceptance.cxx:533 AliFMDCorrAcceptance.cxx:534 AliFMDCorrAcceptance.cxx:535 AliFMDCorrAcceptance.cxx:536 AliFMDCorrAcceptance.cxx:537 AliFMDCorrAcceptance.cxx:538 AliFMDCorrAcceptance.cxx:539 AliFMDCorrAcceptance.cxx:540 AliFMDCorrAcceptance.cxx:541 AliFMDCorrAcceptance.cxx:542 AliFMDCorrAcceptance.cxx:543 AliFMDCorrAcceptance.cxx:544 AliFMDCorrAcceptance.cxx:545 AliFMDCorrAcceptance.cxx:546 AliFMDCorrAcceptance.cxx:547 AliFMDCorrAcceptance.cxx:548 AliFMDCorrAcceptance.cxx:549 AliFMDCorrAcceptance.cxx:550 AliFMDCorrAcceptance.cxx:551 AliFMDCorrAcceptance.cxx:552 AliFMDCorrAcceptance.cxx:553 AliFMDCorrAcceptance.cxx:554 AliFMDCorrAcceptance.cxx:555 AliFMDCorrAcceptance.cxx:556 AliFMDCorrAcceptance.cxx:557 AliFMDCorrAcceptance.cxx:558 AliFMDCorrAcceptance.cxx:559 AliFMDCorrAcceptance.cxx:560 AliFMDCorrAcceptance.cxx:561 AliFMDCorrAcceptance.cxx:562 AliFMDCorrAcceptance.cxx:563 AliFMDCorrAcceptance.cxx:564 AliFMDCorrAcceptance.cxx:565 AliFMDCorrAcceptance.cxx:566 AliFMDCorrAcceptance.cxx:567 AliFMDCorrAcceptance.cxx:568 AliFMDCorrAcceptance.cxx:569 AliFMDCorrAcceptance.cxx:570 AliFMDCorrAcceptance.cxx:571 AliFMDCorrAcceptance.cxx:572 AliFMDCorrAcceptance.cxx:573 AliFMDCorrAcceptance.cxx:574 AliFMDCorrAcceptance.cxx:575 AliFMDCorrAcceptance.cxx:576 AliFMDCorrAcceptance.cxx:577 AliFMDCorrAcceptance.cxx:578 AliFMDCorrAcceptance.cxx:579 AliFMDCorrAcceptance.cxx:580 AliFMDCorrAcceptance.cxx:581 AliFMDCorrAcceptance.cxx:582 AliFMDCorrAcceptance.cxx:583 AliFMDCorrAcceptance.cxx:584 AliFMDCorrAcceptance.cxx:585 AliFMDCorrAcceptance.cxx:586 AliFMDCorrAcceptance.cxx:587 AliFMDCorrAcceptance.cxx:588 AliFMDCorrAcceptance.cxx:589 AliFMDCorrAcceptance.cxx:590 AliFMDCorrAcceptance.cxx:591 AliFMDCorrAcceptance.cxx:592 AliFMDCorrAcceptance.cxx:593 AliFMDCorrAcceptance.cxx:594 AliFMDCorrAcceptance.cxx:595 AliFMDCorrAcceptance.cxx:596 AliFMDCorrAcceptance.cxx:597 AliFMDCorrAcceptance.cxx:598 AliFMDCorrAcceptance.cxx:599 AliFMDCorrAcceptance.cxx:600 AliFMDCorrAcceptance.cxx:601 AliFMDCorrAcceptance.cxx:602 AliFMDCorrAcceptance.cxx:603 AliFMDCorrAcceptance.cxx:604 AliFMDCorrAcceptance.cxx:605 AliFMDCorrAcceptance.cxx:606 AliFMDCorrAcceptance.cxx:607 AliFMDCorrAcceptance.cxx:608 AliFMDCorrAcceptance.cxx:609 AliFMDCorrAcceptance.cxx:610 AliFMDCorrAcceptance.cxx:611 AliFMDCorrAcceptance.cxx:612 AliFMDCorrAcceptance.cxx:613 AliFMDCorrAcceptance.cxx:614 AliFMDCorrAcceptance.cxx:615 AliFMDCorrAcceptance.cxx:616 AliFMDCorrAcceptance.cxx:617 AliFMDCorrAcceptance.cxx:618 AliFMDCorrAcceptance.cxx:619 AliFMDCorrAcceptance.cxx:620 AliFMDCorrAcceptance.cxx:621 AliFMDCorrAcceptance.cxx:622 AliFMDCorrAcceptance.cxx:623 AliFMDCorrAcceptance.cxx:624 AliFMDCorrAcceptance.cxx:625 AliFMDCorrAcceptance.cxx:626 AliFMDCorrAcceptance.cxx:627 AliFMDCorrAcceptance.cxx:628 AliFMDCorrAcceptance.cxx:629 AliFMDCorrAcceptance.cxx:630 AliFMDCorrAcceptance.cxx:631 AliFMDCorrAcceptance.cxx:632 AliFMDCorrAcceptance.cxx:633 AliFMDCorrAcceptance.cxx:634 AliFMDCorrAcceptance.cxx:635 AliFMDCorrAcceptance.cxx:636 AliFMDCorrAcceptance.cxx:637