5'''@file InDetAlgorithmConfig.py
8@brief CA-based python configurations for the event algorithms in this package
11from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
12from AthenaConfiguration.ComponentFactory
import CompFactory
17 create decoration algorithm which decorates
18 truth particles with track parameters at the perigee.
20 acc = ComponentAccumulator()
22 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
23 extrapolator = acc.popToolsAndMerge( AtlasExtrapolatorCfg( flags ) )
24 acc.addPublicTool( extrapolator )
25 kwargs.setdefault(
"Extrapolator", extrapolator )
27 PixelClusterContainerName =
"PixelClusters"
28 SCTClusterContainerName =
"SCT_Clusters"
29 if flags.Detector.GeometryITk :
30 if flags.PhysVal.IDTPM.currentTrkAna.useActsSiMeasurements :
31 PixelClusterContainerName =
"ITkPixelMeasurements_offl"
32 SCTClusterContainerName =
"ITkStripMeasurements_offl"
34 PixelClusterContainerName =
"ITkPixelMeasurements"
35 SCTClusterContainerName =
"ITkStripMeasurements"
37 kwargs.setdefault(
"PixelClusterContainerName", PixelClusterContainerName )
38 kwargs.setdefault(
"SCTClusterContainerName", SCTClusterContainerName )
41 for trkAnaName
in flags.PhysVal.IDTPM.trkAnaNames:
42 if getattr( flags.PhysVal.IDTPM, trkAnaName+
".plotTechnicalEfficiencies" ):
45 kwargs.setdefault(
'TruthParticleIndexDecoration',
'origTruthIndex' if doTechEff
else '' )
48 acc.addEventAlgo( CompFactory.InDetPhysValTruthDecoratorAlg( name, **kwargs ) )
53 acc = ComponentAccumulator()
54 acc.addEventAlgo( CompFactory.IDTPM.OfflineElectronDecoratorAlg( name, **kwargs ) )
59 acc = ComponentAccumulator()
60 kwargs.setdefault(
"OfflineTrkParticleContainerName",
"GSFTrackParticles" )
61 kwargs.setdefault(
"useGSF",
True )
62 acc.addEventAlgo( CompFactory.IDTPM.OfflineElectronDecoratorAlg( name, **kwargs ) )
67 acc = ComponentAccumulator()
68 acc.addEventAlgo( CompFactory.IDTPM.OfflineMuonDecoratorAlg( name, **kwargs ) )
73 acc = ComponentAccumulator()
74 kwargs.setdefault(
"OfflineTrkParticleContainerName",
"CombinedMuonTrackParticles" )
75 kwargs.setdefault(
"useCombinedMuonTracks",
True )
76 acc.addEventAlgo( CompFactory.IDTPM.OfflineMuonDecoratorAlg( name, **kwargs ) )
81 acc = ComponentAccumulator()
82 kwargs.setdefault(
"Prefix",
"LinkedTauBDT1prong_" )
83 kwargs.setdefault(
"TauType",
"BDT" )
84 kwargs.setdefault(
"TauNprongs", 1 )
85 acc.addEventAlgo( CompFactory.IDTPM.OfflineTauDecoratorAlg( name, **kwargs ) )
90 acc = ComponentAccumulator()
91 kwargs.setdefault(
"Prefix",
"LinkedTauBDT3prong_" )
92 kwargs.setdefault(
"TauType",
"BDT" )
93 kwargs.setdefault(
"TauNprongs", 3 )
94 acc.addEventAlgo( CompFactory.IDTPM.OfflineTauDecoratorAlg( name, **kwargs ) )
99 acc = ComponentAccumulator()
100 kwargs.setdefault(
"Prefix",
"LinkedTauRNN1prong_" )
101 kwargs.setdefault(
"TauType",
"RNN" )
102 kwargs.setdefault(
"TauNprongs", 1 )
103 acc.addEventAlgo( CompFactory.IDTPM.OfflineTauDecoratorAlg( name, **kwargs ) )
108 acc = ComponentAccumulator()
109 kwargs.setdefault(
"Prefix",
"LinkedTauRNN3prong_" )
110 kwargs.setdefault(
"TauType",
"RNN" )
111 kwargs.setdefault(
"TauNprongs", 3 )
112 acc.addEventAlgo( CompFactory.IDTPM.OfflineTauDecoratorAlg( name, **kwargs ) )
117 acc = ComponentAccumulator()
118 kwargs.setdefault(
"Prefix",
"LinkedJet_" )
119 kwargs.setdefault(
"OfflineTrkParticleContainerName",
120 flags.PhysVal.IDTPM.currentTrkAna.OfflineTrkKey )
121 kwargs.setdefault(
"JetContainerName", flags.PhysVal.IDTPM.currentTrkAna.JetContainerName )
122 kwargs.setdefault(
"maxTrkJetDR", flags.PhysVal.IDTPM.currentTrkAna.maxTrkJetDR )
123 kwargs.setdefault(
"JetAbsEtaMin", flags.PhysVal.IDTPM.currentTrkAna.jetMinAbsEta )
124 kwargs.setdefault(
"JetAbsEtaMax", flags.PhysVal.IDTPM.currentTrkAna.jetMaxAbsEta )
125 kwargs.setdefault(
"JetPtMin", flags.PhysVal.IDTPM.currentTrkAna.jetMinPt )
126 kwargs.setdefault(
"JetPtMax", flags.PhysVal.IDTPM.currentTrkAna.jetMaxPt )
127 acc.addEventAlgo( CompFactory.IDTPM.OfflineJetDecoratorAlg( name, **kwargs ) )
133 create decoration algorithm(s) to decorate offline tracks with a link to
134 the offline object they correspond to in the event reconstruction
136 acc = ComponentAccumulator()
140 for trkAnaName
in flags.PhysVal.IDTPM.trkAnaNames:
141 objStr = getattr( flags.PhysVal.IDTPM, trkAnaName+
".SelectOfflineObject" )
142 if objStr : objStrList.append( objStr )
143 tauType = getattr( flags.PhysVal.IDTPM, trkAnaName+
".TauType" )
144 if tauType : tauTypeList.append( tauType )
146 if "ElectronGSF" in objStrList:
149 if "Electron" in objStrList:
152 if "MuonComb" in objStrList:
155 if "Muon" in objStrList:
158 if "Tau" in objStrList:
159 if "BDT" in tauTypeList:
162 if "RNN" in tauTypeList:
166 if "Jet" in objStrList:
173 acc = ComponentAccumulator()
174 acc.addEventAlgo( CompFactory.IDTPM.TruthDecoratorAlg( name, **kwargs ) )
OfflineTauBDT3prongDecoratorAlgCfg(flags, name="OfflineTauBDT3prongDecoratorAlg", **kwargs)
TruthDecoratorAlgCfg(flags, name="TruthDecoratorAlg", **kwargs)
TruthHitDecoratorAlgCfg(flags, name="InDetPhysValTruthDecoratorAlg", **kwargs)
OfflineElectronGSFDecoratorAlgCfg(flags, name="OfflineElectronGSFDecoratorAlg", **kwargs)
OfflineObjectDecoratorAlgCfg(flags, name="OfflineObjectDecoratorAlg", **kwargs)
OfflineTauRNN3prongDecoratorAlgCfg(flags, name="OfflineTauRNN3prongDecoratorAlg", **kwargs)
OfflineTauRNN1prongDecoratorAlgCfg(flags, name="OfflineTauRNN1prongDecoratorAlg", **kwargs)
OfflineElectronDecoratorAlgCfg(flags, name="OfflineElectronDecoratorAlg", **kwargs)
OfflineMuonCombDecoratorAlgCfg(flags, name="OfflineMuonDecoratorAlg", **kwargs)
OfflineTauBDT1prongDecoratorAlgCfg(flags, name="OfflineTauBDT1prongDecoratorAlg", **kwargs)
OfflineJetDecoratorAlgCfg(flags, name="OfflineJetDecoratorAlg", **kwargs)
OfflineMuonDecoratorAlgCfg(flags, name="OfflineMuonDecoratorAlg", **kwargs)