5 if __name__ == 
"__main__":
 
   12     from AthenaConfiguration.AllConfigFlags 
import initConfigFlags
 
   13     from AthenaConfiguration.MainServicesConfig 
import MainServicesCfg
 
   14     from AthenaPoolCnvSvc.PoolReadConfig 
import PoolReadCfg
 
   17     parser = argparse.ArgumentParser(description=
'Run HGTD reconstruction with legacy Athena')
 
   18     parser.add_argument(
'--file_dir', type=str, required=
True, help=
'Path to directory with RDO files')
 
   19     parser.add_argument(
'--Nfiles', type=int, default=-1, help=
'Number of files to process (-1 for all)')
 
   20     parser.add_argument(
'--output_suffix', type=str, default=
'', help=
'Suffix to append to output files')
 
   21     args = parser.parse_args()
 
   24     file_pattern = f
"{args.file_dir}/RDO*.pool.root.1"  
   25     all_files = 
sorted(glob.glob(file_pattern))
 
   30         matching_files.append(f)
 
   33     if args.Nfiles > 0 
and len(matching_files) > args.Nfiles:
 
   34         matching_files = matching_files[:args.Nfiles]
 
   35         print(f
"Limiting to first {args.Nfiles} files as requested")
 
   37     flags.Input.Files = matching_files
 
   40     print(f
"Matched {len(matching_files)} files:")
 
   41     for f 
in matching_files:
 
   44     flags.Exec.MaxEvents = -1  
 
   47     flags.Output.doWriteAOD = 
True 
   48     flags.Output.AODFileName = f
"LegacyHGTD_track_extension_test_AOD_{args.output_suffix}.root" 
   49     flags.Output.HISTFileName = f
"LegacyHGTD_track_extension_HIST_{args.output_suffix}.root" 
   52     flags.Tracking.doTruth = 
False 
   53     flags.Detector.EnableCalo = 
False 
   54     flags.DQ.useTrigger = 
False 
   57     flags.Detector.EnableHGTD = 
True 
   58     flags.HGTD.doActs = 
False   
   59     flags.Reco.EnableHGTDExtension = 
True   
   62     flags.Acts.doMonitoring = 
False 
   63     flags.Acts.doITkConversion = 
False 
   64     flags.Tracking.doITkConversion = 
False 
   68     from TrkConfig.TrkConfigFlags 
import TrackingComponent
 
   69     flags.Tracking.recoChain = [TrackingComponent.AthenaChain]
 
   76     acc.getService(
"MessageSvc").debugLimit = 1000000
 
   80     from InDetConfig.ITkTrackRecoConfig 
import ITkTrackRecoCfg
 
   84     from HGTD_Config.HGTD_PrepRawDataFormationConfig 
import PadClusterizationCfg
 
   91     from HGTD_Config.HGTD_TrackTimeExtensionConfig 
import HGTD_IterativeExtensionToolCfg, TrackTimeExtensionCfg
 
  102     from HGTD_Config.HGTD_TrackTimeExtensionConfig 
import TrackTimeDefAndQualityAlgCfg
 
  106     from HGTD_Config.HGTD_VertexTimeConfig 
import VertexTimeAlgCfg
 
  110     acc.printConfig(withDetails=
True, summariseProps=
True)