4from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
5from AthenaConfiguration.ComponentFactory
import CompFactory
6from AthenaConfiguration.Enums
import MetadataCategory
7from AthenaCommon.CFElements
import seqAND
12 """Configure the example skimming tool"""
13 acc = ComponentAccumulator()
16 ExtraData += [
'xAOD::VertexContainer/PrimaryVertices']
17 if (flags.Input.ProjectName ==
"data15_hi" or flags.Input.ProjectName ==
"data18_hi"):
18 ExtraData += [
'xAOD::JetContainer/AntiKt4EMTopoJets']
19 ExtraData += [
'xAOD::JetContainer/AntiKt4LCTopoJets']
20 ExtraData += [
'xAOD::JetContainer/AntiKt4EMPFlowJets']
21 ExtraData += [
'xAOD::JetContainer/AntiKt4HIJets']
22 ExtraData += [
'xAOD::JetContainer/AntiKt4HITrackJets']
23 ExtraData += [
'xAOD::JetContainer/AntiKt10LCTopoJets']
25 acc.addSequence( seqAND(
"HION12Sequence") )
26 acc.getSequence(
"HION12Sequence").ExtraDataForDynamicConsumers = ExtraData
27 acc.getSequence(
"HION12Sequence").ProcessDynamicDataDependencies =
True
30 from DerivationFrameworkHI
import ListTriggers
32 objectSelection =
'(count(PrimaryVertices.z < 1000) < 10)'
33 nJetCuts = ListTriggers.GetHION12nJetCuts(flags.Input.ProjectName)
34 triggers = ListTriggers.GetHION12Triggers(flags.Input.ProjectName)
37 expression =
'('+objectSelection+
' && ' +
'(' +
' || '.join(nJetCuts) +
')' +
')'
39 from DerivationFrameworkTools.DerivationFrameworkToolsConfig
import (
40 xAODStringSkimmingToolCfg)
41 HION12StringSkimmingTool = acc.addPublicTool(acc.getPrimaryAndMerge(
42 xAODStringSkimmingToolCfg(flags, name =
"HION12StringSkimmingTool",
43 expression = expression)))
44 filterList += [HION12StringSkimmingTool]
46 HION12TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool(
47 name =
"HION12TriggerSkimmingTool", TriggerListOR = triggers)
48 acc.addPublicTool(HION12TriggerSkimmingTool)
49 filterList += [HION12TriggerSkimmingTool]
51 HION12SkimmingTool = CompFactory.DerivationFramework.FilterCombinationAND(
52 name=
"HION12SkimmingTool", FilterList=filterList)
53 acc.addPublicTool(HION12SkimmingTool, primary =
True)
59 """Configure the derivation framework driving algorithm (kernel)"""
60 acc = ComponentAccumulator()
61 from DerivationFrameworkHI.HION7
import (
62 PhysAugmentationsHION7Cfg)
63 acc.merge(PhysAugmentationsHION7Cfg(flags))
65 if flags.HeavyIon.doHIBTagging:
67 from DerivationFrameworkJetEtMiss.JetCommonConfig
import JetCommonCfg
68 acc.merge(JetCommonCfg(flags))
69 from BTagging.FlavorTaggingConfig
import FlavorTaggingCfg
70 acc.merge(FlavorTaggingCfg(flags,
"AntiKt4EMPFlowJets"))
71 from BTagging.TrackLeptonConfig
import TrackLeptonDecorationCfg
72 acc.merge(TrackLeptonDecorationCfg(flags))
77 from DerivationFrameworkInDet.InDetToolsConfig
import TrackParticleThinningCfg
81 if not flags.Input.isMC:
82 expression =
"abs(InDetTrackParticles.d0)< 1000000000 && abs(InDetTrackParticles.z0*sin(InDetTrackParticles.theta)) < 1000000000 && InDetTrackParticles.pt > 200"
83 HION12TrackThinningTool = acc.getPrimaryAndMerge(TrackParticleThinningCfg(
85 name =
"HION12TrackThinningTool",
86 StreamName = kwargs[
'StreamName'],
87 SelectionString = expression,
88 InDetTrackParticlesKey =
"InDetTrackParticles"))
90 thinningTools = [HION12TrackThinningTool]
94 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
96 SkimmingTools = [skimmingTool],
97 ThinningTools = thinningTools),
98 sequenceName =
"HION12Sequence")
104 acc = ComponentAccumulator()
105 acc.merge(
HION12KernelCfg(flags, name=
"HION12Kernel",StreamName =
"StreamDAOD_HION12"))
107 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
108 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
109 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
113 from DerivationFrameworkHI
import ListSlimming
115 HION12SlimmingHelper =
SlimmingHelper(
"HION12SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
117 HION12SlimmingHelper.SmartCollections = ListSlimming.HION12SmartCollections()
118 HION12SlimmingHelper.AllVariables = ListSlimming.HION12AllVarContent(flags.Input.ProjectName)
119 HION12SlimmingHelper.ExtraVariables = ListSlimming.HION12Extra()
122 HION12ItemList = HION12SlimmingHelper.GetItemList()
124 acc.merge(OutputStreamCfg(flags,
"DAOD_HION12", ItemList=HION12ItemList, AcceptAlgs=[
"HION12Kernel"]))
125 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_HION12", AcceptAlgs=[
"HION12Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
HION12SkimmingToolCfg(flags)
Skiming.
HION12KernelCfg(flags, name='HION12Kernel', **kwargs)