ATLAS Offline Software
Loading...
Searching...
No Matches
HION15.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2# HION15.py
3
4from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5from AthenaConfiguration.ComponentFactory import CompFactory
6from AthenaConfiguration.Enums import MetadataCategory
7
8
9
10def HION15KernelCfg(flags, name='HION15Kernel', **kwargs):
11 """Configure the derivation framework driving algorithm (kernel)"""
12 acc = ComponentAccumulator()
13
14 from DerivationFrameworkHI.HION7 import (
15 PhysAugmentationsHION7Cfg, HION7SkimmingToolCfg, HION7GlobalAugmentationToolCfg)
16 acc.merge(PhysAugmentationsHION7Cfg(flags))
17 from DerivationFrameworkHI.HION7 import getDFJets
18 acc.merge(getDFJets(flags))
19 thinningTools = []
20 skimmingTool = acc.getPrimaryAndMerge(HION7SkimmingToolCfg(flags, format="HION15"))
21 globalAugmentationTool = acc.getPrimaryAndMerge(HION7GlobalAugmentationToolCfg(flags))
22 augmentationTool=[globalAugmentationTool]
23
24 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(name,ThinningTools = thinningTools, SkimmingTools = [skimmingTool], AugmentationTools=augmentationTool),sequenceName="HION15Sequence")
25
26 return acc
27
28
29def HION15Cfg(flags):
30
31 acc = ComponentAccumulator()
32
33 JetColl = flags.HeavyIon.HIJetPrefix
34
35 acc.merge(HION15KernelCfg(flags, name="HION15Kernel",StreamName = "StreamDAOD_HION15"))
36
37 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
38 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
39 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
40 from DerivationFrameworkHI import ListSlimming
41
42
44 HION15SlimmingHelper = SlimmingHelper("HION15SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
45 HION15SlimmingHelper.SmartCollections = ListSlimming.HION15SmartCollections()
46 AllVars = ListSlimming.HION15AllVarContent()
47 AllVars += ListSlimming.HION15ExtraContainersTrigger()
48 ExtraVars = ListSlimming.HION15BasicJetVars(JetColl)
49 from DerivationFrameworkFlavourTag import FtagBaseContent
50 if flags.Input.isMC or flags.Overlay.DataOverlay:
51 AllVars += ListSlimming.HION15AllVarTruthContent()
52 if flags.HeavyIon.doHIBTagging:
53 FtagBaseContent.add_truth_to_slimming_helper(HION15SlimmingHelper)
54 if flags.HeavyIon.doHIBTagging:
55 from DerivationFrameworkFlavourTag.FtagBaseContent import add_common_augmentation
56 add_common_augmentation(flags, acc, HION15SlimmingHelper, JetColl+"AntiKt4HIJets")
57 AllVars += ListSlimming.HION15AllVarFromFTAG1()
58 # update AppendToDictionary
59 extra_AppendToDictionary = {}
60 FtagBaseContent.update_append_to_dictionary_in_slimming_helper(flags, HION15SlimmingHelper, extra_AppendToDictionary)
61 # Add ExtraVariables
62 ExtraVars += ListSlimming.HION15ExtraVarForBtag(JetColl)
63 FtagBaseContent.add_extra_variables_to_slimming_helper(flags, HION15SlimmingHelper)
64
65 HION15SlimmingHelper.ExtraVariables = ExtraVars
66 HION15SlimmingHelper.AllVariables = AllVars
67
68 HION15ItemList = HION15SlimmingHelper.GetItemList()
69 HIJetRemovedBranches=ListSlimming.makeHIJetRemovedBranchList()
70 jet_var_str = '.-'.join ([''] + HIJetRemovedBranches)
71 jetRlist = flags.HeavyIon.Jet.RValues #Default [0.2,0.4]
72 for jetR in jetRlist:
73 output = ["xAOD::JetContainer#"+JetColl+"AntiKt"+str(jetR)+"HIJets",
74 "xAOD::JetAuxContainer#"+JetColl+"AntiKt"+str(jetR)+"HIJetsAux.-PseudoJet"+jet_var_str]
75 HION15ItemList += output
76
77 acc.merge(OutputStreamCfg(flags, "DAOD_HION15", ItemList=HION15ItemList, AcceptAlgs=["HION15Kernel"]))
78 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_HION15", AcceptAlgs=["HION15Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
79
80 return acc
81
HION15KernelCfg(flags, name='HION15Kernel', **kwargs)
Definition HION15.py:10
HION15Cfg(flags)
Definition HION15.py:29