111def TLA2Cfg(flags):
112 stream_name = 'StreamDAOD_TLA2'
113 acc = ComponentAccumulator()
114
115
116
117
118 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
119 TLA2TriggerListsHelper = TriggerListsHelper(flags)
120
121
122
123 acc.merge(TLA2KernelCfg(flags, name="TLA2Kernel", StreamName = stream_name, TriggerListsHelper = TLA2TriggerListsHelper))
124
125
126
127
128 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
129 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
130 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
131
132 TLA2SlimmingHelper =
SlimmingHelper(
"TLA2SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
133
134 TLA2SlimmingHelper.SmartCollections = [
135 "EventInfo",
136 "Electrons",
137 "Photons",
138 "PrimaryVertices",
139 "Muons",
140 "AntiKt4EMTopoJets",
141 "AntiKt4EMPFlowJets",
142
143 ]
144
145
146 if flags.Input.isMC:
147 TLA2SlimmingHelper.ExtraVariables += [
148 "AntiKt4EMTopoJets.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt",
149
150 "AntiKt4EMPFlowJets.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt",
151
152 "TruthPrimaryVertices.t.x.y.z",
153
154 "EventInfo.hardScatterVertexLink.timeStampNSOffset",
155 ]
156 else:
157 TLA2SlimmingHelper.ExtraVariables += [
158 "AntiKt4EMPFlowJets.HECQuality.TrackSumMass.PSFrac.TrackSumPt.SumPtChargedPFOPt1000.EMFrac.Width.JetEMScaleMomentum_pt.JetEMScaleMomentum_eta.TracksForBTagging.SumPtTrkPt1000.TrackWidthPt500",
159
160 "EventInfo.hardScatterVertexLink.timeStampNSOffset",
161
162 "PrimaryVertices.neutralWeights.chiSquared.numberDoF.sumPt2.covariance.trackWeights"
163 ]
164
165 TLA2SlimmingHelper.AllVariables = [
166
167 "Kt4EMTopoOriginEventShape","Kt4EMPFlowEventShape",
168 "Kt4EMPFlowNeutEventShape",
169
170 "MuonSegments",
171 ]
172
173
174
175 L1Calo_eEM_postfix = ""
176
177 TLA2SlimmingHelper.AppendToDictionary.update(
178 {"L1_eEMRoI"+L1Calo_eEM_postfix : "xAOD::eFexEMRoIContainer",
179 "L1_eEMRoI"+L1Calo_eEM_postfix+"Aux" : "xAOD::eFexEMRoIAuxContainer"})
180
181 TLA2SlimmingHelper.AllVariables += ["L1_eEMRoI"+L1Calo_eEM_postfix]
182
183
184
185 if flags.Input.isMC:
186 from DerivationFrameworkTLA.TLACommonConfig import addTLATruth3ContentToSlimmerTool
187 addTLATruth3ContentToSlimmerTool(TLA2SlimmingHelper)
188 TLA2SlimmingHelper.AllVariables += [
189 'TruthHFWithDecayParticles',
190 'TruthHFWithDecayVertices',
191 'TruthCharm',
192 'TruthPileupParticles',
193 'InTimeAntiKt4TruthJets',
194 'OutOfTimeAntiKt4TruthJets',
195 ]
196 TLA2SlimmingHelper.ExtraVariables += [
197 "Electrons.TruthLink",
198 "Photons.TruthLink"
199 ]
200
201
202 TLA2SlimmingHelper.SmartCollections += ["AntiKt4TruthWZJets"]
203 TLA2SlimmingHelper.AllVariables += ["AntiKt4TruthJets", "AntiKt4TruthDressedWZJets"]
204
205
206
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
218
219
220
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)
229
230 if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
231 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
232 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(TLA2SlimmingHelper)
233
234
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]))
238
239 return acc
240