4 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
5 from AthenaConfiguration.ComponentFactory
import CompFactory
6 from AthenaConfiguration.Enums
import MetadataCategory
7 from AthenaCommon.CFElements
import seqAND
12 """Configure the example skimming tool"""
13 from TrigDecisionTool.TrigDecisionToolConfig
import TrigDecisionToolCfg
17 ExtraData += [
'xAOD::VertexContainer/PrimaryVertices']
18 ExtraData += [
'xAOD::JetContainer/AntiKt4EMTopoJets']
19 ExtraData += [
'xAOD::JetContainer/AntiKt4LCTopoJets']
20 ExtraData += [
'xAOD::JetContainer/AntiKt4EMPFlowJets']
21 ExtraData += [
'xAOD::JetContainer/AntiKt4HIJets']
22 ExtraData += [
'xAOD::JetContainer/AntiKt4HITrackJets']
23 ExtraData += [
'xAOD::JetContainer/AntiKt10LCTopoJets']
25 acc.addSequence(
seqAND(
"HION12Sequence") )
26 acc.getSequence(
"HION12Sequence").ExtraDataForDynamicConsumers = ExtraData
27 acc.getSequence(
"HION12Sequence").ProcessDynamicDataDependencies =
True
30 from DerivationFrameworkHI
import ListTriggers
32 objectSelection =
'(count(PrimaryVertices.z < 1000) < 10)'
33 nJetCuts = ListTriggers.HION12nJetCuts2018()
34 MB_triggers = ListTriggers.HION12MBtriggers2018()
35 triggers = ListTriggers.HION12triggers2018()
37 expression =
'( (' +
' || '.
join(triggers+MB_triggers) +
') && '+objectSelection+
' && ' +
'(' +
' || '.
join(nJetCuts) +
')' +
')'
40 acc.addPublicTool(CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"HION12StringSkimmingTool",
41 expression = expression,
42 TrigDecisionTool=tdt),
48 """Configure the derivation framework driving algorithm (kernel)"""
53 from DerivationFrameworkInDet.InDetToolsConfig
import TrackParticleThinningCfg
55 expression =
"abs(InDetTrackParticles.d0)< 1000000000 && abs(InDetTrackParticles.z0*sin(InDetTrackParticles.theta)) < 1000000000 && InDetTrackParticles.pt > 200"
58 name =
"HION12TrackThinningTool",
59 StreamName = kwargs[
'StreamName'],
60 SelectionString = expression,
61 InDetTrackParticlesKey =
"InDetTrackParticles"))
63 thinningTools = [HION12TrackThinningTool]
66 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
68 SkimmingTools = [skimmingTool],
69 ThinningTools = thinningTools),
70 sequenceName =
"HION12Sequence")
77 acc.merge(
HION12KernelCfg(flags, name=
"HION12Kernel",StreamName =
"StreamDAOD_HION12"))
79 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
80 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
81 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
85 from DerivationFrameworkHI
import ListSlimming
87 HION12SlimmingHelper =
SlimmingHelper(
"HION12SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
89 HION12SlimmingHelper.SmartCollections = ListSlimming.HION12SmartCollections()
90 HION12SlimmingHelper.AllVariables = ListSlimming.HION12AllVarContent()
91 HION12SlimmingHelper.ExtraVariables = ListSlimming.HION12Extra()
94 HION12ItemList = HION12SlimmingHelper.GetItemList()
96 acc.merge(
OutputStreamCfg(flags,
"DAOD_HION12", ItemList=HION12ItemList, AcceptAlgs=[
"HION12Kernel"]))
97 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_HION12", AcceptAlgs=[
"HION12Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))