38 """Configure the derivation framework driving algorithm (kernel)"""
39 acc = ComponentAccumulator()
42 from DerivationFrameworkInDet.InDetToolsConfig
import (
43 MuonTrackParticleThinningCfg,
44 EgammaTrackParticleThinningCfg
46 from InDetTrackSelectionTool.InDetTrackSelectionToolConfig
import (
47 InDetTrackSelectionTool_HITight_Cfg
54 HITightTrackSelector = acc.popToolsAndMerge(InDetTrackSelectionTool_HITight_Cfg(
56 name =
"HIONHPODTrackSelectionToolTight",
59 acc.addPublicTool(HITightTrackSelector)
61 HIONHPODTrackThinningTool = CompFactory.DerivationFramework.HITrackParticleThinningTool(
62 name =
"HIONHPODTrackThinningTool",
63 PrimaryVertexKey =
"PrimaryVertices",
64 PrimaryVertexSelection =
"sumPt2",
65 TrackSelectionTool = HITightTrackSelector,
66 StreamName = kwargs[
"StreamName"]
69 acc.addPublicTool(HIONHPODTrackThinningTool)
70 thinningTool += [HIONHPODTrackThinningTool]
72 for jetKey
in (
"AntiKt2HIJets",
"AntiKt4HIJets"):
73 HIONHPODJetTrackThinningTool = CompFactory.DerivationFramework.HIJetTrackParticleThinningTool(
74 name = f
"HIONHPOD{jetKey}TrackThinningTool",
75 PrimaryVertexKey =
"PrimaryVertices",
76 PrimaryVertexSelection =
"sumPt2",
78 TrackSelectionTool = HITightTrackSelector,
79 StreamName = kwargs[
"StreamName"]
82 acc.addPublicTool(HIONHPODJetTrackThinningTool)
83 thinningTool += [HIONHPODJetTrackThinningTool]
86 muonThinningTool = acc.getPrimaryAndMerge(MuonTrackParticleThinningCfg(
88 name =
"HIONHPODMuonThinningTool",
89 StreamName = kwargs[
'StreamName'],
91 InDetTrackParticlesKey =
"InDetTrackParticles"
94 acc.addPublicTool(muonThinningTool)
95 thinningTool += [muonThinningTool]
98 egamma_thinning_config = {
102 "GSFConversionVerticesKey":
"GSFConversionVertices"
105 for egammaKey
in egamma_thinning_config:
106 egammaThinningTool = acc.getPrimaryAndMerge(EgammaTrackParticleThinningCfg(
108 name = f
"HIONHPOD{egammaKey}ThinningTool",
109 StreamName = kwargs[
"StreamName"],
111 **egamma_thinning_config[egammaKey]
113 acc.addPublicTool(egammaThinningTool)
114 thinningTool += [egammaThinningTool]
118 augmentationTool += [globalAugmentationTool]
121 augmentationTool += [centralityAugmentationTool]
123 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
124 acc.addEventAlgo(DerivationKernel(
126 ThinningTools=thinningTool,
127 AugmentationTools=augmentationTool
133 acc = ComponentAccumulator()
134 acc.merge(
HIONHPODKernelCfg(flags, name=
"HIONHPODKernel", StreamName=
"StreamDAOD_HIONHPOD"))
136 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
137 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
140 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
142 HIONHPODSlimmingHelper =
SlimmingHelper(
"HIONHPODSlimmingHelper", NamesAndTypes=flags.Input.TypedCollections, flags=flags)
145 from DerivationFrameworkHI
import ListSlimming
148 HIONHPODSlimmingHelper.SmartCollections = ListSlimming.HIONHPODSmartCollections()
151 HIONHPODSlimmingHelper.AllVariables += ListSlimming.HIONHPODAllVariables()
154 HIONHPODSlimmingHelper.ExtraVariables += ListSlimming.HIONHPODExtraVariablesAll()
155 HIONHPODSlimmingHelper.ExtraVariables += ListSlimming.HIONHPODExtraVariablesJets()
159 HIONHPODSlimmingHelper.ExtraVariables += ListSlimming.HIONHPODExtraTruthVariables()
160 HIONHPODSlimmingHelper.ExtraVariables += ListSlimming.HIONHPODExtraTruthVariablesJets()
161 HIONHPODSlimmingHelper.AllVariables += ListSlimming.HIONHPODAllTruthVariables()
163 HIONHPODItemList = HIONHPODSlimmingHelper.GetItemList()
165 acc.merge(OutputStreamCfg(flags,
"DAOD_HIONHPOD", ItemList=HIONHPODItemList, AcceptAlgs=[
"HIONHPODKernel"]))
166 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_HIONHPOD", AcceptAlgs=[
"HIONHPODKernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))