5 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory
import CompFactory
7 from AthenaConfiguration.Enums
import MetadataCategory
8 from AthenaCommon.CFElements
import seqAND
13 """Configure the example skimming tool"""
14 from TrigDecisionTool.TrigDecisionToolConfig
import TrigDecisionToolCfg
18 ExtraData += [
'xAOD::VertexContainer/PrimaryVertices']
19 ExtraData += [
'xAOD::JetContainer/AntiKt4EMTopoJets']
20 ExtraData += [
'xAOD::JetContainer/AntiKt4LCTopoJets']
21 ExtraData += [
'xAOD::JetContainer/AntiKt4EMPFlowJets']
22 ExtraData += [
'xAOD::JetContainer/AntiKt4HIJets']
23 ExtraData += [
'xAOD::JetContainer/AntiKt4HITrackJets']
24 ExtraData += [
'xAOD::JetContainer/AntiKt10LCTopoJets']
26 acc.addSequence(
seqAND(
"HION12Sequence") )
27 acc.getSequence(
"HION12Sequence").ExtraDataForDynamicConsumers = ExtraData
28 acc.getSequence(
"HION12Sequence").ProcessDynamicDataDependencies =
True
31 from DerivationFrameworkHI
import ListTriggers
33 objectSelection =
'(count(PrimaryVertices.z < 1000) < 10)'
38 expression =
'( (' +
' || '.
join(triggers+MB_triggers) +
') && '+objectSelection+
' && ' +
'(' +
' || '.
join(nJetCuts) +
')' +
')'
41 acc.addPublicTool(CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"HION12StringSkimmingTool",
42 expression = expression,
43 TrigDecisionTool=tdt),
49 """Configure the derivation framework driving algorithm (kernel)"""
54 from DerivationFrameworkInDet.InDetToolsConfig
import TrackParticleThinningCfg
56 expression =
"abs(InDetTrackParticles.d0)< 1000000000 && abs(InDetTrackParticles.z0*sin(InDetTrackParticles.theta)) < 1000000000 && InDetTrackParticles.pt > 200"
59 name =
"HION12TrackThinningTool",
60 StreamName = kwargs[
'StreamName'],
61 SelectionString = expression,
62 InDetTrackParticlesKey =
"InDetTrackParticles"))
64 thinningTools = [HION12TrackThinningTool]
67 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
69 SkimmingTools = [skimmingTool],
70 ThinningTools = thinningTools),
71 sequenceName =
"HION12Sequence")
78 acc.merge(
HION12KernelCfg(flags, name=
"HION12Kernel",StreamName =
"StreamDAOD_HION12"))
80 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
81 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
82 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
86 from DerivationFrameworkHI
import ListSlimming
88 HION12SlimmingHelper =
SlimmingHelper(
"HION12SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
95 HION12ItemList = HION12SlimmingHelper.GetItemList()
97 acc.merge(
OutputStreamCfg(flags,
"DAOD_HION12", ItemList=HION12ItemList, AcceptAlgs=[
"HION12Kernel"]))
98 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_HION12", AcceptAlgs=[
"HION12Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))