ATLAS Offline Software
FPGATrackSimPrototrackFitterConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 
7  name: str = "ActsProtoTrackCreationAndFitAlg",
8  **kwargs) -> ComponentAccumulator:
10 
11  from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
12  acc.merge(ITkPixelReadoutGeometryCfg(flags))
13 
14  from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
15  acc.merge(ITkStripReadoutGeometryCfg(flags))
16 
17 
18  if "TrackingGeometryTool" not in kwargs:
19  from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
20  kwargs.setdefault(
21  "TrackingGeometryTool",
22  acc.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags)),
23  ) # PrivateToolHandle
24 
25  if 'ExtrapolationTool' not in kwargs:
26  from ActsConfig.ActsGeometryConfig import ActsExtrapolationToolCfg
27  kwargs.setdefault(
28  "ExtrapolationTool",
29  acc.popToolsAndMerge(ActsExtrapolationToolCfg(flags, MaxSteps=10000)),
30  ) # PrivateToolHandle
31 
32  if 'ActsFitter' not in kwargs:
33  from ActsConfig.ActsTrackFittingConfig import ActsFitterCfg
34  kwargs.setdefault("ActsFitter", acc.popToolsAndMerge(ActsFitterCfg(flags,
35  ReverseFilteringPt=0,
36  OutlierChi2Cut=float('inf'))))
37 
38  acc.addEventAlgo(CompFactory.FPGATrackSim.FPGATrackSimPrototrackFitterAlg(name,**kwargs),
39  primary=True)
40  return acc
41 
42 def FPGAProtoTrackFitCfg(flags, name="FPGAPrototrackFitterConfig", stage = '', useRoads=False, **kwargs):
43 
44  ACTSProtoTrackChainTrackKey = "ACTSProtoTrackChainTestTracks"
45  FPGAPrototracks = f"ActsProtoTracks{stage}FromFPGARoad" if useRoads else f"ActsProtoTracks{stage}FromFPGATrack"
46  acc = ComponentAccumulator()
47  from InDetConfig.ITkTrackRecoConfig import ITkTrackRecoCfg
48  acc.merge(ITkTrackRecoCfg(flags))
49 
50 
51  # ProtoTrackChain Track algo
52  acc.merge(FPGAPrototrackFitAlgCfg(flags,"FPGATrackSimProtoTackFitAlg",
53  ACTSTracksLocation=ACTSProtoTrackChainTrackKey,
54  FPGATrackSimActsProtoTracks=FPGAPrototracks,
55  **kwargs))
56  return acc
57 
58 def FPGATruthDecorationCfg(flags, FinalProtoTrackChainxAODTracksKey="xAODFPGAPrototracks", **kwargs):
59 
61  from ActsConfig.ActsTruthConfig import ActsTruthParticleHitCountAlgCfg, ActsPixelClusterToTruthAssociationAlgCfg,ActsStripClusterToTruthAssociationAlgCfg
62 
63  ACTSProtoTrackChainTrackKey = "ACTSProtoTrackChainTestTracks"
64  FinalProtoTrackChainxAODTracksKey=FinalProtoTrackChainxAODTracksKey
65 
66  acc = ComponentAccumulator()
67  truthLinkVector="xAODFPGATruthLinks" if flags.Trigger.FPGATrackSim.useFPGATruthTrackMatching else "xAODTruthLinks"
69  name="ActsFPGAPixelClusterToTruthAssociationAlg",
70  InputTruthParticleLinks=truthLinkVector,
71  AssociationMapOut="ITkFPGAPixelClustersToTruthParticles",
72  Measurements="xAODPixelClustersFromFPGACluster"))
73 
75  name="ActsFPGAStripClusterToTruthAssociationAlg",
76  InputTruthParticleLinks=truthLinkVector,
77  AssociationMapOut="ITkFPGAStripClustersToTruthParticles",
78  Measurements="xAODStripClustersFromFPGACluster"))
79 
80 
81  acc.merge(ActsTruthParticleHitCountAlgCfg(flags,
82  name="ActsFPGATruthParticleHitCountAlg",
83  PixelClustersToTruthAssociationMap="ITkFPGAPixelClustersToTruthParticles",
84  StripClustersToTruthAssociationMap="ITkFPGAStripClustersToTruthParticles",
85  TruthParticleHitCountsOut="FPGATruthParticleHitCounts"))
86 
87 
88  from ActsConfig.ActsTruthConfig import ActsTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg
89  acts_tracks=f"{flags.Tracking.ActiveConfig.extension}Tracks" if not flags.Acts.doAmbiguityResolution else f"{flags.Tracking.ActiveConfig.extension}ResolvedTracks"
90  acc.merge(ActsTrackToTruthAssociationAlgCfg(flags,
91  name=f"{acts_tracks}FPGATrackToTruthAssociationAlg",
92  PixelClustersToTruthAssociationMap="ITkFPGAPixelClustersToTruthParticles",
93  StripClustersToTruthAssociationMap="ITkFPGAStripClustersToTruthParticles",
94  ACTSTracksLocation=ACTSProtoTrackChainTrackKey,
95  AssociationMapOut=acts_tracks+"FPGAToTruthParticleAssociation"))
96 
97 
98  acc.merge(ActsTrackFindingValidationAlgCfg(flags,
99  name=f"{acts_tracks}FPGATrackFindingValidationAlg",
100  TrackToTruthAssociationMap=acts_tracks+"FPGAToTruthParticleAssociation",
101  TruthParticleHitCounts="FPGATruthParticleHitCounts"
102  ))
103 
104 
106  prefix = flags.Tracking.ActiveConfig.extension
107  from ActsConfig.ActsTrackFindingConfig import ActsTrackToTrackParticleCnvAlgCfg
108  acc.merge(ActsTrackToTrackParticleCnvAlgCfg(flags, f"{prefix}ResolvedProtoTrackToAltTrackParticleCnvAlg",
109  ACTSTracksLocation=[ACTSProtoTrackChainTrackKey,],
110  TrackParticlesOutKey=f"{FinalProtoTrackChainxAODTracksKey}TrackParticles"))
111 
112  from ActsConfig.ActsTruthConfig import ActsTrackParticleTruthDecorationAlgCfg
114  f"{prefix}ActsFPGATrackParticleTruthDecorationAlg",
115  TrackToTruthAssociationMaps=[acts_tracks+"FPGAToTruthParticleAssociation"],
116  TrackParticleContainerName=f"{FinalProtoTrackChainxAODTracksKey}TrackParticles",
117  TruthParticleHitCounts="FPGATruthParticleHitCounts",
118  ComputeTrackRecoEfficiency=True))
119  return acc
python.ITkTrackRecoConfig.ITkTrackRecoCfg
ComponentAccumulator ITkTrackRecoCfg(flags)
Main ITk tracking config #####################.
Definition: ITkTrackRecoConfig.py:511
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
ITkStripGeoModelConfig.ITkStripReadoutGeometryCfg
def ITkStripReadoutGeometryCfg(flags)
Definition: ITkStripGeoModelConfig.py:43
ActsTruthConfig.ActsTruthParticleHitCountAlgCfg
ComponentAccumulator ActsTruthParticleHitCountAlgCfg(flags, str name='ActsTruthParticleHitCountAlg', **dict kwargs)
Definition: ActsTruthConfig.py:86
ActsTruthConfig.ActsTrackToTruthAssociationAlgCfg
ComponentAccumulator ActsTrackToTruthAssociationAlgCfg(flags, str name='ActsTracksToTruthAssociationAlg', **dict kwargs)
Definition: ActsTruthConfig.py:65
ITkPixelGeoModelConfig.ITkPixelReadoutGeometryCfg
def ITkPixelReadoutGeometryCfg(flags)
Definition: ITkPixelGeoModelConfig.py:39
ActsTruthConfig.ActsPixelClusterToTruthAssociationAlgCfg
ComponentAccumulator ActsPixelClusterToTruthAssociationAlgCfg(flags, str name='ActsPixelClusterToTruthAssociationAlg', **dict kwargs)
Definition: ActsTruthConfig.py:20
ActsTrackFittingConfig.ActsFitterCfg
ComponentAccumulator ActsFitterCfg(flags, str name="ActsFitterTool", Optional[TrackFitterType] fitterKind=None, **kwargs)
Definition: ActsTrackFittingConfig.py:8
ActsTruthConfig.ActsTrackFindingValidationAlgCfg
ComponentAccumulator ActsTrackFindingValidationAlgCfg(flags, str name='ActsTracksValidationAlg', **dict kwargs)
Definition: ActsTruthConfig.py:162
ActsGeometryConfig.ActsExtrapolationToolCfg
ComponentAccumulator ActsExtrapolationToolCfg(flags, str name="ActsExtrapolationTool", **kwargs)
Definition: ActsGeometryConfig.py:149
FPGATrackSimPrototrackFitterConfig.FPGAPrototrackFitAlgCfg
ComponentAccumulator FPGAPrototrackFitAlgCfg(flags, str name="ActsProtoTrackCreationAndFitAlg", **kwargs)
Definition: FPGATrackSimPrototrackFitterConfig.py:6
ActsGeometryConfig.ActsTrackingGeometryToolCfg
ComponentAccumulator ActsTrackingGeometryToolCfg(flags, str name="ActsTrackingGeometryTool")
Definition: ActsGeometryConfig.py:140
FPGATrackSimPrototrackFitterConfig.FPGAProtoTrackFitCfg
def FPGAProtoTrackFitCfg(flags, name="FPGAPrototrackFitterConfig", stage='', useRoads=False, **kwargs)
Definition: FPGATrackSimPrototrackFitterConfig.py:42
FPGATrackSimPrototrackFitterConfig.FPGATruthDecorationCfg
def FPGATruthDecorationCfg(flags, FinalProtoTrackChainxAODTracksKey="xAODFPGAPrototracks", **kwargs)
Definition: FPGATrackSimPrototrackFitterConfig.py:58
ActsTruthConfig.ActsTrackParticleTruthDecorationAlgCfg
ComponentAccumulator ActsTrackParticleTruthDecorationAlgCfg(flags, str name='ActsTrackParticleTruthDecorationAlg', **dict kwargs)
Definition: ActsTruthConfig.py:137
ActsTruthConfig.ActsStripClusterToTruthAssociationAlgCfg
ComponentAccumulator ActsStripClusterToTruthAssociationAlgCfg(flags, str name='ActsStripClusterToTruthAssociationAlg', **dict kwargs)
Definition: ActsTruthConfig.py:35
ActsTrackFindingConfig.ActsTrackToTrackParticleCnvAlgCfg
ComponentAccumulator ActsTrackToTrackParticleCnvAlgCfg(flags, str name="ActsTrackToTrackParticleCnvAlg", **kwargs)
Definition: ActsTrackFindingConfig.py:441
python.LArMinBiasAlgConfig.float
float
Definition: LArMinBiasAlgConfig.py:65