13 """Configure the skimming tool"""
14 acc = ComponentAccumulator()
16 from DerivationFrameworkTLA.TLATriggerList
import SupportPhotonTriggers, PrimaryISRTLATriggers, SupportTLATriggers, FTagPEBTLATriggers
18 tlaLiteTriggerList = PrimaryISRTLATriggers + SupportTLATriggers + SupportPhotonTriggers + FTagPEBTLATriggers
21 if not flags.Input.isMC:
22 TLA2TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool(
23 name =
"TLA2TriggerSkimmingTool1",
24 TriggerListOR = tlaLiteTriggerList
26 acc.addPublicTool(TLA2TriggerSkimmingTool, primary=
True)
33 """Configure the derivation framework driving algorithm (kernel) for TLA2"""
34 acc = ComponentAccumulator()
38 if not flags.Input.isMC:
42 from DerivationFrameworkTLA.TLACommonConfig
import TLACommonAugmentationsCfg
43 acc.merge(TLACommonAugmentationsCfg(flags, prefix=
"TLA2_", TriggerListsHelper = kwargs[
'TriggerListsHelper']))
45 from DerivationFrameworkInDet.InDetToolsConfig
import InDetTrackSelectionToolWrapperCfg
46 DFCommonTrackSelection = acc.getPrimaryAndMerge(InDetTrackSelectionToolWrapperCfg(
48 name =
"DFCommonTrackSelectionLoose",
50 DecorationName =
"DFTLA2Loose"))
52 acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
"TLA2CommonKernel", AugmentationTools = [DFCommonTrackSelection]))
55 from DerivationFrameworkInDet.InDetToolsConfig
import MuonTrackParticleThinningCfg, EgammaTrackParticleThinningCfg, JetTrackParticleThinningCfg
58 TLA2MuonTPThinningTool = acc.getPrimaryAndMerge(MuonTrackParticleThinningCfg(
60 name =
"TLA2MuonTPThinningTool",
61 StreamName = kwargs[
'StreamName'],
63 InDetTrackParticlesKey =
"InDetTrackParticles"))
66 TLA2ElectronTPThinningTool = acc.getPrimaryAndMerge(EgammaTrackParticleThinningCfg(
68 name =
"TLA2ElectronTPThinningTool",
69 StreamName = kwargs[
'StreamName'],
71 InDetTrackParticlesKey =
"InDetTrackParticles"))
73 TLA2_thinning_expression =
""
75 TLA2Akt4JetTPThinningTool = acc.getPrimaryAndMerge(JetTrackParticleThinningCfg(
77 name =
"TLA2Akt4JetTPThinningTool",
78 StreamName = kwargs[
'StreamName'],
79 JetKey =
"AntiKt4EMTopoJets",
80 SelectionString =
"AntiKt4EMTopoJets.pt > 18*GeV",
81 TrackSelectionString = TLA2_thinning_expression,
82 InDetTrackParticlesKey =
"InDetTrackParticles"))
84 TLA2Akt4PFlowJetTPThinningTool = acc.getPrimaryAndMerge(JetTrackParticleThinningCfg(
86 name =
"TLA2Akt4PFlowJetTPThinningTool",
87 StreamName = kwargs[
'StreamName'],
88 JetKey =
"AntiKt4EMPFlowJets",
89 SelectionString =
"AntiKt4EMPFlowJets.pt > 18*GeV",
90 TrackSelectionString = TLA2_thinning_expression,
91 InDetTrackParticlesKey =
"InDetTrackParticles"))
94 thinningTools = [TLA2MuonTPThinningTool,
95 TLA2ElectronTPThinningTool,
96 TLA2Akt4JetTPThinningTool,
97 TLA2Akt4PFlowJetTPThinningTool]
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_TLA2'
113 acc = ComponentAccumulator()
118 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
119 TLA2TriggerListsHelper = TriggerListsHelper(flags)
123 acc.merge(
TLA2KernelCfg(flags, name=
"TLA2Kernel", StreamName = stream_name, TriggerListsHelper = TLA2TriggerListsHelper))
128 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
129 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
130 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
132 TLA2SlimmingHelper =
SlimmingHelper(
"TLA2SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
134 TLA2SlimmingHelper.SmartCollections = [
141 "AntiKt4EMPFlowJets",
147 TLA2SlimmingHelper.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 TLA2SlimmingHelper.ExtraVariables += [
158 "AntiKt4EMPFlowJets.HECQuality.TrackSumMass.PSFrac.TrackSumPt.SumPtChargedPFOPt1000.EMFrac.Width.JetEMScaleMomentum_pt.JetEMScaleMomentum_eta.TracksForBTagging.SumPtTrkPt1000.TrackWidthPt500",
160 "EventInfo.hardScatterVertexLink.timeStampNSOffset",
162 "PrimaryVertices.neutralWeights.chiSquared.numberDoF.sumPt2.covariance.trackWeights"
165 TLA2SlimmingHelper.AllVariables = [
167 "Kt4EMTopoOriginEventShape",
"Kt4EMPFlowEventShape",
168 "Kt4EMPFlowNeutEventShape",
175 L1Calo_eEM_postfix =
""
177 TLA2SlimmingHelper.AppendToDictionary.update(
178 {
"L1_eEMRoI"+L1Calo_eEM_postfix :
"xAOD::eFexEMRoIContainer",
179 "L1_eEMRoI"+L1Calo_eEM_postfix+
"Aux" :
"xAOD::eFexEMRoIAuxContainer"})
181 TLA2SlimmingHelper.AllVariables += [
"L1_eEMRoI"+L1Calo_eEM_postfix]
186 from DerivationFrameworkTLA.TLACommonConfig
import addTLATruth3ContentToSlimmerTool
187 addTLATruth3ContentToSlimmerTool(TLA2SlimmingHelper)
188 TLA2SlimmingHelper.AllVariables += [
189 'TruthHFWithDecayParticles',
190 'TruthHFWithDecayVertices',
192 'TruthPileupParticles',
193 'InTimeAntiKt4TruthJets',
194 'OutOfTimeAntiKt4TruthJets',
196 TLA2SlimmingHelper.ExtraVariables += [
197 "Electrons.TruthLink",
202 TLA2SlimmingHelper.SmartCollections += [
"AntiKt4TruthWZJets"]
203 TLA2SlimmingHelper.AllVariables += [
"AntiKt4TruthJets",
"AntiKt4TruthDressedWZJets"]
207 TLA2SlimmingHelper.IncludeTriggerNavigation =
True
208 TLA2SlimmingHelper.IncludeJetTriggerContent =
True
209 TLA2SlimmingHelper.IncludeMuonTriggerContent =
False
210 TLA2SlimmingHelper.IncludeTrackingTriggerContent =
True
211 TLA2SlimmingHelper.IncludeEGammaTriggerContent =
True
212 TLA2SlimmingHelper.IncludeTauTriggerContent =
False
213 TLA2SlimmingHelper.IncludeEtMissTriggerContent =
False
214 TLA2SlimmingHelper.IncludeBJetTriggerContent =
True
215 TLA2SlimmingHelper.IncludeBPhysTriggerContent =
False
216 TLA2SlimmingHelper.IncludeMinBiasTriggerContent =
False
217 TLA2SlimmingHelper.OverrideJetTriggerContentWithTLAContent =
True
221 if flags.Trigger.EDMVersion == 2:
222 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
223 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = TLA2SlimmingHelper,
224 OutputContainerPrefix =
"TrigMatch_",
225 TriggerList = TLA2TriggerListsHelper.Run2TriggerNamesTau)
226 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = TLA2SlimmingHelper,
227 OutputContainerPrefix =
"TrigMatch_",
228 TriggerList = TLA2TriggerListsHelper.Run2TriggerNamesNoTau)
230 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
231 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
232 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(TLA2SlimmingHelper)
235 TLA2ItemList = TLA2SlimmingHelper.GetItemList()
236 acc.merge(OutputStreamCfg(flags,
"DAOD_TLA2", ItemList=TLA2ItemList, AcceptAlgs=[
"TLA2Kernel"]))
237 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_TLA2", AcceptAlgs=[
"TLA2Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))