ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
EFTracking
FPGATrackSim
FPGATrackSimConfTools
python
FPGATrackSimMultiRegionConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
3
from
AthenaConfiguration.ComponentFactory
import
CompFactory
4
5
6
def
FPGATrackSimMultiRegionTrackingCfg
(flags):
7
acc = ComponentAccumulator()
8
acc.merge(
FPGATrackSimRunFirstStageOnManyRegions
(flags))
9
10
if
flags.Trigger.FPGATrackSim.Hough.secondStage:
11
acc.merge(
FPGATrackSimRunSecondStageOnManyRegions
(flags))
12
acc.merge(
FPGATrackSimRegionMergeringAlgCfg
(flags))
13
14
return
acc
15
16
17
def
FPGATrackSimRunFirstStageOnManyRegions
(flags):
18
acc = ComponentAccumulator()
19
from
FPGATrackSimConfTools.FPGATrackSimHelperFunctions
import
convertRegionsExpressionToArray
20
for
region
in
convertRegionsExpressionToArray(flags.Trigger.FPGATrackSim.regionList):
21
flags1st = flags.clone()
22
flags1st.Trigger.FPGATrackSim.region=region
23
flags1st = flags1st.cloneAndReplace(
"Trigger.FPGATrackSim.ActiveConfig"
,
"Trigger.FPGATrackSim."
+ flags.Trigger.FPGATrackSim.algoTag,keepOriginal=
True
)
24
flags1st.lock()
25
26
from
FPGATrackSimConfTools.FPGATrackSimAnalysisConfig
import
FPGATrackSimLogicalHitsProcessAlgCfg
27
acc.merge(FPGATrackSimLogicalHitsProcessAlgCfg(flags1st,
28
**{
'FPGATrackSimHitKey_1st'
: f
"FPGAHits_1st_reg{region}"
,
29
'FPGATrackSimHitKey_2nd'
: f
"FPGAHits_2nd_reg{region}"
,
30
'FPGATrackSimHitFiltered1stKey'
: f
"FPGAHitsFiltered_1st_reg{region}"
,
31
'FPGATrackSimRoad1stKey'
: f
"FPGARoads_1st_reg{region}"
,
32
'FPGATrackSimTrack1stKey'
: f
"FPGATracks_1st_reg{region}"
,
33
'FPGATrackSimSpacePoints1stKey'
: f
"FPGASpacePoints_1st_reg{region}"
}))
34
return
acc
35
36
def
FPGATrackSimRunSecondStageOnManyRegions
(flags):
37
acc = ComponentAccumulator()
38
from
FPGATrackSimConfTools.FPGATrackSimHelperFunctions
import
convertRegionsExpressionToArray
39
for
region
in
convertRegionsExpressionToArray(flags.Trigger.FPGATrackSim.regionList):
40
flags2nd = flags.clone()
41
flags2nd.Trigger.FPGATrackSim.region=region
42
flags2nd = flags2nd.cloneAndReplace(
"Trigger.FPGATrackSim.ActiveConfig"
,
"Trigger.FPGATrackSim."
+ flags.Trigger.FPGATrackSim.algoTag,keepOriginal=
True
)
43
flags2nd.lock()
44
45
from
FPGATrackSimConfTools
import
FPGATrackSimSecondStageConfig
46
acc.merge(FPGATrackSimSecondStageConfig.FPGATrackSimSecondStageAlgCfg(flags2nd,
47
**{
'FPGATrackSimHitKey'
: f
"FPGAHits_2nd_reg{region}"
,
48
'FPGATrackSimTrack1stKey'
: f
"FPGATracks_1st_reg{region}"
,
49
'FPGATrackSimRoad2ndKey'
: f
"FPGARoads_2nd_reg{region}"
,
50
'FPGATrackSimTrack2ndKey'
: f
"FPGATracks_2nd_reg{region}"
}))
51
return
acc
52
53
def
FPGATrackSimRunLayerStudyOnManyRegions
(flags):
54
acc = ComponentAccumulator()
55
from
FPGATrackSimConfTools.FPGATrackSimLayerStudyConfig
import
FPGATrackSimLayerStudyCfg
56
from
FPGATrackSimConfTools.FPGATrackSimHelperFunctions
import
convertRegionsExpressionToArray
57
for
region
in
convertRegionsExpressionToArray(flags.Trigger.FPGATrackSim.regionList):
58
flagsLS = flags.clone()
59
flagsLS.Trigger.FPGATrackSim.region = region
60
flagsLS.lock()
61
acc.merge(FPGATrackSimLayerStudyCfg(flagsLS))
62
63
return
acc
64
65
66
def
FPGATrackSimRegionMergeringAlgCfg
(flagsIn,name="FPGATrackSimRegionMergingAlg",**kwargs):
67
acc = ComponentAccumulator()
68
flags = flagsIn.cloneAndReplace(
"Trigger.FPGATrackSim.ActiveConfig"
,
"Trigger.FPGATrackSim."
+ flagsIn.Trigger.FPGATrackSim.algoTag,keepOriginal=
False
)
69
stage=
"2nd"
if
flags.Trigger.FPGATrackSim.ActiveConfig.secondStage
else
"1st"
70
from
FPGATrackSimConfTools.FPGATrackSimHelperFunctions
import
convertRegionsExpressionToArray
71
regionList = convertRegionsExpressionToArray(flags.Trigger.FPGATrackSim.regionList)
72
TrackCollections = [f
"FPGATracks_{stage}_reg{region}"
for
region
in
regionList]
73
RoadCollections = [f
"FPGARoads_{stage}_reg{region}"
for
region
in
regionList]
74
75
kwargs.setdefault(
'FPGATrackSimTrackCollections'
,TrackCollections)
76
kwargs.setdefault(
'FPGATrackSimRoadCollections'
,RoadCollections)
77
78
regionMerging = CompFactory.FPGATrackSim.FPGATrackSimRegionMergingAlg(name,**kwargs)
79
regionMerging.doOverlapRemoval = flags.Trigger.FPGATrackSim.doOverlapRemovalBetweenRegions
80
81
82
regionMerging.useRoads =
False
# not flags.Trigger.FPGATrackSim.tracking (maybe we'll never actually use roads at this point)
83
84
if
stage ==
"2nd"
:
85
from
FPGATrackSimConfTools.FPGATrackSimSecondStageConfig
import
FPGATrackSimOverlapRemovalToolCfg
86
regionMerging.OverlapRemovalTool = acc.getPrimaryAndMerge(FPGATrackSimOverlapRemovalToolCfg(flags,name=
"OLRMerge"
))
87
elif
stage ==
"1st"
:
88
from
FPGATrackSimConfTools.FPGATrackSimAnalysisConfig
import
FPGATrackSimOverlapRemovalToolCfg
89
regionMerging.OverlapRemovalTool = acc.getPrimaryAndMerge(FPGATrackSimOverlapRemovalToolCfg(flags,name=
"OLRMerge"
))
90
91
92
regionMerging.OverlapRemovalTool.MinChi2 = 1e15
93
94
acc.addEventAlgo(regionMerging)
95
return
acc
python.FPGATrackSimMultiRegionConfig.FPGATrackSimRegionMergeringAlgCfg
FPGATrackSimRegionMergeringAlgCfg(flagsIn, name="FPGATrackSimRegionMergingAlg", **kwargs)
Definition
FPGATrackSimMultiRegionConfig.py:66
python.FPGATrackSimMultiRegionConfig.FPGATrackSimRunFirstStageOnManyRegions
FPGATrackSimRunFirstStageOnManyRegions(flags)
Definition
FPGATrackSimMultiRegionConfig.py:17
python.FPGATrackSimMultiRegionConfig.FPGATrackSimRunLayerStudyOnManyRegions
FPGATrackSimRunLayerStudyOnManyRegions(flags)
Definition
FPGATrackSimMultiRegionConfig.py:53
python.FPGATrackSimMultiRegionConfig.FPGATrackSimMultiRegionTrackingCfg
FPGATrackSimMultiRegionTrackingCfg(flags)
Definition
FPGATrackSimMultiRegionConfig.py:6
python.FPGATrackSimMultiRegionConfig.FPGATrackSimRunSecondStageOnManyRegions
FPGATrackSimRunSecondStageOnManyRegions(flags)
Definition
FPGATrackSimMultiRegionConfig.py:36
Generated on
for ATLAS Offline Software by
1.17.0