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 MuonLoosenedNonCalibratedSelectionToolCfg
42 kwargs.setdefault(
"MuonSelectionTool", result.popToolsAndMerge(MuonLoosenedNonCalibratedSelectionToolCfg(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"], depContainerNames = None, useSelTools = False, isoDecSuffix = "CloseByCorr", caloDecSuffix = "", hasLRT = False, **kwargs):
57 result = ComponentAccumulator()
63 depNames = depContainerNames
if depContainerNames
is not None else containerNames
66 elIsoWPs = [
"Loose_VarRad",
"TightTrackOnly_FixedRad" ]
67 muIsoWPs = [
"PflowLoose_VarRad",
"Loose_VarRad" ]
68 phIsoWPs = [
"FixedCutLoose",
"TightCaloOnly" ]
71 ElectronWPVec = elIsoWPs,
73 PhotonWPVec = phIsoWPs))
75 selectionDecorator =
"isoSelIsOK" + suff
76 kwargs.setdefault(
"IsoCloseByCorrectionTool",
78 IsolationSelectionTool = isoTool,
79 SelectionDecorator = selectionDecorator,
80 IsoDecSuffix = isoDecSuffix,
81 CaloDecSuffix = caloDecSuffix,
82 EleContainers = [ x
for x
in depNames
if x.find(
"Ele") != -1],
83 MuoContainers = [ x
for x
in depNames
if x.find(
"Muo") != -1],
84 PhoContainers = [ x
for x
in depNames
if x.find(
"Pho") != -1])))
87 from MuonSelectorTools.MuonSelectorToolsConfig
import MuonLoosenedNonCalibratedSelectionToolCfg
88 kwargs.setdefault(
"MuonSelectionTool", result.popToolsAndMerge(MuonLoosenedNonCalibratedSelectionToolCfg(flags,
95 kwargs.setdefault(
"PhotSelectionKey",
"Photons.DFCommonPhotonsIsEMLoose")
97 kwargs.setdefault(
"ElecSelectionKey",
"Electrons.DFCommonElectronsLHVeryLooseNoPix")
99 kwargs.setdefault(
"ElecSelectionKey",
"Electrons.DFCommonElectronsLHVeryLoose")
102 kwargs.setdefault(
"ParticleContainerKeys", containerNames)
105 kwargs.setdefault(
"MinElecPt", 0.)
106 kwargs.setdefault(
"MinMuonPt", 0.)
107 kwargs.setdefault(
"MinPhotPt", 0.)
110 the_alg = CompFactory.CP.IsoCloseByCorrectionAlg(name + suff,
111 SelectionDecorator = selectionDecorator,
113 result.addEventAlgo(the_alg)
117 result = ComponentAccumulator()
120 kwargs.setdefault(
"IsoCloseByCorrectionTool", result.popToolsAndMerge(
122 CaloCorrectionModel = -1
124 for cont
in containers:
125 result.addEventAlgo(CompFactory.CP.IsoCloseByCaloDecorAlg(name = name + cont + suff,
126 PrimaryContainer = cont,
131 result = ComponentAccumulator()
132 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig
import AsgElectronLikelihoodToolCfg
133 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping
import electronLHmenu
134 from ElectronPhotonSelectorTools.LikelihoodEnums
import LikeEnum
135 from AthenaConfiguration.Enums
import LHCPeriod
136 kwargs.setdefault(
"ElectronSelectionTool", result.popToolsAndMerge(AsgElectronLikelihoodToolCfg(flags,
137 name=
"ElectronSelTool",
138 quality = LikeEnum.VeryLoose,
139 menu=electronLHmenu.offlineMC21
if flags.GeoModel.Run >= LHCPeriod.Run3
else electronLHmenu.offlineMC20)))
141 from MuonSelectorTools.MuonSelectorToolsConfig
import MuonLoosenedNonCalibratedSelectionToolCfg
142 kwargs.setdefault(
"MuonSelectionTool", result.popToolsAndMerge(MuonLoosenedNonCalibratedSelectionToolCfg(flags,
146 the_alg = CompFactory.CP.TestIsolationCloseByCorrAlg(name + suff, **kwargs)
147 result.addEventAlgo(the_alg, primary =
True)
150def IsoCloseByAlgsCfg(flags, suff = "", isPhysLite = False, containerNames = [ "Muons", "Electrons", "Photons"], depContainerNames = None, stream_name="", ttva_wp = "Nonprompt_All_MaxWeight", useSelTools = False, isoDecSuffix = "CloseByCorr", caloDecSuffix = "", hasLRT = False):
159 acc = ComponentAccumulator()
176 from IsolationSelection.IsolationSelectionConfig
import IsoCloseByCorrAlgCfg
177 acc.merge(
IsoCloseByCorrAlgCfg(flags, suff = suff, isPhysLite = isPhysLite, containerNames = containerNames, depContainerNames = depContainerNames, useSelTools = useSelTools, isoDecSuffix = isoDecSuffix, caloDecSuffix = caloDecSuffix, hasLRT = hasLRT))
184 iso_corr_vars = [
"IsoCloseByCorr_assocClustEta",
"IsoCloseByCorr_assocClustPhi",
"IsoCloseByCorr_assocClustEnergy",
185 "IsoCloseByCorr_assocClustDecor",
"IsoCloseByCorr_assocPflowEta",
"IsoCloseByCorr_assocPflowPhi",
"IsoCloseByCorr_assocPflowEnergy",
186 "IsoCloseByCorr_assocPflowDecor"]
189 slimmingHelper.ExtraVariables += [
"Electrons."+(
".".join(iso_corr_vars)),
190 "LRTElectrons."+(
".".join(iso_corr_vars)),
191 "Muons."+(
".".join(iso_corr_vars)),
192 "MuonsLRT."+(
".".join(iso_corr_vars)) ]
194 slimmingHelper.ExtraVariables += [
"Electrons."+(
".".join(iso_corr_vars)),
195 "Muons."+(
".".join(iso_corr_vars)) ]
setupIsoCloseBySlimmingVariables(slimmingHelper, isLLP1=False)
IsoCloseByCorrectionToolCfg(flags, name="IsoCloseByCorrectionTool", ttva_wp="", **kwargs)
TestIsoCloseByCorrectionCfg(flags, name="TestIsoCloseByAlg", suff="", **kwargs)
IsoCloseByAlgsCfg(flags, suff="", isPhysLite=False, containerNames=["Muons", "Electrons", "Photons"], depContainerNames=None, stream_name="", ttva_wp="Nonprompt_All_MaxWeight", useSelTools=False, isoDecSuffix="CloseByCorr", caloDecSuffix="", hasLRT=False)
IsoCloseByCorrSkimmingAlgCfg(flags, suff="", name="IsoCloseByCorrSkimmingAlg", ttva_wp='Nonprompt_All_MaxWeight', **kwargs)
IsoCloseByCorrAlgCfg(flags, name="IsoCloseByCorrAlg", suff="", isPhysLite=False, containerNames=["Muons", "Electrons", "Photons"], depContainerNames=None, useSelTools=False, isoDecSuffix="CloseByCorr", caloDecSuffix="", hasLRT=False, **kwargs)
IsoCloseByCaloDecorCfg(flags, name="IsoCloseByCaloDecor", suff="", containers=[], **kwargs)
MuonPhysValIsolationSelCfg(flags, **kwargs)
IsolationSelectionToolCfg(flags, name="IsolationSelectionTool", **kwargs)