diff --git a/macro/run/CMakeLists.txt b/macro/run/CMakeLists.txt
index fa0fe40f430c62010a7f2ec49571caaaa8386b60..689a9ab933a15151b9a1fce31e62ada72e7b3262 100644
--- a/macro/run/CMakeLists.txt
+++ b/macro/run/CMakeLists.txt
@@ -303,7 +303,8 @@ If(DEFINED ENV{RAW_DATA_PATH} )
 
   ## Generate scripts
   GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/run/run_unpack_tsa.C )  # Unpackers
-  GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2021/check_timing_any.C )  # Check Timing
+  GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2021/check_timing_any.C )  # Check Timing mCBM 2021
+  GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2022/mcbm_event.C )  # Event building mCBM 2022
 
   ## Run only if raw data files present: 2021
   ForEach(RUN 1588 )
@@ -314,27 +315,28 @@ If(DEFINED ENV{RAW_DATA_PATH} )
       ## Define tests + dependencies
       ### Raw data analysis tests: unpacking
       Set(testname mcbm_unpack_2021_${RUN})
+      Set(fixture_unpacked_${RUN} fixture_done_${testname})
       Add_Test(${testname} ${CBMROOT_BINARY_DIR}/macro/run/run_unpack_tsa.sh \"${RAW_DATA_PATH}/${RUN}_first20Ts.tsa\" ${RUN})
-      Set_Tests_Properties(${testname} PROPERTIES TIMEOUT "600")
       Set_Tests_Properties(${testname} PROPERTIES
+            TIMEOUT "600"
             FAIL_REGULAR_EXPRESSION "segmentation violation"
-            PASS_REGULAR_EXPRESSION "Macro finished successfully")
-      set_tests_properties(${testname} PROPERTIES DEPENDS run_cleanup)
-      set_tests_properties(${testname} PROPERTIES FIXTURES_REQUIRED run_cleanup)
-      Set(fixture_unpacked_${RUN} fixture_done_${testname})
-      set_tests_properties(${testname} PROPERTIES FIXTURES_SETUP ${fixture_unpacked_${RUN}})
+            PASS_REGULAR_EXPRESSION "Macro finished successfully"
+            FIXTURES_REQUIRED run_cleanup
+            FIXTURES_SETUP ${fixture_unpacked_${RUN}}
+            RESOURCE_LOCK mcbm_unpack_disk
+            )
 
       ### Raw data analysis tests: time offsets check
       Set(testname mcbm_chktime_2021_${RUN})
+      Set(fixture_chktime_${RUN} fixture_done_${testname})
       Add_Test(${testname} ${CBMROOT_BINARY_DIR}/macro/beamtime/mcbm2021/check_timing_any.sh \"${CBMROOT_BINARY_DIR}/macro/run/data/${RUN}_first20Ts.digi.root\" ${RUN})
-      Set_Tests_Properties(${testname} PROPERTIES TIMEOUT "600")
       Set_Tests_Properties(${testname} PROPERTIES
+            TIMEOUT "600"
             FAIL_REGULAR_EXPRESSION "segmentation violation"
-            PASS_REGULAR_EXPRESSION "Macro finished successfully")
-      set_tests_properties(${testname} PROPERTIES DEPENDS mcbm_unpack_2021_${RUN})
-      set_tests_properties(${testname} PROPERTIES FIXTURES_REQUIRED ${fixture_unpacked_${RUN}})
-      Set(fixture_chktime_${RUN} fixture_done_${testname})
-      set_tests_properties(${testname} PROPERTIES FIXTURES_SETUP ${fixture_chktime_${RUN}})
+            PASS_REGULAR_EXPRESSION "Macro finished successfully"
+            FIXTURES_REQUIRED ${fixture_unpacked_${RUN}}
+            FIXTURES_SETUP ${fixture_chktime_${RUN}}
+            )
     EndIf() # If(EXISTS ${RAW_DATA_PATH}/${RUN}_first20Ts.tsa))
   EndForEach() # ForEach(RUN 1588 )
 
@@ -347,29 +349,30 @@ If(DEFINED ENV{RAW_DATA_PATH} )
       ## Define tests + dependencies
       ### Raw data analysis tests: unpacking
       Set(testname mcbm_unpack_${RUN})
+      Set(fixture_unpacked_${RUN} fixture_done_${testname})
       Add_Test(${testname} ${CBMROOT_BINARY_DIR}/macro/run/run_unpack_tsa.sh \"${RAW_DATA_PATH}/${RUN}_first20Ts.tsa\" ${RUN})
-      Set_Tests_Properties(${testname} PROPERTIES TIMEOUT "600")
       Set_Tests_Properties(${testname} PROPERTIES
+            TIMEOUT "600"
             FAIL_REGULAR_EXPRESSION "segmentation violation"
-            PASS_REGULAR_EXPRESSION "Macro finished successfully")
-      set_tests_properties(${testname} PROPERTIES DEPENDS run_cleanup)
-      set_tests_properties(${testname} PROPERTIES FIXTURES_REQUIRED run_cleanup)
-      Set(fixture_unpacked_${RUN} fixture_done_${testname})
-      set_tests_properties(${testname} PROPERTIES FIXTURES_SETUP ${fixture_unpacked_${RUN}})
+            PASS_REGULAR_EXPRESSION "Macro finished successfully"
+            FIXTURES_REQUIRED run_cleanup
+            FIXTURES_SETUP ${fixture_unpacked_${RUN}}
+            RESOURCE_LOCK mcbm_unpack_disk
+            )
 
       ### Raw data analysis tests: event building and reconstruction => need calibration files!!
-#      Set(testname mcbm_event_2022_${RUN})
-#      Add_Test(${testname} ${CBMROOT_BINARY_DIR}/macro/beamtime/mcbm2022/check_timing_any.sh \"${CBMROOT_BINARY_DIR}/macro/run/data/${RUN}_first20Ts.digi.root\" ${RUN})
-#      Set_Tests_Properties(${testname} PROPERTIES TIMEOUT "600")
-#      Set_Tests_Properties(${testname} PROPERTIES
-#            FAIL_REGULAR_EXPRESSION "segmentation violation"
-#            PASS_REGULAR_EXPRESSION "Macro finished successfully")
-#      set_tests_properties(${testname} PROPERTIES DEPENDS mcbm_unpack_${RUN})
-#      set_tests_properties(${testname} PROPERTIES FIXTURES_REQUIRED ${fixture_unpacked_${RUN}})
-#      Set(fixture_chktime_${RUN} fixture_done_${testname})
-#      set_tests_properties(${testname} PROPERTIES FIXTURES_SETUP ${fixture_chktime_${RUN}})
+      Set(testname mcbm_event_2022_${RUN})
+      Set(fixture_event_${RUN} fixture_done_${testname})
+      Add_Test(${testname} ${CBMROOT_BINARY_DIR}/macro/beamtime/mcbm2022/mcbm_event.sh \"${CBMROOT_BINARY_DIR}/macro/run/data/${RUN}_first20Ts.digi.root\" ${RUN})
+      Set_Tests_Properties(${testname} PROPERTIES
+            TIMEOUT "600"
+            FAIL_REGULAR_EXPRESSION "segmentation violation"
+            PASS_REGULAR_EXPRESSION "Macro finished successfully"
+            FIXTURES_REQUIRED ${fixture_unpacked_${RUN}}
+            FIXTURES_SETUP ${fixture_event_${RUN}}
+            )
     EndIf() # If(EXISTS ${RAW_DATA_PATH}/${RUN}_first20Ts.tsa))
-  EndForEach() # ForEach(RUN 1588 )
+  EndForEach() # ForEach(RUN 2391 2488 )
 EndIf() # If(DEFINED ENV{RAW_DATA_PATH} )
 #####################
 # ============================================================================
diff --git a/macro/run/run_unpack_tsa.C b/macro/run/run_unpack_tsa.C
index 514617d89a276f487cccc46157402f38b14c1c5b..e59c21a77bcdc54f3cd728c899a68d3d1b18cfb7 100644
--- a/macro/run/run_unpack_tsa.C
+++ b/macro/run/run_unpack_tsa.C
@@ -125,6 +125,7 @@ void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid
 
   // ---- BMON ----
   std::shared_ptr<CbmBmonUnpackConfig> bmonconfig = nullptr;
+
   if (!bBmoninTof) {
     bmonconfig = std::make_shared<CbmBmonUnpackConfig>("", runid);
     if (bmonconfig) {