3 @file FPGATrackSimBankConstGenConfig.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
13 from FPGATrackSimConfTools.FPGATrackSimDataPrepConfig
import FPGATrackSimEventSelectionSvcCfg
19 kwargs.setdefault(
"merged_file_path", flags.Trigger.FPGATrackSim.FPGATrackSimMatrixFileRegEx)
20 kwargs.setdefault(
"region", flags.Trigger.FPGATrackSim.region)
21 kwargs.setdefault(
"CheckGood2ndStage",flags.Trigger.FPGATrackSim.CheckGood2ndStage)
22 kwargs.setdefault(
"UseHitScaleFactor",flags.Trigger.FPGATrackSim.UseHitScaleFactor)
23 kwargs.setdefault(
"IsSecondStage",flags.Trigger.FPGATrackSim.Is2ndStage)
24 kwargs.setdefault(
"missHitsConsts",flags.Trigger.FPGATrackSim.missHitsConsts)
26 from FPGATrackSimConfTools.FPGATrackSimDataPrepConfig
import FPGATrackSimMappingCfg
28 theFPGATrackSimConstGenAlg = CompFactory.FPGATrackSimConstGenAlgo(**kwargs)
29 theFPGATrackSimConstGenAlg.FPGATrackSimMappingSvc = FPGATrackSimMapping
34 acc.addEventAlgo(theFPGATrackSimConstGenAlg)
38 newFlags = flags.cloneAndReplace(
"Trigger.FPGATrackSim.ActiveConfig",
"Trigger.FPGATrackSim." + flags.Trigger.FPGATrackSim.algoTag)
41 if __name__ ==
"__main__":
42 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
43 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
44 from AthenaCommon.Logging
import logging
45 log = logging.getLogger(__name__)
55 acc.store(
open(
'FPGATrackSimConstsGenConfig.pkl',
'wb'))
57 from AthenaConfiguration.Utils
import setupLoggingLevels
60 MatrixFileName=flags.Trigger.FPGATrackSim.outputMergedFPGATrackSimMatrixFile
61 acc.addService(CompFactory.THistSvc(Output = [
"TRIGFPGATrackSimTREEGOODOUT DATAFILE='"+MatrixFileName+
"', OPT='RECREATE'"]))
62 acc.addService(CompFactory.THistSvc(Output = [
"TRIGFPGATrackSimCTREEOUT DATAFILE='const.root', OPT='RECREATE'"]))
64 statusCode = acc.run()
65 assert statusCode.isSuccess()
is True,
"Application execution did not succeed"