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 InDetConfig.InDetTrackSelectionToolConfig
import isoTrackSelectionToolCfg
18 kwargs.setdefault(
"TrackSelectionTool", acc.popToolsAndMerge(isoTrackSelectionToolCfg(flags, minPt=500)) )
20 from TrackVertexAssociationTool.TrackVertexAssociationToolConfig
import isoTTVAToolCfg
21 kwargs.setdefault(
"TTVASelectionTool", acc.popToolsAndMerge(isoTTVAToolCfg(flags, WorkingPoint = ttva_wp)))
22 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg
23 kwargs.setdefault(
"ParticleCaloExtensionTool", acc.popToolsAndMerge(ParticleCaloExtensionToolCfg(flags)))
24 the_tool = CompFactory.CP.IsolationCloseByCorrectionTool(name, **kwargs)
25 acc.setPrivateTools(the_tool)
30 result = ComponentAccumulator()
31 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig
import AsgElectronLikelihoodToolCfg
32 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping
import electronLHmenu
33 from ElectronPhotonSelectorTools.LikelihoodEnums
import LikeEnum
34 from AthenaConfiguration.Enums
import LHCPeriod
35 kwargs.setdefault(
"ElectronSelectionTool", result.popToolsAndMerge(AsgElectronLikelihoodToolCfg(flags,
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
41 kwargs.setdefault(
"MuonSelectionTool", result.popToolsAndMerge(MuonSelectionToolCfg(flags,
50 kwargs.setdefault(
"PhotContainer",
"")
51 the_alg = CompFactory.CP.IsoCloseByCorrectionTrkSelAlg(name+ttva_wp+suff, **kwargs)
52 result.addEventAlgo(the_alg, primary =
True)
55def IsoCloseByCorrAlgCfg(flags, name="IsoCloseByCorrAlg", suff = "", isPhysLite = False, containerNames = [ "Muons", "Electrons", "Photons"], useSelTools = False, isoDecSuffix = "CloseByCorr", caloDecSuffix = "", hasLRT = False, **kwargs):
57 result = ComponentAccumulator()
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
82 kwargs.setdefault(
"MuonSelectionTool", result.popToolsAndMerge(MuonSelectionToolCfg(flags,
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)
112 result = ComponentAccumulator()
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,
126 result = ComponentAccumulator()
127 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig
import AsgElectronLikelihoodToolCfg
128 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping
import electronLHmenu
129 from ElectronPhotonSelectorTools.LikelihoodEnums
import LikeEnum
130 from AthenaConfiguration.Enums
import LHCPeriod
131 kwargs.setdefault(
"ElectronSelectionTool", result.popToolsAndMerge(AsgElectronLikelihoodToolCfg(flags,
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
137 kwargs.setdefault(
"MuonSelectionTool", result.popToolsAndMerge(MuonSelectionToolCfg(flags,
142 the_alg = CompFactory.CP.TestIsolationCloseByCorrAlg(name + suff, **kwargs)
143 result.addEventAlgo(the_alg, primary =
True)
146def IsoCloseByAlgsCfg(flags, suff = "", isPhysLite = False, containerNames = [ "Muons", "Electrons", "Photons"], stream_name="", ttva_wp = "Nonprompt_All_MaxWeight", useSelTools = False, isoDecSuffix = "CloseByCorr", caloDecSuffix = "", hasLRT = False):
155 acc = ComponentAccumulator()
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)) ]
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)