3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
8 acc.setPrivateTools(CompFactory.CP.IsolationSelectionTool(name, **kwargs))
17 from InDetConfig.InDetTrackSelectionToolConfig
import isoTrackSelectionToolCfg
20 from TrackVertexAssociationTool.TrackVertexAssociationToolConfig
import isoTTVAToolCfg
21 kwargs.setdefault(
"TTVASelectionTool", acc.popToolsAndMerge(
isoTTVAToolCfg(flags, WorkingPoint = ttva_wp)))
22 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg
24 the_tool = CompFactory.CP.IsolationCloseByCorrectionTool(name, **kwargs)
25 acc.setPrivateTools(the_tool)
31 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig
import AsgElectronLikelihoodToolCfg
32 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping
import electronLHmenu
33 from ElectronPhotonSelectorTools.LikelihoodEnums
import LikeEnum
34 from AthenaConfiguration.Enums
import LHCPeriod
36 name=
"ElectronSelTool",
37 quality = LikeEnum.VeryLoose,
38 menu=electronLHmenu.offlineMC21
if flags.GeoModel.Run >= LHCPeriod.Run3
else electronLHmenu.offlineMC20)))
40 from MuonSelectorTools.MuonSelectorToolsConfig
import MuonSelectionToolCfg
50 kwargs.setdefault(
"PhotContainer",
"")
51 the_alg = CompFactory.CP.IsoCloseByCorrectionTrkSelAlg(name+ttva_wp+suff, **kwargs)
52 result.addEventAlgo(the_alg, primary =
True)
55 def IsoCloseByCorrAlgCfg(flags, name="IsoCloseByCorrAlg", suff = "", isPhysLite = False, containerNames = [ "Muons", "Electrons", "Photons"], useSelTools = False, isoDecSuffix = "CloseByCorr", hasLRT = False, **kwargs):
60 elIsoWPs = [
"Loose_VarRad",
"TightTrackOnly_FixedRad" ]
61 muIsoWPs = [
"PflowLoose_VarRad",
"Loose_VarRad" ]
62 phIsoWPs = [
"FixedCutLoose",
"TightCaloOnly" ]
65 ElectronWPVec = elIsoWPs,
67 PhotonWPVec = phIsoWPs))
69 selectionDecorator =
"isoSelIsOK"
70 kwargs.setdefault(
"IsoCloseByCorrectionTool",
72 IsolationSelectionTool = isoTool,
73 SelectionDecorator = selectionDecorator,
74 IsoDecSuffix = isoDecSuffix,
75 EleContainers = [ x
for x
in containerNames
if x.find(
"Ele") != -1],
76 MuoContainers = [ x
for x
in containerNames
if x.find(
"Muo") != -1],
77 PhoContainers = [ x
for x
in containerNames
if x.find(
"Pho") != -1])))
80 from MuonSelectorTools.MuonSelectorToolsConfig
import MuonSelectionToolCfg
89 kwargs.setdefault(
"PhotSelectionKey",
"Photons.DFCommonPhotonsIsEMLoose")
91 kwargs.setdefault(
"ElecSelectionKey",
"Electrons.DFCommonElectronsLHVeryLooseNoPix")
93 kwargs.setdefault(
"ElecSelectionKey",
"Electrons.DFCommonElectronsLHVeryLoose")
96 kwargs.setdefault(
"ParticleContainerKeys", containerNames)
99 kwargs.setdefault(
"MinElecPt", 0.)
100 kwargs.setdefault(
"MinMuonPt", 0.)
101 kwargs.setdefault(
"MinPhotPt", 0.)
104 the_alg = CompFactory.CP.IsoCloseByCorrectionAlg(name + suff, **kwargs)
105 result.addEventAlgo(the_alg)
112 kwargs.setdefault(
"IsoCloseByCorrectionTool", result.popToolsAndMerge(
114 CaloCorrectionModel = -1
116 for cont
in containers:
117 result.addEventAlgo(CompFactory.CP.IsoCloseByCaloDecorAlg(name = name + cont + suff,
118 PrimaryContainer = cont,
124 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig
import AsgElectronLikelihoodToolCfg
125 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping
import electronLHmenu
126 from ElectronPhotonSelectorTools.LikelihoodEnums
import LikeEnum
127 from AthenaConfiguration.Enums
import LHCPeriod
129 name=
"ElectronSelTool",
130 quality = LikeEnum.VeryLoose,
131 menu=electronLHmenu.offlineMC21
if flags.GeoModel.Run >= LHCPeriod.Run3
else electronLHmenu.offlineMC20)))
133 from MuonSelectorTools.MuonSelectorToolsConfig
import MuonSelectionToolCfg
139 the_alg = CompFactory.CP.TestIsolationCloseByCorrAlg(name + suff, **kwargs)
140 result.addEventAlgo(the_alg, primary =
True)
143 def IsoCloseByAlgsCfg(flags, suff = "", isPhysLite = False, containerNames = [ "Muons", "Electrons", "Photons"], stream_name="", ttva_wp = "Nonprompt_All_MaxWeight", useSelTools = False, isoDecSuffix = "CloseByCorr", hasLRT = False):
169 from IsolationSelection.IsolationSelectionConfig
import IsoCloseByCorrAlgCfg
170 acc.merge(
IsoCloseByCorrAlgCfg(flags, suff = suff, isPhysLite = isPhysLite, containerNames = containerNames, useSelTools = useSelTools, isoDecSuffix = isoDecSuffix, hasLRT = hasLRT))
179 iso_corr_vars = [
"IsoCloseByCorr_assocClustEta",
"IsoCloseByCorr_assocClustPhi",
"IsoCloseByCorr_assocClustEnergy",
180 "IsoCloseByCorr_assocClustDecor",
"IsoCloseByCorr_assocPflowEta",
"IsoCloseByCorr_assocPflowPhi",
"IsoCloseByCorr_assocPflowEnergy",
181 "IsoCloseByCorr_assocPflowDecor"]
184 slimmingHelper.ExtraVariables += [
"Electrons."+(
".".
join(iso_corr_vars)),
185 "LRTElectrons."+(
".".
join(iso_corr_vars)),
186 "Muons."+(
".".
join(iso_corr_vars)),
187 "MuonsLRT."+(
".".
join(iso_corr_vars)) ]
189 slimmingHelper.ExtraVariables += [
"Electrons."+(
".".
join(iso_corr_vars)),
190 "Muons."+(
".".
join(iso_corr_vars)) ]