4 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
5 from AthenaConfiguration.ComponentFactory
import CompFactory
6 from AthenaConfiguration.Enums
import MetadataCategory
7 from AthenaCommon.CFElements
import seqAND
8 from InDetConfig.InDetTrackSelectionToolConfig
import InDetTrackSelectionTool_HITight_Cfg
13 """Configure the example skimming tool"""
14 from TrigDecisionTool.TrigDecisionToolConfig
import TrigDecisionToolCfg
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) +
' )'
35 acc.addPublicTool(CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"HION2StringSkimmingTool",
36 expression = expression,
37 TrigDecisionTool=tdt),
43 """Configure the example augmentation tool"""
46 from InDetConfig.InDetTrackSelectionToolConfig
import InDetTrackSelectionTool_HILoose_Cfg
49 name =
"TrackSelectionTool_hi_loose",
53 name =
"TrackSelectionTool_hi_tight",
55 acc.addPublicTool(TrkSelTool_hi_loose)
56 acc.addPublicTool(TrkSelTool_hi_tight)
59 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
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)"""
87 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
89 SkimmingTools = [skimmingTool],
90 AugmentationTools = [augmentationTool]),
91 sequenceName =
"HION2Sequence")
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]))