ATLAS Offline Software
Loading...
Searching...
No Matches
HGTD_AnalysisConfig Namespace Reference

Functions

 OutputCfg (flags, output_name='HGTD_PerformanceStudies_output')
 HGTD_ExpertTrackTimeFromClustersToolCfg (flags, name='ExpertTrackTimeFromClusters', **kwargs)
 HGTD_ExpertTrackTimeFromClustersNoSelectionToolCfg (flags, name='ExpertTrackTimeFromClustersNoSelection', **kwargs)
 HGTD_ExpertTrackTimeFromEDMToolCfg (flags, name='ExpertTrackTimeFromEDM', **kwargs)
 HGTD_ExpertTrackTimeFromSummaryToolCfg (flags, name='ExpertTrackTimeFromSummary', **kwargs)
 HGTD_NoEarlyDecayTracksSelectionToolCfg (flags, name='NoEarlyDecayTracksSelection', **kwargs)
 HGTD_AllTracksSelectionToolCfg (flags, name='AllTracksSelection', **kwargs)
 HGTD_TrkTimePerformanceStudiesCfg (flags, name='HGTD_TrkTimePerformanceStudies', output_name='HGTD_PerformanceStudies_output', **kwargs)
 main ()

Function Documentation

◆ HGTD_AllTracksSelectionToolCfg()

HGTD_AllTracksSelectionToolCfg ( flags,
name = 'AllTracksSelection',
** kwargs )

Definition at line 91 of file HGTD_AnalysisConfig.py.

91def HGTD_AllTracksSelectionToolCfg(flags, name='AllTracksSelection', **kwargs):
92 acc = ComponentAccumulator()
93 acc.setPrivateTools(CompFactory.HGTD_AllTracksSelectionTool(name, **kwargs))
94
95 return acc
96
97
98#
99# The performance-study algorithm.
100#
101

◆ HGTD_ExpertTrackTimeFromClustersNoSelectionToolCfg()

HGTD_ExpertTrackTimeFromClustersNoSelectionToolCfg ( flags,
name = 'ExpertTrackTimeFromClustersNoSelection',
** kwargs )
As above, but with the last-hit, time-consistency and minimum-hit cuts off.

Definition at line 39 of file HGTD_AnalysisConfig.py.

40 flags, name='ExpertTrackTimeFromClustersNoSelection', **kwargs):
41 """As above, but with the last-hit, time-consistency and minimum-hit cuts off."""
42 acc = ComponentAccumulator()
43 kwargs.setdefault("UseLastHitCut", False)
44 kwargs.setdefault("UseTimeConsistency", False)
45 kwargs.setdefault("DeltaTCut", 2.0)
46 kwargs.setdefault("TimeChi2Cut", 1.5)
47 kwargs.setdefault("UseMinNHits", False)
48 acc.setPrivateTools(CompFactory.HGTD.ExpertTrackTimeFromClustersTool(name, **kwargs))
49
50 return acc
51
52

◆ HGTD_ExpertTrackTimeFromClustersToolCfg()

HGTD_ExpertTrackTimeFromClustersToolCfg ( flags,
name = 'ExpertTrackTimeFromClusters',
** kwargs )
Re-derives the track time from the per-layer HGTD cluster decorations.

Definition at line 26 of file HGTD_AnalysisConfig.py.

27 **kwargs):
28 """Re-derives the track time from the per-layer HGTD cluster decorations."""
29 acc = ComponentAccumulator()
30 kwargs.setdefault("UseLastHitCut", True)
31 kwargs.setdefault("UseTimeConsistency", True)
32 kwargs.setdefault("DeltaTCut", 2.0)
33 kwargs.setdefault("TimeChi2Cut", 1.5)
34 acc.setPrivateTools(CompFactory.HGTD.ExpertTrackTimeFromClustersTool(name, **kwargs))
35
36 return acc
37
38

◆ HGTD_ExpertTrackTimeFromEDMToolCfg()

HGTD_ExpertTrackTimeFromEDMToolCfg ( flags,
name = 'ExpertTrackTimeFromEDM',
** kwargs )
Hands back xAOD::TrackParticle::time() unchanged, as a reference point.

Definition at line 53 of file HGTD_AnalysisConfig.py.

53def HGTD_ExpertTrackTimeFromEDMToolCfg(flags, name='ExpertTrackTimeFromEDM', **kwargs):
54 """Hands back xAOD::TrackParticle::time() unchanged, as a reference point."""
55 acc = ComponentAccumulator()
56 acc.setPrivateTools(CompFactory.HGTD.ExpertTrackTimeFromEDMTool(name, **kwargs))
57
58 return acc
59
60

◆ HGTD_ExpertTrackTimeFromSummaryToolCfg()

HGTD_ExpertTrackTimeFromSummaryToolCfg ( flags,
name = 'ExpertTrackTimeFromSummary',
** kwargs )
Re-applies the HGTD selection by decoding the persisted HGTD_summaryinfo.

Definition at line 61 of file HGTD_AnalysisConfig.py.

62 **kwargs):
63 """Re-applies the HGTD selection by decoding the persisted HGTD_summaryinfo."""
64 acc = ComponentAccumulator()
65 kwargs.setdefault("UseLastHitCut", True)
66 kwargs.setdefault("UseMinNHits", True)
67 acc.setPrivateTools(CompFactory.HGTD.ExpertTrackTimeFromSummaryTool(name, **kwargs))
68
69 return acc
70
71
72#
73# Track selection tools.
74#
75

◆ HGTD_NoEarlyDecayTracksSelectionToolCfg()

HGTD_NoEarlyDecayTracksSelectionToolCfg ( flags,
name = 'NoEarlyDecayTracksSelection',
** kwargs )

Definition at line 76 of file HGTD_AnalysisConfig.py.

76def HGTD_NoEarlyDecayTracksSelectionToolCfg(flags, name='NoEarlyDecayTracksSelection', **kwargs):
77 acc = ComponentAccumulator()
78 kwargs.setdefault("MinRadiusProduction", 0.)
79 kwargs.setdefault("MazRadiusProduction", 10.)
80 kwargs.setdefault("MinZProduction", 0.)
81 kwargs.setdefault("MaxZProduction", 100.)
82 kwargs.setdefault("MinRadiusDecay", 0.)
83 kwargs.setdefault("MazRadiusDecay", 99999999999.)
84 kwargs.setdefault("MinZDecay", 3479.) # just after last HGTD layer
85 kwargs.setdefault("MaxZDecay", 99999999999.)
86 acc.setPrivateTools(CompFactory.HGTD_TrackDecaySelectionTool(name, **kwargs))
87
88 return acc
89
90

◆ HGTD_TrkTimePerformanceStudiesCfg()

HGTD_TrkTimePerformanceStudiesCfg ( flags,
name = 'HGTD_TrkTimePerformanceStudies',
output_name = 'HGTD_PerformanceStudies_output',
** kwargs )

Definition at line 102 of file HGTD_AnalysisConfig.py.

103 output_name='HGTD_PerformanceStudies_output', **kwargs):
104 acc = ComponentAccumulator()
105
106 time_from_clusters = acc.popToolsAndMerge(
107 HGTD_ExpertTrackTimeFromClustersToolCfg(flags))
108 time_from_clusters_no_sel = acc.popToolsAndMerge(
109 HGTD_ExpertTrackTimeFromClustersNoSelectionToolCfg(flags))
110 time_from_summary = acc.popToolsAndMerge(
111 HGTD_ExpertTrackTimeFromSummaryToolCfg(flags))
112
113 all_tracks_sel_tool = acc.popToolsAndMerge(
114 HGTD_AllTracksSelectionToolCfg(flags))
115 no_early_decay_tracks_sel_tool = acc.popToolsAndMerge(
116 HGTD_NoEarlyDecayTracksSelectionToolCfg(flags))
117
118 kwargs.setdefault("DirectoryName", "/HGTD_ANA/")
119 kwargs.setdefault("TrackTimeTools",
120 [time_from_clusters, time_from_clusters_no_sel, time_from_summary])
121 kwargs.setdefault("TrackSelectionTools",
122 [all_tracks_sel_tool, no_early_decay_tracks_sel_tool])
123
124 # Note! change the below if you have a use case where you put a specific
125 # selection into SG and schedule the performance algo afterwards!
126 kwargs.setdefault("TrackParticleContainerName", "InDetTrackParticles")
127
128 acc.addEventAlgo(CompFactory.HGTD_TrkTimePerformanceStudies(name, **kwargs))
129
130 acc.merge(OutputCfg(flags, output_name=output_name))
131
132 return acc
133
134

◆ main()

main ( )
Run HGTD_TrkTimePerformanceStudies over an AOD.

This is the single entry point shared with share/JO_Performance_Studies.py.

The input AOD must have been produced with
  --preExec 'all:flags.Tracking.writeExtendedHGTDInfo=True'
otherwise the extended HGTD track decorations the track-time accessor
tools read (HGTD_cluster_time, HGTD_primary_expected, HGTD_summaryinfo,
...) are stripped from the AOD and all histograms come out empty.

Definition at line 135 of file HGTD_AnalysisConfig.py.

135def main():
136 """Run HGTD_TrkTimePerformanceStudies over an AOD.
137
138 This is the single entry point shared with share/JO_Performance_Studies.py.
139
140 The input AOD must have been produced with
141 --preExec 'all:flags.Tracking.writeExtendedHGTDInfo=True'
142 otherwise the extended HGTD track decorations the track-time accessor
143 tools read (HGTD_cluster_time, HGTD_primary_expected, HGTD_summaryinfo,
144 ...) are stripped from the AOD and all histograms come out empty.
145 """
146 from AthenaConfiguration.AllConfigFlags import initConfigFlags
147 flags = initConfigFlags()
148 flags.Exec.MaxEvents = -1
149 flags.fillFromArgs() # set the input with: --filesInput=...
150
151 if not flags.Input.Files:
152 raise SystemExit("ERROR: no input file given, use --filesInput=<AOD.pool.root>")
153
154 flags.lock()
155
156 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
157 cfg = MainServicesCfg(flags)
158
159 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
160 cfg.merge(PoolReadCfg(flags))
161
162 cfg.merge(HGTD_TrkTimePerformanceStudiesCfg(flags))
163
164 return cfg.run().isFailure()
165
166
int main()
Definition hello.cxx:18

◆ OutputCfg()

OutputCfg ( flags,
output_name = 'HGTD_PerformanceStudies_output' )

Definition at line 7 of file HGTD_AnalysisConfig.py.

7def OutputCfg(flags, output_name='HGTD_PerformanceStudies_output'):
8 acc = ComponentAccumulator()
9
10 svc = CompFactory.THistSvc(name="THistSvc")
11 svc.Output = [f"HGTD_ANA DATAFILE='{output_name}.root' OPT='RECREATE'"]
12 acc.addService(svc)
13
14 return acc
15
16
17#
18# Expert-only track-time accessor tools. These were previously provided by the
19# standalone HGTDTrackTimeInterface package and are now part of HGTD_Analysis.
20#
21# All of them are for HGTD expert studies and internal validation only, and
22# must not be scheduled in standard reconstruction jobs -- reconstruction and
23# analysis code takes the track time from the xAOD::TrackParticle EDM.
24#
25