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", caloDecSuffix = "", 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" + suff
70 kwargs.setdefault(
"IsoCloseByCorrectionTool",
72 IsolationSelectionTool = isoTool,
73 SelectionDecorator = selectionDecorator,
74 IsoDecSuffix = isoDecSuffix,
75 CaloDecSuffix = caloDecSuffix,
76 EleContainers = [ x
for x
in containerNames
if x.find(
"Ele") != -1],
77 MuoContainers = [ x
for x
in containerNames
if x.find(
"Muo") != -1],
78 PhoContainers = [ x
for x
in containerNames
if x.find(
"Pho") != -1])))
81 from MuonSelectorTools.MuonSelectorToolsConfig
import MuonSelectionToolCfg
90 kwargs.setdefault(
"PhotSelectionKey",
"Photons.DFCommonPhotonsIsEMLoose")
92 kwargs.setdefault(
"ElecSelectionKey",
"Electrons.DFCommonElectronsLHVeryLooseNoPix")
94 kwargs.setdefault(
"ElecSelectionKey",
"Electrons.DFCommonElectronsLHVeryLoose")
97 kwargs.setdefault(
"ParticleContainerKeys", containerNames)
100 kwargs.setdefault(
"MinElecPt", 0.)
101 kwargs.setdefault(
"MinMuonPt", 0.)
102 kwargs.setdefault(
"MinPhotPt", 0.)
105 the_alg = CompFactory.CP.IsoCloseByCorrectionAlg(name + suff,
106 SelectionDecorator = selectionDecorator,
108 result.addEventAlgo(the_alg)
115 kwargs.setdefault(
"IsoCloseByCorrectionTool", result.popToolsAndMerge(
117 CaloCorrectionModel = -1
119 for cont
in containers:
120 result.addEventAlgo(CompFactory.CP.IsoCloseByCaloDecorAlg(name = name + cont + suff,
121 PrimaryContainer = cont,
127 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig
import AsgElectronLikelihoodToolCfg
128 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping
import electronLHmenu
129 from ElectronPhotonSelectorTools.LikelihoodEnums
import LikeEnum
130 from AthenaConfiguration.Enums
import LHCPeriod
132 name=
"ElectronSelTool",
133 quality = LikeEnum.VeryLoose,
134 menu=electronLHmenu.offlineMC21
if flags.GeoModel.Run >= LHCPeriod.Run3
else electronLHmenu.offlineMC20)))
136 from MuonSelectorTools.MuonSelectorToolsConfig
import MuonSelectionToolCfg
142 the_alg = CompFactory.CP.TestIsolationCloseByCorrAlg(name + suff, **kwargs)
143 result.addEventAlgo(the_alg, primary =
True)
146 def IsoCloseByAlgsCfg(flags, suff = "", isPhysLite = False, containerNames = [ "Muons", "Electrons", "Photons"], stream_name="", ttva_wp = "Nonprompt_All_MaxWeight", useSelTools = False, isoDecSuffix = "CloseByCorr", caloDecSuffix = "", hasLRT = False):
172 from IsolationSelection.IsolationSelectionConfig
import IsoCloseByCorrAlgCfg
173 acc.merge(
IsoCloseByCorrAlgCfg(flags, suff = suff, isPhysLite = isPhysLite, containerNames = containerNames, useSelTools = useSelTools, isoDecSuffix = isoDecSuffix, caloDecSuffix = caloDecSuffix, hasLRT = hasLRT))
180 iso_corr_vars = [
"IsoCloseByCorr_assocClustEta",
"IsoCloseByCorr_assocClustPhi",
"IsoCloseByCorr_assocClustEnergy",
181 "IsoCloseByCorr_assocClustDecor",
"IsoCloseByCorr_assocPflowEta",
"IsoCloseByCorr_assocPflowPhi",
"IsoCloseByCorr_assocPflowEnergy",
182 "IsoCloseByCorr_assocPflowDecor"]
185 slimmingHelper.ExtraVariables += [
"Electrons."+(
".".
join(iso_corr_vars)),
186 "LRTElectrons."+(
".".
join(iso_corr_vars)),
187 "Muons."+(
".".
join(iso_corr_vars)),
188 "MuonsLRT."+(
".".
join(iso_corr_vars)) ]
190 slimmingHelper.ExtraVariables += [
"Electrons."+(
".".
join(iso_corr_vars)),
191 "Muons."+(
".".
join(iso_corr_vars)) ]