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","Kt4EMPFlowNeutEventShape"]
177
178 if flags.Input.isMC:
179 JETM4SlimmingHelper.ExtraVariables = ["TauJets.truthJetLink.truthParticleLink.IsTruthMatched"]
180
181
182 from DerivationFrameworkJetEtMiss.CommonJETMXContent import ClusterVariables, FlowElementVariables
183 JETM4SlimmingHelper.ExtraVariables += [".".join(["CaloCalTopoClusters"] + ClusterVariables)]
184 JETM4SlimmingHelper.ExtraVariables += [".".join(["GlobalChargedParticleFlowObjects"] + FlowElementVariables)]
185 JETM4SlimmingHelper.ExtraVariables += [".".join(["GlobalNeutralParticleFlowObjects"] + FlowElementVariables)]
186
187
188 extraListReg = []
189 modelName = "bJR10v00"
190 for score in ["mass", "pt"]:
191 extraListReg.append(f"{modelName}_{score}")
192 JETM4SlimmingHelper.ExtraVariables += ["AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets." + ".".join(extraListReg)]
193
194
195 if flags.Input.isMC:
196
197 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
198 addTruth3ContentToSlimmerTool(JETM4SlimmingHelper)
199
200 JETM4SlimmingHelper.AppendToDictionary.update({'TruthParticles': 'xAOD::TruthParticleContainer',
201 'TruthParticlesAux': 'xAOD::TruthParticleAuxContainer'})
202
203 JETM4SlimmingHelper.AllVariables += ["TruthParticles", "TruthEvents", "TruthVertices",
204 "MuonTruthParticles", "egammaTruthParticles",]
205 JETM4SlimmingHelper.SmartCollections += ["AntiKt4TruthJets","AntiKt10TruthJets",
206 "AntiKt10TruthSoftDropBeta100Zcut10Jets"]
207
208
209 JETM4SlimmingHelper.IncludeTriggerNavigation = False
210 JETM4SlimmingHelper.IncludeJetTriggerContent = False
211 JETM4SlimmingHelper.IncludeMuonTriggerContent = False
212 JETM4SlimmingHelper.IncludeEGammaTriggerContent = True
213 JETM4SlimmingHelper.IncludeTauTriggerContent = False
214 JETM4SlimmingHelper.IncludeEtMissTriggerContent = False
215 JETM4SlimmingHelper.IncludeBJetTriggerContent = False
216 JETM4SlimmingHelper.IncludeBPhysTriggerContent = False
217 JETM4SlimmingHelper.IncludeMinBiasTriggerContent = False
218
219
220
221 if flags.Trigger.EDMVersion == 2:
222 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
223 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = JETM4SlimmingHelper,
224 OutputContainerPrefix = "TrigMatch_",
225 TriggerList = JETM4TriggerListsHelper.Run2TriggerNamesTau)
226 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = JETM4SlimmingHelper,
227 OutputContainerPrefix = "TrigMatch_",
228 TriggerList = JETM4TriggerListsHelper.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(JETM4SlimmingHelper)
233
234
235 JETM4ItemList = JETM4SlimmingHelper.GetItemList()
236 acc.merge(OutputStreamCfg(flags, "DAOD_JETM4", ItemList=JETM4ItemList, AcceptAlgs=["JETM4Kernel"]))
237 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_JETM4", AcceptAlgs=["JETM4Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData,MetadataCategory.TruthMetaData]))
238
239 return acc
240