results of prev. event reco were not reset in chain processing mode
authorshahoian <ruben.shahoyan@cern.ch>
Tue, 3 Feb 2015 09:20:08 +0000 (10:20 +0100)
committershahoian <ruben.shahoyan@cern.ch>
Tue, 3 Feb 2015 09:20:19 +0000 (10:20 +0100)
RAW/RAWDatarec/AliRawReaderRoot.cxx
RAW/RAWDatarec/AliRawReaderRoot.h
STEER/STEER/AliReconstruction.cxx

index a969ce8..95663c7 100644 (file)
@@ -115,10 +115,10 @@ AliRawReaderRoot::AliRawReaderRoot(const char* fileName, Int_t eventNumber) :
   }
 }
 
-AliRawReaderRoot::AliRawReaderRoot(AliRawVEvent* event) :
+AliRawReaderRoot::AliRawReaderRoot(AliRawVEvent* event, Int_t evId) :
   fFile(NULL),
   fBranch(NULL),
-  fEventIndex(-1),
+  fEventIndex(evId),
   fEvent(event),
   fEventHeader(event->GetHeader()),
   fSubEventIndex(0),
index 04b22ad..efe9281 100644 (file)
@@ -24,7 +24,7 @@ class AliRawReaderRoot: public AliRawReader {
   public :
     AliRawReaderRoot();
     AliRawReaderRoot(const char* fileName, Int_t eventNumber = -1);
-    AliRawReaderRoot(AliRawVEvent* event);
+    AliRawReaderRoot(AliRawVEvent* event, Int_t evID=-1);
     AliRawReaderRoot(const AliRawReaderRoot& rawReader);
     AliRawReaderRoot& operator = (const AliRawReaderRoot& rawReader);
     virtual ~AliRawReaderRoot();
index 1fd3356..ee11e6e 100644 (file)
@@ -1961,7 +1961,7 @@ Bool_t AliReconstruction::Process(Long64_t entry)
   AliRawVEvent *event = NULL;
   currTree->SetBranchAddress("rawevent",&event);
   currTree->GetEntry(entry);
-  fRawReader = new AliRawReaderRoot(event);
+  fRawReader = new AliRawReaderRoot(event,entry);
   // check if process has enough resources 
   if (!HasEnoughResources(entry)) return kFALSE;
   fStatus = ProcessEvent(fRunLoader->GetNumberOfEvents());
@@ -1969,6 +1969,8 @@ Bool_t AliReconstruction::Process(Long64_t entry)
   fRawReader = NULL;
   delete event;
 
+  if (!fStatus) Abort("ProcessEvent",TSelector::kAbortFile);  
+  CleanProcessedEvent();
   return fStatus;
 }