diff --git a/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/CMakeLists.txt b/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/CMakeLists.txt
index 09757fc2308e50834917dca9d940e70886f8e5d9..e92ddd20408a0aed7a68a7e3bafb41ff8795851f 100644
--- a/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/CMakeLists.txt
+++ b/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/CMakeLists.txt
@@ -12,93 +12,82 @@ if( XAOD_STANDALONE )
 
    atlas_install_scripts( share/*_eljob.py )
 
-   atlas_add_test( testJobData
-      SCRIPT FullCPAlgorithmsTest_eljob.py --data-type data --unit-test --direct-driver
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 600 )
-   atlas_add_test( testJobFullSim
-      SCRIPT FullCPAlgorithmsTest_eljob.py --data-type mc --unit-test --direct-driver
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 600 )
-   atlas_add_test( testJobFastSim
-      SCRIPT FullCPAlgorithmsTest_eljob.py --data-type afii --unit-test --direct-driver
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 600 )
-
-   atlas_add_test( testJobDataConfig
-      SCRIPT FullCPAlgorithmsTest_eljob.py --data-type data --unit-test --direct-driver --block-config
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 600 )
-   atlas_add_test( testJobFullSimConfig
-      SCRIPT FullCPAlgorithmsTest_eljob.py --data-type mc --unit-test --direct-driver --block-config
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 600 )
-   atlas_add_test( testJobFastSimConfig
-      SCRIPT FullCPAlgorithmsTest_eljob.py --data-type afii --unit-test --direct-driver --block-config
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 600 )
-
-   atlas_add_test( testJobDataLite
-      SCRIPT FullCPAlgorithmsTest_eljob.py --data-type data --unit-test --direct-driver --physlite --no-physlite-broken
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 600 )
-   atlas_add_test( testJobFullSimLite
-      SCRIPT FullCPAlgorithmsTest_eljob.py --data-type mc --unit-test --direct-driver --physlite --no-physlite-broken
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 600 )
-   atlas_add_test( testJobFastSimLite
-      SCRIPT FullCPAlgorithmsTest_eljob.py --data-type afii --unit-test --direct-driver --physlite --no-physlite-broken
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 600 )
-
-   atlas_add_test( testJobDataConfigLite
-      SCRIPT FullCPAlgorithmsTest_eljob.py --data-type data --unit-test --direct-driver --block-config --physlite --no-physlite-broken
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 600 )
-   # FIX ME: this currently fails on the muons
-   # atlas_add_test( testJobFullSimConfigLite
-   #    SCRIPT FullCPAlgorithmsTest_eljob.py --data-type mc --unit-test --direct-driver --block-config --physlite --no-physlite-broken
-   #    POST_EXEC_SCRIPT nopost.sh
-   #    PROPERTIES TIMEOUT 600 )
-   atlas_add_test( testJobFastSimConfigLite
-      SCRIPT FullCPAlgorithmsTest_eljob.py --data-type afii --unit-test --direct-driver --block-config --physlite --no-physlite-broken
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 600 )
+   function( add_test_job NAME DATA_TYPE )
+
+      atlas_add_test( ${NAME}
+         SCRIPT FullCPAlgorithmsTest_eljob.py --data-type ${DATA_TYPE} --direct-driver --submission-dir submitDir-${NAME} ${ARGN}
+         POST_EXEC_SCRIPT nopost.sh
+         PROPERTIES TIMEOUT 900 )
+      
+   endfunction()
+
+   function( add_test_compare NAME DATA_TYPE NAME1 NAME2 )
+
+      atlas_add_test( ${NAME}
+         SCRIPT compareFlatTrees analysis submitDir-${NAME1}/data-ANALYSIS/${DATA_TYPE}.root submitDir-${NAME2}/data-ANALYSIS/${DATA_TYPE}.root
+         POST_EXEC_SCRIPT nopost.sh
+         PROPERTIES TIMEOUT 900
+         DEPENDS ${NAME1} ${NAME2})
+
+   endfunction()
 
 else()
 
    atlas_install_joboptions( share/*_jobOptions.py )
 
-   atlas_add_test( testJobDataCompare
-      SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/share/BlockConfigurationAthenaTest.sh data
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 1800 )
-
-   atlas_add_test( testJobFullSimCompare
-      SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/share/BlockConfigurationAthenaTest.sh mc
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 1800 )
-
-   atlas_add_test( testJobFastSimCompare
-      SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/share/BlockConfigurationAthenaTest.sh afii
-      POST_EXEC_SCRIPT nopost.sh
-      PROPERTIES TIMEOUT 1800 )
-
-   # FIXME: there are currently no configuration blocks that work on
-   # PHYSLITE, reenable this when there are
-   # atlas_add_test( testJobDataCompareLite
-   #    SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/share/BlockConfigurationAthenaTest.sh data --physlite
-   #    POST_EXEC_SCRIPT nopost.sh
-   #    PROPERTIES TIMEOUT 600 )
-
-   #  atlas_add_test( testJobFullSimCompareLite
-   #    SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/share/BlockConfigurationAthenaTest.sh mc --physlite
-   #    POST_EXEC_SCRIPT nopost.sh
-   #    PROPERTIES TIMEOUT 600 )
-
-   # atlas_add_test( testJobFastSimCompareLite
-   #    SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/share/BlockConfigurationAthenaTest.sh afii --physlite
-   #    POST_EXEC_SCRIPT nopost.sh
-   #    PROPERTIES TIMEOUT 600 )
+   function( add_test_job NAME DATA_TYPE )
+
+      atlas_add_test( ${NAME}
+         SCRIPT athena.py AnalysisAlgorithmsConfig/FullCPAlgorithmsTest_jobOptions.py --evtMax=500 - --force-output TestJobOutput-${NAME}.hist.root --data-type ${DATA_TYPE} ${ARGN}
+         POST_EXEC_SCRIPT nopost.sh
+         PROPERTIES TIMEOUT 900 )
+      
+   endfunction()
+
+   function( add_test_compare NAME DATA_TYPE NAME1 NAME2 )
+
+      atlas_add_test( ${NAME}
+         SCRIPT acmd.py diff-root --error-mode resilient -t analysis TestJobOutput-${NAME1}.hist.root TestJobOutput-${NAME2}.hist.root
+         POST_EXEC_SCRIPT nopost.sh
+         PROPERTIES TIMEOUT 900
+         DEPENDS ${NAME1} ${NAME2})
+
+   endfunction()
+
+endif()
+
+
+
+add_test_job( TestJobDataSequence data --for-compare --no-systematics )
+add_test_job( TestJobDataConfig   data --for-compare --block-config --no-systematics )
+add_test_compare( TestJobDataCompare data TestJobDataSequence TestJobDataConfig )
+
+add_test_job( TestJobFullSimSequence mc --for-compare )
+add_test_job( TestJobFullSimConfig   mc --for-compare --block-config )
+add_test_compare( TestJobFullSimCompare mc TestJobFullSimSequence TestJobFullSimConfig )
+
+add_test_job( TestJobFastSimSequence afii --for-compare )
+add_test_job( TestJobFastSimConfig   afii --for-compare --block-config )
+add_test_compare( TestJobFastSimCompare afii TestJobFastSimSequence TestJobFastSimConfig )
+
+
+
+# FIX ME: There are some issues with the PHYSLITE tests that need to
+# be investigated, but until that happens I run some tests only in
+# AnalysisBase, and disable comparisons alltogether.
+
+add_test_job( TestJobDataSequenceLite data --for-compare --physlite --no-physlite-broken --no-systematics )
+add_test_job( TestJobDataConfigLite   data --for-compare --block-config --physlite --no-physlite-broken --no-systematics )
+#add_test_compare( TestJobDataCompareLite data TestJobDataSequenceLite TestJobDataConfigLite )
+
+if( XAOD_STANDALONE )
+
+add_test_job( TestJobFullSimSequenceLite mc --for-compare --physlite --no-physlite-broken )
+add_test_job( TestJobFullSimConfigLite   mc --for-compare --block-config --physlite --no-physlite-broken )
+#add_test_compare( TestJobFullSimCompareLite mc TestJobFullSimSequenceLite TestJobFullSimConfigLite )
+
+add_test_job( TestJobFastSimSequenceLite afii --for-compare --physlite --no-physlite-broken )
+add_test_job( TestJobFastSimConfigLite   afii --for-compare --block-config --physlite --no-physlite-broken )
+#add_test_compare( TestJobFastSimCompareLite afii TestJobFastSimSequenceLite TestJobFastSimConfigLite )
 
 endif()
diff --git a/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/python/FullCPAlgorithmsTest.py b/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/python/FullCPAlgorithmsTest.py
index dff07161f3e425103eecae486c261a98dc421299..4bb9683c0ac357171096280e782839fb2cd35820 100644
--- a/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/python/FullCPAlgorithmsTest.py
+++ b/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/python/FullCPAlgorithmsTest.py
@@ -624,6 +624,7 @@ def makeSequenceBlocks (dataType, algSeq, forCompare, isPhyslite, noPhysliteBrok
         configSeq.setOptionValue ('.saveCutBookkeepers', True)
         configSeq.setOptionValue ('.runNumber', 284500)
         configSeq.setOptionValue ('.cutBookkeepersSystematics', True)
+        vars += [ 'EventInfo.generatorWeight_%SYS% -> generatorWeight_%SYS%', ]
 
 
     # Include, and then set up the trigger analysis sequence:
diff --git a/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/share/FullCPAlgorithmsTest_jobOptions.py b/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/share/FullCPAlgorithmsTest_jobOptions.py
index 96e6f98ae0402bb48570d593800826ca4697f300..9955e77fc208eaa1e765ee6db3a93868473ab282 100644
--- a/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/share/FullCPAlgorithmsTest_jobOptions.py
+++ b/PhysicsAnalysis/Algorithms/AnalysisAlgorithmsConfig/share/FullCPAlgorithmsTest_jobOptions.py
@@ -81,7 +81,7 @@ if not blockConfig :
 else :
     outputFile = "ANALYSIS DATAFILE='FullCPAlgorithmsConfigTest." + dataType + ".hist.root' OPT='RECREATE'"
 if athArgs.force_output :
-    outputFile = athArgs.force_output
+    outputFile = "ANALYSIS DATAFILE='" + athArgs.force_output + "' OPT='RECREATE'"
 ServiceMgr.THistSvc.Output += [ outputFile ]
 
 # Reduce the printout from Athena: