4 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
5 from AthenaConfiguration.ComponentFactory
import CompFactory
6 from AthenaConfiguration.Enums
import BeamType, LHCPeriod
10 flags, name="InDetAmbiTrackSelectionTool", **kwargs):
13 if (
'UseParameterization' in kwargs
and
14 kwargs.get(
'UseParameterization',
False)
and
15 "DriftCircleCutTool" not in kwargs):
16 from InDetConfig.InDetTrackSelectorToolConfig
import (
17 InDetTRTDriftCircleCutToolCfg)
18 DriftCircleCutTool = acc.popToolsAndMerge(
20 acc.addPublicTool(DriftCircleCutTool)
21 kwargs.setdefault(
"DriftCircleCutTool", DriftCircleCutTool)
23 if "AssociationTool" not in kwargs:
24 from InDetConfig.InDetAssociationToolsConfig
import (
25 InDetPRDtoTrackMapToolGangedPixelsCfg)
26 kwargs.setdefault(
"AssociationTool", acc.popToolsAndMerge(
29 kwargs.setdefault(
"minHits", flags.Tracking.ActiveConfig.minClusters)
30 kwargs.setdefault(
"minNotShared",
31 flags.Tracking.ActiveConfig.minSiNotShared)
32 kwargs.setdefault(
"maxShared", flags.Tracking.ActiveConfig.maxShared)
33 kwargs.setdefault(
"minTRTHits", 0)
34 kwargs.setdefault(
"UseParameterization",
False)
35 kwargs.setdefault(
"Cosmics", flags.Beam.Type
is BeamType.Cosmics)
36 kwargs.setdefault(
"doPixelSplitting",
37 flags.Tracking.doPixelClusterSplitting)
39 if flags.Tracking.ActiveConfig.useTIDE_Ambi:
40 kwargs.setdefault(
"sharedProbCut",
41 flags.Tracking.pixelClusterSplitProb1)
42 kwargs.setdefault(
"sharedProbCut2",
43 flags.Tracking.pixelClusterSplitProb2)
44 kwargs.setdefault(
"minSiHitsToAllowSplitting",
45 8
if flags.GeoModel.Run
is LHCPeriod.Run1
else 9)
46 kwargs.setdefault(
"minUniqueSCTHits", 4)
47 kwargs.setdefault(
"minTrackChi2ForSharedHits", 3)
49 kwargs.setdefault(
"minPtSplit", 1000)
51 kwargs.setdefault(
"phiWidth", 0.05)
52 kwargs.setdefault(
"etaWidth", 0.05)
55 kwargs.setdefault(
"doEmCaloSeed", flags.Tracking.doCaloSeededAmbi)
56 kwargs.setdefault(
"EMROIPhiRZContainer",
57 "InDetCaloClusterROIPhiRZ10GeV")
58 if flags.Tracking.doCaloSeededAmbi:
59 from InDetConfig.InDetCaloClusterROISelectorConfig
import (
60 CaloClusterROIPhiRZContainerMakerCfg)
64 kwargs.setdefault(
"doHadCaloSeed", flags.Tracking.doCaloSeededAmbi)
65 kwargs.setdefault(
"HadROIPhiRZContainer",
66 "InDetHadCaloClusterROIPhiRZBjet")
67 if flags.Tracking.doCaloSeededAmbi:
68 from InDetConfig.InDetCaloClusterROISelectorConfig
import (
69 HadCaloClusterROIPhiRZContainerMakerCfg)
73 kwargs.setdefault(
"minPtBjetROI", 10000)
75 kwargs.setdefault(
"phiWidthEM", 0.05)
76 kwargs.setdefault(
"etaWidthEM", 0.05)
78 kwargs.setdefault(
"doSkipAmbiInROI", flags.Tracking.doSkipAmbiROI)
80 if (flags.Tracking.doTIDE_AmbiTrackMonitoring
and
81 flags.Tracking.ActiveConfig.extension ==
""):
82 from TrkConfig.TrkValToolsConfig
import TrkObserverToolCfg
84 acc.addPublicTool(TrkObserverTool)
85 kwargs.setdefault(
"ObserverTool", TrkObserverTool)
88 kwargs.setdefault(
"sharedProbCut", 0.10)
90 if flags.Tracking.ActiveConfig.useTIDE_Ambi:
91 AmbiTrackSelectionTool = (
92 CompFactory.InDet.InDetDenseEnvAmbiTrackSelectionTool)
94 AmbiTrackSelectionTool = CompFactory.InDet.InDetAmbiTrackSelectionTool
96 acc.setPrivateTools(AmbiTrackSelectionTool(
97 name=name+flags.Tracking.ActiveConfig.extension, **kwargs))
102 flags, name='InDetTRT_SeededAmbiTrackSelectionTool', **kwargs):
105 if "DriftCircleCutTool" not in kwargs:
106 from InDetConfig.InDetTrackSelectorToolConfig
import (
107 InDetTRTDriftCircleCutToolCfg)
108 DriftCircleCutTool = acc.popToolsAndMerge(
110 acc.addPublicTool(DriftCircleCutTool)
111 kwargs.setdefault(
"DriftCircleCutTool", DriftCircleCutTool)
113 if "AssociationTool" not in kwargs:
114 from InDetConfig.InDetAssociationToolsConfig
import (
115 InDetPRDtoTrackMapToolGangedPixelsCfg)
116 kwargs.setdefault(
"AssociationTool", acc.popToolsAndMerge(
119 kwargs.setdefault(
"minScoreShareTracks", -1.)
120 kwargs.setdefault(
"minHits", flags.Tracking.BackTracking.minClusters)
121 kwargs.setdefault(
"minNotShared", flags.Tracking.BackTracking.minSiNotShared)
122 kwargs.setdefault(
"maxShared", flags.Tracking.BackTracking.maxShared)
123 kwargs.setdefault(
"minTRTHits", flags.Tracking.BackTracking.minTRT)
124 kwargs.setdefault(
"UseParameterization", flags.Tracking.useNewParamTRT)
125 kwargs.setdefault(
"Cosmics", flags.Beam.Type
is BeamType.Cosmics)
126 kwargs.setdefault(
"doPixelSplitting",
127 flags.Tracking.doPixelClusterSplitting)
130 CompFactory.InDet.InDetAmbiTrackSelectionTool(name, **kwargs))
135 flags, name='InDetTrigAmbiTrackSelectionTool', **kwargs):
139 if "DriftCircleCutTool" not in kwargs:
140 from InDetConfig.InDetTrackSelectorToolConfig
import (
141 InDetTrigTRTDriftCircleCutToolCfg)
142 DriftCircleCutTool = acc.popToolsAndMerge(
144 acc.addPublicTool(DriftCircleCutTool)
145 kwargs.setdefault(
"DriftCircleCutTool", DriftCircleCutTool)
147 if "AssociationTool" not in kwargs:
148 from InDetConfig.InDetAssociationToolsConfig
import (
149 TrigPRDtoTrackMapToolGangedPixelsCfg)
150 kwargs.setdefault(
"AssociationTool", acc.popToolsAndMerge(
153 kwargs.setdefault(
"minHits", flags.Tracking.ActiveConfig.minClusters)
154 kwargs.setdefault(
"minNotShared",
155 flags.Tracking.ActiveConfig.minSiNotShared)
156 kwargs.setdefault(
"maxShared", flags.Tracking.ActiveConfig.maxShared)
157 kwargs.setdefault(
"minTRTHits", 0)
158 kwargs.setdefault(
"Cosmics",
False)
159 kwargs.setdefault(
"UseParameterization",
False)
162 CompFactory.InDet.InDetAmbiTrackSelectionTool(name, **kwargs))
166 flags, name='InDetTrigAmbiTrackSelectionToolCosmics', **kwargs):
167 kwargs.setdefault(
"Cosmics",
True)
168 kwargs.setdefault(
"minHits", 0)
169 kwargs.setdefault(
"maxTracksPerSharedPRD", 10)
173 flags, name="ITkAmbiTrackSelectionTool", **kwargs):
176 kwargs.setdefault(
"DriftCircleCutTool",
None)
178 if "AssociationTool" not in kwargs:
179 from InDetConfig.InDetAssociationToolsConfig
import (
180 ITkPRDtoTrackMapToolGangedPixelsCfg)
181 kwargs.setdefault(
"AssociationTool", acc.popToolsAndMerge(
184 kwargs.setdefault(
"minTRTHits", 0)
185 kwargs.setdefault(
"UseParameterization",
False)
186 kwargs.setdefault(
"Cosmics", flags.Beam.Type
is BeamType.Cosmics)
187 kwargs.setdefault(
"doPixelSplitting",
188 flags.Tracking.doPixelClusterSplitting)
190 kwargs.setdefault(
"sharedProbCut",
191 flags.Tracking.pixelClusterSplitProb1)
192 kwargs.setdefault(
"sharedProbCut2",
193 flags.Tracking.pixelClusterSplitProb2)
194 kwargs.setdefault(
"minSiHitsToAllowSplitting", 9)
195 kwargs.setdefault(
"minUniqueSCTHits", 4)
196 kwargs.setdefault(
"minTrackChi2ForSharedHits", 3)
198 kwargs.setdefault(
"minPtSplit", 1000)
200 kwargs.setdefault(
"phiWidth", 0.05)
201 kwargs.setdefault(
"etaWidth", 0.05)
204 kwargs.setdefault(
"doEmCaloSeed", flags.Tracking.ActiveConfig.doCaloSeededAmbiSi)
205 kwargs.setdefault(
"EMROIPhiRZContainer",
"ITkCaloClusterROIPhiRZ10GeV")
206 if flags.Tracking.ActiveConfig.doCaloSeededAmbiSi:
207 from InDetConfig.InDetCaloClusterROISelectorConfig
import (
208 ITkCaloClusterROIPhiRZContainerMakerCfg)
212 kwargs.setdefault(
"doHadCaloSeed", flags.Tracking.ActiveConfig.doCaloSeededAmbiSi)
213 kwargs.setdefault(
"HadROIPhiRZContainer",
"ITkHadCaloClusterROIPhiRZBjet")
214 if flags.Tracking.ActiveConfig.doCaloSeededAmbiSi:
215 from InDetConfig.InDetCaloClusterROISelectorConfig
import (
216 ITkHadCaloClusterROIPhiRZContainerMakerCfg)
220 kwargs.setdefault(
"minPtBjetROI", 10000)
222 kwargs.setdefault(
"phiWidthEM", 0.05)
223 kwargs.setdefault(
"etaWidthEM", 0.05)
225 kwargs.setdefault(
"doSkipAmbiInROI", flags.Tracking.doSkipAmbiROI)
227 if 'InDetEtaDependentCutsSvc' not in kwargs:
228 from InDetConfig.InDetEtaDependentCutsConfig
import (
229 ITkEtaDependentCutsSvcCfg)
231 kwargs.setdefault(
"InDetEtaDependentCutsSvc", acc.getService(
232 "ITkEtaDependentCutsSvc"+flags.Tracking.ActiveConfig.extension))
234 acc.setPrivateTools(CompFactory.InDet.InDetDenseEnvAmbiTrackSelectionTool(
235 name=name+flags.Tracking.ActiveConfig.extension, **kwargs))