ATLAS Offline Software
Loading...
Searching...
No Matches
HGTD_TrackTimeExtensionConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5
6def ClusterTruthToolCfg(flags, name = "ClusterTruthTool", **kwargs):
7 """Configures a tool to classify clusters as coming from HS/PU/... """
8 acc = ComponentAccumulator()
9
10 acc.setPrivateTools(CompFactory.HGTD.ClusterTruthTool(name, **kwargs))
11 return acc
12
13def StraightLineTOFcorrectionToolCfg(flags, name = "StraightLineTOFcorrectionTool", **kwargs):
14 """Configures a tool that uses the straight line at speed of light hypothesis for the time of flight correction """
15 acc = ComponentAccumulator()
16
17 acc.setPrivateTools(CompFactory.HGTD.StraightLineTOFcorrectionTool(name, **kwargs))
18 return acc
19
20def HGTD_IterativeExtensionToolCfg(flags, name = "HGTD_IterativeExtensionTool", **kwargs):
21 """Configures a tool that performs the extension of tracks from ITk to HGTD """
22 acc = ComponentAccumulator()
23
24 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
25 kwargs.setdefault("ExtrapolatorTool", acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags)))
26
27 from TrkConfig.TrkMeasurementUpdatorConfig import ITkUpdatorCfg
28 kwargs.setdefault("UpdatorTool", acc.popToolsAndMerge(ITkUpdatorCfg(flags)))
29
30 kwargs.setdefault("ClusterTruthTool", acc.popToolsAndMerge(ClusterTruthToolCfg(flags)))
31 kwargs.setdefault("TOFCorrTool", acc.popToolsAndMerge(StraightLineTOFcorrectionToolCfg(flags)))
32 kwargs.setdefault("Chi2Cut", 5.0)
33 acc.setPrivateTools(CompFactory.HGTD_IterativeExtensionTool(name, **kwargs))
34 return acc
35
36def TrackTimeExtensionCfg(flags, name = "TrackTimeExtensionAlg", **kwargs):
37 """Schedules an extension algorithm from ITk to HGTD """
38 acc = ComponentAccumulator()
39
40 kwargs.setdefault("TruthTool", acc.popToolsAndMerge(ClusterTruthToolCfg(flags)))
41 kwargs.setdefault("TimeExtensionTool", acc.popToolsAndMerge(HGTD_IterativeExtensionToolCfg(flags)))
42 kwargs.setdefault("HGTDClusterContainerName", "HGTD_Clusters")
43 acc.addEventAlgo(CompFactory.HGTD.TrackTimeExtensionAlg(name, **kwargs))
44 return acc
45
46def TimeCompatibilityCheckCfg(flags, name = "TimeCompatibilityCheckAlg", **kwargs):
47 """Schedules a timing check in HGTD """
48 acc = ComponentAccumulator()
49
50 kwargs.setdefault("ITkHoles", acc.popToolsAndMerge(HGTD_IterativeExtensionToolCfg(flags)))
51 kwargs.setdefault("Chi2Threshold", 1.5)
52 kwargs.setdefault("DeltaTCut", 2.0)
53 acc.addEventAlgo(CompFactory.HGTD.TimeCompatibilityCheckAlg(name, **kwargs))
54 return acc
55
56def TrackTimeDefAndQualityAlgCfg(flags, name = "TrackTimeDefAndQualityAlg", **kwargs):
57 """Schedules an extension algorithm from ITk to HGTD """
58 acc = ComponentAccumulator()
59
60 kwargs.setdefault('doActs', flags.HGTD.doActs)
61 if flags.HGTD.doActs:
62 kwargs.setdefault('ExtraInputs',
63 [('xAOD::TrackParticleContainer', 'StoreGateSvc+InDetTrackParticles.actsTrack')])
64
65 acc.addEventAlgo(CompFactory.HGTD.TrackTimeDefAndQualityAlg(name, **kwargs))
66 return acc
StraightLineTOFcorrectionToolCfg(flags, name="StraightLineTOFcorrectionTool", **kwargs)
ClusterTruthToolCfg(flags, name="ClusterTruthTool", **kwargs)
TrackTimeExtensionCfg(flags, name="TrackTimeExtensionAlg", **kwargs)
TrackTimeDefAndQualityAlgCfg(flags, name="TrackTimeDefAndQualityAlg", **kwargs)
HGTD_IterativeExtensionToolCfg(flags, name="HGTD_IterativeExtensionTool", **kwargs)
TimeCompatibilityCheckCfg(flags, name="TimeCompatibilityCheckAlg", **kwargs)