From c5734a4bff0e3a594523d068ef53a2b1bee124b8 Mon Sep 17 00:00:00 2001 From: agheata Date: Mon, 20 Dec 2010 16:47:53 +0000 Subject: [PATCH] Some fixes for the mode w/o auto branch loading --- ANALYSIS/AliAnalysisManager.cxx | 12 +++++++++++- ANALYSIS/AliAnalysisSelector.cxx | 2 +- ANALYSIS/AliAnalysisTaskStat.cxx | 4 ++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/ANALYSIS/AliAnalysisManager.cxx b/ANALYSIS/AliAnalysisManager.cxx index 7088acee366..41e697d5737 100644 --- a/ANALYSIS/AliAnalysisManager.cxx +++ b/ANALYSIS/AliAnalysisManager.cxx @@ -2238,6 +2238,7 @@ void AliAnalysisManager::ProgressBar(const char *opname, Long64_t current, Long6 void AliAnalysisManager::DoLoadBranch(const char *name) { // Get tree and load branch if needed. + static Long64_t crtEntry = -100; if (fAutoBranchHandling || !fTree) return; @@ -2251,10 +2252,19 @@ void AliAnalysisManager::DoLoadBranch(const char *name) } fTable.Add(br); } - if (br->GetReadEntry()==GetCurrentEntry()) return; + if (br->GetReadEntry()==fCurrentEntry) return; Int_t ret = br->GetEntry(GetCurrentEntry()); if (ret<0) { Error("DoLoadBranch", "Could not load entry %lld from branch %s",GetCurrentEntry(), name); + if (crtEntry != fCurrentEntry) { + CountEvent(1,0,1,0); + crtEntry = fCurrentEntry; + } + } else { + if (crtEntry != fCurrentEntry) { + CountEvent(1,1,0,0); + crtEntry = fCurrentEntry; + } } } diff --git a/ANALYSIS/AliAnalysisSelector.cxx b/ANALYSIS/AliAnalysisSelector.cxx index d9e6deb6b36..24483203cff 100644 --- a/ANALYSIS/AliAnalysisSelector.cxx +++ b/ANALYSIS/AliAnalysisSelector.cxx @@ -146,7 +146,7 @@ Bool_t AliAnalysisSelector::Process(Long64_t entry) fAnalysis->CountEvent(1,0,1,0); } else { fAnalysis->ExecAnalysis(); - fAnalysis->CountEvent(1,1,0,0); + if (returnCode<100000000) fAnalysis->CountEvent(1,1,0,0); } TProcessID::SetObjectCount(nobjCount); if (fAnalysis->GetDebugLevel() > 1) { diff --git a/ANALYSIS/AliAnalysisTaskStat.cxx b/ANALYSIS/AliAnalysisTaskStat.cxx index 720cf0e57ec..6d73f9780b6 100644 --- a/ANALYSIS/AliAnalysisTaskStat.cxx +++ b/ANALYSIS/AliAnalysisTaskStat.cxx @@ -113,11 +113,11 @@ void AliAnalysisTaskStat::Terminate(Option_t *) Error("Terminate", "Statistics object not found in list"); return; } - if (fStatistics) { + if (stat != fStatistics) { fStatistics->AddInput(stat->GetNinput()); fStatistics->AddProcessed(stat->GetNprocessed()); fStatistics->AddFailed(stat->GetNfailed()); fStatistics->AddAccepted(stat->GetNaccepted()); - fStatistics->Print(); } + fStatistics->Print(); } -- 2.43.0