ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
EFTracking
FPGATrackSim
FPGATrackSimBankGen
python
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
from
FPGATrackSimConfTools.FPGATrackSimDataPrepConfig
import
FPGATrackSimEventSelectionSvcCfg
14
15
def
FPGATrackSimConstsGenCfg
(flags, **kwargs):
16
17
acc = ComponentAccumulator()
18
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)
25
26
from
FPGATrackSimConfTools.FPGATrackSimDataPrepConfig
import
FPGATrackSimMappingCfg
27
FPGATrackSimMapping = acc.getPrimaryAndMerge(FPGATrackSimMappingCfg(flags))
28
theFPGATrackSimConstGenAlg = CompFactory.FPGATrackSimConstGenAlgo(**kwargs)
29
theFPGATrackSimConstGenAlg.FPGATrackSimMappingSvc = FPGATrackSimMapping
30
31
# We need the "full" event selection service to be set up.
32
theFPGATrackSimConstGenAlg.FPGATrackSimEventSelectionSvc = acc.getPrimaryAndMerge(FPGATrackSimEventSelectionSvcCfg(flags))
33
34
acc.addEventAlgo(theFPGATrackSimConstGenAlg)
35
return
acc
36
37
def
prepareFlagsForFPGATrackSimBankGen
(flags):
38
newFlags = flags.cloneAndReplace(
"Trigger.FPGATrackSim.ActiveConfig"
,
"Trigger.FPGATrackSim."
+ flags.Trigger.FPGATrackSim.algoTag)
39
return
newFlags
40
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__)
46
47
flags = initConfigFlags()
48
flags.fillFromArgs()
49
flags =
prepareFlagsForFPGATrackSimBankGen
(flags)
50
flags.lock()
51
52
acc=MainServicesCfg(flags)
53
54
acc.merge(
FPGATrackSimConstsGenCfg
(flags))
55
acc.store(open(
'FPGATrackSimConstsGenConfig.pkl'
,
'wb'
))
56
57
from
AthenaConfiguration.Utils
import
setupLoggingLevels
58
setupLoggingLevels(flags, acc)
59
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'"
]))
63
64
statusCode = acc.run()
65
assert
statusCode.isSuccess()
is
True
,
"Application execution did not succeed"
66
FPGATrackSimBankConstGenConfig.prepareFlagsForFPGATrackSimBankGen
prepareFlagsForFPGATrackSimBankGen(flags)
Definition
FPGATrackSimBankConstGenConfig.py:37
FPGATrackSimBankConstGenConfig.FPGATrackSimConstsGenCfg
FPGATrackSimConstsGenCfg(flags, **kwargs)
Definition
FPGATrackSimBankConstGenConfig.py:15
Generated on
for ATLAS Offline Software by
1.17.0