13 """Configure the skimming tool"""
14 acc = ComponentAccumulator()
17 from DerivationFrameworkTLA.TLATriggerList
import SupportSingleJetTriggers, SupportMultiJetTriggers, SupportPhotonTriggers, PrimaryISRTLATriggers, SupportTLATriggers, PrimarySingleJetTLATriggers, PrimaryMultiJetTLATriggers
19 tlaFullTriggerList = SupportSingleJetTriggers + SupportMultiJetTriggers + SupportPhotonTriggers + PrimaryISRTLATriggers + SupportTLATriggers + PrimarySingleJetTLATriggers + PrimaryMultiJetTLATriggers
21 if not flags.Input.isMC:
22 TLA0TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool(
23 name =
"TLA0TriggerSkimmingTool1",
24 TriggerListOR = tlaFullTriggerList
26 acc.addPublicTool(TLA0TriggerSkimmingTool, primary=
True)
33 """Configure the derivation framework driving algorithm (kernel) for TLA0"""
34 acc = ComponentAccumulator()
38 if not flags.Input.isMC:
42 from DerivationFrameworkTLA.TLACommonConfig
import TLACommonAugmentationsCfg
43 acc.merge(TLACommonAugmentationsCfg(flags, prefix=
"TLA0_", TriggerListsHelper = kwargs[
'TriggerListsHelper']))
45 from DerivationFrameworkInDet.InDetToolsConfig
import InDetTrackSelectionToolWrapperCfg
46 DFCommonTrackSelection = acc.getPrimaryAndMerge(InDetTrackSelectionToolWrapperCfg(
48 name =
"DFCommonTrackSelectionLoose",
50 DecorationName =
"DFTLA0Loose"))
52 acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
"TLA0CommonKernel", AugmentationTools = [DFCommonTrackSelection]))
55 from DerivationFrameworkInDet.InDetToolsConfig
import MuonTrackParticleThinningCfg, EgammaTrackParticleThinningCfg, JetTrackParticleThinningCfg
58 TLA0MuonTPThinningTool = acc.getPrimaryAndMerge(MuonTrackParticleThinningCfg(
60 name =
"TLA0MuonTPThinningTool",
61 StreamName = kwargs[
'StreamName'],
63 InDetTrackParticlesKey =
"InDetTrackParticles"))
66 TLA0ElectronTPThinningTool = acc.getPrimaryAndMerge(EgammaTrackParticleThinningCfg(
68 name =
"TLA0ElectronTPThinningTool",
69 StreamName = kwargs[
'StreamName'],
71 InDetTrackParticlesKey =
"InDetTrackParticles"))
73 TLA0_thinning_expression =
"InDetTrackParticles.DFTLA0Loose && ( abs(InDetTrackParticles.d0) < 5.0*mm ) && ( abs(DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 5.0*mm )"
75 TLA0Akt4JetTPThinningTool = acc.getPrimaryAndMerge(JetTrackParticleThinningCfg(
77 name =
"TLA0Akt4JetTPThinningTool",
78 StreamName = kwargs[
'StreamName'],
79 JetKey =
"AntiKt4EMTopoJets",
80 SelectionString =
"AntiKt4EMTopoJets.pt > 18*GeV",
81 TrackSelectionString = TLA0_thinning_expression,
82 InDetTrackParticlesKey =
"InDetTrackParticles"))
84 TLA0Akt4PFlowJetTPThinningTool = acc.getPrimaryAndMerge(JetTrackParticleThinningCfg(
86 name =
"TLA0Akt4PFlowJetTPThinningTool",
87 StreamName = kwargs[
'StreamName'],
88 JetKey =
"AntiKt4EMPFlowJets",
89 SelectionString =
"AntiKt4EMPFlowJets.pt > 18*GeV",
90 TrackSelectionString = TLA0_thinning_expression,
91 InDetTrackParticlesKey =
"InDetTrackParticles"))
94 thinningTools = [TLA0MuonTPThinningTool,
95 TLA0ElectronTPThinningTool,
96 TLA0Akt4JetTPThinningTool,
97 TLA0Akt4PFlowJetTPThinningTool]
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_TLA0'
113 acc = ComponentAccumulator()
119 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
120 TLA0TriggerListsHelper = TriggerListsHelper(flags)
124 acc.merge(
TLA0KernelCfg(flags, name=
"TLA0Kernel", StreamName = stream_name, TriggerListsHelper = TLA0TriggerListsHelper))
129 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
130 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
131 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
133 TLA0SlimmingHelper =
SlimmingHelper(
"TLA0SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
135 TLA0SlimmingHelper.SmartCollections = [
142 "AntiKt4EMPFlowJets",
148 TLA0SlimmingHelper.ExtraVariables += [
149 "AntiKt4EMTopoJets.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt",
151 "AntiKt4EMPFlowJets.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt",
153 "TruthPrimaryVertices.t.x.y.z",
155 "EventInfo.hardScatterVertexLink.timeStampNSOffset",
158 TLA0SlimmingHelper.ExtraVariables += [
159 "EventInfo.hardScatterVertexLink.timeStampNSOffset",
162 TLA0SlimmingHelper.AllVariables = [
164 "Kt4EMTopoOriginEventShape",
"Kt4EMPFlowEventShape",
165 "Kt4EMPFlowNeutEventShape",
172 L1Calo_eEM_postfix =
""
174 TLA0SlimmingHelper.AppendToDictionary.update(
175 {
"L1_eEMRoI"+L1Calo_eEM_postfix :
"xAOD::eFexEMRoIContainer",
176 "L1_eEMRoI"+L1Calo_eEM_postfix+
"Aux" :
"xAOD::eFexEMRoIAuxContainer"})
178 TLA0SlimmingHelper.AllVariables += [
"L1_eEMRoI"+L1Calo_eEM_postfix]
184 from DerivationFrameworkTLA.TLACommonConfig
import addTLATruth3ContentToSlimmerTool
185 addTLATruth3ContentToSlimmerTool(TLA0SlimmingHelper)
186 TLA0SlimmingHelper.AllVariables += [
187 'TruthHFWithDecayParticles',
188 'TruthHFWithDecayVertices',
190 'TruthPileupParticles',
191 'InTimeAntiKt4TruthJets',
192 'OutOfTimeAntiKt4TruthJets',
194 TLA0SlimmingHelper.ExtraVariables += [
195 "Electrons.TruthLink",
200 TLA0SlimmingHelper.SmartCollections += [
"AntiKt4TruthWZJets"]
201 TLA0SlimmingHelper.AllVariables += [
"AntiKt4TruthJets",
"AntiKt4TruthDressedWZJets"]
205 TLA0SlimmingHelper.IncludeTriggerNavigation =
True
206 TLA0SlimmingHelper.IncludeJetTriggerContent =
True
207 TLA0SlimmingHelper.IncludeMuonTriggerContent =
False
208 TLA0SlimmingHelper.IncludeTrackingTriggerContent =
True
209 TLA0SlimmingHelper.IncludeEGammaTriggerContent =
True
210 TLA0SlimmingHelper.IncludeTauTriggerContent =
False
211 TLA0SlimmingHelper.IncludeEtMissTriggerContent =
False
212 TLA0SlimmingHelper.IncludeBJetTriggerContent =
True
213 TLA0SlimmingHelper.IncludeBPhysTriggerContent =
False
214 TLA0SlimmingHelper.IncludeMinBiasTriggerContent =
False
215 TLA0SlimmingHelper.OverrideJetTriggerContentWithTLAContent =
True
219 if flags.Trigger.EDMVersion == 2:
220 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
221 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = TLA0SlimmingHelper,
222 OutputContainerPrefix =
"TrigMatch_",
223 TriggerList = TLA0TriggerListsHelper.Run2TriggerNamesTau)
224 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = TLA0SlimmingHelper,
225 OutputContainerPrefix =
"TrigMatch_",
226 TriggerList = TLA0TriggerListsHelper.Run2TriggerNamesNoTau)
228 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
229 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
230 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(TLA0SlimmingHelper)
233 TLA0ItemList = TLA0SlimmingHelper.GetItemList()
234 acc.merge(OutputStreamCfg(flags,
"DAOD_TLA0", ItemList=TLA0ItemList, AcceptAlgs=[
"TLA0Kernel"]))
235 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_TLA0", AcceptAlgs=[
"TLA0Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))