2 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
3 from AthenaConfiguration.ComponentFactory
import CompFactory
10 if flags.Trigger.FPGATrackSim.Hough.secondStage:
19 for region
in flags.Trigger.FPGATrackSim.regionList:
20 flags1st = flags.clone()
21 flags1st.Trigger.FPGATrackSim.region=region
22 flags1st = flags1st.cloneAndReplace(
"Trigger.FPGATrackSim.ActiveConfig",
"Trigger.FPGATrackSim." + flags.Trigger.FPGATrackSim.algoTag,keepOriginal=
True)
25 from FPGATrackSimConfTools.FPGATrackSimAnalysisConfig
import FPGATrackSimLogicalHitsProcessAlgCfg
27 **{
'FPGATrackSimHitKey_1st': f
"FPGAHits_1st_reg{region}",
28 'FPGATrackSimHitKey_2nd': f
"FPGAHits_2nd_reg{region}",
29 'FPGATrackSimHitFiltered1stKey': f
"FPGAHitsFiltered_1st_reg{region}",
30 'FPGATrackSimHitInRoads1stKey': f
"FPGAHitsInRoads_1st_reg{region}",
31 'FPGATrackSimRoad1stKey': f
"FPGARoads_1st_reg{region}",
32 'FPGATrackSimTrack1stKey': f
"FPGATracks_1st_reg{region}",
33 'FPGATrackSimSpacePoints1stKey': f
"FPGASpacePoints_1st_reg{region}"}))
38 for region
in flags.Trigger.FPGATrackSim.regionList:
39 flags2nd = flags.clone()
40 flags2nd.Trigger.FPGATrackSim.region=region
41 flags2nd = flags2nd.cloneAndReplace(
"Trigger.FPGATrackSim.ActiveConfig",
"Trigger.FPGATrackSim." + flags.Trigger.FPGATrackSim.algoTag,keepOriginal=
True)
44 from FPGATrackSimConfTools
import FPGATrackSimSecondStageConfig
45 acc.merge(FPGATrackSimSecondStageConfig.FPGATrackSimSecondStageAlgCfg(flags2nd,
46 **{
'FPGATrackSimHitKey': f
"FPGAHits_2nd_reg{region}",
47 'FPGATrackSimTrack1stKey': f
"FPGATracks_1st_reg{region}",
48 'FPGATrackSimHitInRoads2ndKey': f
"FPGAHitsInRoads_2nd_reg{region}",
49 'FPGATrackSimRoad2ndKey': f
"FPGARoads_2nd_reg{region}",
50 'FPGATrackSimTrack2ndKey': f
"FPGATracks_2nd_reg{region}"}))
55 from FPGATrackSimConfTools.FPGATrackSimAnalysisConfig
import ConfigureMultiRegionFlags
56 from FPGATrackSimConfTools.FPGATrackSimLayerStudyConfig
import FPGATrackSimLayerStudyCfg
58 for region
in flags.Trigger.FPGATrackSim.regionList:
59 flagsLS = flags.clone()
60 flagsLS.Trigger.FPGATrackSim.region = region
70 flags = flagsIn.cloneAndReplace(
"Trigger.FPGATrackSim.ActiveConfig",
"Trigger.FPGATrackSim." + flagsIn.Trigger.FPGATrackSim.algoTag,keepOriginal=
False)
71 stage=
"2nd" if flags.Trigger.FPGATrackSim.ActiveConfig.secondStage
else "1st"
73 TrackCollections = [f
"FPGATracks_{stage}_reg{region}" for region
in flags.Trigger.FPGATrackSim.regionList]
74 RoadCollections = [f
"FPGARoads_{stage}_reg{region}" for region
in flags.Trigger.FPGATrackSim.regionList]
75 HitsInRoadsCollections = [f
"FPGAHitsInRoads_{stage}_reg{region}" for region
in flags.Trigger.FPGATrackSim.regionList]
77 kwargs.setdefault(
'FPGATrackSimTrackCollections',TrackCollections)
78 kwargs.setdefault(
'FPGATrackSimRoadCollections',RoadCollections)
79 kwargs.setdefault(
'FPGATrackSimHitsInRoadsCollections',HitsInRoadsCollections)
81 regionMerging = CompFactory.FPGATrackSim.FPGATrackSimRegionMergingAlg(name,**kwargs)
82 regionMerging.doOverlapRemoval = flags.Trigger.FPGATrackSim.doOverlapRemovalBetweenRegions
85 regionMerging.useRoads =
False
88 from FPGATrackSimConfTools.FPGATrackSimSecondStageConfig
import FPGATrackSimOverlapRemovalToolCfg
91 from FPGATrackSimConfTools.FPGATrackSimAnalysisConfig
import FPGATrackSimOverlapRemovalToolCfg
95 regionMerging.OverlapRemovalTool.MinChi2 = 1e15
97 acc.addEventAlgo(regionMerging)