ATLAS Offline Software
FPGATrackSimBankConstGenConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 '''
3 @file FPGATrackSimBankConstGenConfig.py
4 @author Riley Xu - rixu@cern.ch
5 @date Sept 22, 2020
6 @brief This file declares functions to configure components in FPGATrackSimBankMerge
7 '''
8 
9 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
10 
11 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
12 from AthenaConfiguration.ComponentFactory import CompFactory
13 
14 def FPGATrackSimConstsGenCfg(flags, **kwargs):
15 
16  acc = ComponentAccumulator()
17 
18  kwargs.setdefault("merged_file_path", flags.Trigger.FPGATrackSim.FPGATrackSimMatrixFileRegEx)
19  kwargs.setdefault("region", flags.Trigger.FPGATrackSim.region)
20  kwargs.setdefault("CheckGood2ndStage",flags.Trigger.FPGATrackSim.CheckGood2ndStage)
21  kwargs.setdefault("UseHitScaleFactor",flags.Trigger.FPGATrackSim.UseHitScaleFactor)
22  kwargs.setdefault("IsSecondStage",flags.Trigger.FPGATrackSim.Is2ndStage)
23  kwargs.setdefault("missHitsConsts",flags.Trigger.FPGATrackSim.missHitsConsts)
24 
25  from FPGATrackSimConfTools.FPGATrackSimAnalysisConfig import FPGATrackSimMappingCfg
26  FPGATrackSimMapping = acc.getPrimaryAndMerge(FPGATrackSimMappingCfg(flags))
27  theFPGATrackSimConstGenAlg = CompFactory.FPGATrackSimConstGenAlgo(**kwargs)
28  theFPGATrackSimConstGenAlg.FPGATrackSimMappingSvc = FPGATrackSimMapping
29 
30  eventSelector = CompFactory.FPGATrackSimEventSelectionSvc()
31  eventSelector.regions = "HTT/TrigHTTMaps/V1/map_file/slices_v01_Jan21.txt"
32  eventSelector.regionID = 0
33  eventSelector.sampleType = flags.Trigger.FPGATrackSim.sampleType
34  eventSelector.withPU = False
35  acc.addService(eventSelector, create=True, primary=True)
36 
37  acc.addEventAlgo(theFPGATrackSimConstGenAlg)
38  return acc
39 
40 if __name__ == "__main__":
41  from AthenaConfiguration.AllConfigFlags import initConfigFlags
42  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
43  from AthenaCommon.Logging import logging
44  log = logging.getLogger(__name__)
45 
46  flags = initConfigFlags()
47  flags.fillFromArgs()
48  flags.lock()
49 
50  acc=MainServicesCfg(flags)
51 
52  acc.merge(FPGATrackSimConstsGenCfg(flags))
53  acc.store(open('FPGATrackSimConstsGenConfig.pkl','wb'))
54 
55  from AthenaConfiguration.Utils import setupLoggingLevels
56  setupLoggingLevels(flags, acc)
57 
58  MatrixFileName=flags.Trigger.FPGATrackSim.outputMergedFPGATrackSimMatrixFile
59  acc.addService(CompFactory.THistSvc(Output = ["TRIGFPGATrackSimTREEGOODOUT DATAFILE='"+MatrixFileName+"', OPT='RECREATE'"]))
60  acc.addService(CompFactory.THistSvc(Output = ["TRIGFPGATrackSimCTREEOUT DATAFILE='const.root', OPT='RECREATE'"]))
61 
62  statusCode = acc.run()
63  assert statusCode.isSuccess() is True, "Application execution did not succeed"
64 
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.Utils.setupLoggingLevels
def setupLoggingLevels(flags, ca)
Definition: Control/AthenaConfiguration/python/Utils.py:46
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:256
python.FPGATrackSimAnalysisConfig.FPGATrackSimMappingCfg
def FPGATrackSimMappingCfg(flags)
Definition: FPGATrackSimAnalysisConfig.py:50
FPGATrackSimBankConstGenConfig.FPGATrackSimConstsGenCfg
def FPGATrackSimConstsGenCfg(flags, **kwargs)
Definition: FPGATrackSimBankConstGenConfig.py:14
Trk::open
@ open
Definition: BinningType.h:40
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19