144def JETM4Cfg(flags):
145
146 acc = ComponentAccumulator()
147
148
149
150
151
152 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
153 JETM4TriggerListsHelper = TriggerListsHelper(flags)
154
155
156 acc.merge(JETM4KernelCfg(flags, name="JETM4Kernel", StreamName = 'StreamDAOD_JETM4', TriggerListsHelper = JETM4TriggerListsHelper))
157
158
159
160
161 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
162 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
163 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
164
165 JETM4SlimmingHelper =
SlimmingHelper(
"JETM4SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
166
167 JETM4SlimmingHelper.SmartCollections = ["EventInfo","InDetTrackParticles", "PrimaryVertices",
168 "Electrons", "Photons", "Muons", "TauJets",
169 "MET_Baseline_AntiKt4EMTopo","MET_Baseline_AntiKt4EMPFlow",
170 "AntiKt4EMPFlowJets","AntiKt4EMTopoJets","AntiKt4UFOCSSKLowPtJets",
171 "AntiKt10UFOCSSKJets",
172 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"]
173
174 JETM4SlimmingHelper.AllVariables = ["CHSGChargedParticleFlowObjects", "CHSGNeutralParticleFlowObjects",
175 "MuonSegments",
176 "Kt4EMTopoOriginEventShape","Kt4EMPFlowEventShape","Kt4EMPFlowPUSBEventShape","Kt4EMPFlowNeutEventShape"]
177
178 JETM4SlimmingHelper.ExtraVariables = ["TauJets.truthJetLink.truthParticleLink.IsTruthMatched"]
179
180
181 from DerivationFrameworkJetEtMiss.CommonJETMXContent import ClusterVariables, FlowElementVariables
182 JETM4SlimmingHelper.ExtraVariables += [".".join(["CaloCalTopoClusters"] + ClusterVariables)]
183 JETM4SlimmingHelper.ExtraVariables += [".".join(["GlobalChargedParticleFlowObjects"] + FlowElementVariables)]
184 JETM4SlimmingHelper.ExtraVariables += [".".join(["GlobalNeutralParticleFlowObjects"] + FlowElementVariables)]
185
186
187 extraListReg = []
188 modelName = "bJR10v00"
189 for score in ["mass", "pt"]:
190 extraListReg.append(f"{modelName}_{score}")
191 JETM4SlimmingHelper.ExtraVariables += ["AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets." + ".".join(extraListReg)]
192
193
194 if flags.Input.isMC:
195
196 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
197 addTruth3ContentToSlimmerTool(JETM4SlimmingHelper)
198
199 JETM4SlimmingHelper.AppendToDictionary.update({'TruthParticles': 'xAOD::TruthParticleContainer',
200 'TruthParticlesAux': 'xAOD::TruthParticleAuxContainer'})
201
202 JETM4SlimmingHelper.AllVariables += ["TruthParticles", "TruthEvents", "TruthVertices",
203 "MuonTruthParticles", "egammaTruthParticles",]
204 JETM4SlimmingHelper.SmartCollections += ["AntiKt4TruthJets","AntiKt10TruthJets",
205 "AntiKt10TruthSoftDropBeta100Zcut10Jets"]
206
207
208 JETM4SlimmingHelper.IncludeTriggerNavigation = False
209 JETM4SlimmingHelper.IncludeJetTriggerContent = False
210 JETM4SlimmingHelper.IncludeMuonTriggerContent = False
211 JETM4SlimmingHelper.IncludeEGammaTriggerContent = True
212 JETM4SlimmingHelper.IncludeTauTriggerContent = False
213 JETM4SlimmingHelper.IncludeEtMissTriggerContent = False
214 JETM4SlimmingHelper.IncludeBJetTriggerContent = False
215 JETM4SlimmingHelper.IncludeBPhysTriggerContent = False
216 JETM4SlimmingHelper.IncludeMinBiasTriggerContent = False
217
218
219
220 if flags.Trigger.EDMVersion == 2:
221 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
222 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = JETM4SlimmingHelper,
223 OutputContainerPrefix = "TrigMatch_",
224 TriggerList = JETM4TriggerListsHelper.Run2TriggerNamesTau)
225 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = JETM4SlimmingHelper,
226 OutputContainerPrefix = "TrigMatch_",
227 TriggerList = JETM4TriggerListsHelper.Run2TriggerNamesNoTau)
228
229 if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
230 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
231 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(JETM4SlimmingHelper)
232
233
234 JETM4ItemList = JETM4SlimmingHelper.GetItemList()
235 acc.merge(OutputStreamCfg(flags, "DAOD_JETM4", ItemList=JETM4ItemList, AcceptAlgs=["JETM4Kernel"]))
236 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_JETM4", AcceptAlgs=["JETM4Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
237
238 return acc
239