fAODEP(false),
fRingSums(),
fDoTiming(false),
- fHTiming(0)
+ fHTiming(0),
+ fHStatus(0)
{
DGUARD(fDebug, 3,"Named CTOR of AliForwardMultiplicityBase %s",name);
xaxis->SetBinLabel(kTimingTotal, "Total");
fList->Add(fHTiming);
}
+ fHStatus = new TH1I("status", "Status of task",15, .5, 15.5);
+ fHStatus->SetDirectory(0);
+ fHStatus->SetFillColor(kCyan+2);
+ fHStatus->SetFillStyle(3001);
+ fHStatus->SetLineColor(kBlack);
+ fHStatus->SetMarkerStyle(20);
+ fHStatus->SetMarkerColor(kBlack);
+ fHStatus->SetYTitle("Events");
+ TAxis* a = fHStatus->GetXaxis();
+ a->SetBinLabel(1,"No event");
+ a->SetBinLabel(2,"No triggers");
+ a->SetBinLabel(3,"No SPD (not used)");
+ a->SetBinLabel(4,"No FMD");
+ a->SetBinLabel(5,"No Vertex");
+ a->SetBinLabel(6,"Pile-up");
+ a->SetBinLabel(7,"IP_{z} out of range");
+ a->SetBinLabel(8,"Merger failed");
+ a->SetBinLabel(9,"N_{ch} estimator failed");
+ a->SetBinLabel(10,"#Phi_{R} estimator failed");
+ a->SetBinLabel(11,"Too many outliers");
+ a->SetBinLabel(12,"Corrector failed");
+ a->SetBinLabel(13,"Histogram collector failed");
+ a->SetBinLabel(14,"Not added");
+ a->SetBinLabel(15,"All through");
+ fList->Add(fHStatus);
POST(AOD_SLOT);
return true;
TList* output = fResults;
Double_t nTr = 0, nTrVtx = 0, nAcc = 0;
MakeSimpledNdeta(list, output, nTr, nTrVtx, nAcc);
+ AliInfoF("\n"
+ "\t# events w/trigger: %f\n"
+ "\t# events w/trigger+vertex: %f\n"
+ "\t# events accepted by cuts: %f",
+ nTr, nTrVtx, nAcc);
EstimatedNdeta(list, output);
TH1I* hEventsTrVtx = 0;
TH1I* hEventsAcc = 0;
TH1I* hTriggers = 0;
+ TH1* hStatus = dynamic_cast<TH1*>(input->FindObject("status"));
if (!GetEventInspector().FetchHistograms(input,
hEventsTr,
hEventsTrVtx,
input->ls();
return false;
}
- nTr = hEventsTr->Integral();
- nTrVtx = hEventsTrVtx->Integral();
- nAcc = hEventsAcc->Integral();
- Double_t vtxEff = nTrVtx / nTr;
+ nTr = hEventsTr->Integral();
+ nTrVtx = hEventsTrVtx->Integral();
+ nAcc = hEventsAcc->Integral();
+ Double_t vtxEff = nTrVtx / nTr;
+ Double_t vtxEff2 = 0;
+ if (hStatus) {
+ Double_t nTrg = hStatus->Integral(3,15);
+ Double_t nTrgVtx = hStatus->Integral(6,15);
+ vtxEff2 = (nTrg > 0 ? nTrgVtx / nTrg : 0);
+ }
+
TH2D* hData = static_cast<TH2D*>(input->FindObject("d2Ndetadphi"));
if (!hData) {
AliError(Form("Couldn't get our summed histogram from output "
dNdeta_->SetStats(0);
dNdeta_->Scale(vtxEff, "width");
+ AliInfoF("All\n"
+ "\tNormalization eta: %d\n"
+ "\tNormalization phi: %d\n"
+ "\tVertex efficiency: %f (%f)",
+ Int_t(norm->GetMaximum()), Int_t(phi->GetMaximum()),
+ vtxEff, vtxEff2);
output->Add(dNdeta);
output->Add(dNdeta_);
output->Add(norm);
thisList->Add(resPhi);
thisList->Add(phiAcc);
dndetaRings->Add(resPhi);
+
+ AliInfoF("%s\n"
+ "\tNormalization eta: %d\n"
+ "\tNormalization phi: %d\n",
+ *ptr,
+ Int_t(etaCov->GetMaximum()), Int_t(phiAcc->GetMaximum()));
+
ptr++;
}
out->Add(dndetaRings);