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: