ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
RecoAlgs
IsolationAlgs
python
IsoToolsConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3
""" Tool configuration to instantiate all isolationTools with default configuration
4
"""
5
6
from
AthenaConfiguration.ComponentFactory
import
CompFactory
7
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
8
from
AthenaConfiguration.Enums
import
BeamType
9
10
def
TrackIsolationToolCfg
(flags, **kwargs):
11
acc = ComponentAccumulator()
12
13
if
'TrackSelectionTool'
not
in
kwargs:
14
from
InDetTrackSelectionTool.InDetTrackSelectionToolConfig
import
(
15
isoTrackSelectionToolCfg)
16
kwargs[
'TrackSelectionTool'
] = acc.popToolsAndMerge(isoTrackSelectionToolCfg(flags))
17
if
'TTVATool'
not
in
kwargs:
18
from
TrackVertexAssociationTool.TrackVertexAssociationToolConfig
import
isoTTVAToolCfg
19
kwargs[
'TTVATool'
] = acc.popToolsAndMerge(isoTTVAToolCfg(flags))
20
if
flags.Beam.Type
is
BeamType.Cosmics:
21
kwargs[
'VertexLocation'
] =
''
22
23
acc.setPrivateTools(CompFactory.xAOD.TrackIsolationTool(**kwargs))
24
return
acc
25
26
def
CaloIsolationToolCfg
(flags, **kwargs):
27
acc = ComponentAccumulator()
28
29
if
'IsoLeakCorrectionTool'
not
in
kwargs:
30
kwargs[
'IsoLeakCorrectionTool'
] = CompFactory.CP.IsolationCorrectionTool(
31
name =
'LeakageCorrTool'
)
32
33
if
'ClustersInConeTool'
not
in
kwargs:
34
kwargs[
'ClustersInConeTool'
] = CompFactory.xAOD.CaloClustersInConeTool(
35
name =
'MyCaloClustersInConeTool'
,
36
CaloClusterLocation =
"CaloCalTopoClusters"
)
37
38
if
'ParticleCaloExtensionTool'
not
in
kwargs:
39
from
TrackToCalo.TrackToCaloConfig
import
ParticleCaloExtensionToolCfg
40
kwargs[
'ParticleCaloExtensionTool'
] = acc.popToolsAndMerge(
41
ParticleCaloExtensionToolCfg(flags))
42
43
kwargs.setdefault(
'name'
,
'CaloIsolationTool'
)
44
kwargs.setdefault(
'ParticleCaloExtensionTool'
,
None
)
45
kwargs.setdefault(
'ParticleCaloCellAssociationTool'
,
None
)
46
kwargs.setdefault(
'isMC'
,flags.Input.isMC)
47
48
acc.setPrivateTools(CompFactory.xAOD.CaloIsolationTool(**kwargs))
49
return
acc
50
51
def
ElectronTrackIsolationToolCfg
(flags, **kwargs):
52
kwargs.setdefault(
'name'
,
'ElectronTrackIsolationTool'
)
53
kwargs.setdefault(
'CoreTrackEtaRange'
,0.01)
54
return
TrackIsolationToolCfg
(flags,**kwargs)
55
56
def
EGammaCaloIsolationToolCfg
(flags, **kwargs):
57
acc = ComponentAccumulator()
58
59
if
'IsoLeakCorrectionTool'
not
in
kwargs:
60
kwargs[
'IsoLeakCorrectionTool'
] = CompFactory.CP.IsolationCorrectionTool(
61
name =
'LeakageCorrTool'
,
62
LogLogFitForLeakage =
True
)
63
64
if
'CaloFillRectangularClusterTool'
not
in
kwargs:
65
kwargs[
'CaloFillRectangularClusterTool'
] = CompFactory.CaloFillRectangularCluster(
66
name=
"egamma_CaloFillRectangularCluster"
,
67
eta_size=5,
68
phi_size=7,
69
cells_name=flags.Egamma.Keys.Input.CaloCells)
70
71
# default is to read calocaltopoclusters.
72
# In HI, if subtracted clusters, use them instead, and do not do pu correction
73
if
flags.HeavyIon.Egamma.doSubtractedClusters:
74
kwargs[
'ClustersInConeTool'
] = CompFactory.xAOD.CaloClustersInConeTool(
75
name=
"topoiso_CaloClustersInConeTool"
,
76
CaloClusterLocation=flags.Egamma.Keys.Input.TopoClusters)
77
# No pileup correction, and do not save it
78
kwargs[
'InitializeReadHandles'
] =
False
79
kwargs[
'saveOnlyRequestedCorrections'
] =
True
80
81
kwargs.setdefault(
'name'
,
'egCaloIsolationTool'
)
82
kwargs.setdefault(
'ParticleCaloExtensionTool'
,
None
)
83
kwargs.setdefault(
'ParticleCaloCellAssociationTool'
,
None
)
84
kwargs.setdefault(
'isMC'
,flags.Input.isMC)
85
86
acc.setPrivateTools(CompFactory.xAOD.CaloIsolationTool(**kwargs))
87
return
acc
88
89
def
MuonCaloIsolationToolCfg
(flags, **kwargs):
90
acc = ComponentAccumulator()
91
92
if
'ParticleCaloExtensionTool'
not
in
kwargs:
93
from
TrackToCalo.TrackToCaloConfig
import
ParticleCaloExtensionToolCfg
94
kwargs[
'ParticleCaloExtensionTool'
] = acc.popToolsAndMerge(
95
ParticleCaloExtensionToolCfg(flags))
96
if
'FlowElementsInConeTool'
not
in
kwargs
and
flags.Reco.EnablePFlow:
97
kwargs[
'FlowElementsInConeTool'
] = CompFactory.xAOD.FlowElementsInConeTool(
98
name=
'FlowElementsInConeTool'
)
99
100
# default is to read calocaltopoclusters.
101
# In HI, if subtracted clusters, use them instead, and do not do pu correction
102
if
flags.HeavyIon.Egamma.doSubtractedClusters:
103
ccict = CompFactory.xAOD.CaloClustersInConeTool(
104
name=
"topoiso_CaloClustersInConeTool"
,
105
CaloClusterLocation=flags.Egamma.Keys.Input.TopoClusters)
106
kwargs[
'ClustersInConeTool'
] = ccict
107
# No pileup correction, and do not save it
108
kwargs[
'InitializeReadHandles'
] =
False
109
kwargs[
'saveOnlyRequestedCorrections'
] =
True
110
111
kwargs.setdefault(
'ParticleCaloCellAssociationTool'
,
None
)
112
kwargs.setdefault(
'UseEtaDepPUCorr'
,
False
)
113
kwargs.setdefault(
'name'
,
'muonCaloIsolationTool'
)
114
115
acc.setPrivateTools(CompFactory.xAOD.CaloIsolationTool(**kwargs))
116
return
acc
IsoToolsConfig.MuonCaloIsolationToolCfg
MuonCaloIsolationToolCfg(flags, **kwargs)
Definition
IsoToolsConfig.py:89
IsoToolsConfig.ElectronTrackIsolationToolCfg
ElectronTrackIsolationToolCfg(flags, **kwargs)
Definition
IsoToolsConfig.py:51
IsoToolsConfig.TrackIsolationToolCfg
TrackIsolationToolCfg(flags, **kwargs)
Definition
IsoToolsConfig.py:10
IsoToolsConfig.EGammaCaloIsolationToolCfg
EGammaCaloIsolationToolCfg(flags, **kwargs)
Definition
IsoToolsConfig.py:56
IsoToolsConfig.CaloIsolationToolCfg
CaloIsolationToolCfg(flags, **kwargs)
Definition
IsoToolsConfig.py:26
Generated on
for ATLAS Offline Software by
1.17.0