4from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
5from AthenaConfiguration.ComponentFactory
import CompFactory
6from AthenaConfiguration.Enums
import MetadataCategory
7from AthenaCommon.CFElements
import seqAND
12 """Configure the example skimming tool"""
13 acc = ComponentAccumulator()
16 ExtraData += [
'xAOD::VertexContainer/PrimaryVertices']
17 ExtraData += [
'xAOD::JetContainer/AntiKt4EMTopoJets']
18 ExtraData += [
'xAOD::JetContainer/AntiKt4LCTopoJets']
19 ExtraData += [
'xAOD::JetContainer/AntiKt4EMPFlowJets']
20 ExtraData += [
'xAOD::JetContainer/AntiKt4HIJets']
21 ExtraData += [
'xAOD::JetContainer/AntiKt4HITrackJets']
22 ExtraData += [
'xAOD::JetContainer/AntiKt10LCTopoJets']
24 acc.addSequence( seqAND(
"HION12Sequence") )
25 acc.getSequence(
"HION12Sequence").ExtraDataForDynamicConsumers = ExtraData
26 acc.getSequence(
"HION12Sequence").ProcessDynamicDataDependencies =
True
29 from DerivationFrameworkHI
import ListTriggers
31 objectSelection =
'(count(PrimaryVertices.z < 1000) < 10)'
32 nJetCuts = ListTriggers.HION12nJetCuts2018()
33 MB_triggers = ListTriggers.HION12MBtriggers2018()
34 triggers = ListTriggers.HION12triggers2018()
36 expression =
'( (' +
' || '.join(triggers+MB_triggers) +
') && '+objectSelection+
' && ' +
'(' +
' || '.join(nJetCuts) +
')' +
')'
38 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import (
39 xAODStringSkimmingToolCfg)
40 acc.addPublicTool(acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(
41 flags, name =
"HION12StringSkimmingTool", expression = expression)), primary=
True)
46 """Configure the derivation framework driving algorithm (kernel)"""
47 acc = ComponentAccumulator()
51 from DerivationFrameworkInDet.InDetToolsConfig
import TrackParticleThinningCfg
53 expression =
"abs(InDetTrackParticles.d0)< 1000000000 && abs(InDetTrackParticles.z0*sin(InDetTrackParticles.theta)) < 1000000000 && InDetTrackParticles.pt > 200"
54 HION12TrackThinningTool = acc.getPrimaryAndMerge(TrackParticleThinningCfg(
56 name =
"HION12TrackThinningTool",
57 StreamName = kwargs[
'StreamName'],
58 SelectionString = expression,
59 InDetTrackParticlesKey =
"InDetTrackParticles"))
61 thinningTools = [HION12TrackThinningTool]
64 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
66 SkimmingTools = [skimmingTool],
67 ThinningTools = thinningTools),
68 sequenceName =
"HION12Sequence")
74 acc = ComponentAccumulator()
75 acc.merge(
HION12KernelCfg(flags, name=
"HION12Kernel",StreamName =
"StreamDAOD_HION12"))
77 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
78 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
79 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
83 from DerivationFrameworkHI
import ListSlimming
85 HION12SlimmingHelper =
SlimmingHelper(
"HION12SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
87 HION12SlimmingHelper.SmartCollections = ListSlimming.HION12SmartCollections()
88 HION12SlimmingHelper.AllVariables = ListSlimming.HION12AllVarContent()
89 HION12SlimmingHelper.ExtraVariables = ListSlimming.HION12Extra()
92 HION12ItemList = HION12SlimmingHelper.GetItemList()
94 acc.merge(OutputStreamCfg(flags,
"DAOD_HION12", ItemList=HION12ItemList, AcceptAlgs=[
"HION12Kernel"]))
95 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_HION12", AcceptAlgs=[
"HION12Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
HION12SkimmingToolCfg(flags)
Skiming.
HION12KernelCfg(flags, name='HION12Kernel', **kwargs)