14 acc = ComponentAccumulator()
15 from InDetConfig.InDetTrackSelectionToolConfig
import InDetTrackSelectionTool_TrackTools_Cfg
16 kwargs.setdefault(
"TrackSelectionTool",acc.popToolsAndMerge(InDetTrackSelectionTool_TrackTools_Cfg(ConfigFlags,
21 TrackIsoTool = CompFactory.xAOD.TrackIsolationTool(name, **kwargs)
22 acc.setPrivateTools(TrackIsoTool)
27 ConfigFlags, name="MuonTrackIsolationDecorator",
28 ttvaWP = "Nonprompt_All_MaxWeight", trackPt=500., **kwargs):
30 result = ComponentAccumulator()
31 from TrackVertexAssociationTool.TrackVertexAssociationToolConfig
import isoTTVAToolCfg
32 ttvaTool = result.popToolsAndMerge(
33 isoTTVAToolCfg(ConfigFlags, WorkingPoint=ttvaWP))
34 from InDetConfig.InDetTrackSelectionToolConfig
import isoTrackSelectionToolCfg
35 trackSelTool = result.popToolsAndMerge(
36 isoTrackSelectionToolCfg(ConfigFlags, minPt=trackPt))
38 wpName =
"{WP}TTVA_pt{ptCut}".format(WP = ttvaWP, ptCut = trackPt)
39 kwargs.setdefault(
"customName", wpName)
41 kwargs.setdefault(
"PtMin", 2500.)
42 from IsolationAlgs.IsoToolsConfig
import TrackIsolationToolCfg
43 kwargs.setdefault(
"IsolationTool", result.popToolsAndMerge(
46 TrackSelectionTool=trackSelTool)))
47 theAlg = CompFactory.DerivationFramework.TrackIsolationDecorAlg(name = name, **kwargs)
48 result.addEventAlgo(theAlg, primary =
True)
53 from IsolationAlgs.IsoToolsConfig
import MuonCaloIsolationToolCfg
54 result = ComponentAccumulator()
55 kwargs.setdefault(
"PtMin", 2500.)
56 kwargs.setdefault(
"IsolationTool", result.getPrimaryAndMerge(MuonCaloIsolationToolCfg(ConfigFlags,
57 saveOnlyRequestedCorrections=
True)))
58 the_alg = CompFactory.DerivationFramework.CaloIsolationDecorAlg(name, **kwargs)
59 result.addEventAlgo(the_alg, primary=
True)
63 from IsolationAlgs.IsoToolsConfig
import MuonCaloIsolationToolCfg
64 result = ComponentAccumulator()
65 kwargs.setdefault(
"PtMin", 2500.)
66 kwargs.setdefault(
"IsolationTool", result.getPrimaryAndMerge(MuonCaloIsolationToolCfg(ConfigFlags,
67 saveOnlyRequestedCorrections=
True)))
68 the_alg = CompFactory.DerivationFramework.PflowIsolationDecorAlg(name, **kwargs)
69 result.addEventAlgo(the_alg, primary=
True)
73def TrackIsolationCfg(ConfigFlags, TrackCollection="InDetTrackParticles", TrackSelections = []):
74 result = ComponentAccumulator()
75 for WP
in [
'Nonprompt_All_MaxWeight',
'Tight']:
76 for trackPt
in 500, 1000:
78 name =
"TrackIsoDecorAlg{container}{WP}{Pt}".format(container = TrackCollection,
79 WP = WP, Pt = trackPt),
82 TrackCollection = TrackCollection,
83 TrackSelections = TrackSelections))
85 name =
"CaloIsoDecorAlg{container}".format(container = TrackCollection),
86 TrackCollection = TrackCollection,
87 TrackSelections = TrackSelections))
90 name =
"PflowIsoDecorAlg{container}".format(container = TrackCollection),
91 TrackCollection = TrackCollection,
92 TrackSelections = TrackSelections))