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