ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
DerivationFramework
DerivationFrameworkMuons
python
TrackIsolationDecoratorConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
4
from
AthenaConfiguration.ComponentFactory
import
CompFactory
5
6
# Import the xAOD isolation parameters.
7
from
xAODPrimitives.xAODIso
import
xAODIso
as
isoPar
8
deco_ptcones = [isoPar.ptcone40, isoPar.ptcone30]
9
deco_topoetcones = [isoPar.topoetcone40, isoPar.topoetcone20]
10
deco_prefix =
'MUON_'
11
12
def
TrackIsolationToolCfg
(ConfigFlags,name= "TrackIsolationTool", **kwargs):
13
14
acc = ComponentAccumulator()
15
from
InDetTrackSelectionTool.InDetTrackSelectionToolConfig
import
(
16
InDetTrackSelectionTool_TrackTools_Cfg)
17
kwargs.setdefault(
"TrackSelectionTool"
,acc.popToolsAndMerge(InDetTrackSelectionTool_TrackTools_Cfg(ConfigFlags,
18
maxZ0SinTheta = 3.,
19
minPt = 1000.,
20
CutLevel =
"Loose"
)))
21
22
TrackIsoTool = CompFactory.xAOD.TrackIsolationTool(name, **kwargs)
23
acc.setPrivateTools(TrackIsoTool)
24
return
acc
25
26
27
def
MuonTrackIsolationDecorAlgCfg
(
28
ConfigFlags, name="MuonTrackIsolationDecorator",
29
ttvaWP = "Nonprompt_All_MaxWeight", trackPt=500., **kwargs):
30
31
result = ComponentAccumulator()
32
from
TrackVertexAssociationTool.TrackVertexAssociationToolConfig
import
isoTTVAToolCfg
33
ttvaTool = result.popToolsAndMerge(
34
isoTTVAToolCfg(ConfigFlags, WorkingPoint=ttvaWP))
35
from
InDetTrackSelectionTool.InDetTrackSelectionToolConfig
import
isoTrackSelectionToolCfg
36
trackSelTool = result.popToolsAndMerge(
37
isoTrackSelectionToolCfg(ConfigFlags, minPt=trackPt))
38
39
wpName =
"{WP}TTVA_pt{ptCut}"
.format(WP = ttvaWP, ptCut = trackPt)
40
kwargs.setdefault(
"customName"
, wpName)
41
42
kwargs.setdefault(
"PtMin"
, 2500.)
43
from
IsolationAlgs.IsoToolsConfig
import
TrackIsolationToolCfg
44
kwargs.setdefault(
"IsolationTool"
, result.popToolsAndMerge(
45
TrackIsolationToolCfg
(ConfigFlags,
46
TTVATool=ttvaTool,
47
TrackSelectionTool=trackSelTool)))
48
theAlg = CompFactory.DerivationFramework.TrackIsolationDecorAlg(name = name, **kwargs)
49
result.addEventAlgo(theAlg, primary =
True
)
50
return
result
51
52
53
def
TrackCaloIsolationDecorAlgCfg
(ConfigFlags, name = "MuonCaloIsolationDecorator", **kwargs):
54
from
IsolationAlgs.IsoToolsConfig
import
MuonCaloIsolationToolCfg
55
result = ComponentAccumulator()
56
kwargs.setdefault(
"PtMin"
, 2500.)
57
kwargs.setdefault(
"IsolationTool"
, result.getPrimaryAndMerge(MuonCaloIsolationToolCfg(ConfigFlags,
58
saveOnlyRequestedCorrections=
True
)))
59
the_alg = CompFactory.DerivationFramework.CaloIsolationDecorAlg(name, **kwargs)
60
result.addEventAlgo(the_alg, primary=
True
)
61
return
result
62
63
def
TrackPflowIsolationDecorAlgCfg
(ConfigFlags, name = "MuonPflowIsolationDecorator", **kwargs):
64
from
IsolationAlgs.IsoToolsConfig
import
MuonCaloIsolationToolCfg
65
result = ComponentAccumulator()
66
kwargs.setdefault(
"PtMin"
, 2500.)
67
kwargs.setdefault(
"IsolationTool"
, result.getPrimaryAndMerge(MuonCaloIsolationToolCfg(ConfigFlags,
68
saveOnlyRequestedCorrections=
True
)))
69
the_alg = CompFactory.DerivationFramework.PflowIsolationDecorAlg(name, **kwargs)
70
result.addEventAlgo(the_alg, primary=
True
)
71
return
result
72
73
74
def
TrackIsolationCfg
(ConfigFlags, TrackCollection="InDetTrackParticles", TrackSelections = []):
75
result = ComponentAccumulator()
76
for
WP
in
[
'Nonprompt_All_MaxWeight'
,
'Tight'
]:
77
for
trackPt
in
500, 1000:
78
result.merge(
MuonTrackIsolationDecorAlgCfg
(ConfigFlags,
79
name = f
"TrackIsoDecorAlg{TrackCollection}{WP}{trackPt}"
,
80
ttvaWP = WP,
81
trackPt = trackPt,
82
TrackCollection = TrackCollection,
83
TrackSelections = TrackSelections))
84
result.merge(
TrackCaloIsolationDecorAlgCfg
(ConfigFlags,
85
name = f
"CaloIsoDecorAlg{TrackCollection}"
,
86
TrackCollection = TrackCollection,
87
TrackSelections = TrackSelections))
88
result.merge(
TrackPflowIsolationDecorAlgCfg
(ConfigFlags,
89
name = f
"PflowIsoDecorAlg{TrackCollection}"
,
90
TrackCollection = TrackCollection,
91
TrackSelections = TrackSelections))
92
return
result
python.TrackIsolationDecoratorConfig.TrackIsolationCfg
TrackIsolationCfg(ConfigFlags, TrackCollection="InDetTrackParticles", TrackSelections=[])
Definition
TrackIsolationDecoratorConfig.py:74
python.TrackIsolationDecoratorConfig.MuonTrackIsolationDecorAlgCfg
MuonTrackIsolationDecorAlgCfg(ConfigFlags, name="MuonTrackIsolationDecorator", ttvaWP="Nonprompt_All_MaxWeight", trackPt=500., **kwargs)
Definition
TrackIsolationDecoratorConfig.py:29
python.TrackIsolationDecoratorConfig.TrackPflowIsolationDecorAlgCfg
TrackPflowIsolationDecorAlgCfg(ConfigFlags, name="MuonPflowIsolationDecorator", **kwargs)
Definition
TrackIsolationDecoratorConfig.py:63
python.TrackIsolationDecoratorConfig.TrackIsolationToolCfg
TrackIsolationToolCfg(ConfigFlags, name="TrackIsolationTool", **kwargs)
Definition
TrackIsolationDecoratorConfig.py:12
python.TrackIsolationDecoratorConfig.TrackCaloIsolationDecorAlgCfg
TrackCaloIsolationDecorAlgCfg(ConfigFlags, name="MuonCaloIsolationDecorator", **kwargs)
Definition
TrackIsolationDecoratorConfig.py:53
Generated on
for ATLAS Offline Software by
1.17.0