165def STDM6CoreCfg(flags, name_tag='STDM6', StreamName='StreamDAOD_STDM6', TriggerListsHelper=None, TauJets_EleRM_in_input=None):
166
167 if TriggerListsHelper is None:
168 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
169 TriggerListsHelper = TriggerListsHelper(flags)
170
171 if TauJets_EleRM_in_input is None:
172
173 TauJets_EleRM_in_input = (flags.Input.TypedCollections.count('xAOD::TauJetContainer#TauJets_EleRM') > 0)
174
175 acc = ComponentAccumulator()
176
177
178 from DerivationFrameworkHiggs.HiggsPhysContent import HiggsAugmentationAlgsCfg
179 acc.merge(HiggsAugmentationAlgsCfg(flags))
180
181
183 from IsolationSelection.IsolationSelectionConfig import IsoCloseByAlgsCfg
184 acc.merge(IsoCloseByAlgsCfg(flags, suff = "_"+name_tag, isPhysLite = False, stream_name = StreamName))
185
186
187
188
189 from DerivationFrameworkMCTruth.HFClassificationCommonConfig import HFClassificationCommonCfg
190 acc.merge(HFClassificationCommonCfg(flags))
191
192
193
194
195 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
196 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
197 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
198
199 STDM6SlimmingHelper =
SlimmingHelper(name_tag+
"SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
200 STDM6SlimmingHelper.SmartCollections = ["EventInfo",
201 "Electrons",
202 "Photons",
203 "Muons",
204 "PrimaryVertices",
205 "InDetTrackParticles",
206 "AntiKt4EMTopoJets",
207 "AntiKt4EMPFlowJets",
208 "AntiKt10UFOCSSKJets",
209 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
210 "MET_Baseline_AntiKt4EMTopo",
211 "MET_Baseline_AntiKt4EMPFlow",
212 "TauJets",
213 "TauJets_MuonRM",
214 "DiTauJets",
215 "DiTauJetsLowPt"]
216 if TauJets_EleRM_in_input:
217 STDM6SlimmingHelper.SmartCollections.append("TauJets_EleRM")
218
219
220
221
222 STDM6SlimmingHelper.AllVariables += [ "AFPSiHitContainer",
223 "AFPToFHitContainer",
224 "AFPSiHitsClusterContainer",
225 "AFPTrackContainer",
226 "AFPToFTrackContainer",
227 "AFPProtonContainer",
228 "AFPVertexContainer",
229 "CaloCalTopoClusters",
230 ]
231
232
233
234 STDM6SlimmingHelper.AllVariables += ["MuonSegments", "EventInfo",
235 "Kt4EMTopoOriginEventShape","Kt4EMPFlowEventShape","Kt4EMPFlowNeutEventShape","Kt4UFOCSSKEventShape","Kt4UFOCSSKNeutEventShape",
236 "AntiKt4EMPFlowJets"]
237
238 excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
239 StaticContent = []
240 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
241 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
242 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
243 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
244 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
245 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
246
247 STDM6SlimmingHelper.StaticContent = StaticContent
248
249
250 STDM6SlimmingHelper.ExtraVariables += ["AntiKt4EMTopoJets.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.constituentLinks",
251 "AntiKt4EMPFlowJets.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.isJvtHS.isJvtPU",
252 "TruthPrimaryVertices.t.x.y.z",
253 "InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers",
254 "EventInfo.GenFiltHT.GenFiltMET.GenFiltHTinclNu.GenFiltPTZ.GenFiltFatJ.HF_Classification.HF_SimpleClassification",
255 "TauJets.dRmax.etOverPtLeadTrk",
256 "TauJets_MuonRM.dRmax.etOverPtLeadTrk",
257 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET.ex.ey",
258 "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht.ex.ey"]
259 if TauJets_EleRM_in_input:
260 STDM6SlimmingHelper.ExtraVariables += ["TauJets_EleRM.dRmax.etOverPtLeadTrk"]
261
262
263
264 STDM6SlimmingHelper.ExtraVariables += ["AntiKt4EMPFlowJets.passOnlyBJVT.DFCommonJets_bJvt.isJvtHS.isJvtPU",
265 "InDetTrackParticles.truthMatchProbability",
266 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.zg.rg.NumTrkPt1000.TrackWidthPt1000.GhostMuonSegmentCount.EnergyPerSampling.GhostTrack",
267 "AntiKt10UFOCSSKJets.NumTrkPt1000.TrackWidthPt1000.GhostMuonSegmentCount.EnergyPerSampling.GhostTrack"]
268
269
270
271 extraList = []
272 for tagger in ["GN2Xv00", "GN2XWithMassv00", "GN2Xv01"]:
273 for score in ["phbb", "phcc", "ptop", "pqcd"]:
274 extraList.append(f"{tagger}_{score}")
275 STDM6SlimmingHelper.ExtraVariables += ["AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets." + ".".join(extraList)]
276
277
278
279
280
281
282
283 if flags.Input.isMC:
284
285 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
286 addTruth3ContentToSlimmerTool(STDM6SlimmingHelper)
287
288
289 STDM6SlimmingHelper.AppendToDictionary.update({'TruthParticles': 'xAOD::TruthParticleContainer',
290 'TruthParticlesAux': 'xAOD::TruthParticleAuxContainer'})
291
292 STDM6SlimmingHelper.AllVariables += ['TruthHFWithDecayParticles','TruthHFWithDecayVertices','TruthCharm','TruthPileupParticles','InTimeAntiKt4TruthJets','OutOfTimeAntiKt4TruthJets']
293 STDM6SlimmingHelper.AllVariables += ["TruthEvents", "TruthParticles", "TruthVertices", "AntiKt4TruthJets","AntiKt4TruthWZJets"]
294 STDM6SlimmingHelper.ExtraVariables += ["Electrons.TruthLink",
295 "Muons.TruthLink",
296 "Photons.TruthLink",
297 "AntiKt4EMTopoJets.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt",
298 "AntiKt4EMPFlowJets.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt",
299 "TruthPrimaryVertices.t.x.y.z",
300 "InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers",
301 "PrimaryVertices.x.y.z.covariance.trackWeights.vertexType.sumPt2",
302 ]
303
304
305 STDM6SlimmingHelper.SmartCollections += ["AntiKt4TruthWZJets"]
306 STDM6SlimmingHelper.AllVariables += ["TruthTopQuarkWithDecayParticles","TruthTopQuarkWithDecayVertices",
307 "AntiKt4TruthJets", "InTimeAntiKt4TruthJets", "OutOfTimeAntiKt4TruthJets", "TruthParticles"]
308 STDM6SlimmingHelper.ExtraVariables += ["TruthVertices.uid.z"]
309
310 from DerivationFrameworkMCTruth.MCTruthCommonConfig import AddTauAndDownstreamParticlesCfg
311 acc.merge(AddTauAndDownstreamParticlesCfg(flags))
312 STDM6SlimmingHelper.AllVariables += ['TruthTausWithDecayParticles','TruthTausWithDecayVertices']
313
314 STDM6SlimmingHelper.AppendToDictionary.update({'Kt4UFOCSSKEventShape':'xAOD::EventShape',
315 'Kt4UFOCSSKEventShapeAux':'xAOD::EventShapeAuxInfo',
316 'Kt4UFOCSSKNeutEventShape':'xAOD::EventShape',
317 'Kt4UFOCSSKNeutEventShapeAux':'xAOD::EventShapeAuxInfo'})
318
319
320 from DerivationFrameworkHiggs.HiggsPhysContent import setupHiggsSlimmingVariables
321 setupHiggsSlimmingVariables(flags, STDM6SlimmingHelper)
322
323
324 STDM6SlimmingHelper.IncludeTriggerNavigation = False
325
326 STDM6SlimmingHelper.IncludeJetTriggerContent = True
327 STDM6SlimmingHelper.IncludeMuonTriggerContent = False
328 STDM6SlimmingHelper.IncludeEGammaTriggerContent = False
329 STDM6SlimmingHelper.IncludeJetTauEtMissTriggerContent = False
330 STDM6SlimmingHelper.IncludeTauTriggerContent = False
331 STDM6SlimmingHelper.IncludeEtMissTriggerContent = False
332 STDM6SlimmingHelper.IncludeBJetTriggerContent = False
333 STDM6SlimmingHelper.IncludeBPhysTriggerContent = False
334 STDM6SlimmingHelper.IncludeMinBiasTriggerContent = False
335
336
337
338 if flags.Trigger.EDMVersion == 2:
339 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
340 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = STDM6SlimmingHelper,
341 OutputContainerPrefix = "TrigMatch_",
342 TriggerList = TriggerListsHelper.Run2TriggerNamesTau)
343 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = STDM6SlimmingHelper,
344 OutputContainerPrefix = "TrigMatch_",
345 TriggerList = TriggerListsHelper.Run2TriggerNamesNoTau)
346 triggerNames = ["a4tcemsubjesFS", "a4tcemsubjesISFS", "a10tclcwsubjesFS", "a10tclcwsubFS", "a10ttclcwjesFS", "GSCJet"]
347 for trigger in triggerNames:
348 STDM6SlimmingHelper.FinalItemList.append('xAOD::AuxContainerBase!#HLT_xAOD__JetContainer_'+trigger+'Aux.pt.eta.phi.m')
349
350
351 if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
352 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
353 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(STDM6SlimmingHelper)
354
355 jetOutputList = ["AntiKt4PV0TrackJets", "AntiKt4UFOCSSKJets"]
356 if flags.Input.isMC:
357 jetOutputList = ["AntiKt4PV0TrackJets","AntiKt4UFOCSSKNoPtCutJets","AntiKt4EMPFlowNoPtCutJets","AntiKt4EMTopoNoPtCutJets","AntiKt4EMPFlowMLJets"]
358 from DerivationFrameworkJetEtMiss.JetCommonConfig import addJetsToSlimmingTool
359 addJetsToSlimmingTool(STDM6SlimmingHelper, jetOutputList, STDM6SlimmingHelper.SmartCollections)
360
361
362
363 STDM6ItemList = STDM6SlimmingHelper.GetItemList()
364 acc.merge(OutputStreamCfg(flags, "DAOD_"+name_tag, ItemList=STDM6ItemList, AcceptAlgs=[name_tag+"Kernel"]))
365 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_"+name_tag, AcceptAlgs=[name_tag+"Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))
366
367 return acc
368