ATLAS Offline Software
ActsAnalysisConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 
6 
8  name: str = "ActsSeedToTrackAnalysisAlg",
9  **kwargs) -> ComponentAccumulator:
10  acc = ComponentAccumulator()
11  kwargs.setdefault("InputSeedCollection", "")
12  kwargs.setdefault("InputTrackParamsCollection", "")
13  kwargs.setdefault("InputDestinyCollection", "")
14 
15  if flags.Tracking.doTruth:
16  if flags.Detector.EnableITkPixel:
17  kwargs.setdefault("PixelTruthAssociationMap", "ITkPixelClustersToTruthParticles")
18  if flags.Detector.EnableITkStrip:
19  kwargs.setdefault("StripTruthAssociationMap", "ITkStripClustersToTruthParticles")
20 
21  from AthenaMonitoring import AthMonitorCfgHelper
22  helper = AthMonitorCfgHelper(flags, kwargs['InputDestinyCollection'] + 'AnalysisAlgCfg')
23 
24  monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.SeedToTrackAnalysisAlg, name, **kwargs)
25  destinyTypes = ['UNKNOWN', 'SUCCEED', 'DUPLICATE', 'FAILURE', 'INCLUSIVE']
26  nTypes = len(destinyTypes)
27 
28  histoPath = f'/ActsAnalysis/{kwargs["InputDestinyCollection"]}'
29  # define the variables now
30  seedVars = helper.addArray([nTypes], monitoringAlgorithm, 'seedVars', topPath=histoPath)
31 
32  for postfix, tool in seedVars.Tools.items():
33  layer = destinyTypes[ int(postfix.split("_")[1]) ]
34  tool.defineHistogram(f"eta,bottomR;Eta_Vs_bottomR_{layer}", title=f"Bottom R vs Eta for {layer}", type='TH2F', path='2D',
35  xbins=50, xmin=-4.5, xmax=4.5,
36  ybins=320, ymin=0, ymax=320)
37  tool.defineHistogram(f"eta,middleR;Eta_Vs_middleR_{layer}", title=f"Middle R vs Eta for {layer}", type='TH2F', path='2D',
38  xbins=50, xmin=-4.5, xmax=4.5,
39  ybins=320, ymin=0, ymax=320)
40  tool.defineHistogram(f"eta,topR;Eta_Vs_topR_{layer}", title=f"Top R vs Eta for {layer}", type='TH2F', path='2D',
41  xbins=50, xmin=-4.5, xmax=4.5,
42  ybins=320, ymin=0, ymax=320)
43 
44  tool.defineHistogram(f"deltaR_BT,deltaR_BM;DeltaR_BT_vs_Delta_BM_{layer}", title=f"Delta Radius BT vs BM for {layer}", type='TH2F', path='2D',
45  xbins=320, xmin=0, xmax=320,
46  ybins=320, ymin=0, ymax=320)
47  tool.defineHistogram(f"deltaR_BT,deltaR_MT;DeltaR_BT_vs_Delta_MT_{layer}", title=f"Delta Radius BT vs MT for {layer}", type='TH2F', path='2D',
48  xbins=320, xmin=0, xmax=320,
49  ybins=320, ymin=0, ymax=320)
50  tool.defineHistogram(f"deltaR_BM,deltaR_MT;DeltaR_BM_vs_Delta_MT_{layer}", title=f"Delta Radius MB vs MT for {layer}", type='TH2F', path='2D',
51  xbins=320, xmin=0, xmax=320,
52  ybins=320, ymin=0, ymax=320)
53 
54  tool.defineHistogram(f"bottomZ,bottomR;BottomZR_{layer}", title=f"Bottom SP ZR for {layer}", type='TH2F', path='2D',
55  xbins=12000, xmin=-3000, xmax=3000,
56  ybins=1000, ymin=0, ymax=320)
57  tool.defineHistogram(f"middleZ,middleR;MiddleZR_{layer}", title=f"Middle SP ZR for {layer}", type='TH2F', path='2D',
58  xbins=12000, xmin=-3000, xmax=3000,
59  ybins=1000, ymin=0, ymax=320)
60  tool.defineHistogram(f"topZ,topR;TopZR_{layer}", title=f"Top SP ZR for {layer}", type='TH2F', path='2D',
61  xbins=12000, xmin=-3000, xmax=3000,
62  ybins=1000, ymin=0, ymax=320)
63 
64  tool.defineHistogram(f"cotTheta_BM;cotTheta_BM_{layer}", title=f"CotTheta bottom-middle for {layer}", type='TH1F', path='SPVars',
65  xbins=80, xmin=0, xmax=40,
66  ybins=80, ymin=0, ymax=40)
67  tool.defineHistogram(f"cotTheta_MT;cotTheta_MR_{layer}", title=f"CotTheta middle-top for {layer}", type='TH1F', path='SPVars',
68  xbins=80, xmin=0, xmax=40,
69  ybins=80, ymin=0, ymax=40)
70  tool.defineHistogram(f"cotTheta_BM;cotTheta_BT_{layer}", title=f"CotTheta bottom-top for {layer}", type='TH1F', path='SPVars',
71  xbins=80, xmin=0, xmax=40,
72  ybins=80, ymin=0, ymax=40)
73 
74  tool.defineHistogram(f"deltaCotTheta_BM_MT;deltaCotTheta_BM_MT_{layer}", title=f"Delta CotTheta bottom-top vs middle-top for {layer}", type='TH1F', path='SPVars',
75  xbins=80, xmin=-2, xmax=2,
76  ybins=80, ymin=-2, ymax=2)
77 
78  rangeQuality = 10000
79  tool.defineHistogram(f"bottomR,quality;Quality_vs_BottomR_{layer}", title=f"Seed Bottom Radius Vs Quality for {layer};Bottom SP radius;Quality", type='TH2F', path='Quality',
80  xbins=320, xmin=0, xmax=320,
81  ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
82  tool.defineHistogram(f"middleR,quality;Quality_vs_MiddleR_{layer}", title=f"Seed Middle Radius Vs Quality for {layer};Middle SP radius;Quality", type='TH2F', path='Quality',
83  xbins=320, xmin=0, xmax=320,
84  ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
85  tool.defineHistogram(f"topR,quality;Quality_vs_TopR_{layer}", title=f"Seed Top Radius Vs Quality for {layer};Top SP radius;Quality", type='TH2F', path='Quality',
86  xbins=320, xmin=0, xmax=320,
87  ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
88 
89  tool.defineHistogram(f"deltaR_BT,quality;Quality_vs_deltaR_BT_{layer}", title=f"Seed Bottom Radius Vs Quality for {layer};Bottom SP radius;Quality", type='TH2F', path='Quality',
90  xbins=320, xmin=0, xmax=320,
91  ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
92  tool.defineHistogram(f"deltaR_BM,quality;Quality_vs_deltaR_BM_{layer}", title=f"Seed Bottom Radius Vs Quality for {layer};Bottom SP radius;Quality", type='TH2F', path='Quality',
93  xbins=320, xmin=0, xmax=320,
94  ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
95  tool.defineHistogram(f"deltaR_MT,quality;Quality_vs_deltaR_MT_{layer}", title=f"Seed Bottom Radius Vs Quality for {layer};Bottom SP radius;Quality", type='TH2F', path='Quality',
96  xbins=320, xmin=0, xmax=320,
97  ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
98 
99  tool.defineHistogram(f"bottomR,truthProb;Truth_Probability_vs_bottomR_{layer}", title=f"bottom R vs truth prob. for {layer};R;Truth Prob.", type='TH2F', path='Quality',
100  xbins=320, xmin=0, xmax=320,
101  ybins=12, ymin=0, ymax=1.2)
102  tool.defineHistogram(f"middleR,truthProb;Truth_Probability_vs_middleR_{layer}", title=f"middle R vs truth prob. for {layer};R;Truth Prob.", type='TH2F', path='Quality',
103  xbins=320, xmin=0, xmax=320,
104  ybins=12, ymin=0, ymax=1.2)
105  tool.defineHistogram(f"topR,truthProb;Truth_Probability_vs_topR_{layer}", title=f"top R vs truth prob. for {layer};R;Truth Prob.", type='TH2F', path='Quality',
106  xbins=320, xmin=0, xmax=320,
107  ybins=12, ymin=0, ymax=1.2)
108 
109  tool.defineHistogram(f"vtxZ,quality;Quality_vs_vtxZ_{layer}", title=f"Seed Vtxz Vs Quality for {layer};vtx Z;Quality", type='TH2F', path='Quality',
110  xbins=100, xmin=-200, xmax=200,
111  ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
112 
113  tool.defineHistogram(f"truthProb;Truth_Probability_{layer}", title=f"Seed Truth Probability for {layer}", type="TH1F", path='Quality',
114  xbins=12, xmin=0, xmax=1.2)
115  tool.defineHistogram(f"eta,truthProb;Truth_Probability_vs_Eta_{layer}", title=f"Seed Truth Probability VS Eta for {layer}", type="TH2F", path='Quality',
116  xbins=50, xmin=-4.5, xmax=4.5,
117  ybins=12, ymin=0, ymax=1.2)
118  tool.defineHistogram(f"quality,truthProb;Truth_Probability_vs_Quality_{layer}", title=f"Seed Truth Probability VS Eta for {layer}", type="TH2F", path='Quality',
119  xbins=1000, xmin=-rangeQuality, xmax=rangeQuality,
120  ybins=12, ymin=0, ymax=1.2)
121 
122  tool.defineHistogram(f"deltaR_BT,truthProb;deltaR_BT_vs_Truth_Probability_{layer}", title=f"Seed Truth Probability for {layer}", type="TH2F", path='Quality',
123  xbins=320, xmin=0, xmax=320,
124  ybins=12, ymin=0, ymax=1.2)
125  tool.defineHistogram(f"deltaR_BM,truthProb;deltaR_BM_vs_Truth_Probability_{layer}", title=f"Seed Truth Probability for {layer}", type="TH2F", path='Quality',
126  xbins=320, xmin=0, xmax=320,
127  ybins=12, ymin=0, ymax=1.2)
128  tool.defineHistogram(f"deltaR_MT,truthProb;deltaR_MT_vs_Truth_Probability_{layer}", title=f"Seed Truth Probability for {layer}", type="TH2F", path='Quality',
129  xbins=320, xmin=0, xmax=320,
130  ybins=12, ymin=0, ymax=1.2)
131 
132  tool.defineHistogram(f"eta;Eta_{layer}", title=f"Eta for {layer}", type='TH1F', path='SeedVars',
133  xbins=50, xmin=-4.5, xmax=4.5)
134  tool.defineHistogram(f"pt;Pt_{layer}", title=f"Pt for {layer}", type='TH1F', path='SeedVars',
135  xbins=100, xmin=0, xmax=100)
136  tool.defineHistogram(f"quality;Quality_{layer}", title=f"Quality for {layer}", type='TH1F', path='SeedVars',
137  xbins=1000, xmin=-rangeQuality, xmax=rangeQuality)
138  tool.defineHistogram(f"vtxZ;VtxZ_{layer}", title=f"Vtx Z for {layer}", type='TH1F', path='SeedVars',
139  xbins=100, xmin=-200, xmax=200)
140 
141  tool.defineHistogram(f"bottomX;BottomX_{layer}", title=f"Bottom X for {layer}", type='TH1F', path='SPVars',
142  xbins=320, xmin=-320, xmax=320)
143  tool.defineHistogram(f"bottomY;BottomY_{layer}", title=f"Bottom Y for {layer}", type='TH1F', path='SPVars',
144  xbins=320, xmin=-320, xmax=320)
145  tool.defineHistogram(f"bottomZ;BottomZ_{layer}", title=f"Bottom Z for {layer}", type='TH1F', path='SPVars',
146  xbins=500, xmin=-3000, xmax=3000)
147  tool.defineHistogram(f"bottomR;BottomR_{layer}", title=f"Bottom Radius for {layer}", type='TH1F', path='SPVars',
148  xbins=320, xmin=0, xmax=320)
149 
150  tool.defineHistogram(f"middleX;MiddleX_{layer}", title=f"Middle X for {layer}", type='TH1F', path='SPVars',
151  xbins=320, xmin=-320, xmax=320)
152  tool.defineHistogram(f"middleY;MiddleY_{layer}", title=f"Middle Y for {layer}", type='TH1F', path='SPVars',
153  xbins=320, xmin=-320, xmax=320)
154  tool.defineHistogram(f"middleZ;MiddleZ_{layer}", title=f"Middle Z for {layer}", type='TH1F', path='SPVars',
155  xbins=500, xmin=-3000, xmax=3000)
156  tool.defineHistogram(f"middleR;MiddleR_{layer}", title=f"Middle Radius for {layer}", type='TH1F', path='SPVars',
157  xbins=320, xmin=0, xmax=320)
158 
159  tool.defineHistogram(f"topX;TopX_{layer}", title=f"Top X for {layer}", type='TH1F', path='SPVars',
160  xbins=320, xmin=-320, xmax=320)
161  tool.defineHistogram(f"topY;TopY_{layer}", title=f"Top Y for {layer}", type='TH1F', path='SPVars',
162  xbins=320, xmin=-320, xmax=320)
163  tool.defineHistogram(f"topZ;TopZ_{layer}", title=f"Top Z for {layer}", type='TH1F', path='SPVars',
164  xbins=500, xmin=-3000, xmax=3000)
165  tool.defineHistogram(f"topR;TopR_{layer}", title=f"Top Radius for {layer}", type='TH1F', path='SPVars',
166  xbins=320, xmin=0, xmax=320)
167 
168  tool.defineHistogram(f"deltaR_BT;DeltaR_BT_{layer}", title=f"Delta Radius between Bottom and Top for {layer}", type='TH1F', path='SPVars',
169  xbins=320, xmin=0, xmax=320)
170  tool.defineHistogram(f"deltaR_BM;DeltaR_BM_{layer}", title=f"Delta Radius between Bottom and Middle for {layer}", type='TH1F', path='SPVars',
171  xbins=320, xmin=0, xmax=320)
172  tool.defineHistogram(f"deltaR_MT;DeltaR_MT_{layer}", title=f"Delta Radius between Middle and Top for {layer}", type='TH1F', path='SPVars',
173  xbins=320, xmin=0, xmax=320)
174 
175  acc.merge(helper.result())
176  return acc
177 
178 
180  name: str = "ActsTrackAnalysisAlg",
181  **kwargs) -> ComponentAccumulator:
182  acc = ComponentAccumulator()
183 
184  kwargs.setdefault('TracksLocation', 'ActsTracks')
185  kwargs.setdefault("MonGroupName", kwargs['TracksLocation'])
186 
187  from AthenaMonitoring import AthMonitorCfgHelper
188  helper = AthMonitorCfgHelper(flags, kwargs['TracksLocation'] + 'AnalysisAlgCfg')
189 
190  monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.TrackAnalysisAlg, name, **kwargs)
191  monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
192 
193  monitoringGroup.defineHistogram('Ntracks', title='Number of Tracks;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
194  xbins=500, xmin=0, xmax=20000)
195 
196  monitoringGroup.defineHistogram('NsharedPerLayer_pixelBarrel', title='Number of shared hits per layer - Pixel Barrel;Layer;Entries', type='TH1I', path=kwargs['MonGroupName'],
197  xbins=5, xmin=0, xmax=5)
198  monitoringGroup.defineHistogram('NsharedPerLayer_pixelEndCap', title='Number of shared hits per layer - Pixel EndCap;Layer;Entries', type='TH1I', path=kwargs['MonGroupName'],
199  xbins=9, xmin=0, xmax=9)
200  monitoringGroup.defineHistogram('NsharedPerLayer_stripBarrel', title='Number of shared hits per layer - Strip Barrel;Layer;Entries', type='TH1I', path=kwargs['MonGroupName'],
201  xbins=4, xmin=0, xmax=4)
202  monitoringGroup.defineHistogram('NsharedPerLayer_stripEndCap', title='Number of shared hits per layer - Strip EndCap;Layer;Entries', type='TH1I', path=kwargs['MonGroupName'],
203  xbins=6, xmin=0, xmax=6)
204 
205  import math
206  monitoringGroup.defineHistogram('theta', title='Track polar angle;#theta;Entries', type='TH1F', path=kwargs['MonGroupName'],
207  xbins=128, xmin=0, xmax=math.pi)
208  monitoringGroup.defineHistogram('eta', title='Track eta;#eta;Entries', type='TH1F', path=kwargs['MonGroupName'],
209  xbins=128, xmin=-4, xmax=4)
210  monitoringGroup.defineHistogram('pt', title='Track pR;p_{T};Entries', type='TH1F', path=kwargs['MonGroupName'],
211  xbins=200, xmin=0, xmax=200)
212  monitoringGroup.defineHistogram('phi', title='Track azimuthal angle;#phi;Entries', type='TH1F', path=kwargs['MonGroupName'],
213  xbins=128, xmin=-math.pi, xmax=math.pi)
214  monitoringGroup.defineHistogram('qoverp', title='track inverse momentum;q/p [1/GeV];Entries', type='TH1F', path=kwargs['MonGroupName'],
215  xbins=200, xmin=-1.2, xmax=1.2)
216  monitoringGroup.defineHistogram('chi2OverNdof', title='fit chi2 / ndof;#chi^{2}/nDoF;Entries', type='TH1F', path=kwargs['MonGroupName'],
217  xbins=100, xmin=0, xmax=20)
218  monitoringGroup.defineHistogram('nStates', title='Number of states / track;# states;Entries', type='TH1I', path=kwargs['MonGroupName'],
219  xbins=60, xmin=0, xmax=60)
220  monitoringGroup.defineHistogram('nMeasurements', title='Number of measurements / track;# measurements;Entries', type='TH1I', path=kwargs['MonGroupName'],
221  xbins=35, xmin=0, xmax=35)
222  monitoringGroup.defineHistogram('nShared', title='Number of shared hits per track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
223  xbins=35, xmin=0, xmax=35)
224  monitoringGroup.defineHistogram('nOutliers', title='Number of outliers hits per track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
225  xbins=35, xmin=0, xmax=35)
226  monitoringGroup.defineHistogram('nHoles', title='Number of holes hits per track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
227  xbins=35, xmin=0, xmax=35)
228 
229  monitoringGroup.defineHistogram('nPixelHits', title='Number of pixel hits / track;# pixel hits;Entries', type='TH1I', path=kwargs['MonGroupName'],
230  xbins=35, xmin=0, xmax=35)
231  monitoringGroup.defineHistogram('nStripHits', title='Number of strip hits / track;# strip hits;Entries', type='TH1I', path=kwargs['MonGroupName'],
232  xbins=35, xmin=0, xmax=35)
233  monitoringGroup.defineHistogram('surfaceType', title='type of reference surface;type;Entries', type='TH1I', path=kwargs['MonGroupName'],
234  xbins=35, xmin=0, xmax=35)
235 
236 
237  monitoringGroup.defineHistogram('eta,nMeasurements', title='Track eta;#eta;Entries', type='TH2F', path=kwargs['MonGroupName'],
238  xbins=128, xmin=-4, xmax=4,
239  ybins=35, ymin=0, ymax=35)
240  monitoringGroup.defineHistogram('eta,nShared', title='Track eta;#eta;Entries', type='TH2F', path=kwargs['MonGroupName'],
241  xbins=128, xmin=-4, xmax=4,
242  ybins=35, ymin=0, ymax=35)
243  monitoringGroup.defineHistogram('eta,nOutliers', title='Track eta;#eta;Entries', type='TH2F', path=kwargs['MonGroupName'],
244  xbins=128, xmin=-4, xmax=4,
245  ybins=35, ymin=0, ymax=35)
246  monitoringGroup.defineHistogram('eta,nHoles', title='Track eta;#eta;Entries', type='TH2F', path=kwargs['MonGroupName'],
247  xbins=128, xmin=-4, xmax=4,
248  ybins=35, ymin=0, ymax=35)
249  monitoringGroup.defineHistogram('eta,pt', title='Track pT vs eta;#eta;p_{T}', type='TProfile', path=kwargs['MonGroupName'],
250  xbins=128, xmin=-4, xmax=4)
251 
252  acc.merge(helper.result())
253  return acc
254 
256  name: str = 'ActsTrackParticleAnalysisAlg',
257  **kwargs) -> ComponentAccumulator:
258  acc = ComponentAccumulator()
259  kwargs.setdefault('MonitorTrackStateCounts',True)
260  kwargs.setdefault('TrackParticleLocation', 'ActsTrackParticles')
261 
262  kwargs.setdefault('MonGroupName', kwargs['TrackParticleLocation'])
263 
264  from AthenaMonitoring import AthMonitorCfgHelper
265  helper = AthMonitorCfgHelper(flags, 'TrackParticleAnalysisAlgCfg')
266  monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.TrackParticleAnalysisAlg, name, **kwargs)
267  monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/'+name+'/')
268 
269  monitoringGroup.defineHistogram('pt', title='TrackParticle pt;pt (MeV);Entries', type='TH1F', path=kwargs['MonGroupName'],
270  xbins=100, xmin=0, xmax=10e3)
271  monitoringGroup.defineHistogram('eta', title='TrackParticle eta;eta;Entries', type='TH1F', path=kwargs['MonGroupName'],
272  xbins=50, xmin=-4, xmax=4)
273 
274  # hit counts
275  monitoringGroup.defineHistogram('pixelHits', title='Number of pixel hits;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
276  xbins=50, xmin=-1, xmax=49)
277  monitoringGroup.defineHistogram('innermostHits', title='Number of innermost pixel hits;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
278  xbins=6, xmin=-1, xmax=5)
279  monitoringGroup.defineHistogram('nextToInnermostHits', title='Number of next-to-innermost pixel hits;N;Entries', type='TH1I',
280  path=kwargs['MonGroupName'], xbins=6, xmin=-1, xmax=5)
281  monitoringGroup.defineHistogram('expectInnermostHit', title='Innermost pixel hit expected;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
282  xbins=3, xmin=-1, xmax=2)
283  monitoringGroup.defineHistogram('expectNextToInnermostHit', title='Next-to-innermost pixel hit expected;N;Entries', type='TH1I',
284  path=kwargs['MonGroupName'],xbins=3, xmin=-1, xmax=2)
285 
286  if kwargs['MonitorTrackStateCounts'] :
287  # have to add artifical dependency, because the ActsTracks are created by
288  # a special reader algorithm from the various component branches, but the
289  # element links pointing to the ActsTracks would not add this dependency
290  # by themselves.
291  if 'ExtraInputs' not in kwargs :
292  tracks_name = kwargs['TrackParticleLocation']
293  if tracks_name[-len('TrackParticles'):] == 'TrackParticles' :
294  kwargs.setdefault('ExtraInputs',{('ActsTrk::TrackContainer',tracks_name[:-len('TrackParticles')]+'Tracks')})
295 
296  monitoringGroup.defineHistogram('States', title='Number of states on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
297  xbins=50, xmin=0, xmax=50)
298  monitoringGroup.defineHistogram('Measurements', title='Number of measurements on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
299  xbins=50, xmin=0, xmax=50)
300  monitoringGroup.defineHistogram('Parameters', title='Number of parameters on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
301  xbins=50, xmin=0, xmax=50)
302  monitoringGroup.defineHistogram('Outliers', title='Number of outliers on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
303  xbins=50, xmin=0, xmax=50)
304  monitoringGroup.defineHistogram('Holes', title='Number of holes on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
305  xbins=50, xmin=0, xmax=50)
306  monitoringGroup.defineHistogram('SharedHits', title='Number of shared hits on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
307  xbins=50, xmin=0, xmax=50)
308  monitoringGroup.defineHistogram('MaterialStates', title='Number of material states on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
309  xbins=50, xmin=0, xmax=50)
310  acc.merge(helper.result())
311 
312  acc.addEventAlgo( CompFactory.ActsTrk.TrackParticleAnalysisAlg(name, **kwargs) )
313  return acc
314 
316  name: str = "ActsHgtdClusterAnalysisAlg",
317  **kwargs) -> ComponentAccumulator:
318  if flags.HGTD.Geometry.useGeoModelXml:
319  from HGTD_GeoModelXml.HGTD_GeoModelConfig import HGTD_ReadoutGeometryCfg
320  else:
321  from HGTD_GeoModel.HGTD_GeoModelConfig import HGTD_ReadoutGeometryCfg
322  acc = HGTD_ReadoutGeometryCfg(flags)
323 
324  kwargs.setdefault("MonGroupName", "ActsHgtdClusters")
325 
326  from AthenaMonitoring import AthMonitorCfgHelper
327  helper = AthMonitorCfgHelper(flags, 'ActsHgtdClusterAnalysisAlgCfg')
328 
329  monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.HgtdClusterAnalysisAlg, name, **kwargs)
330  monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
331 
332  path = "ActsHgtdClusters"
333  monitoringGroup.defineHistogram('localX,localY;h_localXY', title="h_localXY; x [mm]; y [mm]", type="TH2F", path=path,
334  xbins=20, xmin=-30, xmax=30,
335  ybins=20, ymin=-30, ymax=30)
336  monitoringGroup.defineHistogram('globalX,globalY;h_globalXY', title="h_globalXY; x [mm]; y [mm]", type="TH2F", path=path,
337  xbins=100, xmin=-750, xmax=750,
338  ybins=100, ymin=-750, ymax=750)
339  monitoringGroup.defineHistogram('globalZ,globalR;h_globalZR', title="h_globalZR; z [mm]; r [mm]", type="TH2F", path=path,
340  xbins=100, xmin=-3600, xmax=3600,
341  ybins=100, ymin=0, ymax=800)
342  if flags.Acts.doAnalysisNtuples:
343  monitoringGroup.defineTree('localX,localY,localT,localCovXX,localCovYY,localCovTT,globalX,globalY,globalZ,globalR,eta;HgtdClusters',
344  path='ntuples',
345  treedef='localX/vector<float>:localY/vector<float>:localT/vector<float>:localCovXX/vector<float>:localCovYY/vector<float>:localCovTT/vector<float>:globalX/vector<float>:globalY/vector<float>:globalZ/vector<float>:globalR/vector<float>:eta/vector<float>')
346 
347  acc.merge(helper.result())
348  return acc
349 
351  name: str = "ActsPixelClusterAnalysisAlg",
352  extension: str = "Acts",
353  **kwargs) -> ComponentAccumulator:
354  path = extension.replace("Acts", "") + "PixelClusters"
355 
356  from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
357  acc = ITkPixelReadoutGeometryCfg(flags)
358 
359  kwargs.setdefault("MonGroupName", extension + "ClusterAnalysisAlg")
360 
361  from AthenaMonitoring import AthMonitorCfgHelper
362  helper = AthMonitorCfgHelper(flags, extension + 'ClusterAnalysisAlgCfg')
363 
364  monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.PixelClusterAnalysisAlg, name, **kwargs)
365  monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
366 
367  monitoringGroup.defineHistogram('globalZ,perp;h_globalZR', title="h_globalZR; z [mm]; r [mm]", type="TH2F", path=path,
368  xbins=1500, xmin=-3000, xmax=3000,
369  ybins=400, ymin=0, ymax=400)
370  monitoringGroup.defineHistogram('globalX,globalY;h_globalXY', title="h_globalXY; x [mm]; y [mm]", type="TH2F", path=path,
371  xbins=800, xmin=-400, xmax=400,
372  ybins=800, ymin=-400, ymax=400)
373  monitoringGroup.defineHistogram('eta;h_etaCluster', title="h_etaCluster; cluster #eta", type="TH1F", path=path,
374  xbins=100, xmin=-5, xmax=5)
375 
376  if flags.Acts.doAnalysisNtuples:
377  monitoringGroup.defineTree('barrelEndcap,layerDisk,phiModule,etaModule,isInnermost,isNextToInnermost,eta,globalX,globalY,globalZ,perp,localX,localY,localCovXX,localCovYY,sizeX,sizeY,widthY;PixelClusters',
378  path='ntuples',
379  treedef='barrelEndcap/vector<int>:layerDisk/vector<int>:phiModule/vector<int>:etaModule/vector<int>:isInnermost/vector<int>:isNextToInnermost/vector<int>:eta/vector<double>:globalX/vector<float>:globalY/vector<float>:globalZ/vector<float>:perp/vector<float>:localX/vector<float>:localY/vector<float>:localCovXX/vector<float>:localCovYY/vector<float>:sizeX/vector<int>:sizeY/vector<int>:widthY/vector<float>')
380 
381  acc.merge(helper.result())
382  return acc
383 
384 
386  name: str = "ActsStripClusterAnalysisAlg",
387  extension: str = "Acts",
388  **kwargs) -> ComponentAccumulator:
389  path = extension.replace("Acts", "") + "StripClusters"
390 
391  from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
392  acc = ITkStripReadoutGeometryCfg(flags)
393 
394  kwargs.setdefault("MonGroupName", extension + "ClusterAnalysisAlg")
395 
396  from AthenaMonitoring import AthMonitorCfgHelper
397  helper = AthMonitorCfgHelper(flags, extension + "ClusterAnalysisAlgCfg")
398 
399  monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.StripClusterAnalysisAlg, name, **kwargs)
400  monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
401 
402  monitoringGroup.defineHistogram('globalZ,perp;h_globalZR', title="h_globalZR; z [mm]; r [mm]", type="TH2F", path=path,
403  xbins=1500, xmin=-3000, xmax=3000,
404  ybins=400, ymin=300, ymax=1100)
405  monitoringGroup.defineHistogram('globalX,globalY;h_globalXY', title="h_globalXY; x [mm]; y [mm]", type="TH2F", path=path,
406  xbins=1600, xmin=-1100, xmax=1100,
407  ybins=1600, ymin=-1100, ymax=1100)
408  monitoringGroup.defineHistogram('eta;h_etaCluster', title="h_etaCluster; cluster #eta", type="TH1F", path=path,
409  xbins=100, xmin=-5, xmax=5)
410 
411  if flags.Acts.doAnalysisNtuples:
412  monitoringGroup.defineTree(f'barrelEndcap,layerDisk,phiModule,etaModule,sideModule,eta,globalX,globalY,globalZ,perp,localX,localCovXX,sizeX;{path}',
413  path='ntuples',
414  treedef='barrelEndcap/vector<int>:layerDisk/vector<int>:phiModule/vector<int>:etaModule/vector<int>:sideModule/vector<int>:eta/vector<double>:globalX/vector<float>:globalY/vector<float>:globalZ/vector<float>:perp/vector<float>:localX/vector<float>:localCovXX/vector<float>:sizeX/vector<int>')
415 
416  acc.merge(helper.result())
417  return acc
418 
420  name: str = "",
421  extension: str = "Acts",
422  histoPath = "",
423  ntupleName = "",
424  **kwargs) -> ComponentAccumulator:
425  isPixel = 'Pixel' in name
426  perp_min = 0 if isPixel else 300
427  perp_max = 400 if isPixel else 1100
428 
429  acc = ComponentAccumulator()
430  from AthenaMonitoring import AthMonitorCfgHelper
431  helper = AthMonitorCfgHelper(flags, extension + 'SpacePointAnalysisAlgCfg')
432 
433  kwargs.setdefault("MonGroupName", extension + "SpacePointAnalysisAlg")
434 
435  monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.SpacePointAnalysisAlg, name, **kwargs)
436  monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
437 
438 
439  monitoringGroup.defineHistogram('Nsp;h_Nsp', title="Number of Space Points;N;Entries", type="TH1I", path=f"{histoPath}",
440  xbins=100, xmin=0, xmax=0)
441 
442  monitoringGroup.defineHistogram('globalX,globalY;h_globalXY', title="h_globalXY; x [mm]; y [mm]", type="TH2F", path=f"{histoPath}",
443  xbins=800, xmin=-perp_max, xmax=perp_max,
444  ybins=800, ymin=-perp_max, ymax=perp_max)
445  monitoringGroup.defineHistogram('globalZ,perp;h_globalZR', title="h_globalZR; z [mm]; r [mm]", type="TH2F", path=f"{histoPath}",
446  xbins=1500, xmin=-3000, xmax=3000,
447  ybins=400, ymin=perp_min, ymax=perp_max)
448  monitoringGroup.defineHistogram('eta;h_etaSpacePoint', title="h_etaSpacePoint; space point #eta", type="TH1F", path=f"{histoPath}",
449  xbins=100, xmin=-5, xmax=5)
450 
451  if flags.Acts.doAnalysisNtuples:
452  monitoringGroup.defineTree(f'barrelEndcap,layerDisk,phiModule,etaModule,sideModule,isInnermost,isNextToInnermost,isOverlap,eta,globalX,globalY,globalZ,perp,globalCovR,globalCovZ;{ntupleName}',
453  path='ntuples',
454  treedef='barrelEndcap/vector<int>:layerDisk/vector<int>:phiModule/vector<int>:etaModule/vector<int>:sideModule/vector<int>:isInnermost/vector<int>:isNextToInnermost/vector<int>:isOverlap/vector<int>:eta/vector<double>:globalX/vector<double>:globalY/vector<double>:globalZ/vector<double>:perp/vector<double>:globalCovR/vector<double>:globalCovZ/vector<double>')
455 
456  acc.merge(helper.result())
457  return acc
458 
460  name: str = "ActsPixelSpacePointAnalysisAlg",
461  extension: str = "Acts",
462  **kwargs) -> ComponentAccumulator:
463  acc = ComponentAccumulator()
464 
465  from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
466  acc.merge(ITkPixelReadoutGeometryCfg(flags))
467 
468  kwargs.setdefault("SpacePointContainerKey", "ITkPixelSpacePoints")
469  kwargs.setdefault("UsePixel", True)
470  kwargs.setdefault("UseOverlap", False)
471  kwargs.setdefault('ExtraInputs',
472  [('xAOD::SpacePointContainer' , f'StoreGateSvc+{kwargs["SpacePointContainerKey"]}.measurements')])
473 
474  acc.merge(ActsBaseSpacePointAnalysisAlgCfg(flags,
475  name = name,
476  extension = extension,
477  histoPath = extension.replace("Acts", "") + "PixelSpacePoints",
478  ntupleName = extension.replace("Acts", "") + "PixelSpacePoints",
479  **kwargs))
480  return acc
481 
482 
483 
485  name: str = "ActsStripSpacePointAnalysisAlg",
486  extension: str = "Acts",
487  **kwargs) -> ComponentAccumulator:
488  acc = ComponentAccumulator()
489 
490  from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
491  acc.merge(ITkStripReadoutGeometryCfg(flags))
492 
493  kwargs.setdefault("SpacePointContainerKey", "ITkStripSpacePoints")
494  kwargs.setdefault("UsePixel", False)
495  kwargs.setdefault("UseOverlap", False)
496  kwargs.setdefault('ExtraInputs',
497  [('xAOD::SpacePointContainer' , f'StoreGateSvc+{kwargs["SpacePointContainerKey"]}.measurements')])
498 
499  acc.merge(ActsBaseSpacePointAnalysisAlgCfg(flags,
500  name = name,
501  extension = extension,
502  histoPath = extension.replace("Acts", "") + "StripSpacePoints",
503  ntupleName = extension.replace("Acts", "") + "StripSpacePoints",
504  **kwargs))
505  return acc
506 
507 
509  name: str = "ActsStripOverlapSpacePointAnalysisAlg",
510  extension: str = "Acts",
511  **kwargs) -> ComponentAccumulator:
512  from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
513  acc = ITkStripReadoutGeometryCfg(flags)
514 
515  kwargs.setdefault("SpacePointContainerKey", "ITkStripOverlapSpacePoints")
516  kwargs.setdefault("UsePixel", False)
517  kwargs.setdefault("UseOverlap", True)
518  kwargs.setdefault('ExtraInputs',
519  [('xAOD::SpacePointContainer' , f'StoreGateSvc+{kwargs["SpacePointContainerKey"]}.measurements')])
520 
521  acc.merge(ActsBaseSpacePointAnalysisAlgCfg(flags,
522  name = name,
523  extension = extension,
524  histoPath = extension.replace("Acts", "") + "StripOverlapSpacePoints",
525  ntupleName = extension.replace("Acts", "") + "StripOverlapSpacePoints",
526  **kwargs))
527  return acc
528 
529 
531  name: str = "",
532  extension: str = "Acts",
533  histoPath: str = "",
534  ntupleName: str = "",
535  **kwargs) -> ComponentAccumulator:
536  acc = ComponentAccumulator()
537 
538  isPixel = 'Pixel' in name
539  perp_min = 0 if isPixel else 300
540  perp_max = 400 if isPixel else 1100
541 
542  kwargs.setdefault('MonGroupName', extension + 'SeedAnalysisAlg')
543 
544  from AthenaMonitoring import AthMonitorCfgHelper
545  helper = AthMonitorCfgHelper(flags, extension + 'SeedAnalysisAlgCfg')
546 
547  from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
548  geoTool = acc.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags))
549  acc.addPublicTool(geoTool)
550 
551  # ATLAS Converter Tool
552  from ActsConfig.ActsEventCnvConfig import ActsToTrkConverterToolCfg
553  converterTool = acc.popToolsAndMerge(ActsToTrkConverterToolCfg(flags))
554 
555  # Track Param Estimation Tool
556  from ActsConfig.ActsTrackParamsEstimationConfig import ActsTrackParamsEstimationToolCfg
557  trackEstimationTool = acc.popToolsAndMerge(ActsTrackParamsEstimationToolCfg(flags))
558 
559  kwargs.setdefault('TrackingGeometryTool', acc.getPublicTool(geoTool.name)) # PublicToolHandle
560  kwargs.setdefault('ATLASConverterTool', converterTool)
561  kwargs.setdefault('TrackParamsEstimationTool', trackEstimationTool)
562 
563  monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.SeedAnalysisAlg, name, **kwargs)
564  monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
565 
566  monitoringGroup.defineHistogram('Nseed', title='Number of Seeds;N;Entries', type='TH1I', path=f'{histoPath}',
567  xbins=100, xmin=0, xmax=0)
568 
569  monitoringGroup.defineHistogram('z1,r1;zr1', title='Bottom SP - Z coordinate vs R;z [mm];r [mm]', type='TH2F', path=f'{histoPath}',
570  xbins=1500, xmin=-3000, xmax=3000,
571  ybins=400, ymin=perp_min, ymax=perp_max)
572  monitoringGroup.defineHistogram('z2,r2;zr2', title='Middle SP - Z coordinate vs R;z [mm];r [mm]', type='TH2F', path=f'{histoPath}',
573  xbins=1500, xmin=-3000, xmax=3000,
574  ybins=400, ymin=perp_min, ymax=perp_max)
575  monitoringGroup.defineHistogram('z3,r3;zr3', title='Top SP - Z coordinate vs R;z [mm];r [mm]', type='TH2F', path=f'{histoPath}',
576  xbins=1500, xmin=-3000, xmax=3000,
577  ybins=400, ymin=perp_min, ymax=perp_max)
578 
579  monitoringGroup.defineHistogram('x1;x1', title='Bottom SP - x coordinate;x [mm];Entries;', type='TH1F', path=f'{histoPath}',
580  xbins=100, xmin=-perp_max, xmax=perp_max)
581  monitoringGroup.defineHistogram('y1;y1', title='Bottom SP - y coordinate;y [mm];Entries;', type='TH1F', path=f'{histoPath}',
582  xbins=100, xmin=-perp_max, xmax=perp_max)
583  monitoringGroup.defineHistogram('z1;z1', title='Bottom SP - z coordinate;z [mm];Entries;', type='TH1F', path=f'{histoPath}',
584  xbins=100, xmin=-3000, xmax=3000)
585  monitoringGroup.defineHistogram('r1;r1', title='Bottom SP - radius coordinate;r [mm];Entries;', type='TH1F', path=f'{histoPath}',
586  xbins=100, xmin=perp_min, xmax=perp_max)
587 
588  monitoringGroup.defineHistogram('x2;x2', title='Middle SP - x coordinate;x [mm];Entries;', type='TH1F', path=f'{histoPath}',
589  xbins=100, xmin=-perp_max, xmax=perp_max)
590  monitoringGroup.defineHistogram('y2;y2', title='Middle SP - y coordinate;y [mm];Entries;', type='TH1F', path=f'{histoPath}',
591  xbins=100, xmin=-perp_max, xmax=perp_max)
592  monitoringGroup.defineHistogram('z2;z2', title='Middle SP - z coordinate;z [mm];Entries;', type='TH1F', path=f'{histoPath}',
593  xbins=100, xmin=-3000, xmax=3000)
594  monitoringGroup.defineHistogram('r2;r2', title='Middle SP - radius coordinate;r [mm];Entries;', type='TH1F', path=f'{histoPath}',
595  xbins=100, xmin=perp_min, xmax=perp_max)
596 
597  monitoringGroup.defineHistogram('x3;x3', title='Top SP - x coordinate;x [mm];Entries;', type='TH1F', path=f'{histoPath}',
598  xbins=100, xmin=-perp_max, xmax=perp_max)
599  monitoringGroup.defineHistogram('y3;y3', title='Top SP - y coordinate;y [mm];Entries;', type='TH1F', path=f'{histoPath}',
600  xbins=100, xmin=-perp_max, xmax=perp_max)
601  monitoringGroup.defineHistogram('z3;z3', title='Top SP - z coordinate;z [mm];Entries;', type='TH1F', path=f'{histoPath}',
602  xbins=100, xmin=-3000, xmax=3000)
603  monitoringGroup.defineHistogram('r3;r3', title='Top SP - radius coordinate;r [mm];Entries;', type='TH1F', path=f'{histoPath}',
604  xbins=100, xmin=perp_min, xmax=perp_max)
605 
606  if 'PixelSeeds' in ntupleName:
607  monitoringGroup.defineHistogram('pt;pT', title='Pt;Pt;Entries;', type='TH1F', path=f'{histoPath}',
608  xbins=100, xmin=0, xmax=100)
609  monitoringGroup.defineHistogram('d0;d0', title='d0;d0 [mm];Entries;', type='TH1F', path=f'{histoPath}',
610  xbins=50, xmin=0, xmax=2)
611  monitoringGroup.defineHistogram('eta;Eta', title='Pseudo-Rapidity;Pseudo-Rapidity;Entries;', type='TH1F', path=f'{histoPath}',
612  xbins=50, xmin=0, xmax=4.5)
613  monitoringGroup.defineHistogram('theta;Theta', title='Theta;Theta;Entries;', type='TH1F', path=f'{histoPath}',
614  xbins=50, xmin=0, xmax=1.6)
615  monitoringGroup.defineHistogram('penalty;Penalty', title='Penalty;Penalty;Entries;', type='TH1F', path=f'{histoPath}',
616  xbins=50, xmin=0, xmax=200)
617  monitoringGroup.defineHistogram('dzdr_b;dzdr_b', title='dzdr_b;;;', type='TH1F', path=f'{histoPath}',
618  xbins=50, xmin=-30, xmax=30)
619  monitoringGroup.defineHistogram('dzdr_t;dzdr_t', title='dzdr_t;;;', type='TH1F', path=f'{histoPath}',
620  xbins=50, xmin=-30, xmax=30)
621  elif 'StripSeeds' in ntupleName:
622  monitoringGroup.defineHistogram('pt;pT', title='Pt;Pt;Entries;', type='TH1F', path=f'{histoPath}',
623  xbins=100, xmin=0, xmax=2300)
624  monitoringGroup.defineHistogram('d0;d0', title='d0;d0 [mm];Entries;', type='TH1F', path=f'{histoPath}',
625  xbins=50, xmin=0, xmax=120)
626  monitoringGroup.defineHistogram('eta;Eta', title='Pseudo-Rapidity;Pseudo-Rapidity;Entries;', type='TH1F', path=f'{histoPath}',
627  xbins=50, xmin=0, xmax=4.5)
628  monitoringGroup.defineHistogram('theta;Theta', title='Theta;Theta;Entries;', type='TH1F', path=f'{histoPath}',
629  xbins=50, xmin=0, xmax=1.6)
630  monitoringGroup.defineHistogram('penalty;Penalty', title='Penalty;Penalty;Entries;', type='TH1F', path=f'{histoPath}',
631  xbins=50, xmin=0, xmax=20000)
632  monitoringGroup.defineHistogram('dzdr_b;dzdr_b', title='dzdr_b;;;', type='TH1F', path=f'{histoPath}',
633  xbins=50, xmin=-6.5, xmax=6.5)
634  monitoringGroup.defineHistogram('dzdr_t;dzdr_t', title='dzdr_t;;;', type='TH1F', path=f'{histoPath}',
635  xbins=50, xmin=-6.5, xmax=6.5)
636 
637  if flags.Tracking.doTruth:
638  monitoringGroup.defineHistogram('passed,estimated_eta;EfficiencyEta', title='Efficiency vs eta;eta;Efficiency', type='TEfficiency', path=f'{histoPath}',
639  xbins=50, xmin=-5, xmax=5)
640  monitoringGroup.defineHistogram('passed,estimated_pt;EfficiencyPt', title='Efficiency vs pT;pT [GeV];Efficiency', type='TEfficiency', path=f'{histoPath}',
641  xbins=30, xmin=0, xmax=120)
642 
643  # Tree
644  list_variables = "x1,y1,z1,r1,x2,y2,z2,r2,x3,y3,z3,r3,pt,theta,eta,d0,dzdr_b,dzdr_t,penalty,event_number,actual_mu"
645  tree_def = "x1/vector<double>:y1/vector<double>:z1/vector<double>:r1/vector<double>:x2/vector<double>:y2/vector<double>:z2/vector<double>:r2/vector<double>:x3/vector<double>:y3/vector<double>:z3/vector<double>:r3/vector<double>\
646 :pt/vector<float>:theta/vector<float>:eta/vector<float>:d0/vector<float>:dzdr_b/vector<float>:dzdr_t/vector<float>:penalty/vector<float>:event_number/l:actual_mu/F"
647  if flags.Tracking.doTruth:
648  list_variables += ",truth_barcode,truth_prob"
649  tree_def += ":truth_barcode/vector<int>:truth_prob/vector<double>"
650 
651  if flags.Acts.doAnalysisNtuples:
652  monitoringGroup.defineTree(f'{list_variables};{ntupleName}',
653  path='ntuples',
654  treedef=tree_def )
655 
656  acc.merge(helper.result())
657  return acc
658 
659 
660 
662  name: str = "ActsPixelSeedAnalysisAlg",
663  extension: str = "Acts",
664  **kwargs) -> ComponentAccumulator:
665  kwargs.setdefault('InputSeedCollection', 'ActsPixelSeeds')
666 
667  if flags.Tracking.doTruth:
668  kwargs.setdefault('DetectorElements', 'ITkPixelDetectorElementCollection')
669  kwargs.setdefault('ITkClustersTruth', '') #PRD_MultiTruthITkPixel')
670 
671  return ActsBaseSeedAnalysisAlgCfg(flags,
672  name,
673  extension,
674  histoPath = extension.replace("Acts", "") + 'PixelSeeds',
675  ntupleName = extension.replace("Acts", "") + 'PixelSeeds',
676  **kwargs)
677 
678 
680  name: str = "ActsStripSeedAnalysisAlg",
681  extension: str = "Acts",
682  **kwargs) -> ComponentAccumulator:
683  kwargs.setdefault('InputSeedCollection', 'ActsStripSeeds')
684  kwargs.setdefault('UsePixel', False)
685 
686  if flags.Tracking.doTruth:
687  kwargs.setdefault('DetectorElements', 'ITkStripDetectorElementCollection')
688  kwargs.setdefault('ITkClustersTruth', '') #PRD_MultiTruthITkStrip')
689 
690  return ActsBaseSeedAnalysisAlgCfg(flags,
691  name,
692  extension,
693  histoPath = extension.replace("Acts", "") + 'StripSeeds',
694  ntupleName = extension.replace("Acts", "") + 'StripSeeds',
695  **kwargs)
696 
697 
699  name: str = "",
700  extension: str = "Acts",
701  histoPath: str = "",
702  ntupleName: str = "",
703  **kwargs) -> ComponentAccumulator:
704  from AthenaMonitoring import AthMonitorCfgHelper
705  helper = AthMonitorCfgHelper(flags,extension + 'EstimatedTrackParamsAnalysisAlgCfg')
706 
707  kwargs.setdefault('MonGroupName', extension + 'SeedAnalysisAlg')
708 
709  monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.EstimatedTrackParamsAnalysisAlg, name, **kwargs)
710  monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
711 
712  monitoringGroup.defineHistogram('Nparams', title='Number of Estimated Parameters from Seeds;N;Entries', type='TH1I', path=f'{histoPath}',
713  xbins=100, xmin=0, xmax=0)
714 
715  if flags.Acts.doAnalysisNtuples:
716  monitoringGroup.defineTree(f"track_param_pt,track_param_eta,track_param_phi,track_param_loc0,track_param_loc1,track_param_theta,track_param_qoverp,track_param_time,track_param_charge;{ntupleName}",
717  path="ntuples",
718  treedef="track_param_pt/vector<double>:track_param_eta/vector<double>:track_param_phi/vector<double>:track_param_loc0/vector<double>:track_param_loc1/vector<double>:track_param_theta/vector<double>:track_param_qoverp/vector<double>:track_param_time/vector<double>:track_param_charge/vector<int>")
719 
720  return helper.result()
721 
723  name: str = "ActsSeedingAlgorithmAnalysis",
724  **kwargs) -> ComponentAccumulator:
725  acc = ComponentAccumulator()
726 
727  addOtherSeedingAlgorithms = kwargs.pop("addOtherSeedingAlgorithms", False)
728 
729  MonitoringGroupNames = []
730 
731  if "SeedingTools" not in kwargs:
732  from InDetConfig.SiSpacePointsSeedToolConfig import ITkSiSpacePointsSeedMakerCfg
733  ITkSiSpacePointsSeedMaker = acc.popToolsAndMerge(ITkSiSpacePointsSeedMakerCfg(flags))
734  ITkSiSpacePointsSeedMaker.maxSize = 1e8
735  MonitoringGroupNames.append("ITkSiSpacePointSeedMaker")
736 
737  from ActsConfig.ActsSeedingConfig import ActsSiSpacePointsSeedMakerToolCfg
738  # The default Acts pixel seeding tool performs by default a seed selection after the seed finding
739  # We have to disable it or a fair comparison with the other seed computations
740  from ActsConfig.ActsSeedingConfig import ActsFastPixelSeedingToolCfg
741  seedToolPixel = acc.popToolsAndMerge(ActsFastPixelSeedingToolCfg(flags, doSeedQualitySelection=False))
742  # We then override the pixel seeding tool inside the ActsSiSpacePointsSeedMakerToolCfg so that we pick this one
743  ActsITkSiSpacePointsSeedMaker = acc.popToolsAndMerge(ActsSiSpacePointsSeedMakerToolCfg(flags, SeedToolPixel=seedToolPixel))
744  ActsITkSiSpacePointsSeedMaker.doSeedConversion = False
745  MonitoringGroupNames.append("ActsITkSiSpacePointSeedMaker")
746 
747  if addOtherSeedingAlgorithms:
748  from ActsConfig.ActsSeedingConfig import ActsPixelGbtsSeedingToolCfg
749  gbtsSeedToolPixel = acc.popToolsAndMerge(ActsPixelGbtsSeedingToolCfg(flags))
750  # We then override the pixel seeding tool inside the ActsSiSpacePointsSeedMakerToolCfg so that we pick this one
751  # Strip will not be Gbts ... so we ignore it
752  ActsGbtsITkSiSpacePointsSeedMaker = acc.popToolsAndMerge(ActsSiSpacePointsSeedMakerToolCfg(flags,
753  name="ActsSiSpacePointsSeedMakerGbts",
754  SeedToolPixel=gbtsSeedToolPixel))
755  ActsGbtsITkSiSpacePointsSeedMaker.doSeedConversion = False
756  MonitoringGroupNames.append("ActsGbtsITkSiSpacePointSeedMaker")
757 
758  from ActsConfig.ActsSeedingConfig import ActsPixelOrthogonalSeedingToolCfg, ActsStripOrthogonalSeedingToolCfg
759  pixel_orthogonal_seeding_tool = acc.popToolsAndMerge(ActsPixelOrthogonalSeedingToolCfg(flags))
760  strip_orthogonal_seeding_tool = acc.popToolsAndMerge(ActsStripOrthogonalSeedingToolCfg(flags))
761  ActsITkSiSpacePointsSeedMakerOrthogonal = \
762  acc.popToolsAndMerge(ActsSiSpacePointsSeedMakerToolCfg(flags,
763  name="ActsSiSpacePointsSeedMakerOrthogonal",
764  SeedToolPixel=pixel_orthogonal_seeding_tool,
765  SeedToolStrip=strip_orthogonal_seeding_tool))
766  ActsITkSiSpacePointsSeedMakerOrthogonal.doSeedConversion = False
767  MonitoringGroupNames.append("ActsOrthogonalITkSiSpacePointSeedMaker")
768 
769 
770 
771  from GaudiKernel.GaudiHandles import PrivateToolHandleArray
772 
773  privateSeedingTools = [ITkSiSpacePointsSeedMaker, ActsITkSiSpacePointsSeedMaker]
774 
775  if addOtherSeedingAlgorithms:
776  privateSeedingTools.append(ActsGbtsITkSiSpacePointsSeedMaker)
777  privateSeedingTools.append(ActsITkSiSpacePointsSeedMakerOrthogonal)
778 
779  kwargs.setdefault("SeedingTools",
780  PrivateToolHandleArray(privateSeedingTools))
781 
782  kwargs.setdefault("MonitorNames", MonitoringGroupNames)
783  kwargs.setdefault("DoStrip", not flags.Tracking.doITkFastTracking)
784 
785  from AthenaMonitoring import AthMonitorCfgHelper
786  helper = AthMonitorCfgHelper(flags, 'SeedingAlgorithmAnalysisAlgCfg')
787  monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.SeedingAlgorithmAnalysisAlg, name, **kwargs)
788 
789  if flags.Acts.doAnalysisNtuples:
790  for groupName in MonitoringGroupNames:
791  monitoringGroup = helper.addGroup(monitoringAlgorithm, groupName, '/'+groupName+'/')
792  monitoringGroup.defineTree('eventNumber,stripSeedInitialisationTime,stripSeedProductionTime,pixelSeedInitialisationTime,pixelSeedProductionTime,numberPixelSpacePoints,numberStripSpacePoints,numberPixelSeeds,numberStripSeeds;seedInformation',
793  path='ntuples',
794  treedef='eventNumber/I:stripSeedInitialisationTime/F:stripSeedProductionTime/F:pixelSeedInitialisationTime/F:pixelSeedProductionTime/F:numberPixelSpacePoints/I:numberStripSpacePoints/I:numberPixelSeeds/I:numberStripSeeds/I')
795 
796  acc.merge(helper.result())
797  return acc
798 
799 
801  name: str = 'ActsPixelEstimatedTrackParamsAnalysisAlg',
802  extension: str = "Acts",
803  **kwargs) -> ComponentAccumulator:
804  kwargs.setdefault('InputTrackParamsCollection', 'ActsPixelEstimatedTrackParams')
806  name,
807  extension,
808  histoPath = extension.replace("Acts", "") + 'PixelEstimatedTrackParams',
809  ntupleName = extension.replace("Acts", "") + 'PixelEstimatedTrackParams',
810  **kwargs)
811 
812 
814  name: str = 'ActsStripEstimatedTrackParamsAnalysisAlg',
815  extension: str = "Acts",
816  **kwargs) -> ComponentAccumulator:
817  kwargs.setdefault('InputTrackParamsCollection', 'ActsStripEstimatedTrackParams')
819  name,
820  extension,
821  histoPath = extension.replace("Acts", "") + 'StripEstimatedTrackParams',
822  ntupleName = extension.replace("Acts", "") + 'StripEstimatedTrackParams',
823  **kwargs)
824 
825 
827  name: str = "",
828  **kwargs) -> ComponentAccumulator:
829  acc = ComponentAccumulator()
830 
831  if 'ExtrapolationTool' not in kwargs:
832  from ActsConfig.ActsGeometryConfig import ActsExtrapolationToolCfg
833  kwargs.setdefault(
834  'ExtrapolationTool',
835  acc.popToolsAndMerge(ActsExtrapolationToolCfg(flags, MaxSteps=10000)),
836  )
837 
838  if 'TrackingGeometryTool' not in kwargs:
839  from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
840  kwargs.setdefault(
841  'TrackingGeometryTool',
842  acc.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags)),
843  )
844 
845  if 'ATLASConverterTool' not in kwargs:
846  from ActsConfig.ActsEventCnvConfig import ActsToTrkConverterToolCfg
847  kwargs.setdefault('ATLASConverterTool', acc.popToolsAndMerge(ActsToTrkConverterToolCfg(flags)))
848 
849  if 'TrackParamsEstimationTool' not in kwargs:
850  from ActsConfig.ActsTrackParamsEstimationConfig import ActsTrackParamsEstimationToolCfg
851  kwargs.setdefault('TrackParamsEstimationTool', acc.popToolsAndMerge(ActsTrackParamsEstimationToolCfg(flags)))
852 
853  kwargs.setdefault("autoReverseSearch", flags.Acts.autoReverseSearchCKF)
854 
855  acc.addEventAlgo(CompFactory.ActsTrk.SeedsToTrackParamsAlg(name, **kwargs))
856  return acc
857 
859  name: str = 'ActsPixelSeedsToTrackParamsAlg',
860  extension: str = "Acts",
861  **kwargs) -> ComponentAccumulator:
862  kwargs.setdefault('InputSeedContainerKey', 'ActsPixelSeeds')
863  kwargs.setdefault('DetectorElementsKey', 'ITkPixelDetectorElementCollection')
864  kwargs.setdefault('OutputTrackParamsCollectionKey', 'ActsPixelEstimatedTrackParams')
866  name,
867  **kwargs)
868 
869 
871  name: str = 'ActsStripSeedsToTrackParamsAlgCfg',
872  extension: str = "Acts",
873  **kwargs) -> ComponentAccumulator:
874  kwargs.setdefault('InputSeedContainerKey', 'ActsStripSeeds')
875  kwargs.setdefault('DetectorElementsKey', 'ITkStripDetectorElementCollection')
876  kwargs.setdefault('OutputTrackParamsCollectionKey', 'ActsStripEstimatedTrackParams')
878  name,
879  **kwargs)
880 
881 
882 def PhysValActsCfg(flags,
883  name: str = 'PhysValActs',
884  **kwargs) -> ComponentAccumulator:
885  acc = ComponentAccumulator()
886 
887  # deduce what to analyse from the collectiosn in the input file
888  typedCollections = flags.Input.TypedCollections
889  for col in typedCollections:
890  col_type, col_name = col.split("#")
891  if col_type == "xAOD::PixelClusterContainer":
892  kwargs.setdefault("doPixelClusters", True)
893  elif col_type == "xAOD::StripClusterContainer":
894  kwargs.setdefault("doStripClusters", True)
895  elif col_type == "xAOD::HGTDClusterContainer":
896  kwargs.setdefault("doHgtdClusters", flags.PhysVal.IDPVM.doHGTD)
897  elif col_type == "xAOD::SpacePointContainer":
898  if 'Pixel' in col_name:
899  kwargs.setdefault("doPixelSpacePoints", True)
900  elif 'Strip' in col_name:
901  kwargs.setdefault("doStripSpacePoints", True)
902  kwargs.setdefault("doStripOverlapSpacePoints", True)
903 
904  acc.setPrivateTools(CompFactory.ActsTrk.PhysValTool(name=name,
905  **kwargs))
906  return acc
907 
908 def ActsSeedAnalysisCfg(flags) -> ComponentAccumulator:
909  acc = ComponentAccumulator()
910  if flags.Detector.EnableITkPixel:
911  acc.merge(ActsPixelSeedAnalysisAlgCfg(flags))
912  if flags.Detector.EnableITkStrip:
913  acc.merge(ActsStripSeedAnalysisAlgCfg(flags))
914  return acc
915 
916 
917 def ActsEstimatedTrackParamsAnalysisCfg(flags) -> ComponentAccumulator:
918  acc = ComponentAccumulator()
919  if flags.Detector.EnableITkPixel:
921  if flags.Detector.EnableITkStrip:
923  return acc
924 
925 
926 def ActsSeedsToTrackParamsCfg(flags) -> ComponentAccumulator:
927  acc = ComponentAccumulator()
928  if flags.Detector.EnableITkPixel:
929  acc.merge(ActsPixelSeedsToTrackParamsAlgCfg(flags))
930  if flags.Detector.EnableITkStrip:
931  acc.merge(ActsStripSeedsToTrackParamsAlgCfg(flags))
932  return acc
933 
935  name : str = "ActsResidualAnalysisAlg",
936  **kwargs) -> ComponentAccumulator:
937 
938  acc = ComponentAccumulator()
939 
940  kwargs.setdefault('TrackParticles', 'InDetTrackParticles')
941  kwargs.setdefault("MonGroupName", kwargs['TrackParticles'])
942 
943  from AthenaMonitoring import AthMonitorCfgHelper
944  helper = AthMonitorCfgHelper(flags, kwargs['TrackParticles'] + 'AnalysisAlgCfg')
945 
946  ResidualMonitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.ITkAlignMonResidualsAlg, name, **kwargs)
947 
948  layersPix = ['0', '1', '2', '3', '4']
949 
950  path = f'/ActsAnalysis/{kwargs["TrackParticles"]}/Residuals'
951  residualXArray = helper.addArray([len(layersPix)], ResidualMonitoringAlgorithm, 'PixResidualX', topPath = path)
952  residualYArray = helper.addArray([len(layersPix)], ResidualMonitoringAlgorithm, 'PixResidualY', topPath = path)
953  pullXArray = helper.addArray([len(layersPix)], ResidualMonitoringAlgorithm, 'PixPullX', topPath = path)
954  pullYArray = helper.addArray([len(layersPix)], ResidualMonitoringAlgorithm, 'PixPullY', topPath = path)
955 
956  layersStrip = ['0','1','2','3','4','5','6','7','8']
957  stripResidualXArray = helper.addArray([len(layersStrip)], ResidualMonitoringAlgorithm, 'StripResidualX', topPath = path)
958  stripPullXArray = helper.addArray([len(layersStrip)], ResidualMonitoringAlgorithm, 'StripPullX', topPath = path)
959 
960 
961  xminX = -100
962  xmaxX = 100
963  xminY = -200
964  xmaxY = 200
965  pullX = 6
966 
967  for postfix,tool in residualXArray.Tools.items():
968  layer = layersPix[int(postfix.split("_")[1])]
969  title = ('UnBiased X Residual Pixel Barrel %s' % layer)
970  name = 'm_pix_residualsx;pix_b' + layer + '_residualx'
971  tool.defineHistogram(name, title = title, type = 'TH1F',
972  xbins = 100, xmin = xminX, xmax = xmaxX) #in um
973 
974 
975  for postfix,tool in residualYArray.Tools.items():
976  layer = layersPix[int(postfix.split("_")[1])]
977  title = ('UnBiased Y Residual Pixel Barrel %s' % layer)
978  name = 'm_pix_residualsy;pix_b' + layer + '_residualy'
979  tool.defineHistogram(name, title = title, type = 'TH1F',
980  xbins = 100, xmin = xminY, xmax = xmaxY) #in um
981 
982 
983  for postfix,tool in pullXArray.Tools.items():
984 
985  layer = layersPix[int(postfix.split("_")[1])]
986  title = ('UnBiased X Pull Pixel Barrel %s' % layer)
987  name = 'm_pix_pullsx;pix_b' + layer + '_pullx'
988  tool.defineHistogram(name, title = title, type = 'TH1F',
989  xbins = 100, xmin = -pullX, xmax = pullX) #in um
990 
991 
992  for postfix,tool in pullYArray.Tools.items():
993  layer = layersPix[int(postfix.split("_")[1])]
994  title = ('UnBiased Y Pull Pixel Barrel %s' % layer)
995  name = 'm_pix_pullsy;pix_b' + layer + '_pully'
996  tool.defineHistogram(name, title = title, type = 'TH1F',
997  xbins = 100, xmin = -pullX, xmax = pullX) #in um
998 
999 
1000 
1001  for postfix,tool in stripResidualXArray.Tools.items():
1002  layer = layersStrip[int(postfix.split("_")[1])]
1003  title = ('UnBiased X Residual Strip Barrel %s' % layer)
1004  name = 'm_strip_residualsx;strip_b' + layer + '_residualx'
1005  tool.defineHistogram(name, title = title, type = 'TH1F',
1006  xbins = 100, xmin = xminX, xmax = xmaxX) #in um
1007 
1008 
1009  for postfix,tool in stripPullXArray.Tools.items():
1010  layer = layersStrip[int(postfix.split("_")[1])]
1011  title = ('UnBiased X Pull Strip Barrel %s' % layer)
1012  name = 'm_strip_pullsx;strip_b' + layer + '_pullx'
1013  tool.defineHistogram(name, title = title, type = 'TH1F',
1014  xbins = 100, xmin = -pullX, xmax = pullX) #in um
1015 
1016  acc.merge(helper.result())
1017  return acc
1018 
1019 
ActsSeedingConfig.ActsPixelOrthogonalSeedingToolCfg
ComponentAccumulator ActsPixelOrthogonalSeedingToolCfg(flags, str name="ActsPixelOrthogonalSeedingTool", **kwargs)
Definition: ActsSeedingConfig.py:176
ActsSeedingConfig.ActsPixelGbtsSeedingToolCfg
ComponentAccumulator ActsPixelGbtsSeedingToolCfg(flags, str name="ActsPixelGbtsSeedingTool", **kwargs)
Definition: ActsSeedingConfig.py:227
ActsAnalysisConfig.ActsSeedsToTrackParamsCfg
ComponentAccumulator ActsSeedsToTrackParamsCfg(flags)
Definition: ActsAnalysisConfig.py:926
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
ActsAnalysisConfig.ActsPixelEstimatedTrackParamsAnalysisAlgCfg
ComponentAccumulator ActsPixelEstimatedTrackParamsAnalysisAlgCfg(flags, str name='ActsPixelEstimatedTrackParamsAnalysisAlg', str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:800
ActsAnalysisConfig.ActsStripSpacePointAnalysisAlgCfg
ComponentAccumulator ActsStripSpacePointAnalysisAlgCfg(flags, str name="ActsStripSpacePointAnalysisAlg", str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:484
ActsAnalysisConfig.ActsStripSeedAnalysisAlgCfg
ComponentAccumulator ActsStripSeedAnalysisAlgCfg(flags, str name="ActsStripSeedAnalysisAlg", str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:679
ActsEventCnvConfig.ActsToTrkConverterToolCfg
ComponentAccumulator ActsToTrkConverterToolCfg(flags, str name="ActsToTrkConverterTool", **kwargs)
Definition: ActsEventCnvConfig.py:6
ActsAnalysisConfig.ActsSeedAnalysisCfg
ComponentAccumulator ActsSeedAnalysisCfg(flags)
Definition: ActsAnalysisConfig.py:908
ITkStripGeoModelConfig.ITkStripReadoutGeometryCfg
def ITkStripReadoutGeometryCfg(flags)
Definition: ITkStripGeoModelConfig.py:43
ITkPixelGeoModelConfig.ITkPixelReadoutGeometryCfg
def ITkPixelReadoutGeometryCfg(flags)
Definition: ITkPixelGeoModelConfig.py:39
ActsAnalysisConfig.ActsStripClusterAnalysisAlgCfg
ComponentAccumulator ActsStripClusterAnalysisAlgCfg(flags, str name="ActsStripClusterAnalysisAlg", str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:385
ActsAnalysisConfig.ActsPixelSeedAnalysisAlgCfg
ComponentAccumulator ActsPixelSeedAnalysisAlgCfg(flags, str name="ActsPixelSeedAnalysisAlg", str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:661
ActsAnalysisConfig.ActsPixelSpacePointAnalysisAlgCfg
ComponentAccumulator ActsPixelSpacePointAnalysisAlgCfg(flags, str name="ActsPixelSpacePointAnalysisAlg", str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:459
ActsAnalysisConfig.ActsTrackAnalysisAlgCfg
ComponentAccumulator ActsTrackAnalysisAlgCfg(flags, str name="ActsTrackAnalysisAlg", **kwargs)
Definition: ActsAnalysisConfig.py:179
ActsAnalysisConfig.ActsHgtdClusterAnalysisAlgCfg
ComponentAccumulator ActsHgtdClusterAnalysisAlgCfg(flags, str name="ActsHgtdClusterAnalysisAlg", **kwargs)
Definition: ActsAnalysisConfig.py:315
ActsAnalysisConfig.ActsStripSeedsToTrackParamsAlgCfg
ComponentAccumulator ActsStripSeedsToTrackParamsAlgCfg(flags, str name='ActsStripSeedsToTrackParamsAlgCfg', str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:870
ActsAnalysisConfig.ActsSeedingAlgorithmAnalysisAlgCfg
ComponentAccumulator ActsSeedingAlgorithmAnalysisAlgCfg(flags, str name="ActsSeedingAlgorithmAnalysis", **kwargs)
Definition: ActsAnalysisConfig.py:722
ActsAnalysisConfig.ActsBaseEstimatedTrackParamsAnalysisAlgCfg
ComponentAccumulator ActsBaseEstimatedTrackParamsAnalysisAlgCfg(flags, str name="", str extension="Acts", str histoPath="", str ntupleName="", **kwargs)
Definition: ActsAnalysisConfig.py:698
ActsAnalysisConfig.ActsStripOverlapSpacePointAnalysisAlgCfg
ComponentAccumulator ActsStripOverlapSpacePointAnalysisAlgCfg(flags, str name="ActsStripOverlapSpacePointAnalysisAlg", str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:508
ActsGeometryConfig.ActsExtrapolationToolCfg
ComponentAccumulator ActsExtrapolationToolCfg(flags, str name="ActsExtrapolationTool", **kwargs)
Definition: ActsGeometryConfig.py:149
ActsTrackParamsEstimationConfig.ActsTrackParamsEstimationToolCfg
ComponentAccumulator ActsTrackParamsEstimationToolCfg(ConfigFlags, str name="ActsTrackParamsEstimationTool", **kwargs)
Definition: ActsTrackParamsEstimationConfig.py:6
ActsAnalysisConfig.ActsBaseSeedAnalysisAlgCfg
ComponentAccumulator ActsBaseSeedAnalysisAlgCfg(flags, str name="", str extension="Acts", str histoPath="", str ntupleName="", **kwargs)
Definition: ActsAnalysisConfig.py:530
HGTD_GeoModelConfig.HGTD_ReadoutGeometryCfg
def HGTD_ReadoutGeometryCfg(flags)
Definition: python/HGTD_GeoModelConfig.py:23
ActsGeometryConfig.ActsTrackingGeometryToolCfg
ComponentAccumulator ActsTrackingGeometryToolCfg(flags, str name="ActsTrackingGeometryTool")
Definition: ActsGeometryConfig.py:140
ActsAnalysisConfig.ActsBaseSeedsToTrackParamsAlgCfg
ComponentAccumulator ActsBaseSeedsToTrackParamsAlgCfg(flags, str name="", **kwargs)
Definition: ActsAnalysisConfig.py:826
ActsAnalysisConfig.ActsStripEstimatedTrackParamsAnalysisAlgCfg
ComponentAccumulator ActsStripEstimatedTrackParamsAnalysisAlgCfg(flags, str name='ActsStripEstimatedTrackParamsAnalysisAlg', str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:813
ActsSeedingConfig.ActsSiSpacePointsSeedMakerToolCfg
ComponentAccumulator ActsSiSpacePointsSeedMakerToolCfg(flags, str name='ActsSiSpacePointsSeedMakerTool', **kwargs)
Definition: ActsSeedingConfig.py:239
ActsAnalysisConfig.ActsEstimatedTrackParamsAnalysisCfg
ComponentAccumulator ActsEstimatedTrackParamsAnalysisCfg(flags)
Definition: ActsAnalysisConfig.py:917
ActsSeedingConfig.ActsFastPixelSeedingToolCfg
ComponentAccumulator ActsFastPixelSeedingToolCfg(flags, str name="ActsFastPixelSeedingTool", **kwargs)
Definition: ActsSeedingConfig.py:67
python.SiSpacePointsSeedToolConfig.ITkSiSpacePointsSeedMakerCfg
def ITkSiSpacePointsSeedMakerCfg(flags, name="ITkSpSeedsMaker", **kwargs)
Definition: SiSpacePointsSeedToolConfig.py:203
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
ActsAnalysisConfig.PhysValActsCfg
ComponentAccumulator PhysValActsCfg(flags, str name='PhysValActs', **kwargs)
Definition: ActsAnalysisConfig.py:882
ActsAnalysisConfig.ActsResidualAnalysisAlgCfg
ComponentAccumulator ActsResidualAnalysisAlgCfg(flags, str name="ActsResidualAnalysisAlg", **kwargs)
Definition: ActsAnalysisConfig.py:934
ActsAnalysisConfig.ActsPixelSeedsToTrackParamsAlgCfg
ComponentAccumulator ActsPixelSeedsToTrackParamsAlgCfg(flags, str name='ActsPixelSeedsToTrackParamsAlg', str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:858
ActsAnalysisConfig.ActsTrackParticleAnalysisAlgCfg
ComponentAccumulator ActsTrackParticleAnalysisAlgCfg(flags, str name='ActsTrackParticleAnalysisAlg', **kwargs)
Definition: ActsAnalysisConfig.py:255
ActsSeedingConfig.ActsStripOrthogonalSeedingToolCfg
ComponentAccumulator ActsStripOrthogonalSeedingToolCfg(flags, str name="ActsStripOrthogonalSeedingTool", **kwargs)
Definition: ActsSeedingConfig.py:199
ActsAnalysisConfig.ActsSeedToTrackAnalysisAlgCfg
ComponentAccumulator ActsSeedToTrackAnalysisAlgCfg(flags, str name="ActsSeedToTrackAnalysisAlg", **kwargs)
Definition: ActsAnalysisConfig.py:7
ActsAnalysisConfig.ActsBaseSpacePointAnalysisAlgCfg
ComponentAccumulator ActsBaseSpacePointAnalysisAlgCfg(flags, str name="", str extension="Acts", histoPath="", ntupleName="", **kwargs)
Definition: ActsAnalysisConfig.py:419
ActsAnalysisConfig.ActsPixelClusterAnalysisAlgCfg
ComponentAccumulator ActsPixelClusterAnalysisAlgCfg(flags, str name="ActsPixelClusterAnalysisAlg", str extension="Acts", **kwargs)
Definition: ActsAnalysisConfig.py:350