diff --git a/macro/run/CMakeLists.txt b/macro/run/CMakeLists.txt
index a6d75cba394be32b594fd91d19d254ac4c7fef0e..26f834b8880e5a070ba7dd1d6a2c29eb56023434 100644
--- a/macro/run/CMakeLists.txt
+++ b/macro/run/CMakeLists.txt
@@ -8,7 +8,7 @@ GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/run/run_reco.C)
 
 # =====   Copy the .rootrc file into the directory from which root is executed
 # --- Otherwise the rootalias file is not loaded
-file(COPY ${CBMROOT_SOURCE_DIR}/macro/include/.rootrc 
+file(COPY ${CBMROOT_SOURCE_DIR}/macro/include/.rootrc
 	DESTINATION ${CBMROOT_BINARY_DIR}/macro/run)
 # ============================================================================
 
@@ -31,7 +31,7 @@ math(EXPR nBeam "${nEvents} * 3")
 
 # =====   Define the different setups to be tested with   ====================
 if(($ENV{ctest_model} MATCHES Nightly) OR ($ENV{ctest_model} MATCHES Weekly))
-  List(APPEND cbm_setup sis100_hadron sis100_electron sis100_muon_lmvm 
+  List(APPEND cbm_setup sis100_hadron sis100_electron sis100_muon_lmvm
   	sis100_muon_jpsi sis300_electron)
 else()
   List(APPEND cbm_setup sis100_electron sis100_muon_jpsi)
@@ -40,9 +40,9 @@ endif()
 
 
 # =====   Cleanup the data directory   =======================================
-add_test(run_cleanup ${CMAKE_COMMAND} 
+add_test(run_cleanup ${CMAKE_COMMAND}
 	-P ${CMAKE_SOURCE_DIR}/cmake/scripts/cleanmacrodir.cmake)
-set_tests_properties(run_cleanup PROPERTIES 
+set_tests_properties(run_cleanup PROPERTIES
 	TIMEOUT ${timeOutTime}
 	FIXTURES_SETUP cleanup
 )
@@ -53,15 +53,15 @@ set_tests_properties(run_cleanup PROPERTIES
 foreach(setup IN LISTS cbm_setup)
 
   # --- Short name for setup
-  if(setup MATCHES sis100_hadron) 
+  if(setup MATCHES sis100_hadron)
   	set(sname s100h)
-  elseif(setup MATCHES sis100_electron) 
+  elseif(setup MATCHES sis100_electron)
   	set(sname s100e)
-  elseif(setup MATCHES sis100_muon_lmvm) 
+  elseif(setup MATCHES sis100_muon_lmvm)
   	set(sname s100m2)
-  elseif(setup MATCHES sis100_muon_jpsi) 
+  elseif(setup MATCHES sis100_muon_jpsi)
   	set(sname s100m3)
-  elseif(setup MATCHES sis300_electron) 
+  elseif(setup MATCHES sis300_electron)
   	set(sname s300e)
   else()
   	set(sname test)
@@ -71,111 +71,137 @@ foreach(setup IN LISTS cbm_setup)
   # --- Transport run with collision events, using run_tra_file.C
   set(testname run_${sname}_tra_coll)
   set(input ${CBMROOT_SOURCE_DIR}/input/urqmd.auau.10gev.centr.root)
-  add_test(${testname} ${MACRO_DIR}/run_tra_file.sh 
+  add_test(${testname} ${MACRO_DIR}/run_tra_file.sh
   	\"${input}\" ${nEvents} \"data/${sname}_coll\" \"${setup}\")
-  set_tests_properties(${testname} PROPERTIES 
+  set_tests_properties(${testname} PROPERTIES
   	TIMEOUT ${timeOutTime}
   	PASS_REGULAR_EXPRESSION "Macro finished successfully"
   	FIXTURES_REQUIRED cleanup
   	FIXTURES_SETUP "fixt_digi_ts_${setup};fixt_digi_ev_${setup}"
   	RESOURCE_LOCK collParDb_${setup}
   )
-  
+
   # --- Test run_tra_sign
   # --- Transport run with signal events, using run_tra_file.C
   set(testname run_${sname}_tra_sign)
   set(input ${CBMROOT_SOURCE_DIR}/input/pluto.auau.8gev.omega.mpmm.0001.root)
-  add_test(${testname} ${MACRO_DIR}/run_tra_file.sh 
+  add_test(${testname} ${MACRO_DIR}/run_tra_file.sh
   	\"${input}\" ${nEvents} \"data/${sname}_sign\" \"${setup}\")
-  set_tests_properties(${testname} PROPERTIES 
+  set_tests_properties(${testname} PROPERTIES
   	TIMEOUT ${timeOutTime}
   	PASS_REGULAR_EXPRESSION "Macro finished successfully"
   	FIXTURES_REQUIRED cleanup
   	FIXTURES_SETUP fixt_digi_ts_${setup}
   	RESOURCE_LOCK signParDb_${setup}
   )
-  
+
   # --- Test run_tra_beam
   # --- Transport run with beam events, using run_tra_beam.C
   set(testname run_${sname}_tra_beam)
-  add_test(${testname} ${MACRO_DIR}/run_tra_beam.sh 
+  add_test(${testname} ${MACRO_DIR}/run_tra_beam.sh
   	${nBeam} \"Au\" 10 -1 \"data/${sname}_beam\" \"${setup}\")
-  set_tests_properties(${testname} PROPERTIES 
+  set_tests_properties(${testname} PROPERTIES
   	TIMEOUT ${timeOutTime}
   	PASS_REGULAR_EXPRESSION "Macro finished successfully"
   	FIXTURES_REQUIRED cleanup
   	FIXTURES_SETUP fixt_digi_ts_${setup}
   	RESOURCE_LOCK beamParDb_${setup}
   )
-   
+
   # --- Test run_digi_ev
   # --- Detector response simulation, event-by-event, using run_digi.C
   set(testname run_${sname}_digi_ev)
-  add_test(${testname} ${MACRO_DIR}/run_digi.sh 
+  add_test(${testname} ${MACRO_DIR}/run_digi.sh
   	\"data/${sname}_coll\" -1 \"data/${sname}_ev\" -1.)
-  set_tests_properties(${testname} PROPERTIES 
+  set_tests_properties(${testname} PROPERTIES
   	TIMEOUT ${timeOutTime}
   	PASS_REGULAR_EXPRESSION "Macro finished successfully"
-	FIXTURES_REQUIRED fixt_digi_ev_${setup}	 
+	FIXTURES_REQUIRED fixt_digi_ev_${setup}
   	FIXTURES_SETUP fixt_reco_ev_${setup}
  	RESOURCE_LOCK collParDb_${setup}
   )
- 
+
   # --- Test run_digi_ts
   # --- Detector response simulation, time-based, using run_digi.C
   set(testname run_${sname}_digi_ts)
   set(eventrate 1.e7)
   set(beamrate 1.e9)
   set(tslength 1.e6)
-  add_test(${testname} ${MACRO_DIR}/run_digi.sh 
-  	\"data/${sname}_coll\" -1 \"data/${sname}_ts\"\ ${eventrate} ${tslength} 
+  add_test(${testname} ${MACRO_DIR}/run_digi.sh
+  	\"data/${sname}_coll\" -1 \"data/${sname}_ts\"\ ${eventrate} ${tslength}
   	\"data/${sname}_sign\" \"data/${sname}_beam\" ${beamrate})
-  set_tests_properties(${testname} PROPERTIES 
+  set_tests_properties(${testname} PROPERTIES
   	TIMEOUT ${timeOutTime}
   	PASS_REGULAR_EXPRESSION "Macro finished successfully"
  	FIXTURES_REQUIRED fixt_digi_ts_${setup}
   	FIXTURES_SETUP fixt_reco_ts_${setup}
  	RESOURCE_LOCK collParDb_${setup}
   )
-  
+
   # --- Test run_reco_ev
   # --- Event-by-event reconstruction from event-based simulation
   set(testname run_${sname}_reco_ev)
   add_test(${testname} ${MACRODIR}/run_reco.sh
   	\"data/${sname}_ev\" -1 0 \"\" \"Ideal\" \"${setup}\" \"data/${sname}_coll\")
-  set_tests_properties(${testname} PROPERTIES 
+  set_tests_properties(${testname} PROPERTIES
   	TIMEOUT ${timeOutTime}
   	PASS_REGULAR_EXPRESSION "Macro finished successfully"
-	FIXTURES_REQUIRED fixt_reco_ev_${setup}	 
+	FIXTURES_REQUIRED fixt_reco_ev_${setup}
  	RESOURCE_LOCK collParDb_${setup}
   )
-  
+
   # --- Test run_reco_ts_eb
   # --- Event-by-event reconstruction from time-based simulation
   set(testname run_${sname}_reco_ts_eb)
   add_test(${testname} ${MACRODIR}/run_reco.sh
-  	\"data/${sname}_ts\" -1 0 \"data/${sname}_ts_eb\" \"Ideal\" \"${setup}\" 
+  	\"data/${sname}_ts\" -1 0 \"data/${sname}_ts_eb\" \"Ideal\" \"${setup}\"
   	\"data/${sname}_coll\")
-  set_tests_properties(${testname} PROPERTIES 
+  set_tests_properties(${testname} PROPERTIES
   	TIMEOUT ${timeOutTime}
   	PASS_REGULAR_EXPRESSION "Macro finished successfully"
-	FIXTURES_REQUIRED fixt_reco_ts_${setup}	 
+	FIXTURES_REQUIRED fixt_reco_ts_${setup}
  	RESOURCE_LOCK collParDb_${setup}
   )
-  
+
   # --- Test run_reco_ts_tb
   # --- Time-based reconstruction from time-based simulation
   set(testname run_${sname}_reco_ts_tb)
   add_test(${testname} ${MACRODIR}/run_reco.sh
-  	\"data/${sname}_ts\" -1 0 \"data/${sname}_ts_tb\" \"\" \"${setup}\" 
+  	\"data/${sname}_ts\" -1 0 \"data/${sname}_ts_tb\" \"\" \"${setup}\"
   	\"data/${sname}_coll\")
-  set_tests_properties(${testname} PROPERTIES 
+  set_tests_properties(${testname} PROPERTIES
   	TIMEOUT ${timeOutTime}
   	PASS_REGULAR_EXPRESSION "Macro finished successfully"
-	FIXTURES_REQUIRED fixt_reco_ts_${setup}	 
+	FIXTURES_REQUIRED fixt_reco_ts_${setup}
  	RESOURCE_LOCK collParDb_${setup}
   )
- 
+
+  # --- Test run_reco_ev_real
+  # --- Event-by-event reconstruction from event-based simulation
+  set(testname run_${sname}_reco_ev_real)
+  add_test(${testname} ${MACRODIR}/run_reco.sh
+    \"data/${sname}_ev\" -1 0 \"data/${sname}_eb_eb_real\" \"Real\" \"${setup}\"
+    \"data/${sname}_coll\")
+  set_tests_properties(${testname} PROPERTIES
+    TIMEOUT ${timeOutTime}
+    PASS_REGULAR_EXPRESSION "Macro finished successfully"
+    FIXTURES_REQUIRED fixt_reco_ev_${setup}
+    RESOURCE_LOCK collParDb_${setup}
+  )
+
+  # --- Test run_reco_ts_eb_real
+  # --- Event-by-event reconstruction from time-based simulation
+  set(testname run_${sname}_reco_ts_eb_real)
+  add_test(${testname} ${MACRODIR}/run_reco.sh
+    \"data/${sname}_ts\" -1 0 \"data/${sname}_ts_eb_real\" \"Real\" \"${setup}\"
+    \"data/${sname}_coll\")
+  set_tests_properties(${testname} PROPERTIES
+    TIMEOUT ${timeOutTime}
+    PASS_REGULAR_EXPRESSION "Macro finished successfully"
+    FIXTURES_REQUIRED fixt_reco_ts_${setup}
+    RESOURCE_LOCK collParDb_${setup}
+  )
+
 endforeach(setup IN LISTS cbm_setup)
 # ============================================================================
 
@@ -183,7 +209,7 @@ endforeach(setup IN LISTS cbm_setup)
 
 
 
-Install(FILES .rootrc run_transport.C run_digi.C run_reco_event.C check_overlaps.C 
+Install(FILES .rootrc run_transport.C run_digi.C run_reco_event.C check_overlaps.C
         DESTINATION share/cbmroot/macro/run
        )
 Install(DIRECTORY modules DESTINATION share/cbmroot/macro/run)
diff --git a/macro/run/run_reco.C b/macro/run/run_reco.C
index bfdba83d3ae8bb80fea0b3435b2a2e4ae4b87f5f..7afd3921cc6dd13b1fb005164b66fa94fc88cf29 100644
--- a/macro/run/run_reco.C
+++ b/macro/run/run_reco.C
@@ -48,7 +48,7 @@
  ** @param nTimeSlices    Number of time-slices to process
  ** @param firstTimeSlice First time-slice (entry) to be processed
  ** @param output         Name of output file (w/o extension .rec.root)
- ** @param evBuildRaw     Option for raw event building
+ ** @param sEvBuildRaw    Option for raw event building
  ** @param setup          Name of predefined geometry setup
  ** @param paramFile      Parameter ROOT file (w/o extension .par.root)
  **
@@ -78,7 +78,7 @@ void run_reco(TString input        = "",
               Int_t nTimeSlices    = -1,
               Int_t firstTimeSlice = 0,
               TString output       = "",
-              TString evBuildRaw   = "",
+              TString sEvBuildRaw  = "",
               TString setup        = "sis100_electron",
               TString paramFile    = "") {
 
@@ -123,7 +123,7 @@ void run_reco(TString input        = "",
 
 
   // -----   Some global switches   -----------------------------------------
-  Bool_t eventBased = !evBuildRaw.IsNull();
+  Bool_t eventBased = !sEvBuildRaw.IsNull();
   Bool_t useMvd     = geo->IsActive(ECbmModuleId::kMvd);
   Bool_t useSts     = geo->IsActive(ECbmModuleId::kSts);
   Bool_t useRich    = geo->IsActive(ECbmModuleId::kRich);
@@ -191,14 +191,14 @@ void run_reco(TString input        = "",
 
   // -----   Raw event building from digis   --------------------------------
   if (eventBased) {
-    if (evBuildRaw.EqualTo("Ideal", TString::ECaseCompare::kIgnoreCase)) {
+    if (sEvBuildRaw.EqualTo("Ideal", TString::ECaseCompare::kIgnoreCase)) {
       FairTask* evBuildRaw = new CbmBuildEventsIdeal();
       run->AddTask(evBuildRaw);
       std::cout << "-I- " << myName << ": Added task " << evBuildRaw->GetName()
                 << std::endl;
       eventBased = kTRUE;
     }  //? Ideal raw event building
-    else if (evBuildRaw.EqualTo("Real", TString::ECaseCompare::kIgnoreCase)) {
+    else if (sEvBuildRaw.EqualTo("Real", TString::ECaseCompare::kIgnoreCase)) {
       // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
       /// to use 2018 version, uncomment this section and comment the next one
       /*
@@ -252,7 +252,7 @@ void run_reco(TString input        = "",
       eventBased = kTRUE;
     }  //? Real raw event building
     else {
-      std::cerr << "-E- " << myName << ": Unknown option " << evBuildRaw
+      std::cerr << "-E- " << myName << ": Unknown option " << sEvBuildRaw
                 << " for raw event building! Terminating macro execution."
                 << std::endl;
       return;