10 flags, name="InDetAmbiTrackSelectionTool", **kwargs):
11 acc = ComponentAccumulator()
12
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(
19 InDetTRTDriftCircleCutToolCfg(flags))
20 acc.addPublicTool(DriftCircleCutTool)
21 kwargs.setdefault("DriftCircleCutTool", DriftCircleCutTool)
22
23 if "AssociationTool" not in kwargs:
24 from InDetConfig.InDetAssociationToolsConfig import (
25 InDetPRDtoTrackMapToolGangedPixelsCfg)
26 kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(
27 InDetPRDtoTrackMapToolGangedPixelsCfg(flags)))
28
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)
38
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)
48
49 kwargs.setdefault("minPtSplit", 1000)
50
51 kwargs.setdefault("phiWidth", 0.05)
52 kwargs.setdefault("etaWidth", 0.05)
53
54
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)
61 acc.merge(CaloClusterROIPhiRZContainerMakerCfg(flags))
62
63
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)
70 acc.merge(HadCaloClusterROIPhiRZContainerMakerCfg(flags))
71
72
73 kwargs.setdefault("minPtBjetROI", 10000)
74
75 kwargs.setdefault("phiWidthEM", 0.05)
76 kwargs.setdefault("etaWidthEM", 0.05)
77
78 kwargs.setdefault("doSkipAmbiInROI", flags.Tracking.doSkipAmbiROI)
79
80 if (flags.Tracking.doTIDE_AmbiTrackMonitoring and
81 flags.Tracking.ActiveConfig.extension == ""):
82 from TrkConfig.TrkValToolsConfig import TrkObserverToolCfg
83 TrkObserverTool = acc.popToolsAndMerge(TrkObserverToolCfg(flags))
84 acc.addPublicTool(TrkObserverTool)
85 kwargs.setdefault("ObserverTool", TrkObserverTool)
86
87 else:
88 kwargs.setdefault("sharedProbCut", 0.10)
89
90 if flags.Tracking.ActiveConfig.useTIDE_Ambi:
91 AmbiTrackSelectionTool = (
92 CompFactory.InDet.InDetDenseEnvAmbiTrackSelectionTool)
93 else:
94 AmbiTrackSelectionTool = CompFactory.InDet.InDetAmbiTrackSelectionTool
95
96 acc.setPrivateTools(AmbiTrackSelectionTool(
97 name=name+flags.Tracking.ActiveConfig.extension, **kwargs))
98 return acc
99
100