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","Kt4EMPFlowPUSBEventShape","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 "AntiKt10TruthTrimmedPtFrac5SmallR20Jets",
278 "AntiKt10TruthSoftDropBeta100Zcut10Jets"]
279
280
281 JETM3SlimmingHelper.IncludeTriggerNavigation = False
282 JETM3SlimmingHelper.IncludeJetTriggerContent = True
283 JETM3SlimmingHelper.IncludeMuonTriggerContent = True
284 JETM3SlimmingHelper.IncludeEGammaTriggerContent = True
285 JETM3SlimmingHelper.IncludeTauTriggerContent = False
286 JETM3SlimmingHelper.IncludeEtMissTriggerContent = False
287 JETM3SlimmingHelper.IncludeBJetTriggerContent = False
288 JETM3SlimmingHelper.IncludeBPhysTriggerContent = False
289 JETM3SlimmingHelper.IncludeMinBiasTriggerContent = False
290
291
292
293 if flags.Trigger.EDMVersion == 2:
294 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
295 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = JETM3SlimmingHelper,
296 OutputContainerPrefix = "TrigMatch_",
297 TriggerList = JETM3TriggerListsHelper.Run2TriggerNamesTau)
298 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = JETM3SlimmingHelper,
299 OutputContainerPrefix = "TrigMatch_",
300 TriggerList = JETM3TriggerListsHelper.Run2TriggerNamesNoTau)
301
302 if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
303 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
304 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(JETM3SlimmingHelper)
305
306 jetOutputList = ["AntiKt4EMPFlowLowPtJets","AntiKt4EMTopoLowPtJets", "AntiKt4UFOCSSKLowPtJets"]
307 from DerivationFrameworkJetEtMiss.JetCommonConfig import addJetsToSlimmingTool
308 addJetsToSlimmingTool(JETM3SlimmingHelper, jetOutputList, JETM3SlimmingHelper.SmartCollections)
309
310
311 JETM3ItemList = JETM3SlimmingHelper.GetItemList()
312 acc.merge(OutputStreamCfg(flags, "DAOD_JETM3", ItemList=JETM3ItemList, AcceptAlgs=["JETM3Kernel"]))
313 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_JETM3", AcceptAlgs=["JETM3Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
314
315 return acc
316