4from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
5from AthenaConfiguration.ComponentFactory
import CompFactory
6from AthenaConfiguration.Enums
import MetadataCategory
11 """Configure the derivation framework driving algorithm (kernel)"""
12 acc = ComponentAccumulator()
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))
20 skimmingTool = acc.getPrimaryAndMerge(HION7SkimmingToolCfg(flags, format=
"HION15"))
21 globalAugmentationTool = acc.getPrimaryAndMerge(HION7GlobalAugmentationToolCfg(flags))
22 augmentationTool=[globalAugmentationTool]
24 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(name,ThinningTools = thinningTools, SkimmingTools = [skimmingTool], AugmentationTools=augmentationTool),sequenceName=
"HION15Sequence")
31 acc = ComponentAccumulator()
33 JetColl = flags.HeavyIon.HIJetPrefix
35 acc.merge(
HION15KernelCfg(flags, name=
"HION15Kernel",StreamName =
"StreamDAOD_HION15"))
37 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
38 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
39 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
40 from DerivationFrameworkHI
import ListSlimming
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()
59 extra_AppendToDictionary = {}
60 FtagBaseContent.update_append_to_dictionary_in_slimming_helper(flags, HION15SlimmingHelper, extra_AppendToDictionary)
62 ExtraVars += ListSlimming.HION15ExtraVarForBtag(JetColl)
63 FtagBaseContent.add_extra_variables_to_slimming_helper(flags, HION15SlimmingHelper)
65 HION15SlimmingHelper.ExtraVariables = ExtraVars
66 HION15SlimmingHelper.AllVariables = AllVars
68 HION15ItemList = HION15SlimmingHelper.GetItemList()
69 HIJetRemovedBranches=ListSlimming.makeHIJetRemovedBranchList()
70 jet_var_str =
'.-'.join ([
''] + HIJetRemovedBranches)
71 jetRlist = flags.HeavyIon.Jet.RValues
73 output = [
"xAOD::JetContainer#"+JetColl+
"AntiKt"+
str(jetR)+
"HIJets",
74 "xAOD::JetAuxContainer#"+JetColl+
"AntiKt"+
str(jetR)+
"HIJetsAux.-PseudoJet"+jet_var_str]
75 HION15ItemList += output
77 acc.merge(OutputStreamCfg(flags,
"DAOD_HION15", ItemList=HION15ItemList, AcceptAlgs=[
"HION15Kernel"]))
78 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_HION15", AcceptAlgs=[
"HION15Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
HION15KernelCfg(flags, name='HION15Kernel', **kwargs)