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"""
16 ExtraData += [
'xAOD::JetContainer/AntiKt2HIJets']
17 ExtraData += [
'xAOD::JetContainer/AntiKt4HIJets']
19 acc.addSequence(
seqAND(
"HION7Sequence") )
20 acc.getSequence(
"HION7Sequence").ExtraDataForDynamicConsumers = ExtraData
21 acc.getSequence(
"HION7Sequence").ProcessDynamicDataDependencies =
True
23 expression =
"count(AntiKt2HIJets.pt > 25000) > 1 || count(AntiKt4HIJets.pt > 25000) > 1"
25 from TrigDecisionTool.TrigDecisionToolConfig
import TrigDecisionToolCfg
27 acc.addPublicTool(CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"HION7StringSkimmingTool",
28 expression = expression,
29 TrigDecisionTool=tdt),
36 """Configure the derivation framework driving algorithm (kernel)"""
41 from DerivationFrameworkInDet.InDetToolsConfig
import TrackParticleThinningCfg,JetTrackParticleThinningCfg
43 track_thinning_expression =
"InDetTrackParticles.pt > 0.9*GeV"
46 name =
"PHYSTrackParticleThinningTool",
47 StreamName = kwargs[
'StreamName'],
48 SelectionString = track_thinning_expression,
49 InDetTrackParticlesKey =
"InDetTrackParticles"))
53 name =
"AntiKt2HIJetsThinningTool",
54 StreamName = kwargs[
'StreamName'],
55 JetKey =
"AntiKt2HIJets",
56 SelectionString =
"AntiKt2HIJets.pt > 20*GeV",
57 InDetTrackParticlesKey =
"InDetTrackParticles"))
61 name =
"AntiKt4HIJetsThinningTool",
62 StreamName = kwargs[
'StreamName'],
63 JetKey =
"AntiKt4HIJets",
64 SelectionString =
"AntiKt4HIJets.pt > 20*GeV",
65 InDetTrackParticlesKey =
"InDetTrackParticles"))
68 thinningTools = [TrackParticleThinningTool,
69 AntiKt2HIJetsThinningTool,
70 AntiKt4HIJetsThinningTool]
73 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(name,ThinningTools = thinningTools, SkimmingTools = [skimmingTool]),sequenceName=
"HION7Sequence")
80 acc.merge(
HION7KernelCfg(flags, name=
"HION7Kernel",StreamName =
"StreamDAOD_HION7"))
82 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
83 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
84 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
88 HION7SlimmingHelper =
SlimmingHelper(
"HION7SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
89 HION7SlimmingHelper.SmartCollections = [
"EventInfo",
94 "InDetTrackParticles"]
95 HION7SlimmingHelper.AllVariables =[
"AntiKt2HIJets",
100 "MBTSForwardEventInfo",
102 HION7ItemList = HION7SlimmingHelper.GetItemList()
104 acc.merge(
OutputStreamCfg(flags,
"DAOD_HION7", ItemList=HION7ItemList, AcceptAlgs=[
"HION7Kernel"]))
105 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_HION7", AcceptAlgs=[
"HION7Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))