ATLAS Offline Software
TEST6.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 # TEST6.py - derivation framework example demonstrating pre-selection, such that only
4 # after passing the skimming do heavier augmentation tools run
5 
6 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
7 from AthenaConfiguration.ComponentFactory import CompFactory
8 from AthenaConfiguration.Enums import MetadataCategory
9 from AthenaCommon.CFElements import seqAND
10 
12  """Configure the example skimming tool"""
13  acc = ComponentAccumulator()
14  acc.addPublicTool(CompFactory.DerivationFramework.SkimmingToolExample(name = "TEST1SkimmingTool",
15  MuonContainerKey = "Muons",
16  NumberOfMuons = 1,
17  MuonPtCut = 1000.0),
18  primary = True)
19  return(acc)
20 
22  """Configure the example augmentation tool"""
23  acc = ComponentAccumulator()
24  acc.addPublicTool(CompFactory.DerivationFramework.AugmentationToolExample(name= "TEST6AugmentationTool"),
25  primary = True)
26  return(acc)
27 
28 def TEST6KernelCfg(flags, name='TEST6Kernel', **kwargs):
29  """Configure the derivation framework driving algorithm (kernel)"""
30  acc = ComponentAccumulator()
31  # Subsequence
32  acc.addSequence( seqAND("TEST6Sequence") )
33  DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
34  skimmingTool = acc.getPrimaryAndMerge(TEST6SkimmingToolCfg(flags))
35  skimmingKernel = DerivationKernel(kwargs["PreselectionName"], SkimmingTools = [skimmingTool])
36  # Add skimming tool to subsequence
37  acc.addEventAlgo( skimmingKernel, sequenceName="TEST6Sequence" )
38  augmentationTool = acc.getPrimaryAndMerge(TEST6AugmentationToolCfg(flags))
39  # Add augmentation tool to same subsequence
40  acc.addEventAlgo(DerivationKernel(name, AugmentationTools = [augmentationTool]), sequenceName="TEST6Sequence")
41  return(acc)
42 
43 
44 def TEST6Cfg(flags):
45 
46  acc = ComponentAccumulator()
47  acc.merge(TEST6KernelCfg(flags, name="TEST6Kernel", PreselectionName="TEST6PreselectionKernel"))
48 
49  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
50  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
51  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
52  TEST6SlimmingHelper = SlimmingHelper("TEST6SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
53  TEST6SlimmingHelper.SmartCollections = ["EventInfo",
54  "Electrons",
55  "Photons",
56  "Muons",
57  "PrimaryVertices",
58  "InDetTrackParticles",
59  "AntiKt4EMTopoJets",
60  "AntiKt4EMPFlowJets",
61  "BTagging_AntiKt4EMPFlow",
62  "BTagging_AntiKtVR30Rmax4Rmin02Track",
63  "MET_Baseline_AntiKt4EMTopo",
64  "MET_Baseline_AntiKt4EMPFlow",
65  "TauJets",
66  "DiTauJets",
67  "DiTauJetsLowPt",
68  "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
69  "AntiKtVR30Rmax4Rmin02PV0TrackJets"]
70  TEST6ItemList = TEST6SlimmingHelper.GetItemList()
71 
72  acc.merge(OutputStreamCfg(flags, "DAOD_TEST6", ItemList=TEST6ItemList, AcceptAlgs=["TEST6Kernel"]))
73  acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_TEST6", AcceptAlgs=["TEST6Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
74 
75  return acc
python.TEST6.TEST6KernelCfg
def TEST6KernelCfg(flags, name='TEST6Kernel', **kwargs)
Definition: TEST6.py:28
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.TEST6.TEST6SkimmingToolCfg
def TEST6SkimmingToolCfg(flags)
Definition: TEST6.py:11
python.CFElements.seqAND
def seqAND(name, subs=[])
Definition: CFElements.py:25
python.TEST6.TEST6Cfg
def TEST6Cfg(flags)
Definition: TEST6.py:44
python.TEST6.TEST6AugmentationToolCfg
def TEST6AugmentationToolCfg(flags)
Definition: TEST6.py:21
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:216
SlimmingHelper
Definition: SlimmingHelper.py:1