3from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory
import CompFactory
7 acc = ComponentAccumulator()
8 acc.setPrivateTools(CompFactory.CP.IsolationSelectionTool(name, **kwargs))
15 acc = ComponentAccumulator()
17 from InDetTrackSelectionTool.InDetTrackSelectionToolConfig
import (
18 isoTrackSelectionToolCfg)
19 kwargs.setdefault(
"TrackSelectionTool", acc.popToolsAndMerge(isoTrackSelectionToolCfg(flags, minPt=500)) )
21 from TrackVertexAssociationTool.TrackVertexAssociationToolConfig
import isoTTVAToolCfg
22 kwargs.setdefault(
"TTVASelectionTool", acc.popToolsAndMerge(isoTTVAToolCfg(flags, WorkingPoint = ttva_wp)))
23 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg
24 kwargs.setdefault(
"ParticleCaloExtensionTool", acc.popToolsAndMerge(ParticleCaloExtensionToolCfg(flags)))
25 the_tool = CompFactory.CP.IsolationCloseByCorrectionTool(name, **kwargs)
26 acc.setPrivateTools(the_tool)
31 result = ComponentAccumulator()
32 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig
import AsgElectronLikelihoodToolCfg
33 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping
import electronLHmenu
34 from ElectronPhotonSelectorTools.LikelihoodEnums
import LikeEnum
35 from AthenaConfiguration.Enums
import LHCPeriod
36 kwargs.setdefault(
"ElectronSelectionTool", result.popToolsAndMerge(AsgElectronLikelihoodToolCfg(flags,
37 name=
"ElectronSelTool",
38 quality = LikeEnum.VeryLoose,
39 menu=electronLHmenu.offlineMC21
if flags.GeoModel.Run >= LHCPeriod.Run3
else electronLHmenu.offlineMC20)))
41 from MuonSelectorTools.MuonSelectorToolsConfig
import MuonSelectionToolCfg
42 kwargs.setdefault(
"MuonSelectionTool", result.popToolsAndMerge(MuonSelectionToolCfg(flags,
51 kwargs.setdefault(
"PhotContainer",
"")
52 the_alg = CompFactory.CP.IsoCloseByCorrectionTrkSelAlg(name+ttva_wp+suff, **kwargs)
53 result.addEventAlgo(the_alg, primary =
True)
56def IsoCloseByCorrAlgCfg(flags, name="IsoCloseByCorrAlg", suff = "", isPhysLite = False, containerNames = [ "Muons", "Electrons", "Photons"], useSelTools = False, isoDecSuffix = "CloseByCorr", caloDecSuffix = "", hasLRT = False, **kwargs):
58 result = ComponentAccumulator()
61 elIsoWPs = [
"Loose_VarRad",
"TightTrackOnly_FixedRad" ]
62 muIsoWPs = [
"PflowLoose_VarRad",
"Loose_VarRad" ]
63 phIsoWPs = [
"FixedCutLoose",
"TightCaloOnly" ]
66 ElectronWPVec = elIsoWPs,
68 PhotonWPVec = phIsoWPs))
70 selectionDecorator =
"isoSelIsOK" + suff
71 kwargs.setdefault(
"IsoCloseByCorrectionTool",
73 IsolationSelectionTool = isoTool,
74 SelectionDecorator = selectionDecorator,
75 IsoDecSuffix = isoDecSuffix,
76 CaloDecSuffix = caloDecSuffix,
77 EleContainers = [ x
for x
in containerNames
if x.find(
"Ele") != -1],
78 MuoContainers = [ x
for x
in containerNames
if x.find(
"Muo") != -1],
79 PhoContainers = [ x
for x
in containerNames
if x.find(
"Pho") != -1])))
82 from MuonSelectorTools.MuonSelectorToolsConfig
import MuonSelectionToolCfg
83 kwargs.setdefault(
"MuonSelectionTool", result.popToolsAndMerge(MuonSelectionToolCfg(flags,
91 kwargs.setdefault(
"PhotSelectionKey",
"Photons.DFCommonPhotonsIsEMLoose")
93 kwargs.setdefault(
"ElecSelectionKey",
"Electrons.DFCommonElectronsLHVeryLooseNoPix")
95 kwargs.setdefault(
"ElecSelectionKey",
"Electrons.DFCommonElectronsLHVeryLoose")
98 kwargs.setdefault(
"ParticleContainerKeys", containerNames)
101 kwargs.setdefault(
"MinElecPt", 0.)
102 kwargs.setdefault(
"MinMuonPt", 0.)
103 kwargs.setdefault(
"MinPhotPt", 0.)
106 the_alg = CompFactory.CP.IsoCloseByCorrectionAlg(name + suff,
107 SelectionDecorator = selectionDecorator,
109 result.addEventAlgo(the_alg)
113 result = ComponentAccumulator()
116 kwargs.setdefault(
"IsoCloseByCorrectionTool", result.popToolsAndMerge(
118 CaloCorrectionModel = -1
120 for cont
in containers:
121 result.addEventAlgo(CompFactory.CP.IsoCloseByCaloDecorAlg(name = name + cont + suff,
122 PrimaryContainer = cont,
127 result = ComponentAccumulator()
128 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig
import AsgElectronLikelihoodToolCfg
129 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping
import electronLHmenu
130 from ElectronPhotonSelectorTools.LikelihoodEnums
import LikeEnum
131 from AthenaConfiguration.Enums
import LHCPeriod
132 kwargs.setdefault(
"ElectronSelectionTool", result.popToolsAndMerge(AsgElectronLikelihoodToolCfg(flags,
133 name=
"ElectronSelTool",
134 quality = LikeEnum.VeryLoose,
135 menu=electronLHmenu.offlineMC21
if flags.GeoModel.Run >= LHCPeriod.Run3
else electronLHmenu.offlineMC20)))
137 from MuonSelectorTools.MuonSelectorToolsConfig
import MuonSelectionToolCfg
138 kwargs.setdefault(
"MuonSelectionTool", result.popToolsAndMerge(MuonSelectionToolCfg(flags,
143 the_alg = CompFactory.CP.TestIsolationCloseByCorrAlg(name + suff, **kwargs)
144 result.addEventAlgo(the_alg, primary =
True)
147def IsoCloseByAlgsCfg(flags, suff = "", isPhysLite = False, containerNames = [ "Muons", "Electrons", "Photons"], stream_name="", ttva_wp = "Nonprompt_All_MaxWeight", useSelTools = False, isoDecSuffix = "CloseByCorr", caloDecSuffix = "", hasLRT = False):
156 acc = ComponentAccumulator()
173 from IsolationSelection.IsolationSelectionConfig
import IsoCloseByCorrAlgCfg
174 acc.merge(
IsoCloseByCorrAlgCfg(flags, suff = suff, isPhysLite = isPhysLite, containerNames = containerNames, useSelTools = useSelTools, isoDecSuffix = isoDecSuffix, caloDecSuffix = caloDecSuffix, hasLRT = hasLRT))
181 iso_corr_vars = [
"IsoCloseByCorr_assocClustEta",
"IsoCloseByCorr_assocClustPhi",
"IsoCloseByCorr_assocClustEnergy",
182 "IsoCloseByCorr_assocClustDecor",
"IsoCloseByCorr_assocPflowEta",
"IsoCloseByCorr_assocPflowPhi",
"IsoCloseByCorr_assocPflowEnergy",
183 "IsoCloseByCorr_assocPflowDecor"]
186 slimmingHelper.ExtraVariables += [
"Electrons."+(
".".join(iso_corr_vars)),
187 "LRTElectrons."+(
".".join(iso_corr_vars)),
188 "Muons."+(
".".join(iso_corr_vars)),
189 "MuonsLRT."+(
".".join(iso_corr_vars)) ]
191 slimmingHelper.ExtraVariables += [
"Electrons."+(
".".join(iso_corr_vars)),
192 "Muons."+(
".".join(iso_corr_vars)) ]
IsoCloseByAlgsCfg(flags, suff="", isPhysLite=False, containerNames=["Muons", "Electrons", "Photons"], stream_name="", ttva_wp="Nonprompt_All_MaxWeight", useSelTools=False, isoDecSuffix="CloseByCorr", caloDecSuffix="", hasLRT=False)
setupIsoCloseBySlimmingVariables(slimmingHelper, isLLP1=False)
IsoCloseByCorrectionToolCfg(flags, name="IsoCloseByCorrectionTool", ttva_wp="", **kwargs)
TestIsoCloseByCorrectionCfg(flags, name="TestIsoCloseByAlg", suff="", **kwargs)
IsoCloseByCorrSkimmingAlgCfg(flags, suff="", name="IsoCloseByCorrSkimmingAlg", ttva_wp='Nonprompt_All_MaxWeight', **kwargs)
IsoCloseByCaloDecorCfg(flags, name="IsoCloseByCaloDecor", suff="", containers=[], **kwargs)
IsoCloseByCorrAlgCfg(flags, name="IsoCloseByCorrAlg", suff="", isPhysLite=False, containerNames=["Muons", "Electrons", "Photons"], useSelTools=False, isoDecSuffix="CloseByCorr", caloDecSuffix="", hasLRT=False, **kwargs)
MuonPhysValIsolationSelCfg(flags, **kwargs)
IsolationSelectionToolCfg(flags, name="IsolationSelectionTool", **kwargs)