ATLAS Offline Software
Loading...
Searching...
No Matches
InDetTrackHoleSearchConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2# Configuration of InDetTrackHoleSearch package
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5from AthenaConfiguration.Enums import BeamType
6
7
8def InDetTrackHoleSearchToolCfg(flags, name='InDetHoleSearchTool', **kwargs):
9 if flags.Detector.GeometryITk:
10 name = name.replace("InDet", "ITk")
11 return ITkTrackHoleSearchToolCfg(flags, name, **kwargs)
12
13 result = ComponentAccumulator()
14 if 'Extrapolator' not in kwargs:
15 # TODO: Check if AtlasExtrapolatorCfg can be used instead
16 from TrkConfig.AtlasExtrapolatorConfig import InDetExtrapolatorCfg
17 kwargs.setdefault("Extrapolator", result.popToolsAndMerge(
18 InDetExtrapolatorCfg(flags)))
19
20 if 'BoundaryCheckTool' not in kwargs:
21 from InDetConfig.InDetBoundaryCheckToolConfig import (
22 InDetBoundaryCheckToolCfg)
23 kwargs.setdefault('BoundaryCheckTool', result.popToolsAndMerge(
24 InDetBoundaryCheckToolCfg(flags)))
25
26 kwargs.setdefault("Cosmics", flags.Beam.Type is BeamType.Cosmics)
27 kwargs.setdefault("CountDeadModulesAfterLastHit", True)
28
29 result.setPrivateTools(
30 CompFactory.InDet.InDetTrackHoleSearchTool(name, **kwargs))
31 return result
32
33
34def TrigHoleSearchToolCfg(flags, name="InDetTrigHoleSearchTool", **kwargs):
35 result = ComponentAccumulator()
36
37 if 'Extrapolator' not in kwargs:
38 from TrkConfig.AtlasExtrapolatorConfig import InDetExtrapolatorCfg
39 kwargs.setdefault("Extrapolator", result.popToolsAndMerge(
40 InDetExtrapolatorCfg(flags, name="InDetTrigExtrapolator")))
41
42 # create InDetTrigBoundaryCheckToolCfg with these settings
43 if 'BoundaryCheckTool' not in kwargs:
44 from InDetConfig.InDetBoundaryCheckToolConfig import (
45 InDetTrigBoundaryCheckToolCfg)
46 kwargs.setdefault('BoundaryCheckTool', result.popToolsAndMerge(
47 InDetTrigBoundaryCheckToolCfg(flags)))
48
49 kwargs.setdefault("CountDeadModulesAfterLastHit", True)
50
51 result.setPrivateTools(
52 CompFactory.InDet.InDetTrackHoleSearchTool(name, **kwargs))
53 return result
54
55
56def ITkTrackHoleSearchToolCfg(flags, name='ITkHoleSearchTool', **kwargs):
57 result = ComponentAccumulator()
58 if 'Extrapolator' not in kwargs:
59 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
60 kwargs.setdefault("Extrapolator", result.popToolsAndMerge(
61 AtlasExtrapolatorCfg(flags)))
62
63 if 'BoundaryCheckTool' not in kwargs:
64 from InDetConfig.InDetBoundaryCheckToolConfig import (
65 ITkBoundaryCheckToolCfg)
66 kwargs.setdefault('BoundaryCheckTool', result.popToolsAndMerge(
67 ITkBoundaryCheckToolCfg(flags)))
68
69 kwargs.setdefault("Cosmics", flags.Beam.Type is BeamType.Cosmics)
70 kwargs.setdefault("CountDeadModulesAfterLastHit", True)
71
72 result.setPrivateTools(
73 CompFactory.InDet.InDetTrackHoleSearchTool(name, **kwargs))
74 return result
75
76
78 flags, name='CombinedMuonIDHoleSearch', **kwargs):
79 if flags.Detector.GeometryITk:
80 return ITkTrackHoleSearchToolCfg(flags, name, **kwargs)
81
82 result = ComponentAccumulator()
83
84 if 'Extrapolator' not in kwargs:
85 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
86 kwargs.setdefault("Extrapolator", result.popToolsAndMerge(
87 AtlasExtrapolatorCfg(flags)))
88
89 if 'BoundaryCheckTool' not in kwargs:
90 if flags.Muon.MuonTrigger:
91 from InDetConfig.InDetBoundaryCheckToolConfig import (
92 CombinedMuonTrigIDBoundaryCheckToolCfg)
93 BoundaryCheckTool = result.popToolsAndMerge(
94 CombinedMuonTrigIDBoundaryCheckToolCfg(flags))
95 else:
96 from InDetConfig.InDetBoundaryCheckToolConfig import (
97 CombinedMuonIDBoundaryCheckToolCfg)
98 BoundaryCheckTool = result.popToolsAndMerge(
99 CombinedMuonIDBoundaryCheckToolCfg(flags))
100
101 kwargs.setdefault('BoundaryCheckTool', BoundaryCheckTool)
102
103 result.setPrivateTools(result.popToolsAndMerge(
104 InDetTrackHoleSearchToolCfg(flags, name, **kwargs)))
105 return result
ITkTrackHoleSearchToolCfg(flags, name='ITkHoleSearchTool', **kwargs)
InDetTrackHoleSearchToolCfg(flags, name='InDetHoleSearchTool', **kwargs)
CombinedMuonIDHoleSearchCfg(flags, name='CombinedMuonIDHoleSearch', **kwargs)
TrigHoleSearchToolCfg(flags, name="InDetTrigHoleSearchTool", **kwargs)