183def STDM7CoreCfg(flags, name_tag='STDM7', StreamName='StreamDAOD_STDM7', TriggerListsHelper=None):
184
185 if TriggerListsHelper is None:
186 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
187 TriggerListsHelper = TriggerListsHelper(flags)
188
189 acc = ComponentAccumulator()
190
191
192
193
194 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
195 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
196 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
197
198 STDM7SlimmingHelper =
SlimmingHelper(name_tag+
"SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
199 STDM7SlimmingHelper.SmartCollections = ["EventInfo",
200 "Electrons",
201 "Photons",
202 "Muons",
203 "PrimaryVertices",
204 "InDetTrackParticles",
205 "AntiKt4EMTopoJets",
206 "AntiKt4EMPFlowJets",
207 "MET_Baseline_AntiKt4EMTopo",
208 "MET_Baseline_AntiKt4EMPFlow",
209 "TauJets",
210 ]
211
212 excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
213 StaticContent = []
214 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
215 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
216 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
217 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
218 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
219 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
220
221 STDM7SlimmingHelper.StaticContent = StaticContent
222
223
224 from LeptonTaggers.LeptonTaggersConfig import GetExtraPLITVariablesForDxAOD
225 STDM7SlimmingHelper.ExtraVariables += GetExtraPLITVariablesForDxAOD()
226
227
228 if flags.Input.isMC:
229
230 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
231 addTruth3ContentToSlimmerTool(STDM7SlimmingHelper)
232 STDM7SlimmingHelper.AllVariables += ['TruthLHEParticles', 'TruthHFWithDecayParticles','TruthHFWithDecayVertices','TruthCharm','TruthPileupParticles','InTimeAntiKt4TruthJets','OutOfTimeAntiKt4TruthJets']
233 STDM7SlimmingHelper.ExtraVariables += ["Electrons.TruthLink",
234 "Muons.TruthLink",
235 "Photons.TruthLink",
236 "TruthPrimaryVertices.t.x.y.z",
237 "EventInfo.hardScatterVertexLink.timeStampNSOffset",
238 "InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers",
239 "TauJets.dRmax.etOverPtLeadTrk",
240 ]
241
242 from DerivationFrameworkMCTruth.MCTruthCommonConfig import AddTauAndDownstreamParticlesCfg
243 acc.merge(AddTauAndDownstreamParticlesCfg(flags))
244 STDM7SlimmingHelper.AllVariables += ['TruthTausWithDecayParticles','TruthTausWithDecayVertices']
245
246
247 else:
248 STDM7SlimmingHelper.AllVariables = [ "AFPSiHitContainer",
249 "AFPToFHitContainer",
250 "AFPSiHitsClusterContainer",
251 "AFPTrackContainer",
252 "AFPToFTrackContainer",
253 "AFPProtonContainer",
254 "AFPVertexContainer",
255 ]
256
257
258 STDM7SlimmingHelper.IncludeTriggerNavigation = False
259 STDM7SlimmingHelper.IncludeJetTriggerContent = False
260 STDM7SlimmingHelper.IncludeMuonTriggerContent = False
261 STDM7SlimmingHelper.IncludeEGammaTriggerContent = False
262 STDM7SlimmingHelper.IncludeTauTriggerContent = False
263 STDM7SlimmingHelper.IncludeEtMissTriggerContent = False
264 STDM7SlimmingHelper.IncludeBJetTriggerContent = False
265 STDM7SlimmingHelper.IncludeBPhysTriggerContent = False
266 STDM7SlimmingHelper.IncludeMinBiasTriggerContent = False
267
268 STDM7SlimmingHelper.IncludeBJetTriggerByYearContent = False
269
270
271
272 if flags.Trigger.EDMVersion == 2:
273 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
274 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = STDM7SlimmingHelper,
275 OutputContainerPrefix = "TrigMatch_",
276 TriggerList = TriggerListsHelper.Run2TriggerNamesTau)
277 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = STDM7SlimmingHelper,
278 OutputContainerPrefix = "TrigMatch_",
279 TriggerList = TriggerListsHelper.Run2TriggerNamesNoTau)
280
281 if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
282 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
283 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(STDM7SlimmingHelper)
284
285
286 STDM7ItemList = STDM7SlimmingHelper.GetItemList()
287 acc.merge(OutputStreamCfg(flags, "DAOD_"+name_tag, ItemList=STDM7ItemList, AcceptAlgs=[name_tag+"Kernel"]))
288 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_"+name_tag, AcceptAlgs=[name_tag+"Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))
289
290 return acc
291