220def JETM3Cfg(flags):
221
222 acc = ComponentAccumulator()
223
224
225
226
227
228 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
229 JETM3TriggerListsHelper = TriggerListsHelper(flags)
230
231
232 acc.merge(JETM3KernelCfg(flags, name="JETM3Kernel", StreamName = 'StreamDAOD_JETM3', TriggerListsHelper = JETM3TriggerListsHelper))
233
234
235
236
237 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
238 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
239 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
240
241 JETM3SlimmingHelper =
SlimmingHelper(
"JETM3SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
242
243 JETM3SlimmingHelper.SmartCollections = ["EventInfo","InDetTrackParticles", "PrimaryVertices",
244 "Electrons", "Photons", "Muons", "TauJets",
245 "MET_Baseline_AntiKt4EMTopo","MET_Baseline_AntiKt4EMPFlow",
246 "AntiKt4EMPFlowJets","AntiKt4EMTopoJets",
247 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
248]
249
250 JETM3SlimmingHelper.AllVariables = ["CHSGChargedParticleFlowObjects", "CHSGNeutralParticleFlowObjects",
251 "MuonSegments","LVL1JetRoIs",
252 "Kt4EMTopoOriginEventShape","Kt4EMPFlowEventShape","Kt4EMPFlowNeutEventShape"]
253
254 JETM3SlimmingHelper.ExtraVariables = ["AntiKt4EMPFlowJets.passOnlyBJVT.DFCommonJets_bJvt.isJvtHS.isJvtPU",
255 "Muons.energyLossType.EnergyLoss.ParamEnergyLoss.MeasEnergyLoss.EnergyLossSigma.MeasEnergyLossSigma.ParamEnergyLossSigmaPlus.ParamEnergyLossSigmaMinus"]
256
257
258 from DerivationFrameworkJetEtMiss.CommonJETMXContent import ClusterVariables, FlowElementVariables
259 JETM3SlimmingHelper.ExtraVariables += [".".join(["CaloCalTopoClusters"] + ClusterVariables)]
260 JETM3SlimmingHelper.ExtraVariables += [".".join(["GlobalChargedParticleFlowObjects"] + FlowElementVariables)]
261 JETM3SlimmingHelper.ExtraVariables += [".".join(["GlobalNeutralParticleFlowObjects"] + FlowElementVariables)]
262
263
264 if flags.Input.isMC:
265
266 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
267 addTruth3ContentToSlimmerTool(JETM3SlimmingHelper)
268
269 JETM3SlimmingHelper.AppendToDictionary.update({'TruthParticles': 'xAOD::TruthParticleContainer',
270 'TruthParticlesAux': 'xAOD::TruthParticleAuxContainer'})
271
272 JETM3SlimmingHelper.AllVariables += ["AntiKt4TruthJets", "InTimeAntiKt4TruthJets", "OutOfTimeAntiKt4TruthJets",
273 "TruthParticles", "TruthEvents", "TruthVertices",
274 "MuonTruthParticles", "egammaTruthParticles",]
275 JETM3SlimmingHelper.SmartCollections += ["AntiKt4TruthWZJets","AntiKt4TruthJets","AntiKt10TruthJets",
276 "AntiKt10TruthSoftDropBeta100Zcut10Jets"]
277
278
279 JETM3SlimmingHelper.IncludeTriggerNavigation = False
280 JETM3SlimmingHelper.IncludeJetTriggerContent = True
281 JETM3SlimmingHelper.IncludeMuonTriggerContent = True
282 JETM3SlimmingHelper.IncludeEGammaTriggerContent = True
283 JETM3SlimmingHelper.IncludeTauTriggerContent = False
284 JETM3SlimmingHelper.IncludeEtMissTriggerContent = False
285 JETM3SlimmingHelper.IncludeBJetTriggerContent = False
286 JETM3SlimmingHelper.IncludeBPhysTriggerContent = False
287 JETM3SlimmingHelper.IncludeMinBiasTriggerContent = False
288
289
290
291 if flags.Trigger.EDMVersion == 2:
292 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
293 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = JETM3SlimmingHelper,
294 OutputContainerPrefix = "TrigMatch_",
295 TriggerList = JETM3TriggerListsHelper.Run2TriggerNamesTau)
296 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = JETM3SlimmingHelper,
297 OutputContainerPrefix = "TrigMatch_",
298 TriggerList = JETM3TriggerListsHelper.Run2TriggerNamesNoTau)
299
300 if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
301 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
302 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(JETM3SlimmingHelper)
303
304 jetOutputList = ["AntiKt4EMPFlowLowPtJets","AntiKt4EMTopoLowPtJets", "AntiKt4UFOCSSKLowPtJets"]
305 from DerivationFrameworkJetEtMiss.JetCommonConfig import addJetsToSlimmingTool
306 addJetsToSlimmingTool(JETM3SlimmingHelper, jetOutputList, JETM3SlimmingHelper.SmartCollections)
307
308
309 JETM3ItemList = JETM3SlimmingHelper.GetItemList()
310 acc.merge(OutputStreamCfg(flags, "DAOD_JETM3", ItemList=JETM3ItemList, AcceptAlgs=["JETM3Kernel"]))
311 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_JETM3", AcceptAlgs=["JETM3Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData,MetadataCategory.TruthMetaData]))
312
313 return acc
314