91 """Configure the vertex constraint tool"""
92 acc = ComponentAccumulator()
94 if "IPEstimator" not in kwargs:
95 from TrkConfig.TrkVertexFitterUtilsConfig
import AtlasTrackToVertexIPEstimatorCfg
96 kwargs.setdefault(
"IPEstimator", acc.popToolsAndMerge(
97 AtlasTrackToVertexIPEstimatorCfg(flags)))
99 if "VertexTrackUpdator" not in kwargs:
100 from TrkConfig.TrkVertexFitterUtilsConfig
import KalmanVertexTrackUpdatorCfg
101 kwargs.setdefault(
"VertexTrackUpdator", acc.popToolsAndMerge(
102 KalmanVertexTrackUpdatorCfg(flags, SkipInvertibleCheck =
True)))
104 if "LinearizedTrackFactory" not in kwargs:
105 from TrkConfig.TrkVertexFitterUtilsConfig
import AtlasFullLinearizedTrackFactoryCfg
106 kwargs.setdefault(
"LinearizedTrackFactory", acc.popToolsAndMerge(
107 AtlasFullLinearizedTrackFactoryCfg(flags)))
109 if "TrackExtrapolator" not in kwargs:
110 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
111 kwargs.setdefault(
"TrackExtrapolator", acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags)))
113 acc.setPrivateTools(CompFactory.DerivationFramework.TrackParametersKVU(name, **kwargs))
160 from TriggerMenuMT.TriggerAPI.TriggerAPI
import TriggerAPI
161 from TriggerMenuMT.TriggerAPI.TriggerEnums
import TriggerPeriod, TriggerType
164 trig_tapis = {k: []
for k
in (
'el',
'mu',
'g',
'xe',
'elmu',
'mug',
'tau',
'tauxe',
'exotics',
'gxe')}
165 if flags.Trigger.EDMVersion <= 2:
167 allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34
168 TriggerAPI.setConfigFlags(flags)
169 trig_tapis[
'el'] = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.el, livefraction=0.8)
170 trig_tapis[
'mu'] = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.mu, livefraction=0.8)
171 trig_tapis[
'g'] = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.g, livefraction=0.8)
172 trig_tapis[
'xe'] = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.xe, livefraction=0.8)
173 trig_tapis[
'elmu'] = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.el, additionalTriggerType=TriggerType.mu, livefraction=0.8)
174 trig_tapis[
'mug'] = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.mu, additionalTriggerType=TriggerType.g, livefraction=0.8)
175 trig_tapis[
'tau'] = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.tau, livefraction=0.8)
176 trig_tapis[
'tauxe']= TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.tau, additionalTriggerType=TriggerType.xe, livefraction=0.8)
179 from DerivationFrameworkPhys.TriggerListsHelper
import getTapisSession
180 session = getTapisSession(flags)
181 trig_tapis[
'el'] = list(session.getLowestUnprescaled(triggerType=TriggerType.el, livefraction=0.75))
182 trig_tapis[
'mu'] = list(session.getLowestUnprescaled(triggerType=TriggerType.mu, livefraction=0.75))
183 trig_tapis[
'g'] = list(session.getLowestUnprescaled(triggerType=TriggerType.g, livefraction=0.75))
184 trig_tapis[
'xe'] = list(session.getLowestUnprescaled(triggerType=TriggerType.xe, livefraction=0.75))
185 trig_tapis[
'elmu'] = list(session.getLowestUnprescaled(triggerType=[TriggerType.el, TriggerType.mu], livefraction=0.75))
186 trig_tapis[
'mug'] = list(session.getLowestUnprescaled(triggerType=[TriggerType.mu, TriggerType.g], livefraction=0.75))
187 trig_tapis[
'tau'] = list(session.getLowestUnprescaled(triggerType=TriggerType.tau, livefraction=0.75))
188 trig_tapis[
'tauxe'] = list(session.getLowestUnprescaled(triggerType=[TriggerType.tau, TriggerType.xe], livefraction=0.75))
189 trig_tapis[
'exotics'] = list(session.getLowestUnprescaled(triggerType=TriggerType.exotics, livefraction=0.75))
190 trig_tapis[
'gxe'] = list(session.getLowestUnprescaled(triggerType=[TriggerType.g, TriggerType.xe], livefraction=0.75))
194 from PathResolver
import PathResolver
198 if (line := ln.strip())
and not line.startswith(
'#')
201 triggers = sorted(
set(sum(trig_tapis.values(), []) + trig_hardcoded))
204 from AthenaCommon.Logging
import logging
205 log = logging.getLogger(
"LLP1TriggerSkimmingToolCfg")
206 log.debug(
"LLP1 skimming trigger list (%d chains):", len(triggers))
210 acc = ComponentAccumulator()
211 TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool
212 acc.addPublicTool(TriggerSkimmingTool(name,
214 TriggerListOR = triggers,
221 """Configure the common trigger matching for run 2 DAODs"""
223 triggerList = kwargs[
'TriggerList']
224 outputContainerPrefix = kwargs[
'OutputContainerPrefix']
226 kwargs.setdefault(
'InputElectrons',
'LRTElectrons')
227 kwargs.setdefault(
'InputMuons',
'MuonsLRT')
228 kwargs.setdefault(
'DRThreshold',
None)
230 acc = ComponentAccumulator()
233 from DerivationFrameworkTrigger.TriggerMatchingToolConfig
import TriggerMatchingToolCfg
234 if kwargs[
'DRThreshold']
is None:
235 PhysCommonTriggerMatchingTool = acc.getPrimaryAndMerge(TriggerMatchingToolCfg(
238 ChainNames = triggerList,
239 OutputContainerPrefix = outputContainerPrefix,
240 InputElectrons = kwargs[
'InputElectrons'],
241 InputMuons = kwargs[
'InputMuons']))
243 PhysCommonTriggerMatchingTool = acc.getPrimaryAndMerge(TriggerMatchingToolCfg(
246 ChainNames = triggerList,
247 OutputContainerPrefix = outputContainerPrefix,
248 DRThreshold = kwargs[
'DRThreshold'],
249 InputElectrons = kwargs[
'InputElectrons'],
250 InputMuons = kwargs[
'InputMuons']))
251 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
252 acc.addEventAlgo(CommonAugmentation(f
"{outputContainerPrefix}TriggerMatchingKernel",
253 AugmentationTools=[PhysCommonTriggerMatchingTool]))
300 acc = ComponentAccumulator()
301 from ROOT
import egammaPID
302 from ElectronPhotonSelectorTools.AsgPhotonIsEMSelectorsConfig
import (
303 AsgPhotonIsEMSelectorCfg,
306 isFullSim = flags.Sim.ISF.Simulator.isFullSim()
if flags.Input.isMC
else False
309 from EGammaVariableCorrection.EGammaVariableCorrectionConfig
import (
310 PhotonVariableCorrectionToolCfg,
313 PhotonVariableCorrectionTool = acc.popToolsAndMerge(
314 PhotonVariableCorrectionToolCfg(flags))
315 acc.addPublicTool(PhotonVariableCorrectionTool)
317 PhotonIsEMSelectorMedium = acc.popToolsAndMerge(
318 AsgPhotonIsEMSelectorCfg(
319 flags, name=
"PhotonIsEMSelectorMedium", quality=egammaPID.PhotonIDMedium
322 acc.addPublicTool(PhotonIsEMSelectorMedium)
329 acc = ComponentAccumulator()
331 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig
import AsgElectronLikelihoodToolCfg
332 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping
import electronLHmenu
333 from ROOT
import LikeEnum
335 lhMenu = electronLHmenu.offlineMC21
336 if flags.GeoModel.Run
is LHCPeriod.Run2:
337 lhMenu = electronLHmenu.offlineMC20
339 ElectronLHSelectorVeryLooseNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
341 name=
"ElectronLHSelectorVeryLooseNoPix",
342 quality=LikeEnum.VeryLooseLLP,
345 ElectronLHSelectorVeryLooseNoPix.primaryVertexContainer =
"PrimaryVertices"
347 ElectronLHSelectorLooseNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
349 name=
"ElectronLHSelectorLooseNoPix",
350 quality=LikeEnum.LooseLLP,
353 ElectronLHSelectorLooseNoPix.primaryVertexContainer =
"PrimaryVertices"
355 ElectronLHSelectorMediumNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
357 name=
"ElectronLHSelectorMediumNoPix",
358 quality=LikeEnum.MediumLLP,
361 ElectronLHSelectorMediumNoPix.primaryVertexContainer =
"PrimaryVertices"
363 ElectronLHSelectorTightNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
365 name=
"ElectronLHSelectorTightNoPix",
366 quality=LikeEnum.TightLLP,
369 ElectronLHSelectorTightNoPix.primaryVertexContainer =
"PrimaryVertices"
371 from DerivationFrameworkEGamma.EGammaToolsConfig
import EGElectronLikelihoodToolWrapperCfg
374 ElectronPassLHVeryLooseNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
376 name=
"ElectronPassLHVeryLooseNoPix",
377 EGammaElectronLikelihoodTool=ElectronLHSelectorVeryLooseNoPix,
378 EGammaFudgeMCTool=
"",
380 StoreGateEntryName=
"DFCommonElectronsLHVeryLooseNoPix",
381 ContainerName=
"Electrons",
384 ElectronPassLHVeryLooseNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
386 name=
"ElectronPassLHVeryLooseNoPixLRT",
387 EGammaElectronLikelihoodTool=ElectronLHSelectorVeryLooseNoPix,
388 EGammaFudgeMCTool=
"",
390 StoreGateEntryName=
"DFCommonElectronsLHVeryLooseNoPix",
391 ContainerName=
"LRTElectrons",
395 ElectronPassLHLooseNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
397 name=
"ElectronPassLHLooseNoPix",
398 EGammaElectronLikelihoodTool=ElectronLHSelectorLooseNoPix,
399 EGammaFudgeMCTool=
"",
401 StoreGateEntryName=
"DFCommonElectronsLHLooseNoPix",
402 ContainerName=
"Electrons",
403 StoreTResult=
False)))
405 ElectronPassLHLooseNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
407 name=
"ElectronPassLHLooseNoPixLRT",
408 EGammaElectronLikelihoodTool=ElectronLHSelectorLooseNoPix,
409 EGammaFudgeMCTool=
"",
411 StoreGateEntryName=
"DFCommonElectronsLHLooseNoPix",
412 ContainerName=
"LRTElectrons",
413 StoreTResult=
False)))
416 ElectronPassLHMediumNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
418 name=
"ElectronPassLHMediumNoPix",
419 EGammaElectronLikelihoodTool=ElectronLHSelectorMediumNoPix,
420 EGammaFudgeMCTool=
"",
422 StoreGateEntryName=
"DFCommonElectronsLHMediumNoPix",
423 ContainerName=
"Electrons",
424 StoreTResult=
False)))
426 ElectronPassLHMediumNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
428 name=
"ElectronPassLHMediumNoPixLRT",
429 EGammaElectronLikelihoodTool=ElectronLHSelectorMediumNoPix,
430 EGammaFudgeMCTool=
"",
432 StoreGateEntryName=
"DFCommonElectronsLHMediumNoPix",
433 ContainerName=
"LRTElectrons",
434 StoreTResult=
False)))
437 ElectronPassLHTightNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
439 name=
"ElectronPassLHTightNoPix",
440 EGammaElectronLikelihoodTool=ElectronLHSelectorTightNoPix,
441 EGammaFudgeMCTool=
"",
443 StoreGateEntryName=
"DFCommonElectronsLHTightNoPix",
444 ContainerName=
"Electrons",
445 StoreTResult=
False)))
447 ElectronPassLHTightNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
449 name=
"ElectronPassLHTightNoPixLRT",
450 EGammaElectronLikelihoodTool=ElectronLHSelectorTightNoPix,
451 EGammaFudgeMCTool=
"",
453 StoreGateEntryName=
"DFCommonElectronsLHTightNoPix",
454 ContainerName=
"LRTElectrons",
455 StoreTResult=
False)))
457 LRTEGAugmentationTools = [ElectronPassLHVeryLooseNoPix,
458 ElectronPassLHVeryLooseNoPixLRT,
459 ElectronPassLHLooseNoPix,
460 ElectronPassLHLooseNoPixLRT,
461 ElectronPassLHMediumNoPix,
462 ElectronPassLHMediumNoPixLRT,
463 ElectronPassLHTightNoPix,
464 ElectronPassLHTightNoPixLRT]
466 acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
467 "LLP1EGammaLRTKernel",
468 AugmentationTools=LRTEGAugmentationTools