reverting and postponing changes from 24729 partly (AliHLTSystem singleton in AliHLTS...
[u/mrichter/AliRoot.git] / HLT / sim / AliHLTSimulation.cxx
index e47d286b87f9f172cfb34dbd19b81a5e384cc394..ebb196cc2b5d8ed9d0e01ea4f5fc88dad5356b36 100644 (file)
@@ -32,6 +32,8 @@
 #include "AliRawReaderFile.h"
 #include "AliRawReaderDate.h"
 #include "AliRawReaderRoot.h"
+#include "AliESDEvent.h"
+#include "AliHLTOUTComponent.h"
 
 #if ALIHLTSIMULATION_LIBRARY_VERSION != LIBHLTSIM_VERSION
 #error library version in header file and lib*.pkg do not match
@@ -132,6 +134,10 @@ int AliHLTSimulation::Init(AliRunLoader* pRunLoader, const char* options)
              fpRawReader=NULL;
            }
        }
+      } else if (token.Contains("writerawfiles=")) {
+       if (!token.ReplaceAll("writerawfiles=", "").Contains("HLT")) {
+         AliHLTOUTComponent::ClearGlobalOption(AliHLTOUTComponent::kWriteRawFiles);
+       }
       } else {
        if (sysOp.Length()>0) sysOp+=" ";
        sysOp+=token;
@@ -175,12 +181,14 @@ int AliHLTSimulation::Run(AliRunLoader* pRunLoader)
 
   // Note: the rawreader is already placed at the first event
   if ((iResult=fpSystem->Reconstruct(1, pRunLoader, fpRawReader))>=0) {
+    fpSystem->FillESD(0, pRunLoader, NULL);
     for (int i=1; i<nEvents; i++) {
       if (fpRawReader && !fpRawReader->NextEvent()) {
        AliError("missmatch in event count, rawreader corrupted");
        break;
       }
       fpSystem->Reconstruct(1, pRunLoader, fpRawReader);
+      fpSystem->FillESD(i, pRunLoader, NULL);
     }
     // send specific 'event' to execute the stop sequence
     fpSystem->Reconstruct(0, NULL, NULL);