TrfTestsARTPlots: Add CI-like RunWorkflowTests PHYSLITE ART test
Introduce a new ART test_trf_citest_phys_physlite_compare.sh
in the TrfTestsARTPlots
package:
- Runs the RunWorkflowTests test as done in the CITest https://gitlab.cern.ch/atlas/athena/-/blob/main/AtlasTest/CITest/Athena.cmake?ref_type=heads#L110 as a new ART test
- Use 4 different inputs: data and MC for Run2 and Run3
- Uses the previous and current nightly and compares the output PHYSLITE file Analysis* variables with diff-root
This ART test is enabled in the Athena,main branch and the results will be available at https://bigpanda.cern.ch/art/tasks/?package=TrfTestsARTPlots&branch=main/Athena/x86_64-el9-gcc13-opt&nlastnightlies=7&view=packages. The shell script commands are based on the CITest code as more described below.
Tagging @gwatts, @ekourlit for info.
P.S. If we ever decide to enable something similar directly in the CI then here are the steps:
Edit/introduce the following files:
On branch citest_20231207
Your branch is up to date with 'upstream/main'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: Tools/WorkflowTestRunner/python/Checks.py
modified: Tools/WorkflowTestRunner/python/References.py
modified: Tools/WorkflowTestRunner/python/StandardTests.py
Untracked files:
(use "git add <file>..." to include in what will be committed)
Tools/PROCTools/data/data_PHYSLITE_Run2_DAOD_PHYSLITE_diff-interest-list.txt
Tools/PROCTools/data/data_PHYSLITE_Run3_DAOD_PHYSLITE_diff-interest-list.txt
Tools/PROCTools/data/mc_PHYSLITE_Run2_DAOD_PHYSLITE_diff-interest-list.txt
Tools/PROCTools/data/mc_PHYSLITE_Run3_DAOD_PHYSLITE_diff-interest-list.txt
Changes:
diff --git a/Tools/WorkflowTestRunner/python/Checks.py b/Tools/WorkflowTestRunner/python/Checks.py
index 29cc7d177ae..d281f7e5c3c 100644
--- a/Tools/WorkflowTestRunner/python/Checks.py
+++ b/Tools/WorkflowTestRunner/python/Checks.py
@@ -251,7 +251,7 @@ class MetadataCheck(WorkflowCheck):
self.logger.info(f"Reading the reference file from location {reference_file}")
- exclusion_list = " ".join(["file_guid", "file_size", "/TagInfo/AtlasRelease", "FileMetaData/productionRelease", "StreamDAOD_PHYS/eventTypes"])
+ exclusion_list = " ".join(["file_guid", "file_size", "/TagInfo/AtlasRelease", "FileMetaData/productionRelease", "StreamDAOD_PHYS/eventTypes", "StreamDAOD_PHYSLITE/eventTypes"])
validation_file = test.validation_path / file_name
log_file = test.validation_path / f"meta-diff-{test.ID}.{self.format}.log"
diff --git a/Tools/WorkflowTestRunner/python/References.py b/Tools/WorkflowTestRunner/python/References.py
index f396dc7ad6a..2c839f213bb 100644
--- a/Tools/WorkflowTestRunner/python/References.py
+++ b/Tools/WorkflowTestRunner/python/References.py
@@ -32,4 +32,8 @@ references_map = {
"data_PHYS_Run3": "v12",
"mc_PHYS_Run2": "v16",
"mc_PHYS_Run3": "v16",
+ "data_PHYSLITE_Run2": "v1",
+ "data_PHYSLITE_Run3": "v1",
+ "mc_PHYSLITE_Run2": "v1",
+ "mc_PHYSLITE_Run3": "v1",
}
diff --git a/Tools/WorkflowTestRunner/python/StandardTests.py b/Tools/WorkflowTestRunner/python/StandardTests.py
index 828ca8f4fdc..e40fccba320 100644
--- a/Tools/WorkflowTestRunner/python/StandardTests.py
+++ b/Tools/WorkflowTestRunner/python/StandardTests.py
@@ -210,7 +210,7 @@ class DerivationTest(WorkflowTest):
# skip performance checks for now due to CA
self.skip_performance_checks = True
- enable_checks = True if format == "PHYS" else False
+ enable_checks = True if (format == "PHYS" or format == "PHYSLITE") else False
if enable_checks:
self.output_checks = [
FrozenTier0PolicyCheck(setup, f"DAOD_{format}", 10),
Tools/PROCTools/data/data_PHYSLITE_Run2_DAOD_PHYSLITE_diff-interest-list.txt
etc. contains:
AnalysisElectronsAuxDyn(.*)
AnalysisJetsAuxDyn(.*)
AnalysisLargeRJetsAuxDyn(.*)
AnalysisMuonsAuxDyn(.*)
AnalysisPhotonsAuxDyn(.*)
AnalysisTauJetsAuxDyn(.*)
Copy the 4 reference files DAOD_PHYSLITE.myOutput.pool.root
to new 4 subdirectories data_PHYSLITE_Run2/v1
etc. in /eos/atlas/atlascerngroupdisk/data-art/grid-input/WorkflowReferences/main/