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 if flags.Tracking.doLowPtRoI:
213 STDM7SlimmingHelper.SmartCollections += ["InDetLowPtRoITrackParticles",
214 "RoIVerticesLowPtRoI"]
215
216 excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
217 StaticContent = []
218 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
219 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
220 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
221 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
222 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
223 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
224
225 STDM7SlimmingHelper.StaticContent = StaticContent
226
227
228 from LeptonTaggers.LeptonTaggersConfig import GetExtraPLITVariablesForDxAOD
229 STDM7SlimmingHelper.ExtraVariables += GetExtraPLITVariablesForDxAOD()
230
231
232 STDM7SlimmingHelper.ExtraVariables += ["TauJets.dRmax.etOverPtLeadTrk"]
233
234
235 STDM7SlimmingHelper.ExtraVariables += ["InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers"]
236 if flags.Tracking.doLowPtRoI:
237 STDM7SlimmingHelper.ExtraVariables += ["InDetLowPtRoITrackParticles.numberOfTRTHits.numberOfTRTOutliers"]
238
239
240 if flags.Input.isMC:
241
242 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
243 addTruth3ContentToSlimmerTool(STDM7SlimmingHelper)
244 STDM7SlimmingHelper.AllVariables += ["TruthParticles", "TruthVertices"]
245 STDM7SlimmingHelper.ExtraVariables += ["Electrons.TruthLink",
246 "Muons.TruthLink",
247 "TauJets.TruthLink",
248 "Photons.TruthLink",
249 "TruthPrimaryVertices.t.x.y.z",
250 "InDetTrackParticles.truthParticleLink.truthMatchProbability"
251 ]
252 if flags.Tracking.doLowPtRoI:
253 STDM7SlimmingHelper.ExtraVariables += ["InDetLowPtRoITrackParticles.truthParticleLink.truthMatchProbability.truthType.truthOrigin"]
254
255 from DerivationFrameworkMCTruth.MCTruthCommonConfig import AddTauAndDownstreamParticlesCfg
256 acc.merge(AddTauAndDownstreamParticlesCfg(flags))
257 STDM7SlimmingHelper.AllVariables += ["TruthTausWithDecayParticles","TruthTausWithDecayVertices"]
258
259
260 else:
261 STDM7SlimmingHelper.AllVariables = [ "AFPSiHitContainer",
262 "AFPToFHitContainer",
263 "AFPSiHitsClusterContainer",
264 "AFPTrackContainer",
265 "AFPToFTrackContainer",
266 "AFPProtonContainer",
267 "AFPVertexContainer",
268 ]
269
270
271 STDM7SlimmingHelper.IncludeTriggerNavigation = False
272 STDM7SlimmingHelper.IncludeJetTriggerContent = False
273 STDM7SlimmingHelper.IncludeMuonTriggerContent = False
274 STDM7SlimmingHelper.IncludeEGammaTriggerContent = False
275 STDM7SlimmingHelper.IncludeTauTriggerContent = False
276 STDM7SlimmingHelper.IncludeEtMissTriggerContent = False
277 STDM7SlimmingHelper.IncludeBJetTriggerContent = False
278 STDM7SlimmingHelper.IncludeBPhysTriggerContent = False
279 STDM7SlimmingHelper.IncludeMinBiasTriggerContent = False
280
281 STDM7SlimmingHelper.IncludeBJetTriggerByYearContent = False
282
283
284
285 if flags.Trigger.EDMVersion == 2:
286 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
287 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = STDM7SlimmingHelper,
288 OutputContainerPrefix = "TrigMatch_",
289 TriggerList = TriggerListsHelper.Run2TriggerNamesTau)
290 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = STDM7SlimmingHelper,
291 OutputContainerPrefix = "TrigMatch_",
292 TriggerList = TriggerListsHelper.Run2TriggerNamesNoTau)
293
294 if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
295 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
296 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(STDM7SlimmingHelper)
297
298
299 STDM7ItemList = STDM7SlimmingHelper.GetItemList()
300 acc.merge(OutputStreamCfg(flags, "DAOD_"+name_tag, ItemList=STDM7ItemList, AcceptAlgs=[name_tag+"Kernel"]))
301 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_"+name_tag, AcceptAlgs=[name_tag+"Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))
302
303 return acc
304