ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrackParamsEstimationConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5
7 name: str = "ActsTrackParamsEstimationTool",
8 **kwargs) -> ComponentAccumulator:
9 assert isinstance(name, str)
10
11 acc = ComponentAccumulator()
12
13 # eBoundLoc0, eBoundLoc1, eBoundPhi, eBoundTheta, eBoundQOverP, eBoundTime
14 kwargs.setdefault('initialVarInflation', [1., 1., 1., 1., 1., 1.])
15
16 kwargs.setdefault('allowPropagatorFailure', False)
17
18 kwargs.setdefault("refitSeeds", ConfigFlags.Acts.refitSeeds)
19
20 if 'FitterTool' not in kwargs:
21 from ActsConfig.ActsTrackFittingConfig import ActsFitterCfg
22 # This fitter is only used for the seed refit, so restore a finite
23 # OutlierChi2Cut only if a refit is scheduled for at least one seed
24 # collection (currently the LRT strip seeds), letting the refit
25 # potentially downweight bad hits before they bias initial parameters fed to CKF.
26 # currently does nothing (flag defaults to inf == disabled)
27 if kwargs["refitSeeds"]:
28 seedRefitOutlierChi2Cut = ConfigFlags.Acts.SeedRefitOutlierChi2Cut
29 else:
30 seedRefitOutlierChi2Cut = float('inf')
31 kwargs.setdefault(
32 'FitterTool',
33 acc.popToolsAndMerge(ActsFitterCfg(ConfigFlags,
34 ReverseFilteringPt=0,
35 OutlierChi2Cut=seedRefitOutlierChi2Cut))
36 )
37
38 acc.setPrivateTools(CompFactory.ActsTrk.TrackParamsEstimationTool(name=name, **kwargs))
39 return acc
ComponentAccumulator ActsTrackParamsEstimationToolCfg(ConfigFlags, str name="ActsTrackParamsEstimationTool", **kwargs)