7def SiTrackMaker_xkCfg(flags, name="InDetSiTrackMaker", **kwargs):
8
9 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
10 from MagFieldServices.MagFieldServicesConfig import (
11 AtlasFieldCacheCondAlgCfg)
12 acc = BeamSpotCondAlgCfg(flags)
13 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
14
15 if "RoadTool" not in kwargs:
16 from InDetConfig.SiDetElementsRoadToolConfig import (
17 SiDetElementsRoadMaker_xkCfg)
18 kwargs.setdefault("RoadTool", acc.popToolsAndMerge(
19 SiDetElementsRoadMaker_xkCfg(flags)))
20
21 if "CombinatorialTrackFinder" not in kwargs:
22 from InDetConfig.SiCombinatorialTrackFinderToolConfig import (
23 SiCombinatorialTrackFinder_xkCfg)
24 kwargs.setdefault("CombinatorialTrackFinder", acc.popToolsAndMerge(
25 SiCombinatorialTrackFinder_xkCfg(flags)))
26
27 kwargs.setdefault("useSCT", flags.Tracking.ActiveConfig.useSCT)
28 kwargs.setdefault("usePixel", flags.Tracking.ActiveConfig.usePixel)
29
30 kwargs.setdefault("pTmin", flags.Tracking.ActiveConfig.minPT)
31 kwargs.setdefault("pTminBrem", flags.Tracking.ActiveConfig.minPTBrem)
32 kwargs.setdefault("nClustersMin", flags.Tracking.ActiveConfig.minClusters)
33 kwargs.setdefault("nHolesMax", flags.Tracking.ActiveConfig.nHolesMax)
34 kwargs.setdefault("nHolesGapMax", flags.Tracking.ActiveConfig.nHolesGapMax)
35 kwargs.setdefault("UseSeedFilter",
36 flags.Tracking.ActiveConfig.useSeedFilter)
37 kwargs.setdefault("Xi2max", flags.Tracking.ActiveConfig.Xi2max)
38 kwargs.setdefault("Xi2maxNoAdd", flags.Tracking.ActiveConfig.Xi2maxNoAdd)
39 kwargs.setdefault("nWeightedClustersMin",
40 flags.Tracking.ActiveConfig.nWeightedClustersMin)
41
42 kwargs.setdefault("CosmicTrack", flags.Beam.Type is BeamType.Cosmics)
43 kwargs.setdefault("Xi2maxMultiTracks", flags.Tracking.ActiveConfig.Xi2max)
44 kwargs.setdefault("useSSSseedsFilter", True)
45 kwargs.setdefault("doMultiTracksProd", True)
46
47 kwargs.setdefault("useBremModel",
48 flags.Tracking.ActiveConfig.doBremRecoverySi)
49 kwargs.setdefault("doCaloSeededBrem", flags.Tracking.doCaloSeededBrem)
50
51 if kwargs["useBremModel"] and kwargs["doCaloSeededBrem"]:
52 from InDetConfig.InDetCaloClusterROISelectorConfig import (
53 CaloClusterROIPhiRZContainerMakerCfg)
54 acc.merge(CaloClusterROIPhiRZContainerMakerCfg(flags))
55
56 kwargs.setdefault("doHadCaloSeedSSS", flags.Tracking.doHadCaloSeededSSS)
57
58 if kwargs["doHadCaloSeedSSS"]:
59 from InDetConfig.InDetCaloClusterROISelectorConfig import (
60 HadCaloClusterROIPhiRZContainerMakerCfg)
61 acc.merge(HadCaloClusterROIPhiRZContainerMakerCfg(flags))
62
63 kwargs.setdefault("phiWidth", flags.Tracking.phiWidthBrem)
64 kwargs.setdefault("etaWidth", flags.Tracking.etaWidthBrem)
65 kwargs.setdefault("EMROIPhiRZContainer", "InDetCaloClusterROIPhiRZ0GeV")
66 kwargs.setdefault("HadROIPhiRZContainer", "InDetHadCaloClusterROIPhiRZ")
67 kwargs.setdefault("UseAssociationTool",
68 flags.Tracking.ActiveConfig.usePrdAssociationTool)
69
70 if flags.Beam.Type is BeamType.Cosmics:
71 kwargs.setdefault("TrackPatternRecoInfo",
72 'SiSpacePointsSeedMaker_Cosmic')
73
74 elif flags.Tracking.ActiveConfig.extension == "LowPt":
75 kwargs.setdefault("TrackPatternRecoInfo",
76 'SiSpacePointsSeedMaker_LowMomentum')
77
78 elif (flags.Tracking.ActiveConfig.extension == "VeryLowPt" or
79 (flags.Tracking.ActiveConfig.extension == "Pixel" and
80 flags.Tracking.doMinBias)):
81 kwargs.setdefault("TrackPatternRecoInfo",
82 'SiSpacePointsSeedMaker_VeryLowMomentum')
83
84 elif flags.Tracking.ActiveConfig.extension == "HeavyIon":
85 kwargs.setdefault("TrackPatternRecoInfo",
86 'SiSpacePointsSeedMaker_HeavyIon')
87
88 elif flags.Tracking.ActiveConfig.extension == "BeamGas":
89 kwargs.setdefault("TrackPatternRecoInfo",
90 'SiSpacePointsSeedMaker_BeamGas')
91
92 elif flags.Tracking.ActiveConfig.extension == "Forward":
93 kwargs.setdefault("TrackPatternRecoInfo",
94 'SiSpacePointsSeedMaker_ForwardTracks')
95
96 elif "LargeD0" in flags.Tracking.ActiveConfig.extension:
97 kwargs.setdefault("TrackPatternRecoInfo",
98 'SiSpacePointsSeedMaker_LargeD0')
99
100 else:
101 kwargs.setdefault("TrackPatternRecoInfo", 'SiSPSeededFinder')
102
103
104
105 if (flags.Tracking.doStoreTrackSeeds and
106 (flags.Tracking.ActiveConfig.extension == "" or flags.Tracking.ActiveConfig.storeTrackSeeds) and
107 "SeedToTrackConversion" not in kwargs):
108 from InDetConfig.SeedToTrackConversionToolConfig import (
109 SeedToTrackConversionToolCfg)
110 kwargs.setdefault("SeedToTrackConversion", acc.popToolsAndMerge(
111 SeedToTrackConversionToolCfg(flags)))
112 kwargs.setdefault("SeedSegmentsWrite", True)
113
114 acc.setPrivateTools(CompFactory.InDet.SiTrackMaker_xk(
115 name+flags.Tracking.ActiveConfig.extension, **kwargs))
116 return acc
117
118