#include "AliBasedNdetaTask.h"
#include <TMath.h>
#include <TH2D.h>
#include <TH1D.h>
#include <THStack.h>
#include <TList.h>
#include <AliAnalysisManager.h>
#include <AliAODEvent.h>
#include <AliAODHandler.h>
#include <AliAODInputHandler.h>
#include "AliForwardUtil.h"
#include "AliAODForwardMult.h"
#include <TFile.h>
#include <TStyle.h>
#include <TROOT.h>
AliBasedNdetaTask::AliBasedNdetaTask()
: AliBaseAODTask(),
fCorrEmpty(true),
fUseROOTProj(false),
fTriggerEff(1),
fTriggerEff0(1),
fListOfCentralities(0),
fNormalizationScheme(kFull),
fFinalMCCorrFile(""),
fSatelliteVertices(0),
fEmpiricalCorrection(0),
fMeanVsC(0),
fCentMethod("default"),
fPileupMask(0),
fAnaUtil(),
fCheckSPDOutlier(false)
{
DGUARD(fDebug,3,"Default CTOR of AliBasedNdetaTask");
}
AliBasedNdetaTask::AliBasedNdetaTask(const char* name)
: AliBaseAODTask(Form("%sdNdeta", name),"AliBasedNdetaTask"),
fCorrEmpty(true),
fUseROOTProj(false),
fTriggerEff(1),
fTriggerEff0(1),
fListOfCentralities(0),
fNormalizationScheme(kFull),
fFinalMCCorrFile(""),
fSatelliteVertices(0),
fEmpiricalCorrection(0),
fMeanVsC(0),
fCentMethod("default"),
fPileupMask(0),
fAnaUtil(),
fCheckSPDOutlier(false)
{
DGUARD(fDebug, 3,"Named CTOR of AliBasedNdetaTask: %s", name);
fTriggerMask = AliAODForwardMult::kInel;
fMinIpZ = -10;
fMaxIpZ = +10;
fListOfCentralities = new TObjArray(1);
SetNormalizationScheme(kFull);
}
AliBasedNdetaTask::~AliBasedNdetaTask()
{
DGUARD(fDebug,3,"Destruction of AliBasedNdetaTask");
}
void
AliBasedNdetaTask::SetDebugLevel(Int_t lvl)
{
AliAnalysisTaskSE::SetDebugLevel(lvl);
for (Int_t i = 0; i < fListOfCentralities->GetEntries(); i++) {
CentralityBin* bin =
static_cast<CentralityBin*>(fListOfCentralities->At(i));
bin->SetDebugLevel(lvl);
}
}
void
AliBasedNdetaTask::AddCentralityBin(UShort_t at, Short_t low, Short_t high)
{
DGUARD(fDebug,3,"Add a centrality bin [%d,%d] @ %d", low, high, at);
CentralityBin* bin = MakeCentralityBin(GetName(), low, high);
if (!bin) {
Error("AddCentralityBin",
"Failed to create centrality bin for %s [%d,%d] @ %d",
GetName(), low, high, at);
return;
}
bin->SetSatelliteVertices(fSatelliteVertices);
bin->SetDebugLevel(fDebug);
fListOfCentralities->AddAtAndExpand(bin, at);
}
AliBasedNdetaTask::CentralityBin*
AliBasedNdetaTask::MakeCentralityBin(const char* name,
Short_t low, Short_t high) const
{
DGUARD(fDebug,3,"Make a centrality bin %s [%d,%d]", name, low, high);
return new CentralityBin(name, low, high);
}
#define TESTAPPEND(SCHEME,BIT,STRING) \
do { if (!(SCHEME & BIT)) break; \
if (!s.IsNull()) s.Append(","); s.Append(STRING); } while(false)
const Char_t*
AliBasedNdetaTask::NormalizationSchemeString(UShort_t scheme)
{
static TString s;
s = "";
if (scheme == kNone)
return s.Data();
if (scheme == kFull) {
s = "FULL";
return s.Data();
}
TESTAPPEND(scheme, kEventLevel, "EVENT");
TESTAPPEND(scheme, kBackground, "BACKGROUND");
TESTAPPEND(scheme, kTriggerEfficiency, "TRIGGER");
TESTAPPEND(scheme, kZeroBin, "ZEROBIN");
return s.Data();
}
UShort_t
AliBasedNdetaTask::ParseNormalizationScheme(const char* what)
{
UShort_t scheme = 0;
TString twhat(what);
twhat.ToUpper();
TObjString* opt;
TObjArray* token = twhat.Tokenize(" ,|");
TIter next(token);
while ((opt = static_cast<TObjString*>(next()))) {
TString s(opt->GetString());
if (s.IsNull()) continue;
Bool_t add = true;
switch (s[0]) {
case '-': add = false;
case '+': s.Remove(0,1);
}
UShort_t bit = 0;
if (s.EqualTo("SHAPE")) {
AliWarningGeneral("AliBasedNdetaTask",
Form("SHAPE correction no longer supported (%s)",
what));
continue;
}
if (s.CompareTo("EVENT") == 0) bit = kEventLevel;
else if (s.CompareTo("BACKGROUND")== 0) bit = kBackground;
else if (s.CompareTo("TRIGGER") == 0) bit = kTriggerEfficiency;
else if (s.CompareTo("FULL") == 0) bit = kFull;
else if (s.CompareTo("NONE") == 0) bit = kNone;
else if (s.CompareTo("ZEROBIN") == 0) bit = kZeroBin;
else
::Warning("SetNormalizationScheme", "Unknown option %s", s.Data());
if (add) scheme |= bit;
else scheme ^= bit;
}
delete token;
return scheme;
}
void
AliBasedNdetaTask::SetNormalizationScheme(const char* what)
{
DGUARD(fDebug,3,"Set the normalization scheme: %s", what);
SetNormalizationScheme(ParseNormalizationScheme(what));
}
void
AliBasedNdetaTask::SetNormalizationScheme(UShort_t scheme)
{
DGUARD(fDebug,3,"Set the normalization scheme: 0x%x", scheme);
fNormalizationScheme = scheme;
}
Bool_t
AliBasedNdetaTask::SetCentralityMethod(const TString& method)
{
Int_t id = GetCentMethodID(method);
if (id < -1) {
AliErrorF("Unknown centrality estimator: %s", method.Data());
return false;
}
if (id < 0) {
AliInfoF("No centrality estimator: \"%s\"", method.Data());
return false;
}
TString meth = GetCentMethod(id);
if (fName.Contains("Forward", TString::kIgnoreCase) && meth.Contains("FMD"))
AliWarningF("Centrality estimator %s used by %s - beware of auto-corr",
meth.Data(), fName.Data());
else if (fName.Contains("Central", TString::kIgnoreCase) &&
(meth.Contains("CL0") || meth.Contains("TKL")))
AliWarningF("Centrality estimator %s used by %s - beware of auto-corr",
meth.Data(), fName.Data());
fCentMethod = meth;
AliInfoF("Centrality estimator set to %s", fCentMethod.Data());
return true;
}
Int_t
AliBasedNdetaTask::GetCentMethodID(const TString& meth)
{
Int_t ret = -2;
TString m(meth);
m.ToUpper();
if (m.EqualTo("NONE") || m.EqualTo("NO") || m.EqualTo("FALSE")) ret = -1;
else if (m.IsNull()) ret = kCentDefault;
else if (m.BeginsWith("DEFAULT")) ret = kCentDefault;
else if (m.BeginsWith("ZEMVSZDC")) ret = kCentZEMvsZDC;
else if (m.BeginsWith("TKLVSV0M")) ret = kCentTklvsV0M;
else if (m.BeginsWith("V0MVSFMD")) ret = kCentV0MvsFMD;
else if (m.BeginsWith("NPA")) ret = kCentNPA;
else if (m.BeginsWith("ZPC")) ret = kCentZPC;
else if (m.BeginsWith("ZPA")) ret = kCentZPA;
else if (m.BeginsWith("ZNC")) ret = kCentZNC;
else if (m.BeginsWith("ZNA")) ret = kCentZNA;
else if (m.BeginsWith("CND")) ret = kCentCND;
else if (m.BeginsWith("CL1")) ret = kCentCL1;
else if (m.BeginsWith("CL0")) ret = kCentCL0;
else if (m.BeginsWith("TKL")) ret = kCentTkl;
else if (m.BeginsWith("TRK")) ret = kCentTrk;
else if (m.BeginsWith("FMD")) ret = kCentFMD;
else if (m.BeginsWith("V0C")) ret = kCentV0C;
else if (m.BeginsWith("V0A123")) ret = kCentV0A123;
else if (m.BeginsWith("V0A")) ret = kCentV0A;
else if (m.BeginsWith("V0M")) ret = kCentV0M;
if (m.Contains("TRUE")) ret |= kCentTrue;
if (m.Contains("EG")) ret |= kCentEq;
return ret;
}
const char*
AliBasedNdetaTask::GetCentMethod(UShort_t id)
{
static TString ret("");
UShort_t base = (id & 0xFF);
switch (base) {
case kCentNone: ret = "none"; break;
case kCentDefault: ret = ""; break;
case kCentV0M: ret = "V0M"; break;
case kCentV0A: ret = "V0A"; break;
case kCentV0A123: ret = "V0A123"; break;
case kCentV0C: ret = "V0C"; break;
case kCentFMD: ret = "FMD"; break;
case kCentTrk: ret = "TRK"; break;
case kCentTkl: ret = "TKL"; break;
case kCentCL0: ret = "CL0"; break;
case kCentCL1: ret = "CL1"; break;
case kCentCND: ret = "CND"; break;
case kCentZNA: ret = "ZNA"; break;
case kCentZNC: ret = "ZNC"; break;
case kCentZPA: ret = "ZPA"; break;
case kCentZPC: ret = "ZPC"; break;
case kCentNPA: ret = "NPA"; break;
case kCentV0MvsFMD: ret = "V0MvsFMD"; break;
case kCentTklvsV0M: ret = "TKLvsV0M"; break;
case kCentZEMvsZDC: ret = "ZEMvsZDC"; break;
default: ret = ""; break;
}
Bool_t tru = id & kCentTrue;
Bool_t eq = id & kCentEq;
if (eq) {
if (!tru) ret.Append("eq");
else ret.Append("Eq");
}
if (tru) ret.Append("true");
return ret.Data();
}
void
AliBasedNdetaTask::InitializeCentBins()
{
if (fListOfCentralities->GetEntries() > 0) return;
AddCentralityBin(0, 0, 0);
if (HasCentrality()) {
const TArrayD* bins = fCentAxis.GetXbins();
Int_t nbin = fCentAxis.GetNbins();
for (Int_t i = 0; i < nbin; i++)
AddCentralityBin(i+1, Short_t((*bins)[i]), Short_t((*bins)[i+1]));
}
}
Bool_t
AliBasedNdetaTask::Book()
{
DGUARD(fDebug,1,"Create user ouput object");
fSums->Add(AliForwardUtil::MakeParameter("empirical",
fEmpiricalCorrection != 0));
fSums->Add(AliForwardUtil::MakeParameter("scheme", fNormalizationScheme));
fSums->Add(AliForwardUtil::MakeParameter("centEstimator",
GetCentMethodID(fCentMethod)));
fSums->Add(AliForwardUtil::MakeParameter("spdOutlier", fCheckSPDOutlier));
InitializeCentBins();
TIter next(fListOfCentralities);
CentralityBin* bin = 0;
while ((bin = static_cast<CentralityBin*>(next())))
bin->CreateOutputObjects(fSums, fTriggerMask);
fMeanVsC=new TH2D("meanAbsSignalVsCentr",
"Mean absolute signal versus centrality",
400, 0, 20, 100, 0, 100);
fSums->Add(fMeanVsC);
return true;
}
Bool_t
AliBasedNdetaTask::CheckEvent(const AliAODForwardMult& fwd)
{
AliBaseAODTask::CheckEvent(fwd);
if (fPileupMask & kPileupFull &&
fwd.IsTriggerBits(AliAODForwardMult::kPileUp))
return false;
if (fPileupMask & kPileupSPD &&
fwd.IsTriggerBits(AliAODForwardMult::kPileupSPD))
return false;
if (fPileupMask & kPileupTrk &&
fwd.IsTriggerBits(AliAODForwardMult::kPileupTrack))
return false;
if (fPileupMask & kPileupBC &&
fwd.IsTriggerBits(AliAODForwardMult::kPileupBC))
return false;
if (fCheckSPDOutlier && fwd.IsTriggerBits(AliAODForwardMult::kSPDOutlier))
return false;
return true;
}
Bool_t
AliBasedNdetaTask::Event(AliAODEvent& aod)
{
DGUARD(fDebug,1,"Analyse the AOD event");
if (fPileupMask & kPileupUtil && fAnaUtil.IsPileUpEvent(&aod)) return false;
AliAODForwardMult* forward = GetForward(aod);
if (!forward) return false;
Double_t vtx = forward->GetIpZ();
TH2D* data = GetHistogram(aod, false);
TH2D* dataMC = GetHistogram(aod, true);
if (!data) return false;
CheckEventData(vtx, data, dataMC);
if (!ApplyEmpiricalCorrection(forward,data))
return false;
Bool_t isZero = ((fNormalizationScheme & kZeroBin) &&
!forward->IsTriggerBits(AliAODForwardMult::kNClusterGt0));
Bool_t taken = false;
Bool_t checkPileup = fPileupMask == kPileupNormal;
CentralityBin* allBin =
static_cast<CentralityBin*>(fListOfCentralities->At(0));
if (allBin->ProcessEvent(forward, fTriggerMask, isZero, fMinIpZ, fMaxIpZ,
data, dataMC, checkPileup)) taken = true;
if (HasCentrality()) {
Double_t cent = forward->GetCentrality();
if (!fCentMethod.IsNull()) {
AliAODHeader* hdr = dynamic_cast<AliAODHeader*>(aod.GetHeader());
if(!hdr) AliFatal("Not a standard AOD");
if (hdr) {
AliCentrality* cP = hdr->GetCentralityP();
if (cP) {
cent = cP->GetCentralityPercentile(fCentMethod);
}
}
}
Int_t icent = fCentAxis.FindBin(cent);
CentralityBin* thisBin = 0;
if (icent >= 1 && icent <= fCentAxis.GetNbins())
thisBin = static_cast<CentralityBin*>(fListOfCentralities->At(icent));
if (thisBin)
if (thisBin->ProcessEvent(forward, fTriggerMask, isZero, fMinIpZ,
fMaxIpZ, data, dataMC, checkPileup))
taken = true;
}
return taken;
}
void AliBasedNdetaTask::CheckEventData(Double_t,
TH2*,
TH2*)
{
}
void
AliBasedNdetaTask::SetHistogramAttributes(TH1D* h, Int_t colour, Int_t marker,
const char* title, const char* ytitle)
{
h->SetTitle(title);
h->SetMarkerColor(colour);
h->SetMarkerStyle(marker);
h->SetMarkerSize(marker == 29 || marker == 30 ? 1.2 : 1);
h->SetFillStyle(0);
TString ytit;
if (ytitle && ytitle[0] != '\0') ytit = ytitle;
ytit = "#frac{1}{#it{N}}#frac{d#it{N}_{ch}}{d#it{#eta}}";
h->SetYTitle(ytit);
h->GetXaxis()->SetTitleFont(132);
h->GetXaxis()->SetLabelFont(132);
h->GetXaxis()->SetNdivisions(10);
h->GetYaxis()->SetTitleFont(132);
h->GetYaxis()->SetLabelFont(132);
h->GetYaxis()->SetNdivisions(10);
h->GetYaxis()->SetDecimals();
h->SetStats(0);
}
void
AliBasedNdetaTask::ScaleToCoverage(TH2D* copy, const TH1D* norm)
{
for (Int_t i = 1; i <= copy->GetNbinsX(); i++) {
Double_t a = norm->GetBinContent(i);
for (Int_t j = 1; j <= copy->GetNbinsY(); j++) {
if (a <= 0) {
copy->SetBinContent(i,j,0);
copy->SetBinError(i,j,0);
continue;
}
Double_t c = copy->GetBinContent(i, j);
Double_t e = copy->GetBinError(i, j);
copy->SetBinContent(i, j, c / a);
copy->SetBinError(i, j, e / a);
}
}
}
void
AliBasedNdetaTask::ScaleToCoverage(TH1D* copy, const TH1D* norm)
{
for (Int_t i = 1; i <= copy->GetNbinsX(); i++) {
Double_t a = norm->GetBinContent(i);
if (a <= 0) {
copy->SetBinContent(i,0);
copy->SetBinError(i,0);
continue;
}
Double_t c = copy->GetBinContent(i);
Double_t e = copy->GetBinError(i);
copy->SetBinContent(i, c / a);
copy->SetBinError(i, e / a);
}
}
TH1D*
AliBasedNdetaTask::ProjectX(const TH2D* h,
const char* name,
Int_t firstbin,
Int_t lastbin,
bool useRoot,
bool corr,
bool error)
{
if (!h) return 0;
if (useRoot)
return h->ProjectionX(name, firstbin, lastbin, (error ? "e" : ""));
const TAxis* xaxis = h->GetXaxis();
const TAxis* yaxis = h->GetYaxis();
TH1D* ret = new TH1D(name, h->GetTitle(), xaxis->GetNbins(),
xaxis->GetXmin(), xaxis->GetXmax());
static_cast<const TAttLine*>(h)->Copy(*ret);
static_cast<const TAttFill*>(h)->Copy(*ret);
static_cast<const TAttMarker*>(h)->Copy(*ret);
ret->GetXaxis()->ImportAttributes(xaxis);
Int_t first = firstbin;
Int_t last = lastbin;
if (first < 0) first = 1;
else if (first >= yaxis->GetNbins()+2) first = yaxis->GetNbins()+1;
if (last < 0) last = yaxis->GetNbins();
else if (last >= yaxis->GetNbins()+2) last = yaxis->GetNbins()+1;
if (last-first < 0) {
AliWarningGeneral("AliBasedNdetaTask",
Form("Nothing to project [%d,%d]", first, last));
return 0;
}
Int_t ybins = (last-first+1);
for (Int_t xbin = 0; xbin <= xaxis->GetNbins()+1; xbin++) {
Double_t content = 0;
Double_t error2 = 0;
Int_t nbins = 0;
for (Int_t ybin = first; ybin <= last; ybin++) {
Double_t c1 = h->GetBinContent(h->GetBin(xbin, ybin));
Double_t e1 = h->GetBinError(h->GetBin(xbin, ybin));
if (c1 < 1e-12) continue;
if (e1 < 1e-12) {
if (error) continue;
e1 = 1;
}
content += c1;
error2 += e1*e1;
nbins++;
}
if(content > 0 && nbins > 0) {
Double_t factor = (corr ? Double_t(ybins) / nbins : 1);
#if 0
AliWarningGeneral(ret->GetName(),
Form("factor @ %d is %d/%d -> %f",
xbin, ybins, nbins, factor));
#endif
if (error) {
ret->SetBinContent(xbin, content * factor);
ret->SetBinError(xbin, factor * TMath::Sqrt(error2));
}
else
ret->SetBinContent(xbin, factor * content);
}
}
return ret;
}
Bool_t
AliBasedNdetaTask::Finalize()
{
DGUARD(fDebug,1,"Process final merged results");
UShort_t sNN;
UShort_t sys;
ULong_t trig;
UShort_t scheme;
AliForwardUtil::GetParameter(fSums->FindObject("sNN"), sNN);
AliForwardUtil::GetParameter(fSums->FindObject("sys"), sys);
AliForwardUtil::GetParameter(fSums->FindObject("trigger"), trig);
AliForwardUtil::GetParameter(fSums->FindObject("scheme"), scheme);
TH1* cH = static_cast<TH1*>(fSums->FindObject("centAxis"));
Info("", "centAxis: %p (%s)", cH, (cH ? cH->ClassName() : "null"));
TAxis* cA = (cH ? cH->GetXaxis() : 0);
if (cA) cA->Copy(fCentAxis);
fCentAxis.SetName("centAxis");
fCentAxis.SetTitle("Centrality [%]");
InitializeCentBins();
Print();
TIter next(fListOfCentralities);
CentralityBin* bin = 0;
gStyle->SetPalette(1);
THStack* dndetaStack = new THStack("dndeta", "dN/d#eta");
THStack* dndetaMCStack = new THStack("dndetaMC", "dN_{ch}/d#eta");
TList* mclist = 0;
TList* truthlist = 0;
if (fFinalMCCorrFile.Contains(".root")) {
TFile* ftest = TFile::Open(fFinalMCCorrFile.Data());
if(ftest) {
mclist = dynamic_cast<TList*>(ftest->Get(Form("%sResults",GetName())));
truthlist = dynamic_cast<TList*>(ftest->Get("MCTruthResults"));
}
else
AliWarning("MC analysis file invalid - no final MC correction possible");
}
Int_t style = GetMarker();
Int_t color = GetColor();
DMSG(fDebug,3,"Marker style=%d, color=%d", style, color);
while ((bin = static_cast<CentralityBin*>(next()))) {
bin->End(fSums, fResults, fNormalizationScheme, fTriggerEff, fTriggerEff0,
fUseROOTProj, fCorrEmpty, fTriggerMask,
style, color, mclist, truthlist);
if (HasCentrality() && bin->IsAllBin())
continue;
TH1* dndeta = bin->GetResult("");
TH1* dndetaMC = bin->GetResult("MC", false);
DMSG(fDebug,2,"Results: bare=%p mcbare=%p", dndeta, dndetaMC);
if (dndeta) dndetaStack->Add(dndeta);
if (dndetaMC) dndetaMCStack->Add(dndetaMC);
}
fResults->Add(dndetaStack);
if (!dndetaMCStack->GetHists() ||
dndetaMCStack->GetHists()->GetEntries() <= 0) {
delete dndetaMCStack;
dndetaMCStack = 0;
}
if (dndetaMCStack) fResults->Add(dndetaMCStack);
if (sNN > 0) {
TNamed* sNNObj = new TNamed("sNN",
AliForwardUtil::CenterOfMassEnergyString(sNN));
sNNObj->SetUniqueID(sNN);
fResults->Add(sNNObj);
}
if (sys > 0) {
TNamed* sysObj = new TNamed("sys",
AliForwardUtil::CollisionSystemString(sys));
sysObj->SetUniqueID(sys);
fResults->Add(sysObj);
}
fResults->Add(&fCentAxis);
fResults->Add(new TNamed("centEstimator", fCentMethod.Data()));
if (trig) {
TNamed* maskObj = new TNamed("trigger",
AliAODForwardMult::GetTriggerString(trig));
maskObj->SetUniqueID(trig);
fResults->Add(maskObj);
}
if (scheme > 0) {
TNamed* schemeObj = new TNamed("scheme",
NormalizationSchemeString(scheme));
schemeObj->SetUniqueID(scheme);
fResults->Add(schemeObj);
}
TAxis* vtxAxis = new TAxis(1,fMinIpZ,fMaxIpZ);
vtxAxis->SetName("vtxAxis");
vtxAxis->SetTitle(Form("v_{z}#in[%+5.1f,%+5.1f]cm", fMinIpZ,fMaxIpZ));
fResults->Add(vtxAxis);
fResults->Add(AliForwardUtil::MakeParameter("triggerEff", fTriggerEff));
fResults->Add(AliForwardUtil::MakeParameter("triggerEff0", fTriggerEff0));
TNamed* options = new TNamed("options","");
TString str;
str.Append(Form("Empty bins %scorrected for, ", fCorrEmpty ? "" : "not "));
str.Append(Form("TH2::ProjectionX %sused", fUseROOTProj ? "" : "not "));
options->SetTitle(str);
fResults->Add(options);
return true;
}
#define PF(N,V,...) \
AliForwardUtil::PrintField(N,V, ## __VA_ARGS__)
#define PFB(N,FLAG) \
do { \
AliForwardUtil::PrintName(N); \
std::cout << std::boolalpha << (FLAG) << std::noboolalpha << std::endl; \
} while(false)
#define PFV(N,VALUE) \
do { \
AliForwardUtil::PrintName(N); \
std::cout << (VALUE) << std::endl; } while(false)
void
AliBasedNdetaTask::Print(Option_t* option) const
{
AliBaseAODTask::Print(option);
TString schemeString(NormalizationSchemeString(fNormalizationScheme));
gROOT->IncreaseDirLevel();
PFB("Use TH2::ProjectionX", fUseROOTProj);
PFB("Correct for empty", fCorrEmpty);
PFV("Normalization scheme", schemeString );
PFV("Trigger efficiency", fTriggerEff);
PFV("Bin-0 Trigger efficiency", fTriggerEff0);
PFV("Centrality estimator", (fCentMethod.IsNull() ?
"-default-" : fCentMethod.Data()));
PF("Pile-up mask", "0x%x", fPileupMask);
PFB("Check SPD outlier", fCheckSPDOutlier);
gROOT->DecreaseDirLevel();
}
Int_t
AliBasedNdetaTask::GetMarkerStyle(UShort_t bits)
{
Int_t base = bits & (0xFE);
Bool_t hollow = bits & kHollow;
switch (base) {
case kCircle: return (hollow ? 24 : 20);
case kSquare: return (hollow ? 25 : 21);
case kUpTriangle: return (hollow ? 26 : 22);
case kDownTriangle: return (hollow ? 32 : 23);
case kDiamond: return (hollow ? 27 : 33);
case kCross: return (hollow ? 28 : 34);
case kStar: return (hollow ? 30 : 29);
}
return 1;
}
UShort_t
AliBasedNdetaTask::GetMarkerBits(Int_t style)
{
UShort_t bits = 0;
switch (style) {
case 24: case 25: case 26: case 27: case 28: case 30: case 32:
bits |= kHollow; break;
}
switch (style) {
case 20: case 24: bits |= kCircle; break;
case 21: case 25: bits |= kSquare; break;
case 22: case 26: bits |= kUpTriangle; break;
case 23: case 32: bits |= kDownTriangle; break;
case 27: case 33: bits |= kDiamond; break;
case 28: case 34: bits |= kCross; break;
case 29: case 30: bits |= kStar; break;
}
return bits;
}
Int_t
AliBasedNdetaTask::FlipHollowStyle(Int_t style)
{
UShort_t bits = GetMarkerBits(style);
Int_t ret = GetMarkerStyle(bits ^ kHollow);
return ret;
}
void
AliBasedNdetaTask::Sum::Init(TList* list, const TH2D* data, Int_t col)
{
DGUARD(fDebug,1,"Initializing sums with %s", data->GetName());
TString n(GetHistName(0));
TString n0(GetHistName(1));
const char* postfix = GetTitle();
fSum = static_cast<TH2D*>(data->Clone(n));
if (postfix) fSum->SetTitle(Form("%s (%s)", data->GetTitle(), postfix));
fSum->SetDirectory(0);
fSum->SetMarkerColor(col);
fSum->SetMarkerStyle(GetMarkerStyle(kCircle|kSolid));
fSum->Reset();
list->Add(fSum);
fSum0 = static_cast<TH2D*>(data->Clone(n0));
if (postfix)
fSum0->SetTitle(Form("%s 0-bin (%s)", data->GetTitle(), postfix));
else
fSum0->SetTitle(Form("%s 0-bin", data->GetTitle()));
fSum0->SetDirectory(0);
fSum0->SetMarkerColor(col);
fSum0->SetMarkerStyle(GetMarkerStyle(kCross|kHollow));
fSum0->Reset();
list->Add(fSum0);
fEvents = new TH1I(GetHistName(2), "Event types", 2, -.5, 1.5);
fEvents->SetDirectory(0);
fEvents->GetXaxis()->SetBinLabel(1, "Non-zero");
fEvents->GetXaxis()->SetBinLabel(2, "Zero");
list->Add(fEvents);
}
TString
AliBasedNdetaTask::Sum::GetHistName(const char* ,
Int_t what, const char* post)
{
TString n;
switch (what) {
case 0: n = "sum"; break;
case 1: n = "sum0"; break;
case 2: n = "events"; break;
}
if (post && post[0] != '\0') n.Append(post);
return n;
}
TString
AliBasedNdetaTask::Sum::GetHistName(Int_t what) const
{
return GetHistName(GetName(), what, GetTitle());
}
void
AliBasedNdetaTask::Sum::Add(const TH2D* data, Bool_t isZero)
{
DGUARD(fDebug,2,"Adding %s to sums", data->GetName());
if (isZero) fSum0->Add(data);
else fSum->Add(data);
fEvents->Fill(isZero ? 1 : 0);
}
TH2D*
AliBasedNdetaTask::Sum::CalcSum(TList* output,
Double_t& ntotal,
Double_t epsilon0,
Double_t epsilon,
Int_t marker,
Bool_t rootProj,
Bool_t corrEmpty) const
{
DGUARD(fDebug,2,"Calculating final summed histogram %s", fSum->GetName());
TH2D* ret = static_cast<TH2D*>(fSum->Clone(fSum->GetName()));
ret->SetDirectory(0);
Int_t n = Int_t(fEvents->GetBinContent(1));
Int_t n0 = Int_t(fEvents->GetBinContent(2));
ntotal = n;
if (n0 > 0) {
ret->Reset();
DMSG(fDebug,1,
"Adding histograms %s(%d) and %s(%d) w/weights %f and %f resp.",
fSum0->GetName(), n, fSum->GetName(), n0, 1./epsilon,1./epsilon0);
ret->Add(fSum0, fSum, 1. / epsilon0, 1. / epsilon);
ntotal = n / epsilon + n0 / epsilon0;
}
TList* out = new TList;
out->SetOwner();
const char* postfix = GetTitle();
if (!postfix) postfix = "";
out->SetName(Form("partial%s", postfix));
output->Add(out);
TH2D* sumCopy = static_cast<TH2D*>(fSum->Clone("sum"));
TH2D* sum0Copy = static_cast<TH2D*>(fSum0->Clone("sum0"));
TH2D* retCopy = static_cast<TH2D*>(ret->Clone("sumAll"));
sumCopy->SetMarkerStyle(FlipHollowStyle(marker));
sumCopy->SetDirectory(0);
sum0Copy->SetMarkerStyle(GetMarkerStyle(GetMarkerBits(marker)+4));
sum0Copy->SetDirectory(0);
retCopy->SetMarkerStyle(marker);
retCopy->SetDirectory(0);
Int_t nY = fSum->GetNbinsY();
Int_t o = 0;
TH1D* norm = ProjectX(fSum, "norm", o, o, rootProj, corrEmpty, false);
TH1D* norm0 = ProjectX(fSum0, "norm0", o, o, rootProj, corrEmpty, false);
TH1D* normAll = ProjectX(ret, "normAll", o, o, rootProj, corrEmpty, false);
norm->SetTitle("#eta coverage - >0-bin");
norm0->SetTitle("#eta coverage - 0-bin");
normAll->SetTitle("#eta coverage");
norm->SetDirectory(0);
norm0->SetDirectory(0);
normAll->SetDirectory(0);
TH1D* sumCopyPx = ProjectX(sumCopy, "average", 1,nY,rootProj,corrEmpty);
TH1D* sum0CopyPx = ProjectX(sum0Copy, "average0", 1,nY,rootProj,corrEmpty);
TH1D* retCopyPx = ProjectX(retCopy, "averageAll", 1,nY,rootProj,corrEmpty);
sumCopyPx-> SetTitle(Form("#sum_{i}^{N_{#phi}}%s", sumCopy->GetTitle()));
sum0CopyPx->SetTitle(Form("#sum_{i}^{N_{#phi}}%s", sum0Copy->GetTitle()));
retCopyPx-> SetTitle(Form("#sum_{i}^{N_{#phi}}%s", retCopy->GetTitle()));
sumCopyPx-> SetDirectory(0);
sum0CopyPx->SetDirectory(0);
retCopyPx-> SetDirectory(0);
TH1D* phi = ProjectX(fSum, "phi", nY+1,nY+1,rootProj,corrEmpty,false);
TH1D* phi0 = ProjectX(fSum0, "phi0", nY+1,nY+1,rootProj,corrEmpty,false);
TH1D* phiAll = ProjectX(ret, "phiAll", nY+1,nY+1,rootProj,corrEmpty,false);
phi ->SetTitle("#phi acceptance from dead strips - >0-bin");
phi0 ->SetTitle("#phi acceptance from dead strips - 0-bin");
phiAll->SetTitle("#phi acceptance from dead strips");
phi ->SetDirectory(0);
phi0 ->SetDirectory(0);
phiAll->SetDirectory(0);
const TH1D* cov = (corrEmpty ? norm : phi);
const TH1D* cov0 = (corrEmpty ? norm0 : phi0);
const TH1D* covAll = (corrEmpty ? normAll : phiAll);
ScaleToCoverage(sumCopy, cov);
ScaleToCoverage(sum0Copy, cov0);
ScaleToCoverage(retCopy, covAll);
sumCopyPx ->Scale(1., "width");
sum0CopyPx->Scale(1., "width");
retCopyPx ->Scale(1., "width");
DMSG(fDebug,2,"Maximum %f,%f changed to %f", sumCopyPx->GetMaximum(),
sum0CopyPx->GetMaximum(), retCopyPx->GetMaximum());
norm ->Scale(n > 0 ? 1. / n : 1);
norm0 ->Scale(n0 > 0 ? 1. / n0 : 1);
normAll->Scale(ntotal > 0 ? 1. / ntotal : 1);
phi ->Scale(n > 0 ? 1. / n : 1);
phi0 ->Scale(n0 > 0 ? 1. / n0 : 1);
phiAll->Scale(ntotal > 0 ? 1. / ntotal : 1);
out->Add(sumCopy);
out->Add(sum0Copy);
out->Add(retCopy);
out->Add(sumCopyPx);
out->Add(sum0CopyPx);
out->Add(retCopyPx);
out->Add(norm);
out->Add(norm0);
out->Add(normAll);
out->Add(phi);
out->Add(phi0);
out->Add(phiAll);
if (fDebug >= 1) {
if (n0 > 0)
DMSG(fDebug,1,"Returning (1/%f * %s + 1/%f * %s), "
"1/%f * %d + 1/%f * %d = %d",
epsilon0, fSum0->GetName(), epsilon, fSum->GetName(),
epsilon0, n0, epsilon, n, int(ntotal));
else
DMSG(fDebug,1, "Returning %s, %d", fSum->GetName(), int(ntotal));
}
#if 0
for (Int_t i = 1; i <= ret->GetNbinsX(); i++) {
Double_t nc = sum->GetBinContent(i, 0);
Double_t nc0 = sum0->GetBinContent(i, 0);
ret->SetBinContent(i, 0, nc + nc0);
}
#endif
return ret;
}
AliBasedNdetaTask::CentralityBin::CentralityBin()
: TNamed("", ""),
fSums(0),
fOutput(0),
fSum(0),
fSumMC(0),
fTriggers(0),
fStatus(0),
fLow(0),
fHigh(0),
fDoFinalMCCorrection(false),
fSatelliteVertices(false),
fDebug(0)
{
DGUARD(fDebug,3,"Default CTOR of AliBasedNdeta::CentralityBin");
}
AliBasedNdetaTask::CentralityBin::CentralityBin(const char* name,
Short_t low, Short_t high)
: TNamed(name, ""),
fSums(0),
fOutput(0),
fSum(0),
fSumMC(0),
fTriggers(0),
fStatus(0),
fLow(low),
fHigh(high),
fDoFinalMCCorrection(false),
fSatelliteVertices(false),
fDebug(0)
{
DGUARD(fDebug,3,"Named CTOR of AliBasedNdeta::CentralityBin: %s [%3d,%3d]",
name,low,high);
if (low <= 0 && high <= 0) {
fLow = 0;
fHigh = 0;
SetTitle("All centralities");
}
else {
fLow = low;
fHigh = high;
SetTitle(Form("Centrality bin from %3d%% to %3d%%", low, high));
}
}
AliBasedNdetaTask::CentralityBin::CentralityBin(const CentralityBin& o)
: TNamed(o),
fSums(o.fSums),
fOutput(o.fOutput),
fSum(o.fSum),
fSumMC(o.fSumMC),
fTriggers(o.fTriggers),
fStatus(o.fStatus),
fLow(o.fLow),
fHigh(o.fHigh),
fDoFinalMCCorrection(o.fDoFinalMCCorrection),
fSatelliteVertices(o.fSatelliteVertices),
fDebug(o.fDebug)
{
DGUARD(fDebug,3,"Copy CTOR of AliBasedNdeta::CentralityBin");
}
AliBasedNdetaTask::CentralityBin::~CentralityBin()
{
DGUARD(fDebug,3,"DTOR of AliBasedNdeta::CentralityBin");
}
AliBasedNdetaTask::CentralityBin&
AliBasedNdetaTask::CentralityBin::operator=(const CentralityBin& o)
{
DGUARD(fDebug,3,"Centrality bin assignment");
if (&o == this) return *this;
SetName(o.GetName());
SetTitle(o.GetTitle());
fSums = o.fSums;
fOutput = o.fOutput;
fSum = o.fSum;
fSumMC = o.fSumMC;
fTriggers = o.fTriggers;
fStatus = o.fStatus;
fLow = o.fLow;
fHigh = o.fHigh;
fDoFinalMCCorrection = o.fDoFinalMCCorrection;
fSatelliteVertices = o.fSatelliteVertices;
return *this;
}
Int_t
AliBasedNdetaTask::CentralityBin::GetColor(Int_t fallback) const
{
if (IsAllBin()) return fallback;
Float_t fc = (fLow+double(fHigh-fLow)/2) / 100;
Int_t nCol = gStyle->GetNumberOfColors();
Int_t icol = TMath::Min(nCol-1,int(fc * nCol + .5));
Int_t col = gStyle->GetColorPalette(icol);
return col;
}
const char*
AliBasedNdetaTask::CentralityBin::GetListName() const
{
if (IsAllBin()) return "all";
return Form("cent%03d_%03d", fLow, fHigh);
}
void
AliBasedNdetaTask::CentralityBin::CreateOutputObjects(TList* dir, Int_t mask)
{
DGUARD(fDebug,1,"Create centrality bin output objects");
fSums = new TList;
fSums->SetName(GetListName());
fSums->SetOwner();
dir->Add(fSums);
fTriggers = AliAODForwardMult::MakeTriggerHistogram("triggers", mask);
fTriggers->SetDirectory(0);
fStatus = AliAODForwardMult::MakeStatusHistogram("status");
fStatus->SetDirectory(0);
fSums->Add(fTriggers);
fSums->Add(fStatus);
}
void
AliBasedNdetaTask::CentralityBin::SetDebugLevel(Int_t lvl)
{
fDebug = lvl;
if (fSum) fSum->fDebug = lvl;
if (fSumMC) fSumMC->fDebug = lvl;
}
Bool_t
AliBasedNdetaTask::CentralityBin::ReadSum(TList* list, bool mc)
{
const char* post = (mc ? "MC" : "");
TString sn = Sum::GetHistName(GetName(),0,post);
TString sn0 = Sum::GetHistName(GetName(),1,post);
TString ev = Sum::GetHistName(GetName(),2,post);
TH2D* sum = static_cast<TH2D*>(list->FindObject(sn));
TH2D* sum0 = static_cast<TH2D*>(list->FindObject(sn0));
TH1I* events = static_cast<TH1I*>(list->FindObject(ev));
if (!sum || !sum0 || !events) {
if (!mc)
AliWarningF("Failed to find one or more histograms: "
"%s (%p) %s (%p) %s (%p)",
sn.Data(), sum,
sn0.Data(), sum0,
ev.Data(), events);
return false;
}
Sum* ret = new Sum(GetName(), post);
ret->fSum = sum;
ret->fSum0 = sum0;
ret->fEvents = events;
ret->fDebug = fDebug;
if (mc) fSumMC = ret;
else fSum = ret;
return true;
}
void
AliBasedNdetaTask::CentralityBin::CreateSums(const TH2D* data, const TH2D* mc)
{
DGUARD(fDebug,1,"Create centrality bin sums from %s",
data ? data->GetName() : "(null)");
if (data) {
fSum = new Sum(GetName(),"");
fSum->Init(fSums, data, GetColor());
fSum->fDebug = fDebug;
}
if (!mc) return;
fSumMC = new Sum(GetName(), "MC");
fSumMC->Init(fSums, mc, GetColor());
fSumMC->fDebug = fDebug;
}
Bool_t
AliBasedNdetaTask::CentralityBin::CheckEvent(const AliAODForwardMult* forward,
Int_t triggerMask,
Double_t vzMin,
Double_t vzMax,
Bool_t checkPileup)
{
if (!forward) return false;
DGUARD(fDebug,2,"Check the event");
return forward->CheckEvent(triggerMask, vzMin, vzMax, 0, 0,
fTriggers, fStatus, checkPileup);
}
Bool_t
AliBasedNdetaTask::CentralityBin::ProcessEvent(const AliAODForwardMult* forward,
Int_t triggerMask, Bool_t isZero,
Double_t vzMin, Double_t vzMax,
const TH2D* data, const TH2D* mc,
Bool_t checkPileup)
{
DGUARD(fDebug,1,"Process one event for %s a given centrality bin",
data ? data->GetName() : "(null)");
if (!CheckEvent(forward, triggerMask, vzMin, vzMax, checkPileup))
return false;
if (!data) return false;
if (!fSum) CreateSums(data, mc);
fSum->Add(data, isZero);
if (mc) fSumMC->Add(mc, isZero);
return true;
}
Double_t
AliBasedNdetaTask::CentralityBin::Normalization(const TH1I& t,
UShort_t scheme,
Double_t trigEff,
Double_t& ntotal,
TString* text) const
{
DGUARD(fDebug,1,"Normalize centrality bin %s [%3d-%3d%%] with %s",
GetName(), fLow, fHigh, t.GetName());
Double_t nAll = t.GetBinContent(AliAODForwardMult::kBinAll);
Double_t nB = t.GetBinContent(AliAODForwardMult::kBinB);
Double_t nA = t.GetBinContent(AliAODForwardMult::kBinA);
Double_t nC = t.GetBinContent(AliAODForwardMult::kBinC);
Double_t nE = t.GetBinContent(AliAODForwardMult::kBinE);
Double_t nOffline = t.GetBinContent(AliAODForwardMult::kBinOffline);
Double_t nTriggered = t.GetBinContent(AliAODForwardMult::kWithTrigger);
Double_t nWithVertex = t.GetBinContent(AliAODForwardMult::kWithVertex);
Double_t nAccepted = ntotal;
ntotal = 0;
if (nTriggered <= 0.1) {
AliError("Number of triggered events <= 0");
return -1;
}
if (nWithVertex <= 0.1) {
AliError("Number of events with vertex <= 0");
return -1;
}
ntotal = nAccepted;
Double_t vtxEff = nWithVertex / nTriggered;
Double_t scaler = 1;
Double_t beta = nA + nC - 2*nE;
TString rhs("N = N_acc");
if (!(scheme & kZeroBin)) {
if (scheme & kEventLevel) {
ntotal = nAccepted / vtxEff;
scaler = vtxEff;
DMSG(fDebug,0,"Calculating event normalisation as\n"
" N = N_A * N_T / N_V = %d * %d / %d = %f (%f)",
Int_t(nAccepted), Int_t(nTriggered), Int_t(nWithVertex),
ntotal, scaler);
if (scheme & kBackground) {
ntotal -= nAccepted * beta / nWithVertex;
scaler /= (1 - beta / nTriggered);
DMSG(fDebug,0,"Calculating event normalisation as\n"
" beta = N_a + N_c + 2 N_e = %d + %d - 2 * %d = %d\n"
" N = N - N_A * beta / N_V = %f - %d * %d / %d = %f (%f)",
Int_t(nA), Int_t(nC), Int_t(nE), Int_t(beta),
nAccepted / vtxEff, Int_t(nAccepted), Int_t(beta),
Int_t(nWithVertex), ntotal, scaler);
rhs.Append("(1/eps_V - beta/N_vtx)");
}
else
rhs.Append("/eps_V");
}
if (scheme & kTriggerEfficiency) {
Int_t old = Int_t(ntotal);
ntotal /= trigEff;
scaler *= trigEff;
DMSG(fDebug,0,"Correcting for trigger efficiency:\n"
" N = 1 / E_X * N = 1 / %f * %d = %f (%f)",
trigEff, old, ntotal, scaler);
rhs.Append("/eps_T");
}
}
else {
if (!(scheme & kBackground)) beta = 0;
ntotal = nAccepted * (1 + 1/trigEff * (nTriggered / nWithVertex - 1
- beta / nWithVertex));
scaler = nWithVertex / (nWithVertex +
1/trigEff * (nTriggered-nWithVertex-beta));
DMSG(fDebug,0,"Calculating event normalisation as\n"
" beta = N_a + N_c + 2 N_e = %d + %d - 2 * %d = %d\n"
" N = N_A (1 + 1/E_X (N_T/N_V - 1 - beta / N_V)) = "
"%d (1 + 1 / %f (%d / %d - 1 - %d / %d)) = %f (%f)",
Int_t(nA), Int_t(nC), Int_t(nE), Int_t(beta),
Int_t(nAccepted), trigEff, Int_t(nTriggered),
Int_t(nWithVertex), Int_t(beta), Int_t(nWithVertex),
ntotal, scaler);
rhs.Append("(1+1/eps_T(1/eps_V-1-beta/N_vtx))");
}
if (text) {
text->Append(Form("%-40s = %d\n", "N_all", UInt_t(nAll)));
text->Append(Form("%-40s = %d\n", "N_acc", UInt_t(nAccepted)));
text->Append(Form("%-40s = %d\n", "N_trg", UInt_t(nTriggered)));
text->Append(Form("%-40s = %d\n", "N_vtx", UInt_t(nWithVertex)));
text->Append(Form("%-40s = %d\n", "N_B", UInt_t(nB)));
text->Append(Form("%-40s = %d\n", "N_A", UInt_t(nA)));
text->Append(Form("%-40s = %d\n", "N_C", UInt_t(nC)));
text->Append(Form("%-40s = %d\n", "N_E", UInt_t(nE)));
text->Append(Form("%-40s = %d\n", "beta = N_A + N_C - 2N_E",UInt_t(beta)));
text->Append(Form("%-40s = %f\n", "eps_V = N_vtx/N_trg",vtxEff));
text->Append(Form("%-40s = %f\n", "eps_T", trigEff));
text->Append(Form("%-40s = %f\n", rhs.Data(), ntotal));
}
TString tN = t.GetXaxis()->GetBinLabel(AliAODForwardMult::kWithTrigger);
tN.ReplaceAll("w/Selected trigger (","");
tN.ReplaceAll(")", "");
DMSG(fDebug,0,"\n"
" Total of %9d events for %s\n"
" of these %9d have an offline trigger\n"
" of these N_T = %9d has the selected trigger (%s)\n"
" of these N_V = %9d has a vertex\n"
" of these N_A = %9d were in the selected range\n"
" Triggers by hardware type:\n"
" N_b = %9d\n"
" N_ac = %9d (%d+%d)\n"
" N_e = %9d\n"
" Vertex efficiency: %f\n"
" Trigger efficiency: %f\n"
" Total number of events: N = %f\n"
" Scaler (N_A/N): %f\n"
" %25s = %f",
Int_t(nAll), GetTitle(), Int_t(nOffline),
Int_t(nTriggered), tN.Data(),
Int_t(nWithVertex), Int_t(nAccepted),
Int_t(nB), Int_t(nA+nC), Int_t(nA), Int_t(nC), Int_t(nE),
vtxEff, trigEff, ntotal, scaler, rhs.Data(), ntotal);
return scaler;
}
const char*
AliBasedNdetaTask::CentralityBin::GetResultName(const char* postfix) const
{
static TString n;
n = GetName();
n.ReplaceAll("dNdeta", "");
n.Prepend("dndeta");
n.Append(postfix);
return n.Data();
}
TH1*
AliBasedNdetaTask::CentralityBin::GetResult(const char* postfix,
Bool_t verbose) const
{
if (!fOutput) {
AliWarningF("No output list defined in %s [%3d,%3d]", GetName(),
fLow, fHigh);
return 0;
}
TString n = GetResultName(postfix);
TObject* o = fOutput->FindObject(n.Data());
if (!o) {
if (verbose)
AliWarningF("Object %s not found in output list of %s",
n.Data(), GetName());
return 0;
}
return static_cast<TH1*>(o);
}
void
AliBasedNdetaTask::CentralityBin::MakeResult(const TH2D* sum,
const char* postfix,
bool rootProj,
bool corrEmpty,
Double_t scaler,
Int_t marker,
Int_t color,
TList* mclist,
TList* truthlist)
{
DGUARD(fDebug,1,"Make centrality bin result from %s", sum->GetName());
TString base(GetName());
base.ReplaceAll("dNdeta", "");
base.Append(postfix);
TH2D* copy = static_cast<TH2D*>(sum->Clone(Form("d2Ndetadphi%s",
base.Data())));
TH1D* accNorm = 0;
Int_t nY = sum->GetNbinsY();
Int_t o = (corrEmpty ? 0 : nY+1);
accNorm = ProjectX(sum, Form("norm%s",base.Data()), o, o,
rootProj, corrEmpty, false);
accNorm->SetDirectory(0);
if (corrEmpty) {
ScaleToCoverage(copy, accNorm);
copy->Scale(scaler);
}
TH1D* dndeta = ProjectX(copy, Form("dndeta%s",base.Data()),
1, nY, rootProj, corrEmpty);
dndeta->SetDirectory(0);
if (!corrEmpty) {
ScaleToCoverage(dndeta, accNorm);
dndeta->Scale(scaler);
}
dndeta->Scale(1., "width");
copy->Scale(1., "width");
TH1D* dndetaMCCorrection = 0;
TH1D* dndetaMCtruth = 0;
TList* centlist = 0;
TList* truthcentlist = 0;
TString rebinSuf(fSatelliteVertices ? "_rebin05" : "");
if(mclist) {
centlist = static_cast<TList*> (mclist->FindObject(GetListName()));
if(centlist)
dndetaMCCorrection =
static_cast<TH1D*>(centlist->FindObject(Form("dndeta%s%s",
base.Data(),
rebinSuf.Data())));
}
if (truthlist) {
truthcentlist = static_cast<TList*>(truthlist->FindObject(GetListName()));
if (truthcentlist)
dndetaMCtruth =
static_cast<TH1D*>(truthcentlist->FindObject(Form("dndetaMCTruth%s",
rebinSuf.Data())));
}
if (dndetaMCCorrection && dndetaMCtruth) {
AliInfo("Correcting with final MC correction");
TString testString(dndetaMCCorrection->GetName());
dndetaMCCorrection->Divide(dndetaMCtruth);
dndetaMCCorrection->SetTitle("Final MC correction");
dndetaMCCorrection->SetName("finalMCCorr");
for(Int_t m = 1; m <= dndetaMCCorrection->GetNbinsX(); m++) {
if(dndetaMCCorrection->GetBinContent(m) < 0.5 ||
dndetaMCCorrection->GetBinContent(m) > 1.75) {
dndetaMCCorrection->SetBinContent(m,1.);
dndetaMCCorrection->SetBinError(m,0.1);
}
}
if (!fSatelliteVertices)
dndeta->Divide(dndetaMCCorrection);
else {
for(Int_t m = 1; m <= dndeta->GetNbinsX(); m++) {
if(dndeta->GetBinContent(m) <= 0.01 ) continue;
Double_t eta = dndeta->GetXaxis()->GetBinCenter(m);
Int_t bin = dndetaMCCorrection->GetXaxis()->FindBin(eta);
Double_t mccorr = dndetaMCCorrection->GetBinContent(bin);
Double_t mcerror = dndetaMCCorrection->GetBinError(bin);
if (mccorr < 1e-6) {
dndeta->SetBinContent(m, 0);
dndeta->SetBinError(m, 0);
}
Double_t value = dndeta->GetBinContent(m);
Double_t error = dndeta->GetBinError(m);
Double_t sumw2 = (error * error * mccorr * mccorr +
mcerror * mcerror * value * value);
dndeta->SetBinContent(m,value/mccorr) ;
dndeta->SetBinError(m,TMath::Sqrt(sumw2)/mccorr/mccorr);
}
}
}
else
DMSG(fDebug,1,"No final MC correction applied");
TString post;
Int_t rColor = GetColor(color);
if (postfix && postfix[0] != '\0') post = Form(" (%s)", postfix);
SetHistogramAttributes(dndeta, rColor, marker,
Form("ALICE %s%s", GetName(), post.Data()));
SetHistogramAttributes(accNorm, rColor, marker,
Form("ALICE %s normalisation%s",
GetName(), post.Data()));
fOutput->Add(dndeta);
fOutput->Add(accNorm);
fOutput->Add(copy);
if (dndetaMCCorrection) fOutput->Add(dndetaMCCorrection);
#if 0
for (Int_t nn=1; nn <= sum->GetNbinsY(); nn++) {
TH1D* dndeta_phi = ProjectX(copy, Form("dndeta%s_phibin%d",
base.Data(), nn),
nn, nn, rootProj, corrEmpty);
dndeta_phi->SetDirectory(0);
dndeta_phi->Scale(TMath::Pi()/10., "width");
if(centlist)
dndetaMCCorrection =
static_cast<TH1D*>(centlist->FindObject(Form("dndeta%s_phibin%d",
base.Data(),nn)));
if(truthcentlist)
dndetaMCtruth
= static_cast<TH1D*>(truthcentlist->FindObject("dndetaMCTruth"));
if (dndetaMCCorrection && dndetaMCtruth) {
AliInfo("Correcting with final MC correction");
TString testString(dndetaMCCorrection->GetName());
dndetaMCCorrection->Divide(dndetaMCtruth);
dndetaMCCorrection->SetTitle(Form("Final_MC_correction_phibin%d",nn));
dndetaMCCorrection->SetName(Form("Final_MC_correction_phibin%d",nn));
for(Int_t m = 1; m <= dndetaMCCorrection->GetNbinsX(); m++) {
if(dndetaMCCorrection->GetBinContent(m) < 0.25 ||
dndetaMCCorrection->GetBinContent(m) > 1.75) {
dndetaMCCorrection->SetBinContent(m,1.);
dndetaMCCorrection->SetBinError(m,0.1);
}
}
dndeta_phi->Divide(dndetaMCCorrection);
}
fOutput->Add(dndeta_phi);
if(dndetaMCCorrection) fOutput->Add(dndetaMCCorrection);
}
#endif
}
void
AliBasedNdetaTask::CentralityBin::End(TList* sums,
TList* results,
UShort_t scheme,
Double_t trigEff,
Double_t trigEff0,
Bool_t rootProj,
Bool_t corrEmpty,
Int_t triggerMask,
Int_t marker,
Int_t color,
TList* mclist,
TList* truthlist)
{
DGUARD(fDebug,1,"End centrality bin procesing");
fSums = dynamic_cast<TList*>(sums->FindObject(GetListName()));
if(!fSums) {
AliError("Could not retrieve TList fSums");
return;
}
fOutput = new TList;
fOutput->SetName(GetListName());
fOutput->SetOwner();
results->Add(fOutput);
if (!fSum) {
if (!ReadSum(fSums, false)) {
AliInfo("This task did not produce any output");
return;
}
}
if (!fSumMC) ReadSum(fSums, true);
fTriggers = static_cast<TH1I*>(fSums->FindObject("triggers"));
if (!fTriggers) {
AliError("Couldn't find histogram 'triggers' in list");
return;
}
Double_t epsilonT = trigEff;
Double_t epsilonT0 = trigEff0;
DMSG(fDebug,2,"Using epsilonT=%f, epsilonT0=%f for 0x%x",
epsilonT, epsilonT0, triggerMask);
Double_t nSum = 0;
TH2D* sum = fSum->CalcSum(fOutput, nSum, epsilonT0, epsilonT,
marker, rootProj, corrEmpty);
Double_t nSumMC = 0;
TH2D* sumMC = 0;
if (fSumMC) sumMC = fSumMC->CalcSum(fOutput, nSumMC,
epsilonT0, epsilonT, marker,
rootProj, corrEmpty);
if (!sum) {
AliError("Failed to get sum from summer - bailing out");
return;
}
TString text;
Double_t ntotal = nSum;
Double_t scaler = Normalization(*fTriggers, scheme, epsilonT, ntotal, &text);
if (scaler < 0) {
AliError("Failed to calculate normalization - bailing out");
return;
}
fOutput->Add(fTriggers->Clone());
fOutput->Add(new TNamed("normCalc", text.Data()));
MakeResult(sum, "", rootProj, corrEmpty, scaler, marker, color,
mclist, truthlist);
if (sumMC)
MakeResult(sumMC, "MC", rootProj, corrEmpty, scaler,
GetMarkerStyle(GetMarkerBits(marker)+4), color,
mclist, truthlist);
}
Bool_t
AliBasedNdetaTask::ApplyEmpiricalCorrection(const AliAODForwardMult* aod,
TH2D* data)
{
if (!fEmpiricalCorrection || !data)
return true;
Float_t zvertex=aod->GetIpZ();
Int_t binzvertex=fEmpiricalCorrection->GetXaxis()->FindBin(zvertex);
if(binzvertex<1||binzvertex>fEmpiricalCorrection->GetNbinsX())
return false;
for (int i=1;i<=data->GetNbinsX();i++) {
Int_t bincorrection=fEmpiricalCorrection->GetYaxis()
->FindBin(data->GetXaxis()->GetBinCenter(i));
if(bincorrection<1||bincorrection>fEmpiricalCorrection->GetNbinsY())
return false;
Float_t correction=fEmpiricalCorrection
->GetBinContent(binzvertex,bincorrection);
if(correction<0.001) {
data->SetBinContent(i,0,0);
data->SetBinContent(i,data->GetNbinsY()+1,0);
}
for(int j=1;j<=data->GetNbinsY();j++) {
if (data->GetBinContent(i,j)>0.0) {
data->SetBinContent(i,j,data->GetBinContent(i,j)*correction);
data->SetBinError(i,j,data->GetBinError(i,j)*correction);
}
}
}
return true;
}
AliBasedNdetaTask.cxx:100 AliBasedNdetaTask.cxx:101 AliBasedNdetaTask.cxx:102 AliBasedNdetaTask.cxx:103 AliBasedNdetaTask.cxx:104 AliBasedNdetaTask.cxx:105 AliBasedNdetaTask.cxx:106 AliBasedNdetaTask.cxx:107 AliBasedNdetaTask.cxx:108 AliBasedNdetaTask.cxx:109 AliBasedNdetaTask.cxx:110 AliBasedNdetaTask.cxx:111 AliBasedNdetaTask.cxx:112 AliBasedNdetaTask.cxx:113 AliBasedNdetaTask.cxx:114 AliBasedNdetaTask.cxx:115 AliBasedNdetaTask.cxx:116 AliBasedNdetaTask.cxx:117 AliBasedNdetaTask.cxx:118 AliBasedNdetaTask.cxx:119 AliBasedNdetaTask.cxx:120 AliBasedNdetaTask.cxx:121 AliBasedNdetaTask.cxx:122 AliBasedNdetaTask.cxx:123 AliBasedNdetaTask.cxx:124 AliBasedNdetaTask.cxx:125 AliBasedNdetaTask.cxx:126 AliBasedNdetaTask.cxx:127 AliBasedNdetaTask.cxx:128 AliBasedNdetaTask.cxx:129 AliBasedNdetaTask.cxx:130 AliBasedNdetaTask.cxx:131 AliBasedNdetaTask.cxx:132 AliBasedNdetaTask.cxx:133 AliBasedNdetaTask.cxx:134 AliBasedNdetaTask.cxx:135 AliBasedNdetaTask.cxx:136 AliBasedNdetaTask.cxx:137 AliBasedNdetaTask.cxx:138 AliBasedNdetaTask.cxx:139 AliBasedNdetaTask.cxx:140 AliBasedNdetaTask.cxx:141 AliBasedNdetaTask.cxx:142 AliBasedNdetaTask.cxx:143 AliBasedNdetaTask.cxx:144 AliBasedNdetaTask.cxx:145 AliBasedNdetaTask.cxx:146 AliBasedNdetaTask.cxx:147 AliBasedNdetaTask.cxx:148 AliBasedNdetaTask.cxx:149 AliBasedNdetaTask.cxx:150 AliBasedNdetaTask.cxx:151 AliBasedNdetaTask.cxx:152 AliBasedNdetaTask.cxx:153 AliBasedNdetaTask.cxx:154 AliBasedNdetaTask.cxx:155 AliBasedNdetaTask.cxx:156 AliBasedNdetaTask.cxx:157 AliBasedNdetaTask.cxx:158 AliBasedNdetaTask.cxx:159 AliBasedNdetaTask.cxx:160 AliBasedNdetaTask.cxx:161 AliBasedNdetaTask.cxx:162 AliBasedNdetaTask.cxx:163 AliBasedNdetaTask.cxx:164 AliBasedNdetaTask.cxx:165 AliBasedNdetaTask.cxx:166 AliBasedNdetaTask.cxx:167 AliBasedNdetaTask.cxx:168 AliBasedNdetaTask.cxx:169 AliBasedNdetaTask.cxx:170 AliBasedNdetaTask.cxx:171 AliBasedNdetaTask.cxx:172 AliBasedNdetaTask.cxx:173 AliBasedNdetaTask.cxx:174 AliBasedNdetaTask.cxx:175 AliBasedNdetaTask.cxx:176 AliBasedNdetaTask.cxx:177 AliBasedNdetaTask.cxx:178 AliBasedNdetaTask.cxx:179 AliBasedNdetaTask.cxx:180 AliBasedNdetaTask.cxx:181 AliBasedNdetaTask.cxx:182 AliBasedNdetaTask.cxx:183 AliBasedNdetaTask.cxx:184 AliBasedNdetaTask.cxx:185 AliBasedNdetaTask.cxx:186 AliBasedNdetaTask.cxx:187 AliBasedNdetaTask.cxx:188 AliBasedNdetaTask.cxx:189 AliBasedNdetaTask.cxx:190 AliBasedNdetaTask.cxx:191 AliBasedNdetaTask.cxx:192 AliBasedNdetaTask.cxx:193 AliBasedNdetaTask.cxx:194 AliBasedNdetaTask.cxx:195 AliBasedNdetaTask.cxx:196 AliBasedNdetaTask.cxx:197 AliBasedNdetaTask.cxx:198 AliBasedNdetaTask.cxx:199 AliBasedNdetaTask.cxx:200 AliBasedNdetaTask.cxx:201 AliBasedNdetaTask.cxx:202 AliBasedNdetaTask.cxx:203 AliBasedNdetaTask.cxx:204 AliBasedNdetaTask.cxx:205 AliBasedNdetaTask.cxx:206 AliBasedNdetaTask.cxx:207 AliBasedNdetaTask.cxx:208 AliBasedNdetaTask.cxx:209 AliBasedNdetaTask.cxx:210 AliBasedNdetaTask.cxx:211 AliBasedNdetaTask.cxx:212 AliBasedNdetaTask.cxx:213 AliBasedNdetaTask.cxx:214 AliBasedNdetaTask.cxx:215 AliBasedNdetaTask.cxx:216 AliBasedNdetaTask.cxx:217 AliBasedNdetaTask.cxx:218 AliBasedNdetaTask.cxx:219 AliBasedNdetaTask.cxx:220 AliBasedNdetaTask.cxx:221 AliBasedNdetaTask.cxx:222 AliBasedNdetaTask.cxx:223 AliBasedNdetaTask.cxx:224 AliBasedNdetaTask.cxx:225 AliBasedNdetaTask.cxx:226 AliBasedNdetaTask.cxx:227 AliBasedNdetaTask.cxx:228 AliBasedNdetaTask.cxx:229 AliBasedNdetaTask.cxx:230 AliBasedNdetaTask.cxx:231 AliBasedNdetaTask.cxx:232 AliBasedNdetaTask.cxx:233 AliBasedNdetaTask.cxx:234 AliBasedNdetaTask.cxx:235 AliBasedNdetaTask.cxx:236 AliBasedNdetaTask.cxx:237 AliBasedNdetaTask.cxx:238 AliBasedNdetaTask.cxx:239 AliBasedNdetaTask.cxx:240 AliBasedNdetaTask.cxx:241 AliBasedNdetaTask.cxx:242 AliBasedNdetaTask.cxx:243 AliBasedNdetaTask.cxx:244 AliBasedNdetaTask.cxx:245 AliBasedNdetaTask.cxx:246 AliBasedNdetaTask.cxx:247 AliBasedNdetaTask.cxx:248 AliBasedNdetaTask.cxx:249 AliBasedNdetaTask.cxx:250 AliBasedNdetaTask.cxx:251 AliBasedNdetaTask.cxx:252 AliBasedNdetaTask.cxx:253 AliBasedNdetaTask.cxx:254 AliBasedNdetaTask.cxx:255 AliBasedNdetaTask.cxx:256 AliBasedNdetaTask.cxx:257 AliBasedNdetaTask.cxx:258 AliBasedNdetaTask.cxx:259 AliBasedNdetaTask.cxx:260 AliBasedNdetaTask.cxx:261 AliBasedNdetaTask.cxx:262 AliBasedNdetaTask.cxx:263 AliBasedNdetaTask.cxx:264 AliBasedNdetaTask.cxx:265 AliBasedNdetaTask.cxx:266 AliBasedNdetaTask.cxx:267 AliBasedNdetaTask.cxx:268 AliBasedNdetaTask.cxx:269 AliBasedNdetaTask.cxx:270 AliBasedNdetaTask.cxx:271 AliBasedNdetaTask.cxx:272 AliBasedNdetaTask.cxx:273 AliBasedNdetaTask.cxx:274 AliBasedNdetaTask.cxx:275 AliBasedNdetaTask.cxx:276 AliBasedNdetaTask.cxx:277 AliBasedNdetaTask.cxx:278 AliBasedNdetaTask.cxx:279 AliBasedNdetaTask.cxx:280 AliBasedNdetaTask.cxx:281 AliBasedNdetaTask.cxx:282 AliBasedNdetaTask.cxx:283 AliBasedNdetaTask.cxx:284 AliBasedNdetaTask.cxx:285 AliBasedNdetaTask.cxx:286 AliBasedNdetaTask.cxx:287 AliBasedNdetaTask.cxx:288 AliBasedNdetaTask.cxx:289 AliBasedNdetaTask.cxx:290 AliBasedNdetaTask.cxx:291 AliBasedNdetaTask.cxx:292 AliBasedNdetaTask.cxx:293 AliBasedNdetaTask.cxx:294 AliBasedNdetaTask.cxx:295 AliBasedNdetaTask.cxx:296 AliBasedNdetaTask.cxx:297 AliBasedNdetaTask.cxx:298 AliBasedNdetaTask.cxx:299 AliBasedNdetaTask.cxx:300 AliBasedNdetaTask.cxx:301 AliBasedNdetaTask.cxx:302 AliBasedNdetaTask.cxx:303 AliBasedNdetaTask.cxx:304 AliBasedNdetaTask.cxx:305 AliBasedNdetaTask.cxx:306 AliBasedNdetaTask.cxx:307 AliBasedNdetaTask.cxx:308 AliBasedNdetaTask.cxx:309 AliBasedNdetaTask.cxx:310 AliBasedNdetaTask.cxx:311 AliBasedNdetaTask.cxx:312 AliBasedNdetaTask.cxx:313 AliBasedNdetaTask.cxx:314 AliBasedNdetaTask.cxx:315 AliBasedNdetaTask.cxx:316 AliBasedNdetaTask.cxx:317 AliBasedNdetaTask.cxx:318 AliBasedNdetaTask.cxx:319 AliBasedNdetaTask.cxx:320 AliBasedNdetaTask.cxx:321 AliBasedNdetaTask.cxx:322 AliBasedNdetaTask.cxx:323 AliBasedNdetaTask.cxx:324 AliBasedNdetaTask.cxx:325 AliBasedNdetaTask.cxx:326 AliBasedNdetaTask.cxx:327 AliBasedNdetaTask.cxx:328 AliBasedNdetaTask.cxx:329 AliBasedNdetaTask.cxx:330 AliBasedNdetaTask.cxx:331 AliBasedNdetaTask.cxx:332 AliBasedNdetaTask.cxx:333 AliBasedNdetaTask.cxx:334 AliBasedNdetaTask.cxx:335 AliBasedNdetaTask.cxx:336 AliBasedNdetaTask.cxx:337 AliBasedNdetaTask.cxx:338 AliBasedNdetaTask.cxx:339 AliBasedNdetaTask.cxx:340 AliBasedNdetaTask.cxx:341 AliBasedNdetaTask.cxx:342 AliBasedNdetaTask.cxx:343 AliBasedNdetaTask.cxx:344 AliBasedNdetaTask.cxx:345 AliBasedNdetaTask.cxx:346 AliBasedNdetaTask.cxx:347 AliBasedNdetaTask.cxx:348 AliBasedNdetaTask.cxx:349 AliBasedNdetaTask.cxx:350 AliBasedNdetaTask.cxx:351 AliBasedNdetaTask.cxx:352 AliBasedNdetaTask.cxx:353 AliBasedNdetaTask.cxx:354 AliBasedNdetaTask.cxx:355 AliBasedNdetaTask.cxx:356 AliBasedNdetaTask.cxx:357 AliBasedNdetaTask.cxx:358 AliBasedNdetaTask.cxx:359 AliBasedNdetaTask.cxx:360 AliBasedNdetaTask.cxx:361 AliBasedNdetaTask.cxx:362 AliBasedNdetaTask.cxx:363 AliBasedNdetaTask.cxx:364 AliBasedNdetaTask.cxx:365 AliBasedNdetaTask.cxx:366 AliBasedNdetaTask.cxx:367 AliBasedNdetaTask.cxx:368 AliBasedNdetaTask.cxx:369 AliBasedNdetaTask.cxx:370 AliBasedNdetaTask.cxx:371 AliBasedNdetaTask.cxx:372 AliBasedNdetaTask.cxx:373 AliBasedNdetaTask.cxx:374 AliBasedNdetaTask.cxx:375 AliBasedNdetaTask.cxx:376 AliBasedNdetaTask.cxx:377 AliBasedNdetaTask.cxx:378 AliBasedNdetaTask.cxx:379 AliBasedNdetaTask.cxx:380 AliBasedNdetaTask.cxx:381 AliBasedNdetaTask.cxx:382 AliBasedNdetaTask.cxx:383 AliBasedNdetaTask.cxx:384 AliBasedNdetaTask.cxx:385 AliBasedNdetaTask.cxx:386 AliBasedNdetaTask.cxx:387 AliBasedNdetaTask.cxx:388 AliBasedNdetaTask.cxx:389 AliBasedNdetaTask.cxx:390 AliBasedNdetaTask.cxx:391 AliBasedNdetaTask.cxx:392 AliBasedNdetaTask.cxx:393 AliBasedNdetaTask.cxx:394 AliBasedNdetaTask.cxx:395 AliBasedNdetaTask.cxx:396 AliBasedNdetaTask.cxx:397 AliBasedNdetaTask.cxx:398 AliBasedNdetaTask.cxx:399 AliBasedNdetaTask.cxx:400 AliBasedNdetaTask.cxx:401 AliBasedNdetaTask.cxx:402 AliBasedNdetaTask.cxx:403 AliBasedNdetaTask.cxx:404 AliBasedNdetaTask.cxx:405 AliBasedNdetaTask.cxx:406 AliBasedNdetaTask.cxx:407 AliBasedNdetaTask.cxx:408 AliBasedNdetaTask.cxx:409 AliBasedNdetaTask.cxx:410 AliBasedNdetaTask.cxx:411 AliBasedNdetaTask.cxx:412 AliBasedNdetaTask.cxx:413 AliBasedNdetaTask.cxx:414 AliBasedNdetaTask.cxx:415 AliBasedNdetaTask.cxx:416 AliBasedNdetaTask.cxx:417 AliBasedNdetaTask.cxx:418 AliBasedNdetaTask.cxx:419 AliBasedNdetaTask.cxx:420 AliBasedNdetaTask.cxx:421 AliBasedNdetaTask.cxx:422 AliBasedNdetaTask.cxx:423 AliBasedNdetaTask.cxx:424 AliBasedNdetaTask.cxx:425 AliBasedNdetaTask.cxx:426 AliBasedNdetaTask.cxx:427 AliBasedNdetaTask.cxx:428 AliBasedNdetaTask.cxx:429 AliBasedNdetaTask.cxx:430 AliBasedNdetaTask.cxx:431 AliBasedNdetaTask.cxx:432 AliBasedNdetaTask.cxx:433 AliBasedNdetaTask.cxx:434 AliBasedNdetaTask.cxx:435 AliBasedNdetaTask.cxx:436 AliBasedNdetaTask.cxx:437 AliBasedNdetaTask.cxx:438 AliBasedNdetaTask.cxx:439 AliBasedNdetaTask.cxx:440 AliBasedNdetaTask.cxx:441 AliBasedNdetaTask.cxx:442 AliBasedNdetaTask.cxx:443 AliBasedNdetaTask.cxx:444 AliBasedNdetaTask.cxx:445 AliBasedNdetaTask.cxx:446 AliBasedNdetaTask.cxx:447 AliBasedNdetaTask.cxx:448 AliBasedNdetaTask.cxx:449 AliBasedNdetaTask.cxx:450 AliBasedNdetaTask.cxx:451 AliBasedNdetaTask.cxx:452 AliBasedNdetaTask.cxx:453 AliBasedNdetaTask.cxx:454 AliBasedNdetaTask.cxx:455 AliBasedNdetaTask.cxx:456 AliBasedNdetaTask.cxx:457 AliBasedNdetaTask.cxx:458 AliBasedNdetaTask.cxx:459 AliBasedNdetaTask.cxx:460 AliBasedNdetaTask.cxx:461 AliBasedNdetaTask.cxx:462 AliBasedNdetaTask.cxx:463 AliBasedNdetaTask.cxx:464 AliBasedNdetaTask.cxx:465 AliBasedNdetaTask.cxx:466 AliBasedNdetaTask.cxx:467 AliBasedNdetaTask.cxx:468 AliBasedNdetaTask.cxx:469 AliBasedNdetaTask.cxx:470 AliBasedNdetaTask.cxx:471 AliBasedNdetaTask.cxx:472 AliBasedNdetaTask.cxx:473 AliBasedNdetaTask.cxx:474 AliBasedNdetaTask.cxx:475 AliBasedNdetaTask.cxx:476 AliBasedNdetaTask.cxx:477 AliBasedNdetaTask.cxx:478 AliBasedNdetaTask.cxx:479 AliBasedNdetaTask.cxx:480 AliBasedNdetaTask.cxx:481 AliBasedNdetaTask.cxx:482 AliBasedNdetaTask.cxx:483 AliBasedNdetaTask.cxx:484 AliBasedNdetaTask.cxx:485 AliBasedNdetaTask.cxx:486 AliBasedNdetaTask.cxx:487 AliBasedNdetaTask.cxx:488 AliBasedNdetaTask.cxx:489 AliBasedNdetaTask.cxx:490 AliBasedNdetaTask.cxx:491 AliBasedNdetaTask.cxx:492 AliBasedNdetaTask.cxx:493 AliBasedNdetaTask.cxx:494 AliBasedNdetaTask.cxx:495 AliBasedNdetaTask.cxx:496 AliBasedNdetaTask.cxx:497 AliBasedNdetaTask.cxx:498 AliBasedNdetaTask.cxx:499 AliBasedNdetaTask.cxx:500 AliBasedNdetaTask.cxx:501 AliBasedNdetaTask.cxx:502 AliBasedNdetaTask.cxx:503 AliBasedNdetaTask.cxx:504 AliBasedNdetaTask.cxx:505 AliBasedNdetaTask.cxx:506 AliBasedNdetaTask.cxx:507 AliBasedNdetaTask.cxx:508 AliBasedNdetaTask.cxx:509 AliBasedNdetaTask.cxx:510 AliBasedNdetaTask.cxx:511 AliBasedNdetaTask.cxx:512 AliBasedNdetaTask.cxx:513 AliBasedNdetaTask.cxx:514 AliBasedNdetaTask.cxx:515 AliBasedNdetaTask.cxx:516 AliBasedNdetaTask.cxx:517 AliBasedNdetaTask.cxx:518 AliBasedNdetaTask.cxx:519 AliBasedNdetaTask.cxx:520 AliBasedNdetaTask.cxx:521 AliBasedNdetaTask.cxx:522 AliBasedNdetaTask.cxx:523 AliBasedNdetaTask.cxx:524 AliBasedNdetaTask.cxx:525 AliBasedNdetaTask.cxx:526 AliBasedNdetaTask.cxx:527 AliBasedNdetaTask.cxx:528 AliBasedNdetaTask.cxx:529 AliBasedNdetaTask.cxx:530 AliBasedNdetaTask.cxx:531 AliBasedNdetaTask.cxx:532 AliBasedNdetaTask.cxx:533 AliBasedNdetaTask.cxx:534 AliBasedNdetaTask.cxx:535 AliBasedNdetaTask.cxx:536 AliBasedNdetaTask.cxx:537 AliBasedNdetaTask.cxx:538 AliBasedNdetaTask.cxx:539 AliBasedNdetaTask.cxx:540 AliBasedNdetaTask.cxx:541 AliBasedNdetaTask.cxx:542 AliBasedNdetaTask.cxx:543 AliBasedNdetaTask.cxx:544 AliBasedNdetaTask.cxx:545 AliBasedNdetaTask.cxx:546 AliBasedNdetaTask.cxx:547 AliBasedNdetaTask.cxx:548 AliBasedNdetaTask.cxx:549 AliBasedNdetaTask.cxx:550 AliBasedNdetaTask.cxx:551 AliBasedNdetaTask.cxx:552 AliBasedNdetaTask.cxx:553 AliBasedNdetaTask.cxx:554 AliBasedNdetaTask.cxx:555 AliBasedNdetaTask.cxx:556 AliBasedNdetaTask.cxx:557 AliBasedNdetaTask.cxx:558 AliBasedNdetaTask.cxx:559 AliBasedNdetaTask.cxx:560 AliBasedNdetaTask.cxx:561 AliBasedNdetaTask.cxx:562 AliBasedNdetaTask.cxx:563 AliBasedNdetaTask.cxx:564 AliBasedNdetaTask.cxx:565 AliBasedNdetaTask.cxx:566 AliBasedNdetaTask.cxx:567 AliBasedNdetaTask.cxx:568 AliBasedNdetaTask.cxx:569 AliBasedNdetaTask.cxx:570 AliBasedNdetaTask.cxx:571 AliBasedNdetaTask.cxx:572 AliBasedNdetaTask.cxx:573 AliBasedNdetaTask.cxx:574 AliBasedNdetaTask.cxx:575 AliBasedNdetaTask.cxx:576 AliBasedNdetaTask.cxx:577 AliBasedNdetaTask.cxx:578 AliBasedNdetaTask.cxx:579 AliBasedNdetaTask.cxx:580 AliBasedNdetaTask.cxx:581 AliBasedNdetaTask.cxx:582 AliBasedNdetaTask.cxx:583 AliBasedNdetaTask.cxx:584 AliBasedNdetaTask.cxx:585 AliBasedNdetaTask.cxx:586 AliBasedNdetaTask.cxx:587 AliBasedNdetaTask.cxx:588 AliBasedNdetaTask.cxx:589 AliBasedNdetaTask.cxx:590 AliBasedNdetaTask.cxx:591 AliBasedNdetaTask.cxx:592 AliBasedNdetaTask.cxx:593 AliBasedNdetaTask.cxx:594 AliBasedNdetaTask.cxx:595 AliBasedNdetaTask.cxx:596 AliBasedNdetaTask.cxx:597 AliBasedNdetaTask.cxx:598 AliBasedNdetaTask.cxx:599 AliBasedNdetaTask.cxx:600 AliBasedNdetaTask.cxx:601 AliBasedNdetaTask.cxx:602 AliBasedNdetaTask.cxx:603 AliBasedNdetaTask.cxx:604 AliBasedNdetaTask.cxx:605 AliBasedNdetaTask.cxx:606 AliBasedNdetaTask.cxx:607 AliBasedNdetaTask.cxx:608 AliBasedNdetaTask.cxx:609 AliBasedNdetaTask.cxx:610 AliBasedNdetaTask.cxx:611 AliBasedNdetaTask.cxx:612 AliBasedNdetaTask.cxx:613 AliBasedNdetaTask.cxx:614 AliBasedNdetaTask.cxx:615 AliBasedNdetaTask.cxx:616 AliBasedNdetaTask.cxx:617 AliBasedNdetaTask.cxx:618 AliBasedNdetaTask.cxx:619 AliBasedNdetaTask.cxx:620 AliBasedNdetaTask.cxx:621 AliBasedNdetaTask.cxx:622 AliBasedNdetaTask.cxx:623 AliBasedNdetaTask.cxx:624 AliBasedNdetaTask.cxx:625 AliBasedNdetaTask.cxx:626 AliBasedNdetaTask.cxx:627 AliBasedNdetaTask.cxx:628 AliBasedNdetaTask.cxx:629 AliBasedNdetaTask.cxx:630 AliBasedNdetaTask.cxx:631 AliBasedNdetaTask.cxx:632 AliBasedNdetaTask.cxx:633 AliBasedNdetaTask.cxx:634 AliBasedNdetaTask.cxx:635 AliBasedNdetaTask.cxx:636 AliBasedNdetaTask.cxx:637 AliBasedNdetaTask.cxx:638 AliBasedNdetaTask.cxx:639 AliBasedNdetaTask.cxx:640 AliBasedNdetaTask.cxx:641 AliBasedNdetaTask.cxx:642 AliBasedNdetaTask.cxx:643 AliBasedNdetaTask.cxx:644 AliBasedNdetaTask.cxx:645 AliBasedNdetaTask.cxx:646 AliBasedNdetaTask.cxx:647 AliBasedNdetaTask.cxx:648 AliBasedNdetaTask.cxx:649 AliBasedNdetaTask.cxx:650 AliBasedNdetaTask.cxx:651 AliBasedNdetaTask.cxx:652 AliBasedNdetaTask.cxx:653 AliBasedNdetaTask.cxx:654 AliBasedNdetaTask.cxx:655 AliBasedNdetaTask.cxx:656 AliBasedNdetaTask.cxx:657 AliBasedNdetaTask.cxx:658 AliBasedNdetaTask.cxx:659 AliBasedNdetaTask.cxx:660 AliBasedNdetaTask.cxx:661 AliBasedNdetaTask.cxx:662 AliBasedNdetaTask.cxx:663 AliBasedNdetaTask.cxx:664 AliBasedNdetaTask.cxx:665 AliBasedNdetaTask.cxx:666 AliBasedNdetaTask.cxx:667 AliBasedNdetaTask.cxx:668 AliBasedNdetaTask.cxx:669 AliBasedNdetaTask.cxx:670 AliBasedNdetaTask.cxx:671 AliBasedNdetaTask.cxx:672 AliBasedNdetaTask.cxx:673 AliBasedNdetaTask.cxx:674 AliBasedNdetaTask.cxx:675 AliBasedNdetaTask.cxx:676 AliBasedNdetaTask.cxx:677 AliBasedNdetaTask.cxx:678 AliBasedNdetaTask.cxx:679 AliBasedNdetaTask.cxx:680 AliBasedNdetaTask.cxx:681 AliBasedNdetaTask.cxx:682 AliBasedNdetaTask.cxx:683 AliBasedNdetaTask.cxx:684 AliBasedNdetaTask.cxx:685 AliBasedNdetaTask.cxx:686 AliBasedNdetaTask.cxx:687 AliBasedNdetaTask.cxx:688 AliBasedNdetaTask.cxx:689 AliBasedNdetaTask.cxx:690 AliBasedNdetaTask.cxx:691 AliBasedNdetaTask.cxx:692 AliBasedNdetaTask.cxx:693 AliBasedNdetaTask.cxx:694 AliBasedNdetaTask.cxx:695 AliBasedNdetaTask.cxx:696 AliBasedNdetaTask.cxx:697 AliBasedNdetaTask.cxx:698 AliBasedNdetaTask.cxx:699 AliBasedNdetaTask.cxx:700 AliBasedNdetaTask.cxx:701 AliBasedNdetaTask.cxx:702 AliBasedNdetaTask.cxx:703 AliBasedNdetaTask.cxx:704 AliBasedNdetaTask.cxx:705 AliBasedNdetaTask.cxx:706 AliBasedNdetaTask.cxx:707 AliBasedNdetaTask.cxx:708 AliBasedNdetaTask.cxx:709 AliBasedNdetaTask.cxx:710 AliBasedNdetaTask.cxx:711 AliBasedNdetaTask.cxx:712 AliBasedNdetaTask.cxx:713 AliBasedNdetaTask.cxx:714 AliBasedNdetaTask.cxx:715 AliBasedNdetaTask.cxx:716 AliBasedNdetaTask.cxx:717 AliBasedNdetaTask.cxx:718 AliBasedNdetaTask.cxx:719 AliBasedNdetaTask.cxx:720 AliBasedNdetaTask.cxx:721 AliBasedNdetaTask.cxx:722 AliBasedNdetaTask.cxx:723 AliBasedNdetaTask.cxx:724 AliBasedNdetaTask.cxx:725 AliBasedNdetaTask.cxx:726 AliBasedNdetaTask.cxx:727 AliBasedNdetaTask.cxx:728 AliBasedNdetaTask.cxx:729 AliBasedNdetaTask.cxx:730 AliBasedNdetaTask.cxx:731 AliBasedNdetaTask.cxx:732 AliBasedNdetaTask.cxx:733 AliBasedNdetaTask.cxx:734 AliBasedNdetaTask.cxx:735 AliBasedNdetaTask.cxx:736 AliBasedNdetaTask.cxx:737 AliBasedNdetaTask.cxx:738 AliBasedNdetaTask.cxx:739 AliBasedNdetaTask.cxx:740 AliBasedNdetaTask.cxx:741 AliBasedNdetaTask.cxx:742 AliBasedNdetaTask.cxx:743 AliBasedNdetaTask.cxx:744 AliBasedNdetaTask.cxx:745 AliBasedNdetaTask.cxx:746 AliBasedNdetaTask.cxx:747 AliBasedNdetaTask.cxx:748 AliBasedNdetaTask.cxx:749 AliBasedNdetaTask.cxx:750 AliBasedNdetaTask.cxx:751 AliBasedNdetaTask.cxx:752 AliBasedNdetaTask.cxx:753 AliBasedNdetaTask.cxx:754 AliBasedNdetaTask.cxx:755 AliBasedNdetaTask.cxx:756 AliBasedNdetaTask.cxx:757 AliBasedNdetaTask.cxx:758 AliBasedNdetaTask.cxx:759 AliBasedNdetaTask.cxx:760 AliBasedNdetaTask.cxx:761 AliBasedNdetaTask.cxx:762 AliBasedNdetaTask.cxx:763 AliBasedNdetaTask.cxx:764 AliBasedNdetaTask.cxx:765 AliBasedNdetaTask.cxx:766 AliBasedNdetaTask.cxx:767 AliBasedNdetaTask.cxx:768 AliBasedNdetaTask.cxx:769 AliBasedNdetaTask.cxx:770 AliBasedNdetaTask.cxx:771 AliBasedNdetaTask.cxx:772 AliBasedNdetaTask.cxx:773 AliBasedNdetaTask.cxx:774 AliBasedNdetaTask.cxx:775 AliBasedNdetaTask.cxx:776 AliBasedNdetaTask.cxx:777 AliBasedNdetaTask.cxx:778 AliBasedNdetaTask.cxx:779 AliBasedNdetaTask.cxx:780 AliBasedNdetaTask.cxx:781 AliBasedNdetaTask.cxx:782 AliBasedNdetaTask.cxx:783 AliBasedNdetaTask.cxx:784 AliBasedNdetaTask.cxx:785 AliBasedNdetaTask.cxx:786 AliBasedNdetaTask.cxx:787 AliBasedNdetaTask.cxx:788 AliBasedNdetaTask.cxx:789 AliBasedNdetaTask.cxx:790 AliBasedNdetaTask.cxx:791 AliBasedNdetaTask.cxx:792 AliBasedNdetaTask.cxx:793 AliBasedNdetaTask.cxx:794 AliBasedNdetaTask.cxx:795 AliBasedNdetaTask.cxx:796 AliBasedNdetaTask.cxx:797 AliBasedNdetaTask.cxx:798 AliBasedNdetaTask.cxx:799 AliBasedNdetaTask.cxx:800 AliBasedNdetaTask.cxx:801 AliBasedNdetaTask.cxx:802 AliBasedNdetaTask.cxx:803 AliBasedNdetaTask.cxx:804 AliBasedNdetaTask.cxx:805 AliBasedNdetaTask.cxx:806 AliBasedNdetaTask.cxx:807 AliBasedNdetaTask.cxx:808 AliBasedNdetaTask.cxx:809 AliBasedNdetaTask.cxx:810 AliBasedNdetaTask.cxx:811 AliBasedNdetaTask.cxx:812 AliBasedNdetaTask.cxx:813 AliBasedNdetaTask.cxx:814 AliBasedNdetaTask.cxx:815 AliBasedNdetaTask.cxx:816 AliBasedNdetaTask.cxx:817 AliBasedNdetaTask.cxx:818 AliBasedNdetaTask.cxx:819 AliBasedNdetaTask.cxx:820 AliBasedNdetaTask.cxx:821 AliBasedNdetaTask.cxx:822 AliBasedNdetaTask.cxx:823 AliBasedNdetaTask.cxx:824 AliBasedNdetaTask.cxx:825 AliBasedNdetaTask.cxx:826 AliBasedNdetaTask.cxx:827 AliBasedNdetaTask.cxx:828 AliBasedNdetaTask.cxx:829 AliBasedNdetaTask.cxx:830 AliBasedNdetaTask.cxx:831 AliBasedNdetaTask.cxx:832 AliBasedNdetaTask.cxx:833 AliBasedNdetaTask.cxx:834 AliBasedNdetaTask.cxx:835 AliBasedNdetaTask.cxx:836 AliBasedNdetaTask.cxx:837 AliBasedNdetaTask.cxx:838 AliBasedNdetaTask.cxx:839 AliBasedNdetaTask.cxx:840 AliBasedNdetaTask.cxx:841 AliBasedNdetaTask.cxx:842 AliBasedNdetaTask.cxx:843 AliBasedNdetaTask.cxx:844 AliBasedNdetaTask.cxx:845 AliBasedNdetaTask.cxx:846 AliBasedNdetaTask.cxx:847 AliBasedNdetaTask.cxx:848 AliBasedNdetaTask.cxx:849 AliBasedNdetaTask.cxx:850 AliBasedNdetaTask.cxx:851 AliBasedNdetaTask.cxx:852 AliBasedNdetaTask.cxx:853 AliBasedNdetaTask.cxx:854 AliBasedNdetaTask.cxx:855 AliBasedNdetaTask.cxx:856 AliBasedNdetaTask.cxx:857 AliBasedNdetaTask.cxx:858 AliBasedNdetaTask.cxx:859 AliBasedNdetaTask.cxx:860 AliBasedNdetaTask.cxx:861 AliBasedNdetaTask.cxx:862 AliBasedNdetaTask.cxx:863 AliBasedNdetaTask.cxx:864 AliBasedNdetaTask.cxx:865 AliBasedNdetaTask.cxx:866 AliBasedNdetaTask.cxx:867 AliBasedNdetaTask.cxx:868 AliBasedNdetaTask.cxx:869 AliBasedNdetaTask.cxx:870 AliBasedNdetaTask.cxx:871 AliBasedNdetaTask.cxx:872 AliBasedNdetaTask.cxx:873 AliBasedNdetaTask.cxx:874 AliBasedNdetaTask.cxx:875 AliBasedNdetaTask.cxx:876 AliBasedNdetaTask.cxx:877 AliBasedNdetaTask.cxx:878 AliBasedNdetaTask.cxx:879 AliBasedNdetaTask.cxx:880 AliBasedNdetaTask.cxx:881 AliBasedNdetaTask.cxx:882 AliBasedNdetaTask.cxx:883 AliBasedNdetaTask.cxx:884 AliBasedNdetaTask.cxx:885 AliBasedNdetaTask.cxx:886 AliBasedNdetaTask.cxx:887 AliBasedNdetaTask.cxx:888 AliBasedNdetaTask.cxx:889 AliBasedNdetaTask.cxx:890 AliBasedNdetaTask.cxx:891 AliBasedNdetaTask.cxx:892 AliBasedNdetaTask.cxx:893 AliBasedNdetaTask.cxx:894 AliBasedNdetaTask.cxx:895 AliBasedNdetaTask.cxx:896 AliBasedNdetaTask.cxx:897 AliBasedNdetaTask.cxx:898 AliBasedNdetaTask.cxx:899 AliBasedNdetaTask.cxx:900 AliBasedNdetaTask.cxx:901 AliBasedNdetaTask.cxx:902 AliBasedNdetaTask.cxx:903 AliBasedNdetaTask.cxx:904 AliBasedNdetaTask.cxx:905 AliBasedNdetaTask.cxx:906 AliBasedNdetaTask.cxx:907 AliBasedNdetaTask.cxx:908 AliBasedNdetaTask.cxx:909 AliBasedNdetaTask.cxx:910 AliBasedNdetaTask.cxx:911 AliBasedNdetaTask.cxx:912 AliBasedNdetaTask.cxx:913 AliBasedNdetaTask.cxx:914 AliBasedNdetaTask.cxx:915 AliBasedNdetaTask.cxx:916 AliBasedNdetaTask.cxx:917 AliBasedNdetaTask.cxx:918 AliBasedNdetaTask.cxx:919 AliBasedNdetaTask.cxx:920 AliBasedNdetaTask.cxx:921 AliBasedNdetaTask.cxx:922 AliBasedNdetaTask.cxx:923 AliBasedNdetaTask.cxx:924 AliBasedNdetaTask.cxx:925 AliBasedNdetaTask.cxx:926 AliBasedNdetaTask.cxx:927 AliBasedNdetaTask.cxx:928 AliBasedNdetaTask.cxx:929 AliBasedNdetaTask.cxx:930 AliBasedNdetaTask.cxx:931 AliBasedNdetaTask.cxx:932 AliBasedNdetaTask.cxx:933 AliBasedNdetaTask.cxx:934 AliBasedNdetaTask.cxx:935 AliBasedNdetaTask.cxx:936 AliBasedNdetaTask.cxx:937 AliBasedNdetaTask.cxx:938 AliBasedNdetaTask.cxx:939 AliBasedNdetaTask.cxx:940 AliBasedNdetaTask.cxx:941 AliBasedNdetaTask.cxx:942 AliBasedNdetaTask.cxx:943 AliBasedNdetaTask.cxx:944 AliBasedNdetaTask.cxx:945 AliBasedNdetaTask.cxx:946 AliBasedNdetaTask.cxx:947 AliBasedNdetaTask.cxx:948 AliBasedNdetaTask.cxx:949 AliBasedNdetaTask.cxx:950 AliBasedNdetaTask.cxx:951 AliBasedNdetaTask.cxx:952 AliBasedNdetaTask.cxx:953 AliBasedNdetaTask.cxx:954 AliBasedNdetaTask.cxx:955 AliBasedNdetaTask.cxx:956 AliBasedNdetaTask.cxx:957 AliBasedNdetaTask.cxx:958 AliBasedNdetaTask.cxx:959 AliBasedNdetaTask.cxx:960 AliBasedNdetaTask.cxx:961 AliBasedNdetaTask.cxx:962 AliBasedNdetaTask.cxx:963 AliBasedNdetaTask.cxx:964 AliBasedNdetaTask.cxx:965 AliBasedNdetaTask.cxx:966 AliBasedNdetaTask.cxx:967 AliBasedNdetaTask.cxx:968 AliBasedNdetaTask.cxx:969 AliBasedNdetaTask.cxx:970 AliBasedNdetaTask.cxx:971 AliBasedNdetaTask.cxx:972 AliBasedNdetaTask.cxx:973 AliBasedNdetaTask.cxx:974 AliBasedNdetaTask.cxx:975 AliBasedNdetaTask.cxx:976 AliBasedNdetaTask.cxx:977 AliBasedNdetaTask.cxx:978 AliBasedNdetaTask.cxx:979 AliBasedNdetaTask.cxx:980 AliBasedNdetaTask.cxx:981 AliBasedNdetaTask.cxx:982 AliBasedNdetaTask.cxx:983 AliBasedNdetaTask.cxx:984 AliBasedNdetaTask.cxx:985 AliBasedNdetaTask.cxx:986 AliBasedNdetaTask.cxx:987 AliBasedNdetaTask.cxx:988 AliBasedNdetaTask.cxx:989 AliBasedNdetaTask.cxx:990 AliBasedNdetaTask.cxx:991 AliBasedNdetaTask.cxx:992 AliBasedNdetaTask.cxx:993 AliBasedNdetaTask.cxx:994 AliBasedNdetaTask.cxx:995 AliBasedNdetaTask.cxx:996 AliBasedNdetaTask.cxx:997 AliBasedNdetaTask.cxx:998 AliBasedNdetaTask.cxx:999 AliBasedNdetaTask.cxx:1000 AliBasedNdetaTask.cxx:1001 AliBasedNdetaTask.cxx:1002 AliBasedNdetaTask.cxx:1003 AliBasedNdetaTask.cxx:1004 AliBasedNdetaTask.cxx:1005 AliBasedNdetaTask.cxx:1006 AliBasedNdetaTask.cxx:1007 AliBasedNdetaTask.cxx:1008 AliBasedNdetaTask.cxx:1009 AliBasedNdetaTask.cxx:1010 AliBasedNdetaTask.cxx:1011 AliBasedNdetaTask.cxx:1012 AliBasedNdetaTask.cxx:1013 AliBasedNdetaTask.cxx:1014 AliBasedNdetaTask.cxx:1015 AliBasedNdetaTask.cxx:1016 AliBasedNdetaTask.cxx:1017 AliBasedNdetaTask.cxx:1018 AliBasedNdetaTask.cxx:1019 AliBasedNdetaTask.cxx:1020 AliBasedNdetaTask.cxx:1021 AliBasedNdetaTask.cxx:1022 AliBasedNdetaTask.cxx:1023 AliBasedNdetaTask.cxx:1024 AliBasedNdetaTask.cxx:1025 AliBasedNdetaTask.cxx:1026 AliBasedNdetaTask.cxx:1027 AliBasedNdetaTask.cxx:1028 AliBasedNdetaTask.cxx:1029 AliBasedNdetaTask.cxx:1030 AliBasedNdetaTask.cxx:1031 AliBasedNdetaTask.cxx:1032 AliBasedNdetaTask.cxx:1033 AliBasedNdetaTask.cxx:1034 AliBasedNdetaTask.cxx:1035 AliBasedNdetaTask.cxx:1036 AliBasedNdetaTask.cxx:1037 AliBasedNdetaTask.cxx:1038 AliBasedNdetaTask.cxx:1039 AliBasedNdetaTask.cxx:1040 AliBasedNdetaTask.cxx:1041 AliBasedNdetaTask.cxx:1042 AliBasedNdetaTask.cxx:1043 AliBasedNdetaTask.cxx:1044 AliBasedNdetaTask.cxx:1045 AliBasedNdetaTask.cxx:1046 AliBasedNdetaTask.cxx:1047 AliBasedNdetaTask.cxx:1048 AliBasedNdetaTask.cxx:1049 AliBasedNdetaTask.cxx:1050 AliBasedNdetaTask.cxx:1051 AliBasedNdetaTask.cxx:1052 AliBasedNdetaTask.cxx:1053 AliBasedNdetaTask.cxx:1054 AliBasedNdetaTask.cxx:1055 AliBasedNdetaTask.cxx:1056 AliBasedNdetaTask.cxx:1057 AliBasedNdetaTask.cxx:1058 AliBasedNdetaTask.cxx:1059 AliBasedNdetaTask.cxx:1060 AliBasedNdetaTask.cxx:1061 AliBasedNdetaTask.cxx:1062 AliBasedNdetaTask.cxx:1063 AliBasedNdetaTask.cxx:1064 AliBasedNdetaTask.cxx:1065 AliBasedNdetaTask.cxx:1066 AliBasedNdetaTask.cxx:1067 AliBasedNdetaTask.cxx:1068 AliBasedNdetaTask.cxx:1069 AliBasedNdetaTask.cxx:1070 AliBasedNdetaTask.cxx:1071 AliBasedNdetaTask.cxx:1072 AliBasedNdetaTask.cxx:1073 AliBasedNdetaTask.cxx:1074 AliBasedNdetaTask.cxx:1075 AliBasedNdetaTask.cxx:1076 AliBasedNdetaTask.cxx:1077 AliBasedNdetaTask.cxx:1078 AliBasedNdetaTask.cxx:1079 AliBasedNdetaTask.cxx:1080 AliBasedNdetaTask.cxx:1081 AliBasedNdetaTask.cxx:1082 AliBasedNdetaTask.cxx:1083 AliBasedNdetaTask.cxx:1084 AliBasedNdetaTask.cxx:1085 AliBasedNdetaTask.cxx:1086 AliBasedNdetaTask.cxx:1087 AliBasedNdetaTask.cxx:1088 AliBasedNdetaTask.cxx:1089 AliBasedNdetaTask.cxx:1090 AliBasedNdetaTask.cxx:1091 AliBasedNdetaTask.cxx:1092 AliBasedNdetaTask.cxx:1093 AliBasedNdetaTask.cxx:1094 AliBasedNdetaTask.cxx:1095 AliBasedNdetaTask.cxx:1096 AliBasedNdetaTask.cxx:1097 AliBasedNdetaTask.cxx:1098 AliBasedNdetaTask.cxx:1099 AliBasedNdetaTask.cxx:1100 AliBasedNdetaTask.cxx:1101 AliBasedNdetaTask.cxx:1102 AliBasedNdetaTask.cxx:1103 AliBasedNdetaTask.cxx:1104 AliBasedNdetaTask.cxx:1105 AliBasedNdetaTask.cxx:1106 AliBasedNdetaTask.cxx:1107 AliBasedNdetaTask.cxx:1108 AliBasedNdetaTask.cxx:1109 AliBasedNdetaTask.cxx:1110 AliBasedNdetaTask.cxx:1111 AliBasedNdetaTask.cxx:1112 AliBasedNdetaTask.cxx:1113 AliBasedNdetaTask.cxx:1114 AliBasedNdetaTask.cxx:1115 AliBasedNdetaTask.cxx:1116 AliBasedNdetaTask.cxx:1117 AliBasedNdetaTask.cxx:1118 AliBasedNdetaTask.cxx:1119 AliBasedNdetaTask.cxx:1120 AliBasedNdetaTask.cxx:1121 AliBasedNdetaTask.cxx:1122 AliBasedNdetaTask.cxx:1123 AliBasedNdetaTask.cxx:1124 AliBasedNdetaTask.cxx:1125 AliBasedNdetaTask.cxx:1126 AliBasedNdetaTask.cxx:1127 AliBasedNdetaTask.cxx:1128 AliBasedNdetaTask.cxx:1129 AliBasedNdetaTask.cxx:1130 AliBasedNdetaTask.cxx:1131 AliBasedNdetaTask.cxx:1132 AliBasedNdetaTask.cxx:1133 AliBasedNdetaTask.cxx:1134 AliBasedNdetaTask.cxx:1135 AliBasedNdetaTask.cxx:1136 AliBasedNdetaTask.cxx:1137 AliBasedNdetaTask.cxx:1138 AliBasedNdetaTask.cxx:1139 AliBasedNdetaTask.cxx:1140 AliBasedNdetaTask.cxx:1141 AliBasedNdetaTask.cxx:1142 AliBasedNdetaTask.cxx:1143 AliBasedNdetaTask.cxx:1144 AliBasedNdetaTask.cxx:1145 AliBasedNdetaTask.cxx:1146 AliBasedNdetaTask.cxx:1147 AliBasedNdetaTask.cxx:1148 AliBasedNdetaTask.cxx:1149 AliBasedNdetaTask.cxx:1150 AliBasedNdetaTask.cxx:1151 AliBasedNdetaTask.cxx:1152 AliBasedNdetaTask.cxx:1153 AliBasedNdetaTask.cxx:1154 AliBasedNdetaTask.cxx:1155 AliBasedNdetaTask.cxx:1156 AliBasedNdetaTask.cxx:1157 AliBasedNdetaTask.cxx:1158 AliBasedNdetaTask.cxx:1159 AliBasedNdetaTask.cxx:1160 AliBasedNdetaTask.cxx:1161 AliBasedNdetaTask.cxx:1162 AliBasedNdetaTask.cxx:1163 AliBasedNdetaTask.cxx:1164 AliBasedNdetaTask.cxx:1165 AliBasedNdetaTask.cxx:1166 AliBasedNdetaTask.cxx:1167 AliBasedNdetaTask.cxx:1168 AliBasedNdetaTask.cxx:1169 AliBasedNdetaTask.cxx:1170 AliBasedNdetaTask.cxx:1171 AliBasedNdetaTask.cxx:1172 AliBasedNdetaTask.cxx:1173 AliBasedNdetaTask.cxx:1174 AliBasedNdetaTask.cxx:1175 AliBasedNdetaTask.cxx:1176 AliBasedNdetaTask.cxx:1177 AliBasedNdetaTask.cxx:1178 AliBasedNdetaTask.cxx:1179 AliBasedNdetaTask.cxx:1180 AliBasedNdetaTask.cxx:1181 AliBasedNdetaTask.cxx:1182 AliBasedNdetaTask.cxx:1183 AliBasedNdetaTask.cxx:1184 AliBasedNdetaTask.cxx:1185 AliBasedNdetaTask.cxx:1186 AliBasedNdetaTask.cxx:1187 AliBasedNdetaTask.cxx:1188 AliBasedNdetaTask.cxx:1189 AliBasedNdetaTask.cxx:1190 AliBasedNdetaTask.cxx:1191 AliBasedNdetaTask.cxx:1192 AliBasedNdetaTask.cxx:1193 AliBasedNdetaTask.cxx:1194 AliBasedNdetaTask.cxx:1195 AliBasedNdetaTask.cxx:1196 AliBasedNdetaTask.cxx:1197 AliBasedNdetaTask.cxx:1198 AliBasedNdetaTask.cxx:1199 AliBasedNdetaTask.cxx:1200 AliBasedNdetaTask.cxx:1201 AliBasedNdetaTask.cxx:1202 AliBasedNdetaTask.cxx:1203 AliBasedNdetaTask.cxx:1204 AliBasedNdetaTask.cxx:1205 AliBasedNdetaTask.cxx:1206 AliBasedNdetaTask.cxx:1207 AliBasedNdetaTask.cxx:1208 AliBasedNdetaTask.cxx:1209 AliBasedNdetaTask.cxx:1210 AliBasedNdetaTask.cxx:1211 AliBasedNdetaTask.cxx:1212 AliBasedNdetaTask.cxx:1213 AliBasedNdetaTask.cxx:1214 AliBasedNdetaTask.cxx:1215 AliBasedNdetaTask.cxx:1216 AliBasedNdetaTask.cxx:1217 AliBasedNdetaTask.cxx:1218 AliBasedNdetaTask.cxx:1219 AliBasedNdetaTask.cxx:1220 AliBasedNdetaTask.cxx:1221 AliBasedNdetaTask.cxx:1222 AliBasedNdetaTask.cxx:1223 AliBasedNdetaTask.cxx:1224 AliBasedNdetaTask.cxx:1225 AliBasedNdetaTask.cxx:1226 AliBasedNdetaTask.cxx:1227 AliBasedNdetaTask.cxx:1228 AliBasedNdetaTask.cxx:1229 AliBasedNdetaTask.cxx:1230 AliBasedNdetaTask.cxx:1231 AliBasedNdetaTask.cxx:1232 AliBasedNdetaTask.cxx:1233 AliBasedNdetaTask.cxx:1234 AliBasedNdetaTask.cxx:1235 AliBasedNdetaTask.cxx:1236 AliBasedNdetaTask.cxx:1237 AliBasedNdetaTask.cxx:1238 AliBasedNdetaTask.cxx:1239 AliBasedNdetaTask.cxx:1240 AliBasedNdetaTask.cxx:1241 AliBasedNdetaTask.cxx:1242 AliBasedNdetaTask.cxx:1243 AliBasedNdetaTask.cxx:1244 AliBasedNdetaTask.cxx:1245 AliBasedNdetaTask.cxx:1246 AliBasedNdetaTask.cxx:1247 AliBasedNdetaTask.cxx:1248 AliBasedNdetaTask.cxx:1249 AliBasedNdetaTask.cxx:1250 AliBasedNdetaTask.cxx:1251 AliBasedNdetaTask.cxx:1252 AliBasedNdetaTask.cxx:1253 AliBasedNdetaTask.cxx:1254 AliBasedNdetaTask.cxx:1255 AliBasedNdetaTask.cxx:1256 AliBasedNdetaTask.cxx:1257 AliBasedNdetaTask.cxx:1258 AliBasedNdetaTask.cxx:1259 AliBasedNdetaTask.cxx:1260 AliBasedNdetaTask.cxx:1261 AliBasedNdetaTask.cxx:1262 AliBasedNdetaTask.cxx:1263 AliBasedNdetaTask.cxx:1264 AliBasedNdetaTask.cxx:1265 AliBasedNdetaTask.cxx:1266 AliBasedNdetaTask.cxx:1267 AliBasedNdetaTask.cxx:1268 AliBasedNdetaTask.cxx:1269 AliBasedNdetaTask.cxx:1270 AliBasedNdetaTask.cxx:1271 AliBasedNdetaTask.cxx:1272 AliBasedNdetaTask.cxx:1273 AliBasedNdetaTask.cxx:1274 AliBasedNdetaTask.cxx:1275 AliBasedNdetaTask.cxx:1276 AliBasedNdetaTask.cxx:1277 AliBasedNdetaTask.cxx:1278 AliBasedNdetaTask.cxx:1279 AliBasedNdetaTask.cxx:1280 AliBasedNdetaTask.cxx:1281 AliBasedNdetaTask.cxx:1282 AliBasedNdetaTask.cxx:1283 AliBasedNdetaTask.cxx:1284 AliBasedNdetaTask.cxx:1285 AliBasedNdetaTask.cxx:1286 AliBasedNdetaTask.cxx:1287 AliBasedNdetaTask.cxx:1288 AliBasedNdetaTask.cxx:1289 AliBasedNdetaTask.cxx:1290 AliBasedNdetaTask.cxx:1291 AliBasedNdetaTask.cxx:1292 AliBasedNdetaTask.cxx:1293 AliBasedNdetaTask.cxx:1294 AliBasedNdetaTask.cxx:1295 AliBasedNdetaTask.cxx:1296 AliBasedNdetaTask.cxx:1297 AliBasedNdetaTask.cxx:1298 AliBasedNdetaTask.cxx:1299 AliBasedNdetaTask.cxx:1300 AliBasedNdetaTask.cxx:1301 AliBasedNdetaTask.cxx:1302 AliBasedNdetaTask.cxx:1303 AliBasedNdetaTask.cxx:1304 AliBasedNdetaTask.cxx:1305 AliBasedNdetaTask.cxx:1306 AliBasedNdetaTask.cxx:1307 AliBasedNdetaTask.cxx:1308 AliBasedNdetaTask.cxx:1309 AliBasedNdetaTask.cxx:1310 AliBasedNdetaTask.cxx:1311 AliBasedNdetaTask.cxx:1312 AliBasedNdetaTask.cxx:1313 AliBasedNdetaTask.cxx:1314 AliBasedNdetaTask.cxx:1315 AliBasedNdetaTask.cxx:1316 AliBasedNdetaTask.cxx:1317 AliBasedNdetaTask.cxx:1318 AliBasedNdetaTask.cxx:1319 AliBasedNdetaTask.cxx:1320 AliBasedNdetaTask.cxx:1321 AliBasedNdetaTask.cxx:1322 AliBasedNdetaTask.cxx:1323 AliBasedNdetaTask.cxx:1324 AliBasedNdetaTask.cxx:1325 AliBasedNdetaTask.cxx:1326 AliBasedNdetaTask.cxx:1327 AliBasedNdetaTask.cxx:1328 AliBasedNdetaTask.cxx:1329 AliBasedNdetaTask.cxx:1330 AliBasedNdetaTask.cxx:1331 AliBasedNdetaTask.cxx:1332 AliBasedNdetaTask.cxx:1333 AliBasedNdetaTask.cxx:1334 AliBasedNdetaTask.cxx:1335 AliBasedNdetaTask.cxx:1336 AliBasedNdetaTask.cxx:1337 AliBasedNdetaTask.cxx:1338 AliBasedNdetaTask.cxx:1339 AliBasedNdetaTask.cxx:1340 AliBasedNdetaTask.cxx:1341 AliBasedNdetaTask.cxx:1342 AliBasedNdetaTask.cxx:1343 AliBasedNdetaTask.cxx:1344 AliBasedNdetaTask.cxx:1345 AliBasedNdetaTask.cxx:1346 AliBasedNdetaTask.cxx:1347 AliBasedNdetaTask.cxx:1348 AliBasedNdetaTask.cxx:1349 AliBasedNdetaTask.cxx:1350 AliBasedNdetaTask.cxx:1351 AliBasedNdetaTask.cxx:1352 AliBasedNdetaTask.cxx:1353 AliBasedNdetaTask.cxx:1354 AliBasedNdetaTask.cxx:1355 AliBasedNdetaTask.cxx:1356 AliBasedNdetaTask.cxx:1357 AliBasedNdetaTask.cxx:1358 AliBasedNdetaTask.cxx:1359 AliBasedNdetaTask.cxx:1360 AliBasedNdetaTask.cxx:1361 AliBasedNdetaTask.cxx:1362 AliBasedNdetaTask.cxx:1363 AliBasedNdetaTask.cxx:1364 AliBasedNdetaTask.cxx:1365 AliBasedNdetaTask.cxx:1366 AliBasedNdetaTask.cxx:1367 AliBasedNdetaTask.cxx:1368 AliBasedNdetaTask.cxx:1369 AliBasedNdetaTask.cxx:1370 AliBasedNdetaTask.cxx:1371 AliBasedNdetaTask.cxx:1372 AliBasedNdetaTask.cxx:1373 AliBasedNdetaTask.cxx:1374 AliBasedNdetaTask.cxx:1375 AliBasedNdetaTask.cxx:1376 AliBasedNdetaTask.cxx:1377 AliBasedNdetaTask.cxx:1378 AliBasedNdetaTask.cxx:1379 AliBasedNdetaTask.cxx:1380 AliBasedNdetaTask.cxx:1381 AliBasedNdetaTask.cxx:1382 AliBasedNdetaTask.cxx:1383 AliBasedNdetaTask.cxx:1384 AliBasedNdetaTask.cxx:1385 AliBasedNdetaTask.cxx:1386 AliBasedNdetaTask.cxx:1387 AliBasedNdetaTask.cxx:1388 AliBasedNdetaTask.cxx:1389 AliBasedNdetaTask.cxx:1390 AliBasedNdetaTask.cxx:1391 AliBasedNdetaTask.cxx:1392 AliBasedNdetaTask.cxx:1393 AliBasedNdetaTask.cxx:1394 AliBasedNdetaTask.cxx:1395 AliBasedNdetaTask.cxx:1396 AliBasedNdetaTask.cxx:1397 AliBasedNdetaTask.cxx:1398 AliBasedNdetaTask.cxx:1399 AliBasedNdetaTask.cxx:1400 AliBasedNdetaTask.cxx:1401 AliBasedNdetaTask.cxx:1402 AliBasedNdetaTask.cxx:1403 AliBasedNdetaTask.cxx:1404 AliBasedNdetaTask.cxx:1405 AliBasedNdetaTask.cxx:1406 AliBasedNdetaTask.cxx:1407 AliBasedNdetaTask.cxx:1408 AliBasedNdetaTask.cxx:1409 AliBasedNdetaTask.cxx:1410 AliBasedNdetaTask.cxx:1411 AliBasedNdetaTask.cxx:1412 AliBasedNdetaTask.cxx:1413 AliBasedNdetaTask.cxx:1414 AliBasedNdetaTask.cxx:1415 AliBasedNdetaTask.cxx:1416 AliBasedNdetaTask.cxx:1417 AliBasedNdetaTask.cxx:1418 AliBasedNdetaTask.cxx:1419 AliBasedNdetaTask.cxx:1420 AliBasedNdetaTask.cxx:1421 AliBasedNdetaTask.cxx:1422 AliBasedNdetaTask.cxx:1423 AliBasedNdetaTask.cxx:1424 AliBasedNdetaTask.cxx:1425 AliBasedNdetaTask.cxx:1426 AliBasedNdetaTask.cxx:1427 AliBasedNdetaTask.cxx:1428 AliBasedNdetaTask.cxx:1429 AliBasedNdetaTask.cxx:1430 AliBasedNdetaTask.cxx:1431 AliBasedNdetaTask.cxx:1432 AliBasedNdetaTask.cxx:1433 AliBasedNdetaTask.cxx:1434 AliBasedNdetaTask.cxx:1435 AliBasedNdetaTask.cxx:1436 AliBasedNdetaTask.cxx:1437 AliBasedNdetaTask.cxx:1438 AliBasedNdetaTask.cxx:1439 AliBasedNdetaTask.cxx:1440 AliBasedNdetaTask.cxx:1441 AliBasedNdetaTask.cxx:1442 AliBasedNdetaTask.cxx:1443 AliBasedNdetaTask.cxx:1444 AliBasedNdetaTask.cxx:1445 AliBasedNdetaTask.cxx:1446 AliBasedNdetaTask.cxx:1447 AliBasedNdetaTask.cxx:1448 AliBasedNdetaTask.cxx:1449 AliBasedNdetaTask.cxx:1450 AliBasedNdetaTask.cxx:1451 AliBasedNdetaTask.cxx:1452 AliBasedNdetaTask.cxx:1453 AliBasedNdetaTask.cxx:1454 AliBasedNdetaTask.cxx:1455 AliBasedNdetaTask.cxx:1456 AliBasedNdetaTask.cxx:1457 AliBasedNdetaTask.cxx:1458 AliBasedNdetaTask.cxx:1459 AliBasedNdetaTask.cxx:1460 AliBasedNdetaTask.cxx:1461 AliBasedNdetaTask.cxx:1462 AliBasedNdetaTask.cxx:1463 AliBasedNdetaTask.cxx:1464 AliBasedNdetaTask.cxx:1465 AliBasedNdetaTask.cxx:1466 AliBasedNdetaTask.cxx:1467 AliBasedNdetaTask.cxx:1468 AliBasedNdetaTask.cxx:1469 AliBasedNdetaTask.cxx:1470 AliBasedNdetaTask.cxx:1471 AliBasedNdetaTask.cxx:1472 AliBasedNdetaTask.cxx:1473 AliBasedNdetaTask.cxx:1474 AliBasedNdetaTask.cxx:1475 AliBasedNdetaTask.cxx:1476 AliBasedNdetaTask.cxx:1477 AliBasedNdetaTask.cxx:1478 AliBasedNdetaTask.cxx:1479 AliBasedNdetaTask.cxx:1480 AliBasedNdetaTask.cxx:1481 AliBasedNdetaTask.cxx:1482 AliBasedNdetaTask.cxx:1483 AliBasedNdetaTask.cxx:1484 AliBasedNdetaTask.cxx:1485 AliBasedNdetaTask.cxx:1486 AliBasedNdetaTask.cxx:1487 AliBasedNdetaTask.cxx:1488 AliBasedNdetaTask.cxx:1489 AliBasedNdetaTask.cxx:1490 AliBasedNdetaTask.cxx:1491 AliBasedNdetaTask.cxx:1492 AliBasedNdetaTask.cxx:1493 AliBasedNdetaTask.cxx:1494 AliBasedNdetaTask.cxx:1495 AliBasedNdetaTask.cxx:1496 AliBasedNdetaTask.cxx:1497 AliBasedNdetaTask.cxx:1498 AliBasedNdetaTask.cxx:1499 AliBasedNdetaTask.cxx:1500 AliBasedNdetaTask.cxx:1501 AliBasedNdetaTask.cxx:1502 AliBasedNdetaTask.cxx:1503 AliBasedNdetaTask.cxx:1504 AliBasedNdetaTask.cxx:1505 AliBasedNdetaTask.cxx:1506 AliBasedNdetaTask.cxx:1507 AliBasedNdetaTask.cxx:1508 AliBasedNdetaTask.cxx:1509 AliBasedNdetaTask.cxx:1510 AliBasedNdetaTask.cxx:1511 AliBasedNdetaTask.cxx:1512 AliBasedNdetaTask.cxx:1513 AliBasedNdetaTask.cxx:1514 AliBasedNdetaTask.cxx:1515 AliBasedNdetaTask.cxx:1516 AliBasedNdetaTask.cxx:1517 AliBasedNdetaTask.cxx:1518 AliBasedNdetaTask.cxx:1519 AliBasedNdetaTask.cxx:1520 AliBasedNdetaTask.cxx:1521 AliBasedNdetaTask.cxx:1522 AliBasedNdetaTask.cxx:1523 AliBasedNdetaTask.cxx:1524 AliBasedNdetaTask.cxx:1525 AliBasedNdetaTask.cxx:1526 AliBasedNdetaTask.cxx:1527 AliBasedNdetaTask.cxx:1528 AliBasedNdetaTask.cxx:1529 AliBasedNdetaTask.cxx:1530 AliBasedNdetaTask.cxx:1531 AliBasedNdetaTask.cxx:1532 AliBasedNdetaTask.cxx:1533 AliBasedNdetaTask.cxx:1534 AliBasedNdetaTask.cxx:1535 AliBasedNdetaTask.cxx:1536 AliBasedNdetaTask.cxx:1537 AliBasedNdetaTask.cxx:1538 AliBasedNdetaTask.cxx:1539 AliBasedNdetaTask.cxx:1540 AliBasedNdetaTask.cxx:1541 AliBasedNdetaTask.cxx:1542 AliBasedNdetaTask.cxx:1543 AliBasedNdetaTask.cxx:1544 AliBasedNdetaTask.cxx:1545 AliBasedNdetaTask.cxx:1546 AliBasedNdetaTask.cxx:1547 AliBasedNdetaTask.cxx:1548 AliBasedNdetaTask.cxx:1549 AliBasedNdetaTask.cxx:1550 AliBasedNdetaTask.cxx:1551 AliBasedNdetaTask.cxx:1552 AliBasedNdetaTask.cxx:1553 AliBasedNdetaTask.cxx:1554 AliBasedNdetaTask.cxx:1555 AliBasedNdetaTask.cxx:1556 AliBasedNdetaTask.cxx:1557 AliBasedNdetaTask.cxx:1558 AliBasedNdetaTask.cxx:1559 AliBasedNdetaTask.cxx:1560 AliBasedNdetaTask.cxx:1561 AliBasedNdetaTask.cxx:1562 AliBasedNdetaTask.cxx:1563 AliBasedNdetaTask.cxx:1564 AliBasedNdetaTask.cxx:1565 AliBasedNdetaTask.cxx:1566 AliBasedNdetaTask.cxx:1567 AliBasedNdetaTask.cxx:1568 AliBasedNdetaTask.cxx:1569 AliBasedNdetaTask.cxx:1570 AliBasedNdetaTask.cxx:1571 AliBasedNdetaTask.cxx:1572 AliBasedNdetaTask.cxx:1573 AliBasedNdetaTask.cxx:1574 AliBasedNdetaTask.cxx:1575 AliBasedNdetaTask.cxx:1576 AliBasedNdetaTask.cxx:1577 AliBasedNdetaTask.cxx:1578 AliBasedNdetaTask.cxx:1579 AliBasedNdetaTask.cxx:1580 AliBasedNdetaTask.cxx:1581 AliBasedNdetaTask.cxx:1582 AliBasedNdetaTask.cxx:1583 AliBasedNdetaTask.cxx:1584 AliBasedNdetaTask.cxx:1585 AliBasedNdetaTask.cxx:1586 AliBasedNdetaTask.cxx:1587 AliBasedNdetaTask.cxx:1588 AliBasedNdetaTask.cxx:1589 AliBasedNdetaTask.cxx:1590 AliBasedNdetaTask.cxx:1591 AliBasedNdetaTask.cxx:1592 AliBasedNdetaTask.cxx:1593 AliBasedNdetaTask.cxx:1594 AliBasedNdetaTask.cxx:1595 AliBasedNdetaTask.cxx:1596 AliBasedNdetaTask.cxx:1597 AliBasedNdetaTask.cxx:1598 AliBasedNdetaTask.cxx:1599 AliBasedNdetaTask.cxx:1600 AliBasedNdetaTask.cxx:1601 AliBasedNdetaTask.cxx:1602 AliBasedNdetaTask.cxx:1603 AliBasedNdetaTask.cxx:1604 AliBasedNdetaTask.cxx:1605 AliBasedNdetaTask.cxx:1606 AliBasedNdetaTask.cxx:1607 AliBasedNdetaTask.cxx:1608 AliBasedNdetaTask.cxx:1609 AliBasedNdetaTask.cxx:1610 AliBasedNdetaTask.cxx:1611 AliBasedNdetaTask.cxx:1612 AliBasedNdetaTask.cxx:1613 AliBasedNdetaTask.cxx:1614 AliBasedNdetaTask.cxx:1615 AliBasedNdetaTask.cxx:1616 AliBasedNdetaTask.cxx:1617 AliBasedNdetaTask.cxx:1618 AliBasedNdetaTask.cxx:1619 AliBasedNdetaTask.cxx:1620 AliBasedNdetaTask.cxx:1621 AliBasedNdetaTask.cxx:1622 AliBasedNdetaTask.cxx:1623 AliBasedNdetaTask.cxx:1624 AliBasedNdetaTask.cxx:1625 AliBasedNdetaTask.cxx:1626 AliBasedNdetaTask.cxx:1627 AliBasedNdetaTask.cxx:1628 AliBasedNdetaTask.cxx:1629 AliBasedNdetaTask.cxx:1630 AliBasedNdetaTask.cxx:1631 AliBasedNdetaTask.cxx:1632 AliBasedNdetaTask.cxx:1633 AliBasedNdetaTask.cxx:1634 AliBasedNdetaTask.cxx:1635 AliBasedNdetaTask.cxx:1636 AliBasedNdetaTask.cxx:1637 AliBasedNdetaTask.cxx:1638 AliBasedNdetaTask.cxx:1639 AliBasedNdetaTask.cxx:1640 AliBasedNdetaTask.cxx:1641 AliBasedNdetaTask.cxx:1642 AliBasedNdetaTask.cxx:1643 AliBasedNdetaTask.cxx:1644 AliBasedNdetaTask.cxx:1645 AliBasedNdetaTask.cxx:1646 AliBasedNdetaTask.cxx:1647 AliBasedNdetaTask.cxx:1648 AliBasedNdetaTask.cxx:1649 AliBasedNdetaTask.cxx:1650 AliBasedNdetaTask.cxx:1651 AliBasedNdetaTask.cxx:1652 AliBasedNdetaTask.cxx:1653 AliBasedNdetaTask.cxx:1654 AliBasedNdetaTask.cxx:1655 AliBasedNdetaTask.cxx:1656 AliBasedNdetaTask.cxx:1657 AliBasedNdetaTask.cxx:1658 AliBasedNdetaTask.cxx:1659 AliBasedNdetaTask.cxx:1660 AliBasedNdetaTask.cxx:1661 AliBasedNdetaTask.cxx:1662 AliBasedNdetaTask.cxx:1663 AliBasedNdetaTask.cxx:1664 AliBasedNdetaTask.cxx:1665 AliBasedNdetaTask.cxx:1666 AliBasedNdetaTask.cxx:1667 AliBasedNdetaTask.cxx:1668 AliBasedNdetaTask.cxx:1669 AliBasedNdetaTask.cxx:1670 AliBasedNdetaTask.cxx:1671 AliBasedNdetaTask.cxx:1672 AliBasedNdetaTask.cxx:1673 AliBasedNdetaTask.cxx:1674 AliBasedNdetaTask.cxx:1675 AliBasedNdetaTask.cxx:1676 AliBasedNdetaTask.cxx:1677 AliBasedNdetaTask.cxx:1678 AliBasedNdetaTask.cxx:1679 AliBasedNdetaTask.cxx:1680 AliBasedNdetaTask.cxx:1681 AliBasedNdetaTask.cxx:1682 AliBasedNdetaTask.cxx:1683 AliBasedNdetaTask.cxx:1684 AliBasedNdetaTask.cxx:1685 AliBasedNdetaTask.cxx:1686 AliBasedNdetaTask.cxx:1687 AliBasedNdetaTask.cxx:1688 AliBasedNdetaTask.cxx:1689 AliBasedNdetaTask.cxx:1690 AliBasedNdetaTask.cxx:1691 AliBasedNdetaTask.cxx:1692 AliBasedNdetaTask.cxx:1693 AliBasedNdetaTask.cxx:1694 AliBasedNdetaTask.cxx:1695 AliBasedNdetaTask.cxx:1696 AliBasedNdetaTask.cxx:1697 AliBasedNdetaTask.cxx:1698 AliBasedNdetaTask.cxx:1699 AliBasedNdetaTask.cxx:1700 AliBasedNdetaTask.cxx:1701 AliBasedNdetaTask.cxx:1702 AliBasedNdetaTask.cxx:1703 AliBasedNdetaTask.cxx:1704 AliBasedNdetaTask.cxx:1705 AliBasedNdetaTask.cxx:1706 AliBasedNdetaTask.cxx:1707 AliBasedNdetaTask.cxx:1708 AliBasedNdetaTask.cxx:1709 AliBasedNdetaTask.cxx:1710 AliBasedNdetaTask.cxx:1711 AliBasedNdetaTask.cxx:1712 AliBasedNdetaTask.cxx:1713 AliBasedNdetaTask.cxx:1714 AliBasedNdetaTask.cxx:1715 AliBasedNdetaTask.cxx:1716 AliBasedNdetaTask.cxx:1717 AliBasedNdetaTask.cxx:1718 AliBasedNdetaTask.cxx:1719 AliBasedNdetaTask.cxx:1720 AliBasedNdetaTask.cxx:1721 AliBasedNdetaTask.cxx:1722 AliBasedNdetaTask.cxx:1723 AliBasedNdetaTask.cxx:1724 AliBasedNdetaTask.cxx:1725 AliBasedNdetaTask.cxx:1726 AliBasedNdetaTask.cxx:1727 AliBasedNdetaTask.cxx:1728 AliBasedNdetaTask.cxx:1729 AliBasedNdetaTask.cxx:1730 AliBasedNdetaTask.cxx:1731 AliBasedNdetaTask.cxx:1732 AliBasedNdetaTask.cxx:1733 AliBasedNdetaTask.cxx:1734 AliBasedNdetaTask.cxx:1735 AliBasedNdetaTask.cxx:1736 AliBasedNdetaTask.cxx:1737 AliBasedNdetaTask.cxx:1738 AliBasedNdetaTask.cxx:1739 AliBasedNdetaTask.cxx:1740 AliBasedNdetaTask.cxx:1741 AliBasedNdetaTask.cxx:1742 AliBasedNdetaTask.cxx:1743 AliBasedNdetaTask.cxx:1744 AliBasedNdetaTask.cxx:1745 AliBasedNdetaTask.cxx:1746 AliBasedNdetaTask.cxx:1747 AliBasedNdetaTask.cxx:1748 AliBasedNdetaTask.cxx:1749 AliBasedNdetaTask.cxx:1750 AliBasedNdetaTask.cxx:1751 AliBasedNdetaTask.cxx:1752 AliBasedNdetaTask.cxx:1753 AliBasedNdetaTask.cxx:1754 AliBasedNdetaTask.cxx:1755 AliBasedNdetaTask.cxx:1756 AliBasedNdetaTask.cxx:1757 AliBasedNdetaTask.cxx:1758 AliBasedNdetaTask.cxx:1759 AliBasedNdetaTask.cxx:1760 AliBasedNdetaTask.cxx:1761 AliBasedNdetaTask.cxx:1762 AliBasedNdetaTask.cxx:1763 AliBasedNdetaTask.cxx:1764 AliBasedNdetaTask.cxx:1765 AliBasedNdetaTask.cxx:1766 AliBasedNdetaTask.cxx:1767 AliBasedNdetaTask.cxx:1768 AliBasedNdetaTask.cxx:1769 AliBasedNdetaTask.cxx:1770 AliBasedNdetaTask.cxx:1771 AliBasedNdetaTask.cxx:1772 AliBasedNdetaTask.cxx:1773 AliBasedNdetaTask.cxx:1774 AliBasedNdetaTask.cxx:1775 AliBasedNdetaTask.cxx:1776 AliBasedNdetaTask.cxx:1777 AliBasedNdetaTask.cxx:1778 AliBasedNdetaTask.cxx:1779 AliBasedNdetaTask.cxx:1780 AliBasedNdetaTask.cxx:1781 AliBasedNdetaTask.cxx:1782 AliBasedNdetaTask.cxx:1783 AliBasedNdetaTask.cxx:1784 AliBasedNdetaTask.cxx:1785 AliBasedNdetaTask.cxx:1786 AliBasedNdetaTask.cxx:1787 AliBasedNdetaTask.cxx:1788 AliBasedNdetaTask.cxx:1789 AliBasedNdetaTask.cxx:1790 AliBasedNdetaTask.cxx:1791 AliBasedNdetaTask.cxx:1792 AliBasedNdetaTask.cxx:1793 AliBasedNdetaTask.cxx:1794 AliBasedNdetaTask.cxx:1795 AliBasedNdetaTask.cxx:1796 AliBasedNdetaTask.cxx:1797 AliBasedNdetaTask.cxx:1798 AliBasedNdetaTask.cxx:1799 AliBasedNdetaTask.cxx:1800 AliBasedNdetaTask.cxx:1801 AliBasedNdetaTask.cxx:1802 AliBasedNdetaTask.cxx:1803 AliBasedNdetaTask.cxx:1804 AliBasedNdetaTask.cxx:1805 AliBasedNdetaTask.cxx:1806 AliBasedNdetaTask.cxx:1807 AliBasedNdetaTask.cxx:1808 AliBasedNdetaTask.cxx:1809 AliBasedNdetaTask.cxx:1810 AliBasedNdetaTask.cxx:1811 AliBasedNdetaTask.cxx:1812 AliBasedNdetaTask.cxx:1813 AliBasedNdetaTask.cxx:1814 AliBasedNdetaTask.cxx:1815 AliBasedNdetaTask.cxx:1816 AliBasedNdetaTask.cxx:1817 AliBasedNdetaTask.cxx:1818 AliBasedNdetaTask.cxx:1819 AliBasedNdetaTask.cxx:1820 AliBasedNdetaTask.cxx:1821 AliBasedNdetaTask.cxx:1822 AliBasedNdetaTask.cxx:1823 AliBasedNdetaTask.cxx:1824 AliBasedNdetaTask.cxx:1825 AliBasedNdetaTask.cxx:1826 AliBasedNdetaTask.cxx:1827 AliBasedNdetaTask.cxx:1828 AliBasedNdetaTask.cxx:1829 AliBasedNdetaTask.cxx:1830 AliBasedNdetaTask.cxx:1831 AliBasedNdetaTask.cxx:1832 AliBasedNdetaTask.cxx:1833 AliBasedNdetaTask.cxx:1834 AliBasedNdetaTask.cxx:1835 AliBasedNdetaTask.cxx:1836 AliBasedNdetaTask.cxx:1837 AliBasedNdetaTask.cxx:1838 AliBasedNdetaTask.cxx:1839 AliBasedNdetaTask.cxx:1840 AliBasedNdetaTask.cxx:1841 AliBasedNdetaTask.cxx:1842 AliBasedNdetaTask.cxx:1843 AliBasedNdetaTask.cxx:1844 AliBasedNdetaTask.cxx:1845 AliBasedNdetaTask.cxx:1846 AliBasedNdetaTask.cxx:1847 AliBasedNdetaTask.cxx:1848 AliBasedNdetaTask.cxx:1849 AliBasedNdetaTask.cxx:1850 AliBasedNdetaTask.cxx:1851 AliBasedNdetaTask.cxx:1852 AliBasedNdetaTask.cxx:1853 AliBasedNdetaTask.cxx:1854 AliBasedNdetaTask.cxx:1855 AliBasedNdetaTask.cxx:1856 AliBasedNdetaTask.cxx:1857 AliBasedNdetaTask.cxx:1858 AliBasedNdetaTask.cxx:1859 AliBasedNdetaTask.cxx:1860 AliBasedNdetaTask.cxx:1861 AliBasedNdetaTask.cxx:1862 AliBasedNdetaTask.cxx:1863 AliBasedNdetaTask.cxx:1864 AliBasedNdetaTask.cxx:1865 AliBasedNdetaTask.cxx:1866 AliBasedNdetaTask.cxx:1867 AliBasedNdetaTask.cxx:1868 AliBasedNdetaTask.cxx:1869 AliBasedNdetaTask.cxx:1870 AliBasedNdetaTask.cxx:1871 AliBasedNdetaTask.cxx:1872 AliBasedNdetaTask.cxx:1873 AliBasedNdetaTask.cxx:1874 AliBasedNdetaTask.cxx:1875 AliBasedNdetaTask.cxx:1876 AliBasedNdetaTask.cxx:1877 AliBasedNdetaTask.cxx:1878 AliBasedNdetaTask.cxx:1879 AliBasedNdetaTask.cxx:1880 AliBasedNdetaTask.cxx:1881 AliBasedNdetaTask.cxx:1882 AliBasedNdetaTask.cxx:1883 AliBasedNdetaTask.cxx:1884 AliBasedNdetaTask.cxx:1885 AliBasedNdetaTask.cxx:1886 AliBasedNdetaTask.cxx:1887 AliBasedNdetaTask.cxx:1888 AliBasedNdetaTask.cxx:1889 AliBasedNdetaTask.cxx:1890 AliBasedNdetaTask.cxx:1891 AliBasedNdetaTask.cxx:1892 AliBasedNdetaTask.cxx:1893 AliBasedNdetaTask.cxx:1894 AliBasedNdetaTask.cxx:1895 AliBasedNdetaTask.cxx:1896 AliBasedNdetaTask.cxx:1897