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 from TrigDecisionTool.TrigDecisionToolConfig
import TrigDecisionToolCfg
15 acc = ComponentAccumulator()
18 ExtraData += [
'xAOD::MuonContainer/Muons']
19 ExtraData += [
'xAOD::ElectronContainer/Electrons']
20 ExtraData += [
'xAOD::VertexContainer/PrimaryVertices']
22 acc.addSequence( seqAND(
"HION2Sequence") )
23 acc.getSequence(
"HION2Sequence").ExtraDataForDynamicConsumers = ExtraData
24 acc.getSequence(
"HION2Sequence").ProcessDynamicDataDependencies =
True
27 from DerivationFrameworkHI
import ListTriggers
30 triggers += ListTriggers.HION2MinBiasOxygenOxygen2025()
32 expression =
' ( ' +
' || '.join(triggers) +
' )'
34 tdt = acc.getPrimaryAndMerge(TrigDecisionToolCfg(flags))
35 acc.addPublicTool(CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"HION2StringSkimmingTool",
36 expression = expression,
37 TrigDecisionTool=tdt),
43 """Configure the example augmentation tool"""
44 acc = ComponentAccumulator()
46 from InDetConfig.InDetTrackSelectionToolConfig
import InDetTrackSelectionTool_HILoose_Cfg
48 TrkSelTool_hi_loose = acc.popToolsAndMerge(InDetTrackSelectionTool_HILoose_Cfg(flags,
49 name =
"TrackSelectionTool_hi_loose",
52 TrkSelTool_hi_tight = acc.popToolsAndMerge(InDetTrackSelectionTool_HITight_Cfg(flags,
53 name =
"TrackSelectionTool_hi_tight",
55 acc.addPublicTool(TrkSelTool_hi_loose)
56 acc.addPublicTool(TrkSelTool_hi_tight)
59 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
60 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
63 vkalVrtFitter = CompFactory.Trk.TrkVKalVrtFitter(name=
"HION2_VKalVrtFitter")
64 acc.addPublicTool(vkalVrtFitter)
66 trkToLeptonPVTool = CompFactory.TrkToLeptonPVTool(
67 name=
"HION2_TrkToLeptonPVTool",
68 VertexFitter=vkalVrtFitter
70 acc.addPublicTool(trkToLeptonPVTool)
72 acc.addPublicTool(CompFactory.DerivationFramework.HITrackQualityAugmentationTool(name=
"HION2AugmentationTool",
73 TrackSelectionTool_pp = TrkSelTool_hi_loose,
74 TrackSelectionTool_hi_loose =TrkSelTool_hi_loose,
75 TrackSelectionTool_hi_tight =TrkSelTool_hi_tight,
76 TrkToLeptonPVTool = trkToLeptonPVTool),
81 """Configure the derivation framework driving algorithm (kernel)"""
82 acc = ComponentAccumulator()
87 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
88 acc.addEventAlgo(DerivationKernel(name,
89 SkimmingTools = [skimmingTool],
90 AugmentationTools = [augmentationTool]),
91 sequenceName =
"HION2Sequence")
97 acc = ComponentAccumulator()
98 acc.merge(
HION2KernelCfg(flags, name=
"HION2Kernel",StreamName =
"StreamDAOD_HION2"))
100 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
101 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
102 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
106 from DerivationFrameworkHI
import ListSlimming
108 HION2SlimmingHelper =
SlimmingHelper(
"HION2SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
111 AllVar += ListSlimming.HION2AllVariablesGeneral()
112 AllVar += ListSlimming.HION2AllVariablesPbPb_2015_5TeV()
113 AllVar += ListSlimming.HION2AllVariablespPb_2016()
116 ExtraVar += ListSlimming.HION2ExtraVariablesGeneral()
117 ExtraVar += ListSlimming.HION2ExtraVariablesPbPb_2015_5TeV()
119 HION2SlimmingHelper.AllVariables = AllVar
120 HION2SlimmingHelper.ExtraVariables = ExtraVar
122 HION2ItemList = HION2SlimmingHelper.GetItemList()
124 acc.merge(OutputStreamCfg(flags,
"DAOD_HION2", ItemList=HION2ItemList, AcceptAlgs=[
"HION2Kernel"]))
125 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_HION2", AcceptAlgs=[
"HION2Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
HION2SkimmingToolCfg(flags)
Skiming.
HION2AugmentationToolCfg(flags)
HION2KernelCfg(flags, name='HION2Kernel', **kwargs)