ATLAS Offline Software
TEST4.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 # TEST4.py - derivation framework example demonstrating slimming
4 # Note this is the same as TEST1,2,3 but without any tools
5 
6 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
7 from AthenaConfiguration.ComponentFactory import CompFactory
8 from AthenaConfiguration.Enums import MetadataCategory
9 
10 def TEST4KernelCfg(flags, name='TEST4Kernel', **kwargs):
11  """Configure the derivation framework driving algorithm (kernel)"""
12  acc = ComponentAccumulator()
13  DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
14  acc.addEventAlgo(DerivationKernel(name))
15  return acc
16 
17 
18 def TEST4Cfg(flags):
19 
20  acc = ComponentAccumulator()
21  acc.merge(TEST4KernelCfg(flags, name="TEST4Kernel"))
22 
23  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
24  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
25  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
26  TEST4SlimmingHelper = SlimmingHelper("TEST4SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
27  TEST4SlimmingHelper.SmartCollections = ["EventInfo",
28  "Electrons",
29  "Photons",
30  "Muons",
31  "PrimaryVertices",
32  "InDetTrackParticles",
33  "AntiKt4EMTopoJets",
34  "AntiKt4EMPFlowJets",
35  "BTagging_AntiKt4EMPFlow",
36  "BTagging_AntiKtVR30Rmax4Rmin02Track",
37  "MET_Baseline_AntiKt4EMTopo",
38  "MET_Baseline_AntiKt4EMPFlow",
39  "TauJets",
40  "DiTauJets",
41  "DiTauJetsLowPt",
42  "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
43  "AntiKtVR30Rmax4Rmin02PV0TrackJets"]
44  TEST4ItemList = TEST4SlimmingHelper.GetItemList()
45 
46  acc.merge(OutputStreamCfg(flags, "DAOD_TEST4", ItemList=TEST4ItemList, AcceptAlgs=["TEST4Kernel"]))
47  acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_TEST4", AcceptAlgs=["TEST4Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
48 
49  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.TEST4.TEST4KernelCfg
def TEST4KernelCfg(flags, name='TEST4Kernel', **kwargs)
Definition: TEST4.py:10
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:216
SlimmingHelper
Definition: SlimmingHelper.py:1
python.TEST4.TEST4Cfg
def TEST4Cfg(flags)
Definition: TEST4.py:18