ATLAS Offline Software
Loading...
Searching...
No Matches
SKIM.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2# SKIM.py - special format allowing skimming of PHYS/PHYSLITE via a string
3# passed via the command line (--skimmingExpression)
4# All containers used for the skimming must be listed via --skimmingContainers
5# NOT TO BE USED FOR CENTRAL PRODUCTION
6
7from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
8from AthenaConfiguration.ComponentFactory import CompFactory
9from AthenaConfiguration.Enums import MetadataCategory
10from AthenaCommon.CFElements import seqAND
11
13 """Configure the skimming tool"""
14 from TrigDecisionTool.TrigDecisionToolConfig import TrigDecisionToolCfg
15 acc = ComponentAccumulator()
16 tdt = acc.getPrimaryAndMerge(TrigDecisionToolCfg(flags))
17
18 acc.addPublicTool(CompFactory.DerivationFramework.xAODStringSkimmingTool(name = "SKIMStringSkimmingTool",
19 expression = flags.Derivation.skimmingExpression,
20 TrigDecisionTool=tdt),
21 primary = True)
22 return(acc)
23
24
25def SKIMKernelCfg(flags, name='SKIMKernel', **kwargs):
26 """Configure the derivation framework driving algorithm (kernel)"""
27 acc = ComponentAccumulator()
28 acc.addSequence( seqAND("SKIMSequence") )
29 acc.getSequence("SKIMSequence").ExtraDataForDynamicConsumers = flags.Derivation.dynamicConsumers
30 acc.getSequence("SKIMSequence").ProcessDynamicDataDependencies = True
31 skimmingTool = acc.getPrimaryAndMerge(SKIMSkimmingToolCfg(flags))
32 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
33 acc.addEventAlgo(DerivationKernel(name, SkimmingTools = [skimmingTool]), sequenceName="SKIMSequence")
34 return acc
35
36
37def SKIMCfg(flags):
38
39 acc = ComponentAccumulator()
40 acc.merge(SKIMKernelCfg(flags, name="SKIMKernel"))
41
42 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
43 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
44
45 acc.merge(OutputStreamCfg(flags, "D2AOD_SKIM", ItemList=flags.Input.TypedCollections, AcceptAlgs=["SKIMKernel"]))
46 acc.merge(SetupMetaDataForStreamCfg(flags, "D2AOD_SKIM", AcceptAlgs=["SKIMKernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
47
48 return acc
SKIMSkimmingToolCfg(flags)
Definition SKIM.py:12
SKIMCfg(flags)
Definition SKIM.py:37
SKIMKernelCfg(flags, name='SKIMKernel', **kwargs)
Definition SKIM.py:25