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"""
15 ExtraData += [
'xAOD::JetContainer/AntiKt2HIJets']
16 ExtraData += [
'xAOD::JetContainer/AntiKt4HIJets']
18 acc.addSequence(
seqAND(
"HION7Sequence") )
19 acc.getSequence(
"HION7Sequence").ExtraDataForDynamicConsumers = ExtraData
20 acc.getSequence(
"HION7Sequence").ProcessDynamicDataDependencies =
True
22 expression =
"count(AntiKt2HIJets.pt > 25000) > 1 || count(AntiKt4HIJets.pt > 25000) > 1"
24 from TrigDecisionTool.TrigDecisionToolConfig
import TrigDecisionToolCfg
26 acc.addPublicTool(CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"HION7StringSkimmingTool",
27 expression = expression,
28 TrigDecisionTool=tdt),
35 """Configure the derivation framework driving algorithm (kernel)"""
40 from DerivationFrameworkInDet.InDetToolsConfig
import TrackParticleThinningCfg,JetTrackParticleThinningCfg
42 track_thinning_expression =
"InDetTrackParticles.pt > 0.9*GeV"
45 name =
"PHYSTrackParticleThinningTool",
46 StreamName = kwargs[
'StreamName'],
47 SelectionString = track_thinning_expression,
48 InDetTrackParticlesKey =
"InDetTrackParticles"))
52 name =
"AntiKt2HIJetsThinningTool",
53 StreamName = kwargs[
'StreamName'],
54 JetKey =
"AntiKt2HIJets",
55 SelectionString =
"AntiKt2HIJets.pt > 20*GeV",
56 InDetTrackParticlesKey =
"InDetTrackParticles"))
60 name =
"AntiKt4HIJetsThinningTool",
61 StreamName = kwargs[
'StreamName'],
62 JetKey =
"AntiKt4HIJets",
63 SelectionString =
"AntiKt4HIJets.pt > 20*GeV",
64 InDetTrackParticlesKey =
"InDetTrackParticles"))
67 thinningTools = [TrackParticleThinningTool,
68 AntiKt2HIJetsThinningTool,
69 AntiKt4HIJetsThinningTool]
72 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(name,ThinningTools = thinningTools, SkimmingTools = [skimmingTool]),sequenceName=
"HION7Sequence")
79 acc.merge(
HION7KernelCfg(flags, name=
"HION7Kernel",StreamName =
"StreamDAOD_HION7"))
81 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
82 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
83 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
87 HION7SlimmingHelper =
SlimmingHelper(
"HION7SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
88 HION7SlimmingHelper.SmartCollections = [
"EventInfo",
93 "InDetTrackParticles"]
94 HION7SlimmingHelper.AllVariables =[
"AntiKt2HIJets",
99 "MBTSForwardEventInfo",
101 HION7ItemList = HION7SlimmingHelper.GetItemList()
103 acc.merge(
OutputStreamCfg(flags,
"DAOD_HION7", ItemList=HION7ItemList, AcceptAlgs=[
"HION7Kernel"]))
104 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_HION7", AcceptAlgs=[
"HION7Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))