177def HION5Cfg(flags):
178 acc = ComponentAccumulator()
179
180 JetColl = flags.HeavyIon.HIJetPrefix
181
182 from DerivationFrameworkEGamma.PhotonsCPDetailedContent import PhotonsCPDetailedContent
183 from DerivationFrameworkEGamma.ElectronsCPDetailedContent import ExtraElectronShowerShapes,ExtraElectronGSFVar
184
185 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
186 HION5TriggerListsHelper = TriggerListsHelper(flags)
187
188 acc.merge(HION5KernelCfg(flags, name="HION5Kernel", StreamName="StreamDAOD_HION5", TriggerListsHelper = HION5TriggerListsHelper,))
189
190
191 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
192 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
193 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
194 from DerivationFrameworkHI import ListSlimming
195
196 HION5SlimmingHelper =
SlimmingHelper(
"HION5SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
197 HION5SlimmingHelper.AppendToDictionary = {'EventInfo':'xAOD::EventInfo','EventInfoAux':'xAOD::EventAuxInfo',
198 'TruthEvents':'xAOD::TruthEventContainer','TruthEventsAux':'xAOD::TruthEventAuxContainer',
199 'MET_Truth':'xAOD::MissingETContainer','MET_TruthAux':'xAOD::MissingETAuxContainer',
200 'TruthLHEParticles':'xAOD::TruthParticleContainer', 'TruthLHEParticlesAux':'xAOD::TruthParticleAuxContainer',
201 'TruthElectrons':'xAOD::TruthParticleContainer','TruthElectronsAux':'xAOD::TruthParticleAuxContainer',
202 'TruthMuons':'xAOD::TruthParticleContainer','TruthMuonsAux':'xAOD::TruthParticleAuxContainer',
203 'TruthPhotons':'xAOD::TruthParticleContainer','TruthPhotonsAux':'xAOD::TruthParticleAuxContainer',
204 'TruthTaus':'xAOD::TruthParticleContainer','TruthTausAux':'xAOD::TruthParticleAuxContainer',
205 'TruthNeutrinos':'xAOD::TruthParticleContainer','TruthNeutrinosAux':'xAOD::TruthParticleAuxContainer',
206 'TruthBSM':'xAOD::TruthParticleContainer','TruthBSMAux':'xAOD::TruthParticleAuxContainer',
207 'TruthBoson':'xAOD::TruthParticleContainer','TruthBosonAux':'xAOD::TruthParticleAuxContainer',
208 'TruthBottom':'xAOD::TruthParticleContainer','TruthBottomAux':'xAOD::TruthParticleAuxContainer',
209 'TruthTop':'xAOD::TruthParticleContainer','TruthTopAux':'xAOD::TruthParticleAuxContainer',
210 'TruthForwardProtons':'xAOD::TruthParticleContainer','TruthForwardProtonsAux':'xAOD::TruthParticleAuxContainer',
211 'BornLeptons':'xAOD::TruthParticleContainer','BornLeptonsAux':'xAOD::TruthParticleAuxContainer',
212 'TruthBosonsWithDecayParticles':'xAOD::TruthParticleContainer','TruthBosonsWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
213 'TruthBosonsWithDecayVertices':'xAOD::TruthVertexContainer','TruthBosonsWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
214 'TruthBSMWithDecayParticles':'xAOD::TruthParticleContainer','TruthBSMWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
215 'TruthBSMWithDecayVertices':'xAOD::TruthVertexContainer','TruthBSMWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
216 'AntiKt4TruthDressedWZJets':'xAOD::JetContainer','AntiKt4TruthDressedWZJetsAux':'xAOD::JetAuxContainer',
217 'AntiKt10TruthSoftDropBeta100Zcut10Jets':'xAOD::JetContainer','AntiKt10TruthSoftDropBeta100Zcut10JetsAux':'xAOD::JetAuxContainer',
218 'MET_Track1000':'xAOD::MissingETContainer', 'MET_Track1000Aux':'xAOD::MissingETAuxContainer',
219 'MET_Track2000':'xAOD::MissingETContainer', 'MET_Track2000Aux':'xAOD::MissingETAuxContainer',
220 'MET_Track3000':'xAOD::MissingETContainer', 'MET_Track3000Aux':'xAOD::MissingETAuxContainer',
221 'MET_Track4000':'xAOD::MissingETContainer', 'MET_Track4000Aux':'xAOD::MissingETAuxContainer',
222 'MET_Track5000':'xAOD::MissingETContainer', 'MET_Track5000Aux':'xAOD::MissingETAuxContainer',
223 }
224
225 from DerivationFrameworkHI.TrackMET_config import Cfg_METTrack
226 met_ptCutList = [1000,2000,3000,4000,5000]
227
228 for ptCut in met_ptCutList:
229 acc.merge(Cfg_METTrack(flags, ptCut))
230
231 AllVariables = []
232 AllVariables += ListSlimming.HION5AllVariables(flags.Input.RunNumbers[0])
233 AllVariables += ListSlimming.HION5ExtraContainersTrigger()
234
235
236 from DerivationFrameworkFlavourTag import FtagBaseContent
237
238 if flags.Input.isMC:
239
240
241 AllVariables += ListSlimming.HION5AllTruthVariables()
242 if flags.HeavyIon.doHIBTagging:
243
244 FtagBaseContent.add_truth_to_slimming_helper(HION5SlimmingHelper)
245
246
247 if flags.HeavyIon.doHIBTagging:
248 AllVariables += ListSlimming.HION7AllVarFromFTAG1()
249
250 HION5SlimmingHelper.SmartCollections = ListSlimming.HION5SmartCollections()
251 HION5SlimmingHelper.ExtraVariables = ListSlimming.HION5ExtraVariables()
252 HION5SlimmingHelper.ExtraVariables += PhotonsCPDetailedContent
253 HION5SlimmingHelper.ExtraVariables += ExtraElectronShowerShapes
254 HION5SlimmingHelper.ExtraVariables += ExtraElectronGSFVar
255
256
257 if flags.HeavyIon.doHIBTagging:
258 from DerivationFrameworkFlavourTag.FtagBaseContent import add_common_augmentation
259 add_common_augmentation(flags, acc, HION5SlimmingHelper, JetColl+"AntiKt4HIJets")
260
261 extra_AppendToDictionary = {}
262 FtagBaseContent.update_append_to_dictionary_in_slimming_helper(flags, HION5SlimmingHelper, extra_AppendToDictionary)
263
264 HION5SlimmingHelper.ExtraVariables += ListSlimming.HION7ExtraVarForBtag(JetColl)
265 FtagBaseContent.add_extra_variables_to_slimming_helper(flags, HION5SlimmingHelper)
266
267 HION5SlimmingHelper.AllVariables = AllVariables
268
269
270 HION5SlimmingHelper.IncludeEGammaTriggerContent = True
271
272 HION5SlimmingHelper.IncludeMuonTriggerContent = True
273
274 HION5ItemList = HION5SlimmingHelper.GetItemList()
275
276
277 HIJetRemovedBranches = ListSlimming.makeHIJetRemovedBranchList()
278 jet_var_str = '.-'.join([''] + HIJetRemovedBranches)
279
280 jetRlist = flags.HeavyIon.Jet.RValues
281 for jetR in jetRlist:
282 output = ["xAOD::JetContainer#"+JetColl+"AntiKt"+str(jetR)+"HIJets",
283 "xAOD::JetAuxContainer#"+JetColl+"AntiKt"+str(jetR)+"HIJetsAux.-PseudoJet"+jet_var_str]
284 HION5ItemList += output
285
286 acc.merge(OutputStreamCfg(flags, "DAOD_HION5", ItemList=HION5ItemList, AcceptAlgs=["HION5Kernel"]))
287 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_HION5", AcceptAlgs=["HION5Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
288
289 return acc