13 """Configure the skimming tool"""
14 acc = ComponentAccumulator()
16 from DerivationFrameworkTLA.TLATriggerList
import SupportPhotonTriggers, PrimaryISRTLATriggers, SupportTLATriggers
18 tlaLiteTriggerList = PrimaryISRTLATriggers + SupportTLATriggers + SupportPhotonTriggers
21 if not flags.Input.isMC:
22 TLA1TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool(
23 name =
"TLA1TriggerSkimmingTool1",
24 TriggerListOR = tlaLiteTriggerList
26 acc.addPublicTool(TLA1TriggerSkimmingTool, primary=
True)
33 """Configure the derivation framework driving algorithm (kernel) for TLA1"""
34 acc = ComponentAccumulator()
38 if not flags.Input.isMC:
42 from DerivationFrameworkTLA.TLACommonConfig
import TLACommonAugmentationsCfg
43 acc.merge(TLACommonAugmentationsCfg(flags, prefix=
"TLA1_", TriggerListsHelper = kwargs[
'TriggerListsHelper']))
45 from DerivationFrameworkInDet.InDetToolsConfig
import InDetTrackSelectionToolWrapperCfg
46 DFCommonTrackSelection = acc.getPrimaryAndMerge(InDetTrackSelectionToolWrapperCfg(
48 name =
"DFCommonTrackSelectionLoose",
50 DecorationName =
"DFTLA1Loose"))
52 acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
"TLA1CommonKernel", AugmentationTools = [DFCommonTrackSelection]))
55 from DerivationFrameworkInDet.InDetToolsConfig
import MuonTrackParticleThinningCfg, EgammaTrackParticleThinningCfg, JetTrackParticleThinningCfg
58 TLA1MuonTPThinningTool = acc.getPrimaryAndMerge(MuonTrackParticleThinningCfg(
60 name =
"TLA1MuonTPThinningTool",
61 StreamName = kwargs[
'StreamName'],
63 InDetTrackParticlesKey =
"InDetTrackParticles"))
66 TLA1ElectronTPThinningTool = acc.getPrimaryAndMerge(EgammaTrackParticleThinningCfg(
68 name =
"TLA1ElectronTPThinningTool",
69 StreamName = kwargs[
'StreamName'],
71 InDetTrackParticlesKey =
"InDetTrackParticles"))
73 TLA1_thinning_expression =
"InDetTrackParticles.DFTLA1Loose && ( abs(InDetTrackParticles.d0) < 5.0*mm ) && ( abs(DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 5.0*mm )"
75 TLA1Akt4JetTPThinningTool = acc.getPrimaryAndMerge(JetTrackParticleThinningCfg(
77 name =
"TLA1Akt4JetTPThinningTool",
78 StreamName = kwargs[
'StreamName'],
79 JetKey =
"AntiKt4EMTopoJets",
80 SelectionString =
"AntiKt4EMTopoJets.pt > 18*GeV",
81 TrackSelectionString = TLA1_thinning_expression,
82 InDetTrackParticlesKey =
"InDetTrackParticles"))
84 TLA1Akt4PFlowJetTPThinningTool = acc.getPrimaryAndMerge(JetTrackParticleThinningCfg(
86 name =
"TLA1Akt4PFlowJetTPThinningTool",
87 StreamName = kwargs[
'StreamName'],
88 JetKey =
"AntiKt4EMPFlowJets",
89 SelectionString =
"AntiKt4EMPFlowJets.pt > 18*GeV",
90 TrackSelectionString = TLA1_thinning_expression,
91 InDetTrackParticlesKey =
"InDetTrackParticles"))
94 thinningTools = [TLA1MuonTPThinningTool,
95 TLA1ElectronTPThinningTool,
96 TLA1Akt4JetTPThinningTool,
97 TLA1Akt4PFlowJetTPThinningTool]
100 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
101 acc.addEventAlgo(DerivationKernel(
103 ThinningTools = thinningTools,
104 SkimmingTools = [skimmingTool]
if skimmingTool
is not None else []
112 stream_name =
'StreamDAOD_TLA1'
113 acc = ComponentAccumulator()
118 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
119 TLA1TriggerListsHelper = TriggerListsHelper(flags)
123 acc.merge(
TLA1KernelCfg(flags, name=
"TLA1Kernel", StreamName = stream_name, TriggerListsHelper = TLA1TriggerListsHelper))
128 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
129 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
130 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
132 TLA1SlimmingHelper =
SlimmingHelper(
"TLA1SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
134 TLA1SlimmingHelper.SmartCollections = [
141 "AntiKt4EMPFlowJets",
147 TLA1SlimmingHelper.ExtraVariables += [
148 "AntiKt4EMTopoJets.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt",
150 "AntiKt4EMPFlowJets.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt",
152 "TruthPrimaryVertices.t.x.y.z",
154 "EventInfo.hardScatterVertexLink.timeStampNSOffset",
157 TLA1SlimmingHelper.ExtraVariables += [
158 "EventInfo.hardScatterVertexLink.timeStampNSOffset",
161 TLA1SlimmingHelper.AllVariables = [
163 "Kt4EMTopoOriginEventShape",
"Kt4EMPFlowEventShape",
164 "Kt4EMPFlowNeutEventShape",
171 L1Calo_eEM_postfix =
""
173 TLA1SlimmingHelper.AppendToDictionary.update(
174 {
"L1_eEMRoI"+L1Calo_eEM_postfix :
"xAOD::eFexEMRoIContainer",
175 "L1_eEMRoI"+L1Calo_eEM_postfix+
"Aux" :
"xAOD::eFexEMRoIAuxContainer"})
177 TLA1SlimmingHelper.AllVariables += [
"L1_eEMRoI"+L1Calo_eEM_postfix]
183 from DerivationFrameworkTLA.TLACommonConfig
import addTLATruth3ContentToSlimmerTool
184 addTLATruth3ContentToSlimmerTool(TLA1SlimmingHelper)
185 TLA1SlimmingHelper.AllVariables += [
186 'TruthHFWithDecayParticles',
187 'TruthHFWithDecayVertices',
189 'TruthPileupParticles',
190 'InTimeAntiKt4TruthJets',
191 'OutOfTimeAntiKt4TruthJets',
193 TLA1SlimmingHelper.ExtraVariables += [
194 "Electrons.TruthLink",
199 TLA1SlimmingHelper.SmartCollections += [
"AntiKt4TruthWZJets"]
200 TLA1SlimmingHelper.AllVariables += [
"AntiKt4TruthJets",
"AntiKt4TruthDressedWZJets"]
204 TLA1SlimmingHelper.IncludeTriggerNavigation =
True
205 TLA1SlimmingHelper.IncludeJetTriggerContent =
True
206 TLA1SlimmingHelper.IncludeMuonTriggerContent =
False
207 TLA1SlimmingHelper.IncludeTrackingTriggerContent =
True
208 TLA1SlimmingHelper.IncludeEGammaTriggerContent =
True
209 TLA1SlimmingHelper.IncludeTauTriggerContent =
False
210 TLA1SlimmingHelper.IncludeEtMissTriggerContent =
False
211 TLA1SlimmingHelper.IncludeBJetTriggerContent =
True
212 TLA1SlimmingHelper.IncludeBPhysTriggerContent =
False
213 TLA1SlimmingHelper.IncludeMinBiasTriggerContent =
False
214 TLA1SlimmingHelper.OverrideJetTriggerContentWithTLAContent =
True
218 if flags.Trigger.EDMVersion == 2:
219 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
220 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = TLA1SlimmingHelper,
221 OutputContainerPrefix =
"TrigMatch_",
222 TriggerList = TLA1TriggerListsHelper.Run2TriggerNamesTau)
223 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = TLA1SlimmingHelper,
224 OutputContainerPrefix =
"TrigMatch_",
225 TriggerList = TLA1TriggerListsHelper.Run2TriggerNamesNoTau)
227 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
228 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
229 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(TLA1SlimmingHelper)
232 TLA1ItemList = TLA1SlimmingHelper.GetItemList()
233 acc.merge(OutputStreamCfg(flags,
"DAOD_TLA1", ItemList=TLA1ItemList, AcceptAlgs=[
"TLA1Kernel"]))
234 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_TLA1", AcceptAlgs=[
"TLA1Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))