203def JETM1Cfg(flags):
204
205 acc = ComponentAccumulator()
206
207
208
209
210
211 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
212 JETM1TriggerListsHelper = TriggerListsHelper(flags)
213
214
215 acc.merge(JETM1KernelCfg(flags, name="JETM1Kernel", StreamName = 'StreamDAOD_JETM1', TriggerListsHelper = JETM1TriggerListsHelper))
216
217
218
219
220 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
221 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
222 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
223
224 JETM1SlimmingHelper =
SlimmingHelper(
"JETM1SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
225
226 JETM1SlimmingHelper.SmartCollections = ["Electrons", "Photons", "Muons", "PrimaryVertices",
227 "InDetTrackParticles",
228 "AntiKt4EMTopoJets",
229 "AntiKt10UFOCSSKJets",
230 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
231]
232
233 JETM1SlimmingHelper.ExtraVariables = ["AntiKt4EMPFlowJets.passOnlyBJVT.DFCommonJets_bJvt.isJvtHS.isJvtPU",
234 "InDetTrackParticles.truthMatchProbability",
235 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.zg.rg.NumTrkPt1000.TrackWidthPt1000.GhostMuonSegmentCount.EnergyPerSampling.GhostTrack",
236 "AntiKt10UFOCSSKJets.NumTrkPt1000.TrackWidthPt1000.GhostMuonSegmentCount.EnergyPerSampling.GhostTrack"]
237
238 JETM1SlimmingHelper.AllVariables = [ "MuonSegments", "UnAssocMuonSegments", "EventInfo",
239 "Kt4EMTopoOriginEventShape","Kt4EMPFlowEventShape","Kt4EMPFlowNeutEventShape","Kt4UFOCSSKEventShape","Kt4UFOCSSKNeutEventShape",
240 "AntiKt4EMPFlowJets"]
241
242
243 if flags.Input.isMC:
244
245 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
246 addTruth3ContentToSlimmerTool(JETM1SlimmingHelper)
247
248 JETM1SlimmingHelper.AppendToDictionary.update({'TruthParticles': 'xAOD::TruthParticleContainer',
249 'TruthParticlesAux': 'xAOD::TruthParticleAuxContainer'})
250
251 JETM1SlimmingHelper.SmartCollections += ["AntiKt4TruthWZJets"]
252 JETM1SlimmingHelper.AllVariables += ["TruthTopQuarkWithDecayParticles","TruthTopQuarkWithDecayVertices",
253 "AntiKt4TruthJets", "InTimeAntiKt4TruthJets", "OutOfTimeAntiKt4TruthJets", "TruthParticles"]
254 JETM1SlimmingHelper.ExtraVariables += ["TruthVertices.uid.z"]
255
256 JETM1SlimmingHelper.AppendToDictionary.update({'Kt4UFOCSSKEventShape':'xAOD::EventShape',
257 'Kt4UFOCSSKEventShapeAux':'xAOD::EventShapeAuxInfo',
258 'Kt4UFOCSSKNeutEventShape':'xAOD::EventShape',
259 'Kt4UFOCSSKNeutEventShapeAux':'xAOD::EventShapeAuxInfo'})
260
261
262 JETM1SlimmingHelper.IncludeTriggerNavigation = False
263 JETM1SlimmingHelper.IncludeJetTriggerContent = True
264 JETM1SlimmingHelper.IncludeMuonTriggerContent = False
265 JETM1SlimmingHelper.IncludeEGammaTriggerContent = False
266 JETM1SlimmingHelper.IncludeTauTriggerContent = False
267 JETM1SlimmingHelper.IncludeEtMissTriggerContent = False
268 JETM1SlimmingHelper.IncludeBJetTriggerContent = False
269 JETM1SlimmingHelper.IncludeBPhysTriggerContent = False
270 JETM1SlimmingHelper.IncludeMinBiasTriggerContent = False
271
272 if flags.Trigger.EDMVersion == 2:
273 triggerNames = ["a4tcemsubjesFS", "a4tcemsubjesISFS", "a10tclcwsubjesFS", "a10tclcwsubFS", "a10ttclcwjesFS", "GSCJet"]
274 for trigger in triggerNames:
275 JETM1SlimmingHelper.FinalItemList.append('xAOD::AuxContainerBase!#HLT_xAOD__JetContainer_'+trigger+'Aux.pt.eta.phi.m')
276
277 from Campaigns.Utils import getDataYear
278 if getDataYear(flags) >= 2024:
279 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddjFexRoIsToSlimmingHelper
280 AddjFexRoIsToSlimmingHelper(SlimmingHelper = JETM1SlimmingHelper)
281
282 jetOutputList = ["AntiKt4PV0TrackJets", "AntiKt4UFOCSSKJets"]
283 if flags.Input.isMC:
284 jetOutputList = ["AntiKt4PV0TrackJets","AntiKt4UFOCSSKNoPtCutJets","AntiKt4EMPFlowNoPtCutJets","AntiKt4EMTopoNoPtCutJets"]
285 from DerivationFrameworkJetEtMiss.JetCommonConfig import addJetsToSlimmingTool
286 addJetsToSlimmingTool(JETM1SlimmingHelper, jetOutputList, JETM1SlimmingHelper.SmartCollections)
287
288
289 JETM1ItemList = JETM1SlimmingHelper.GetItemList()
290 acc.merge(OutputStreamCfg(flags, "DAOD_JETM1", ItemList=JETM1ItemList, AcceptAlgs=["JETM1Kernel"]))
291 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_JETM1", AcceptAlgs=["JETM1Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
292
293 return acc
294