4from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
5from AthenaConfiguration.ComponentFactory
import CompFactory
6from AthenaConfiguration.Enums
import MetadataCategory
7from AthenaCommon.CFElements
import seqAND
8from InDetConfig.InDetTrackSelectionToolConfig
import InDetTrackSelectionTool_HITight_Cfg
13 """Configure the example skimming tool"""
14 acc = ComponentAccumulator()
17 ExtraData += [
'xAOD::MuonContainer/Muons']
18 ExtraData += [
'xAOD::ElectronContainer/Electrons']
19 ExtraData += [
'xAOD::VertexContainer/PrimaryVertices']
21 acc.addSequence( seqAND(
"HION2Sequence") )
22 acc.getSequence(
"HION2Sequence").ExtraDataForDynamicConsumers = ExtraData
23 acc.getSequence(
"HION2Sequence").ProcessDynamicDataDependencies =
True
26 from DerivationFrameworkHI
import ListTriggers
29 triggers += ListTriggers.HION2MinBiasOxygenOxygen2025()
31 expression =
' ( ' +
' || '.join(triggers) +
' )'
33 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import (
34 xAODStringSkimmingToolCfg)
35 acc.addPublicTool(acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(
36 flags, name =
"HION2StringSkimmingTool", expression = expression)), primary =
True)
41 """Configure the example augmentation tool"""
42 acc = ComponentAccumulator()
44 from InDetConfig.InDetTrackSelectionToolConfig
import InDetTrackSelectionTool_HILoose_Cfg
46 TrkSelTool_hi_loose = acc.popToolsAndMerge(InDetTrackSelectionTool_HILoose_Cfg(flags,
47 name =
"TrackSelectionTool_hi_loose",
50 TrkSelTool_hi_tight = acc.popToolsAndMerge(InDetTrackSelectionTool_HITight_Cfg(flags,
51 name =
"TrackSelectionTool_hi_tight",
53 acc.addPublicTool(TrkSelTool_hi_loose)
54 acc.addPublicTool(TrkSelTool_hi_tight)
57 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
58 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
61 vkalVrtFitter = CompFactory.Trk.TrkVKalVrtFitter(name=
"HION2_VKalVrtFitter")
62 acc.addPublicTool(vkalVrtFitter)
64 trkToLeptonPVTool = CompFactory.TrkToLeptonPVTool(
65 name=
"HION2_TrkToLeptonPVTool",
66 VertexFitter=vkalVrtFitter
68 acc.addPublicTool(trkToLeptonPVTool)
70 acc.addPublicTool(CompFactory.DerivationFramework.HITrackQualityAugmentationTool(name=
"HION2AugmentationTool",
71 TrackSelectionTool_pp = TrkSelTool_hi_loose,
72 TrackSelectionTool_hi_loose =TrkSelTool_hi_loose,
73 TrackSelectionTool_hi_tight =TrkSelTool_hi_tight,
74 TrkToLeptonPVTool = trkToLeptonPVTool),
79 """Configure the derivation framework driving algorithm (kernel)"""
80 acc = ComponentAccumulator()
85 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
86 acc.addEventAlgo(DerivationKernel(name,
87 SkimmingTools = [skimmingTool],
88 AugmentationTools = [augmentationTool]),
89 sequenceName =
"HION2Sequence")
95 acc = ComponentAccumulator()
96 acc.merge(
HION2KernelCfg(flags, name=
"HION2Kernel",StreamName =
"StreamDAOD_HION2"))
98 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
99 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
100 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
104 from DerivationFrameworkHI
import ListSlimming
106 HION2SlimmingHelper =
SlimmingHelper(
"HION2SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
109 AllVar += ListSlimming.HION2AllVariablesGeneral()
110 AllVar += ListSlimming.HION2AllVariablesPbPb_2015_5TeV()
111 AllVar += ListSlimming.HION2AllVariablespPb_2016()
114 ExtraVar += ListSlimming.HION2ExtraVariablesGeneral()
115 ExtraVar += ListSlimming.HION2ExtraVariablesPbPb_2015_5TeV()
117 HION2SlimmingHelper.AllVariables = AllVar
118 HION2SlimmingHelper.ExtraVariables = ExtraVar
120 HION2ItemList = HION2SlimmingHelper.GetItemList()
122 acc.merge(OutputStreamCfg(flags,
"DAOD_HION2", ItemList=HION2ItemList, AcceptAlgs=[
"HION2Kernel"]))
123 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_HION2", AcceptAlgs=[
"HION2Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
HION2SkimmingToolCfg(flags)
Skiming.
HION2AugmentationToolCfg(flags)
HION2KernelCfg(flags, name='HION2Kernel', **kwargs)