244def HION5Cfg(flags):
245 acc = ComponentAccumulator()
246
247 JetColl = flags.HeavyIon.HIJetPrefix
248
249 from DerivationFrameworkEGamma.PhotonsCPDetailedContent import PhotonsCPDetailedContent
250 from DerivationFrameworkEGamma.ElectronsCPDetailedContent import ExtraElectronShowerShapes,ExtraElectronGSFVar
251
252 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
253 HION5TriggerListsHelper = TriggerListsHelper(flags)
254
255 acc.merge(HION5KernelCfg(flags, name="HION5Kernel", StreamName="StreamDAOD_HION5", TriggerListsHelper = HION5TriggerListsHelper,))
256
257
258 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
259 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
260 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
261 from DerivationFrameworkHI import ListSlimming
262
263 HION5SlimmingHelper =
SlimmingHelper(
"HION5SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
264 HION5SlimmingHelper.AppendToDictionary = {'EventInfo':'xAOD::EventInfo','EventInfoAux':'xAOD::EventAuxInfo',
265 'TruthEvents':'xAOD::TruthEventContainer','TruthEventsAux':'xAOD::TruthEventAuxContainer',
266 'MET_Truth':'xAOD::MissingETContainer','MET_TruthAux':'xAOD::MissingETAuxContainer',
267 'TruthLHEParticles':'xAOD::TruthParticleContainer', 'TruthLHEParticlesAux':'xAOD::TruthParticleAuxContainer',
268 'TruthElectrons':'xAOD::TruthParticleContainer','TruthElectronsAux':'xAOD::TruthParticleAuxContainer',
269 'TruthMuons':'xAOD::TruthParticleContainer','TruthMuonsAux':'xAOD::TruthParticleAuxContainer',
270 'TruthPhotons':'xAOD::TruthParticleContainer','TruthPhotonsAux':'xAOD::TruthParticleAuxContainer',
271 'TruthTaus':'xAOD::TruthParticleContainer','TruthTausAux':'xAOD::TruthParticleAuxContainer',
272 'TruthNeutrinos':'xAOD::TruthParticleContainer','TruthNeutrinosAux':'xAOD::TruthParticleAuxContainer',
273 'TruthBSM':'xAOD::TruthParticleContainer','TruthBSMAux':'xAOD::TruthParticleAuxContainer',
274 'TruthBoson':'xAOD::TruthParticleContainer','TruthBosonAux':'xAOD::TruthParticleAuxContainer',
275 'TruthBottom':'xAOD::TruthParticleContainer','TruthBottomAux':'xAOD::TruthParticleAuxContainer',
276 'TruthTop':'xAOD::TruthParticleContainer','TruthTopAux':'xAOD::TruthParticleAuxContainer',
277 'TruthForwardProtons':'xAOD::TruthParticleContainer','TruthForwardProtonsAux':'xAOD::TruthParticleAuxContainer',
278 'BornLeptons':'xAOD::TruthParticleContainer','BornLeptonsAux':'xAOD::TruthParticleAuxContainer',
279 'TruthBosonsWithDecayParticles':'xAOD::TruthParticleContainer','TruthBosonsWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
280 'TruthBosonsWithDecayVertices':'xAOD::TruthVertexContainer','TruthBosonsWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
281 'TruthBSMWithDecayParticles':'xAOD::TruthParticleContainer','TruthBSMWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
282 'TruthBSMWithDecayVertices':'xAOD::TruthVertexContainer','TruthBSMWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
283 'AntiKt4TruthDressedWZJets':'xAOD::JetContainer','AntiKt4TruthDressedWZJetsAux':'xAOD::JetAuxContainer',
284 'AntiKt10TruthSoftDropBeta100Zcut10Jets':'xAOD::JetContainer','AntiKt10TruthSoftDropBeta100Zcut10JetsAux':'xAOD::JetAuxContainer',
285 'MET_Track1000':'xAOD::MissingETContainer', 'MET_Track1000Aux':'xAOD::MissingETAuxContainer',
286 'MET_Track2000':'xAOD::MissingETContainer', 'MET_Track2000Aux':'xAOD::MissingETAuxContainer',
287 'MET_Track3000':'xAOD::MissingETContainer', 'MET_Track3000Aux':'xAOD::MissingETAuxContainer',
288 'MET_Track4000':'xAOD::MissingETContainer', 'MET_Track4000Aux':'xAOD::MissingETAuxContainer',
289 'MET_Track5000':'xAOD::MissingETContainer', 'MET_Track5000Aux':'xAOD::MissingETAuxContainer',
290 }
291
292 from DerivationFrameworkHI.TrackMET_config import Cfg_METTrack
293 met_ptCutList = [1000,2000,3000,4000,5000]
294
295 for ptCut in met_ptCutList:
296 acc.merge(Cfg_METTrack(flags, ptCut))
297
298 AllVariables = []
299 AllVariables += ListSlimming.HION5AllVariables(flags.Input.RunNumbers[0])
300 AllVariables += ListSlimming.HION5ExtraContainersTrigger()
301
302
303 from DerivationFrameworkFlavourTag import FtagBaseContent
304
305 if flags.Input.isMC:
306
307
308 AllVariables += ListSlimming.HION5AllTruthVariables()
309 if flags.HeavyIon.doHIBTagging:
310
311 FtagBaseContent.add_truth_to_slimming_helper(HION5SlimmingHelper)
312
313
314 if flags.HeavyIon.doHIBTagging:
315 AllVariables += ListSlimming.HION7AllVarFromFTAG1()
316
317 HION5SlimmingHelper.SmartCollections = ListSlimming.HION5SmartCollections()
318 HION5SlimmingHelper.ExtraVariables = ListSlimming.HION5ExtraVariables(JetColl)
319 HION5SlimmingHelper.ExtraVariables += PhotonsCPDetailedContent
320 HION5SlimmingHelper.ExtraVariables += ExtraElectronShowerShapes
321 HION5SlimmingHelper.ExtraVariables += ExtraElectronGSFVar
322
323
324 if flags.HeavyIon.doHIBTagging:
325 from DerivationFrameworkFlavourTag.FtagBaseContent import add_common_augmentation
326 add_common_augmentation(flags, acc, HION5SlimmingHelper, JetColl+"AntiKt4HIJets")
327
328 extra_AppendToDictionary = {}
329 FtagBaseContent.update_append_to_dictionary_in_slimming_helper(flags, HION5SlimmingHelper, extra_AppendToDictionary)
330
331 HION5SlimmingHelper.ExtraVariables += ListSlimming.HION7ExtraVarForBtag(JetColl)
332 FtagBaseContent.add_extra_variables_to_slimming_helper(flags, HION5SlimmingHelper)
333
334 HION5SlimmingHelper.AllVariables = AllVariables
335
336
337 HION5SlimmingHelper.IncludeEGammaTriggerContent = True
338
339 HION5SlimmingHelper.IncludeMuonTriggerContent = True
340
341 HION5ItemList = HION5SlimmingHelper.GetItemList()
342
343
344 HIJetRemovedBranches = ListSlimming.makeHIJetRemovedBranchList()
345 jet_var_str = '.-'.join([''] + HIJetRemovedBranches)
346
347 jetRlist = flags.HeavyIon.Jet.RValues
348 for jetR in jetRlist:
349 output = ["xAOD::JetContainer#"+JetColl+"AntiKt"+str(jetR)+"HIJets",
350 "xAOD::JetAuxContainer#"+JetColl+"AntiKt"+str(jetR)+"HIJetsAux.-PseudoJet"+jet_var_str]
351 HION5ItemList += output
352
353 acc.merge(OutputStreamCfg(flags, "DAOD_HION5", ItemList=HION5ItemList, AcceptAlgs=["HION5Kernel"]))
354 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_HION5", AcceptAlgs=["HION5Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
355
356 return acc