]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Some fixes for the mode w/o auto branch loading
authoragheata <agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 20 Dec 2010 16:47:53 +0000 (16:47 +0000)
committeragheata <agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 20 Dec 2010 16:47:53 +0000 (16:47 +0000)
ANALYSIS/AliAnalysisManager.cxx
ANALYSIS/AliAnalysisSelector.cxx
ANALYSIS/AliAnalysisTaskStat.cxx

index 7088acee3667db5be88dd2020ad8717383710ddc..41e697d573722eaddd60b3c1226aa30d16f27be2 100644 (file)
@@ -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;
+    }
   }
 }
 
index d9e6deb6b3654f0d44746d95d93b4d15ba505abe..24483203cffd25cc61e7d3be03003b19e3555b92 100644 (file)
@@ -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) {
index 720cf0e57ecb1a3b9905dc90b5857c06ff1ed26a..6d73f9780b67e86ea125099dd9e1d634af9557da 100644 (file)
@@ -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();
 }