From 96dd8b97a43c748bb550bfb0abc6b201ff59b958 Mon Sep 17 00:00:00 2001
From: Elliot Watton <elliot.watton@cern.ch>
Date: Tue, 5 Sep 2023 16:33:35 +0200
Subject: [PATCH] Adding unit test for running FTF as offline algorithm with
 ITk

Adding unit test for running FTF as offline algorithm with ITk
---
 Control/AthenaConfiguration/python/TestDefaults.py     | 1 +
 InnerDetector/InDetConfig/CMakeLists.txt               | 4 ++++
 InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py | 9 +++++++--
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/Control/AthenaConfiguration/python/TestDefaults.py b/Control/AthenaConfiguration/python/TestDefaults.py
index 80f9b16e1da..a3a6fe02c91 100644
--- a/Control/AthenaConfiguration/python/TestDefaults.py
+++ b/Control/AthenaConfiguration/python/TestDefaults.py
@@ -25,6 +25,7 @@ class defaultTestFiles:
     RAW_RUN3 = [f"{d}/Tier0ChainTests/TCT_Run3/data22_13p6TeV.00431493.physics_Main.daq.RAW._lb0525._SFO-16._0001.data"]
     RAW_BKG = [f"{d}/OverlayTests/mc15_valid.00200010.overlay_streamsAll_2016_pp_1.skim.DRAW.r8381/DRAW.09331084._000146.pool.root.1"]
     RDO_RUN2 = [f"{d}/CampaignInputs/mc20/RDO/mc20_13TeV.410470.PhPy8EG_A14_ttbar_hdamp258p75_nonallhad.recon.AOD.e6337_s3681_r13145/100events.RDO.pool.root"]
+    RDO_RUN4 = [f"{d}/PhaseIIUpgrade/RDO/ATLAS-P2-RUN4-03-00-00/mc21_14TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.RDO.e8481_s4149_r14700/RDO.33629020._000047.pool.root.1"]
     RDO_BKG_RUN2 = [f"{d}/OverlayTests/PresampledPileUp/22.0/Run2/large/mc20_13TeV.900149.PG_single_nu_Pt50.digit.RDO.e8307_s3482_s3136_d1715/RDO.26811908._031801.pool.root.1"]
     RDO_BKG_RUN3 = [f"{d}/CampaignInputs/mc21/RDO_BKG/mc21_13p6TeV.900149.PG_single_nu_Pt50.digit.RDO.e8453_e8455_s3864_d1761/50events.RDO.pool.root"]
     RDO_BKG_RUN4 = [f"{d}/PhaseIIUpgrade/RDO_BKG/ATLAS-P2-RUN4-03-00-00/RUN4_presampling.mu200.50events.RDO.pool.root"]
diff --git a/InnerDetector/InDetConfig/CMakeLists.txt b/InnerDetector/InDetConfig/CMakeLists.txt
index e9862b4d829..30191d0707c 100644
--- a/InnerDetector/InDetConfig/CMakeLists.txt
+++ b/InnerDetector/InDetConfig/CMakeLists.txt
@@ -29,6 +29,10 @@ if (NOT SIMULATIONBASE)
         SCRIPT python -m InDetConfig.ITkTrackRecoConfig --norun
         POST_EXEC_SCRIPT noerror.sh)
 
+    atlas_add_test( ITkTrackRecoConfigFTF_test
+        SCRIPT python -m InDetConfig.ITkTrackRecoConfig --norun --doFTF
+        POST_EXEC_SCRIPT noerror.sh)
+
     atlas_add_test( VertexFindingConfigActsGaussAgaptive_test
         SCRIPT python -m InDetConfig.InDetPriVxFinderConfig ActsGaussAdaptiveMultiFinding
         POST_EXEC_SCRIPT noerror.sh)
diff --git a/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py b/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py
index 4e681c3d6bb..c3fc792e864 100644
--- a/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py
+++ b/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py
@@ -346,7 +346,13 @@ if __name__ == "__main__":
     flags.Detector.EnableCalo = False
 
     from AthenaConfiguration.TestDefaults import defaultTestFiles
-    flags.Input.Files = defaultTestFiles.RDO_RUN2
+    flags.Input.Files = defaultTestFiles.RDO_RUN4
+
+    import sys
+    if "--doFTF" in sys.argv:
+       flags.Tracking.useITkFTF = True
+       flags.Tracking.doITkFastTracking = True
+
     flags.lock()
 
     from AthenaConfiguration.MainServicesConfig import MainServicesCfg
@@ -366,7 +372,6 @@ if __name__ == "__main__":
     top_acc.printConfig(withDetails=True, summariseProps=True)
     top_acc.store(open("ITkTrackReco.pkl", "wb"))
 
-    import sys
     if "--norun" not in sys.argv:
         sc = top_acc.run(5)
         if sc.isFailure():
-- 
GitLab