9def FourLeptonVertexerCfg(flags, name="FourLeptonVertexAlg", **kwargs):
10 result = ComponentAccumulator()
11
12 from MuonSelectorTools.MuonSelectorToolsConfig import MuonSelectionToolCfg
13 kwargs.setdefault("MuonSelectionTool", result.popToolsAndMerge(MuonSelectionToolCfg(flags,
14 MaxEta=2.7,
15 DisablePtCuts=True,
16 MuQuality=2,
17 )) )
18
19
20 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig import AsgElectronLikelihoodToolCfg
21 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping import electronLHmenu
22 from ElectronPhotonSelectorTools.LikelihoodEnums import LikeEnum
23 from AthenaConfiguration.Enums import LHCPeriod
24 kwargs.setdefault("ElectronSelectionTool", result.popToolsAndMerge(AsgElectronLikelihoodToolCfg(flags,
25 name= "ElectronSelTool",
26 quality = LikeEnum.VeryLoose,
27 menu=electronLHmenu.offlineMC21 if flags.GeoModel.Run >= LHCPeriod.Run3 else electronLHmenu.offlineMC20)))
28
29 from TrkConfig.TrkVKalVrtFitterConfig import TrkVKalVrtFitterCfg
30 kwargs.setdefault("VertexFitter", result.popToolsAndMerge(
31 TrkVKalVrtFitterCfg(flags, FirstMeasuredPoint = False)))
32 kwargs.setdefault("MinMuonPt", 4000)
33 kwargs.setdefault("MinElecPt", 6000)
34 vtx_tool = CompFactory.DerivationFramework.FourLeptonVertexingAlgorithm(name , **kwargs)
35 result.addEventAlgo(vtx_tool, primary = True)
36 return result
37