3 @file FPGATrackSimBankMergeConfig.py
4 @author Riley Xu - rixu@cern.ch
6 @brief This file declares functions to configure components in FPGATrackSimBankMerge
11 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
12 from AthenaConfiguration.ComponentFactory
import CompFactory
17 for item
in regex.split(
','):
18 if (
'matrix' in item
and 'root' in item):
19 path += glob.glob(item)
26 kwargs.setdefault(
"nbank",flags.Trigger.FPGATrackSim.FPGATrackSimNBanks)
27 kwargs.setdefault(
"allregion",flags.Trigger.FPGATrackSim.FPGATrackSimallBanks)
28 kwargs.setdefault(
"region",flags.Trigger.FPGATrackSim.region)
30 theFPGATrackSimMatrixMergeAlg = CompFactory.FPGATrackSimMatrixMergeAlgo()
31 file_path =
getListOfFiles(flags.Trigger.FPGATrackSim.FPGATrackSimMatrixFileRegEx)
33 if flags.Trigger.FPGATrackSim.FPGATrackSimMaxnMatrixInputFiles > 0:
34 theFPGATrackSimMatrixMergeAlg.file_path = file_path[0:flags.Trigger.FPGATrackSim.MaxInputFiles]
36 theFPGATrackSimMatrixMergeAlg.file_path = file_path
38 acc.addEventAlgo(theFPGATrackSimMatrixMergeAlg)
42 if __name__ ==
"__main__":
43 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
44 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
45 from AthenaCommon.Logging
import logging
46 log = logging.getLogger(__name__)
55 acc.store(
open(
'FPGATrackSimMatrixMergeConfig.pkl',
'wb'))
57 from AthenaConfiguration.Utils
import setupLoggingLevels
60 MatrixFileName=flags.Trigger.FPGATrackSim.outputMergedFPGATrackSimMatrixFile
61 acc.addService(CompFactory.THistSvc(Output = [
"TRIGFPGATrackSimMATRIXOUT DATAFILE='"+MatrixFileName+
"', OPT='RECREATE'"]))
63 statusCode = acc.run()
64 assert statusCode.isSuccess()
is True,
"Application execution did not succeed"