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::VertexContainer/PrimaryVertices']
 
   20     acc.addSequence( 
seqAND(
"HION2Sequence") )
 
   21     acc.getSequence(
"HION2Sequence").ExtraDataForDynamicConsumers = ExtraData
 
   22     acc.getSequence(
"HION2Sequence").ProcessDynamicDataDependencies = 
True 
   25     from DerivationFrameworkHI 
import ListTriggers
 
   28     triggers += ListTriggers.HION2MinBias2024()
 
   30     expression = 
' ( ' +
' || '.
join(triggers) + 
' ) && (count(abs(PrimaryVertices.z)<100)>1)' 
   33     acc.addPublicTool(CompFactory.DerivationFramework.xAODStringSkimmingTool(name       = 
"HION2StringSkimmingTool",
 
   34                                                                              expression = expression,
 
   35                                                                              TrigDecisionTool=tdt), 
 
   41     """Configure the example augmentation tool""" 
   44     from InDetConfig.InDetTrackSelectionToolConfig 
import InDetTrackSelectionTool_HILoose_Cfg
 
   47                                                             name = 
"TrackSelectionTool_hi_loose",
 
   51                                                             name = 
"TrackSelectionTool_hi_tight",
 
   53     acc.addPublicTool(TrkSelTool_hi_loose)
 
   54     acc.addPublicTool(TrkSelTool_hi_tight)
 
   56     acc.addPublicTool(CompFactory.DerivationFramework.HITrackQualityAugmentationTool(name= 
"HION2AugmentationTool",
 
   57                       TrackSelectionTool_pp = TrkSelTool_hi_loose,  
 
   58                       TrackSelectionTool_hi_loose =TrkSelTool_hi_loose,
 
   59                       TrackSelectionTool_hi_tight =TrkSelTool_hi_tight),
 
   64     """Configure the derivation framework driving algorithm (kernel)""" 
   70     DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
 
   72                                       SkimmingTools     = [skimmingTool],
 
   73                                       AugmentationTools = [augmentationTool]),
 
   74                                       sequenceName = 
"HION2Sequence")
 
   81     acc.merge(
HION2KernelCfg(flags, name=
"HION2Kernel",StreamName = 
"StreamDAOD_HION2"))
 
   83     from OutputStreamAthenaPool.OutputStreamConfig 
import OutputStreamCfg
 
   84     from xAODMetaDataCnv.InfileMetaDataConfig 
import SetupMetaDataForStreamCfg
 
   85     from DerivationFrameworkCore.SlimmingHelper 
import SlimmingHelper
 
   89     from DerivationFrameworkHI 
import ListSlimming
 
   91     HION2SlimmingHelper = 
SlimmingHelper(
"HION2SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
 
   94     AllVar += ListSlimming.HION2AllVariablesGeneral()
 
   95     AllVar += ListSlimming.HION2AllVariablesPbPb_2015_5TeV()
 
   96     AllVar += ListSlimming.HION2AllVariablespPb_2016()
 
   99     ExtraVar += ListSlimming.HION2ExtraVariablesGeneral()
 
  100     ExtraVar += ListSlimming.HION2ExtraVariablesPbPb_2015_5TeV()
 
  102     HION2SlimmingHelper.AllVariables     = AllVar
 
  103     HION2SlimmingHelper.ExtraVariables   = ExtraVar
 
  105     HION2ItemList = HION2SlimmingHelper.GetItemList()
 
  107     acc.merge(
OutputStreamCfg(flags, 
"DAOD_HION2", ItemList=HION2ItemList, AcceptAlgs=[
"HION2Kernel"]))
 
  108     acc.merge(
SetupMetaDataForStreamCfg(flags, 
"DAOD_HION2", AcceptAlgs=[
"HION2Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))