ATLAS Offline Software
TEST3.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 #!/usr/bin/env python
3 # TEST3.py - derivation framework example demonstrating thinning
4 
5 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory import CompFactory
7 from AthenaConfiguration.Enums import MetadataCategory
8 
9 def TEST3ThinningToolCfg(flags,streamName):
10  """Configure the example thinning tool"""
11  acc = ComponentAccumulator()
12  acc.addPublicTool(CompFactory.DerivationFramework.ThinningToolExample(name = "TEST3ThinningTool",
13  StreamName = streamName,
14  TrackPtCut = 20000.0),
15  primary = True)
16  return(acc)
17 
18 
19 def TEST3KernelCfg(flags, name='TEST3Kernel', **kwargs):
20  """Configure the derivation framework driving algorithm (kernel)"""
21  acc = ComponentAccumulator()
22  thinningTool = acc.getPrimaryAndMerge(TEST3ThinningToolCfg(flags,kwargs["StreamName"]))
23  DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
24  acc.addEventAlgo(DerivationKernel(name, ThinningTools = [thinningTool]))
25  return acc
26 
27 
28 def TEST3Cfg(flags):
29 
30  acc = ComponentAccumulator()
31  acc.merge(TEST3KernelCfg(flags, name="TEST3Kernel",StreamName = "StreamDAOD_TEST3"))
32 
33  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
34  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
35  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
36  TEST3SlimmingHelper = SlimmingHelper("TEST3SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
37  TEST3SlimmingHelper.SmartCollections = ["EventInfo","InDetTrackParticles"]
38  TEST3ItemList = TEST3SlimmingHelper.GetItemList()
39  acc.merge(OutputStreamCfg(flags, "DAOD_TEST3", ItemList=TEST3ItemList, AcceptAlgs=["TEST3Kernel"]))
40  acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_TEST3", AcceptAlgs=["TEST3Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
41  return acc
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:12
HION12.DerivationKernel
DerivationKernel
Definition: HION12.py:67
python.TEST3.TEST3KernelCfg
def TEST3KernelCfg(flags, name='TEST3Kernel', **kwargs)
Definition: TEST3.py:19
python.TEST3.TEST3ThinningToolCfg
def TEST3ThinningToolCfg(flags, streamName)
Definition: TEST3.py:9
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:216
SlimmingHelper
Definition: SlimmingHelper.py:1
python.TEST3.TEST3Cfg
def TEST3Cfg(flags)
Definition: TEST3.py:28