166def HION5Cfg(flags):
167 acc = ComponentAccumulator()
168
169 from DerivationFrameworkEGamma.PhotonsCPDetailedContent import PhotonsCPDetailedContent
170 from DerivationFrameworkEGamma.ElectronsCPDetailedContent import ExtraElectronShowerShapes,ExtraElectronGSFVar
171
172 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
173 HION5TriggerListsHelper = TriggerListsHelper(flags)
174
175 acc.merge(HION5KernelCfg(flags, name="HION5Kernel", StreamName="StreamDAOD_HION5", TriggerListsHelper = HION5TriggerListsHelper,))
176
177
178 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
179 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
180 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
181 from DerivationFrameworkHI import ListSlimming
182
183 HION5SlimmingHelper =
SlimmingHelper(
"HION5SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
184 HION5SlimmingHelper.AppendToDictionary = {'EventInfo':'xAOD::EventInfo','EventInfoAux':'xAOD::EventAuxInfo',
185 'TruthEvents':'xAOD::TruthEventContainer','TruthEventsAux':'xAOD::TruthEventAuxContainer',
186 'MET_Truth':'xAOD::MissingETContainer','MET_TruthAux':'xAOD::MissingETAuxContainer',
187 'TruthLHEParticles':'xAOD::TruthParticleContainer', 'TruthLHEParticlesAux':'xAOD::TruthParticleAuxContainer',
188 'TruthElectrons':'xAOD::TruthParticleContainer','TruthElectronsAux':'xAOD::TruthParticleAuxContainer',
189 'TruthMuons':'xAOD::TruthParticleContainer','TruthMuonsAux':'xAOD::TruthParticleAuxContainer',
190 'TruthPhotons':'xAOD::TruthParticleContainer','TruthPhotonsAux':'xAOD::TruthParticleAuxContainer',
191 'TruthTaus':'xAOD::TruthParticleContainer','TruthTausAux':'xAOD::TruthParticleAuxContainer',
192 'TruthNeutrinos':'xAOD::TruthParticleContainer','TruthNeutrinosAux':'xAOD::TruthParticleAuxContainer',
193 'TruthBSM':'xAOD::TruthParticleContainer','TruthBSMAux':'xAOD::TruthParticleAuxContainer',
194 'TruthBoson':'xAOD::TruthParticleContainer','TruthBosonAux':'xAOD::TruthParticleAuxContainer',
195 'TruthBottom':'xAOD::TruthParticleContainer','TruthBottomAux':'xAOD::TruthParticleAuxContainer',
196 'TruthTop':'xAOD::TruthParticleContainer','TruthTopAux':'xAOD::TruthParticleAuxContainer',
197 'TruthForwardProtons':'xAOD::TruthParticleContainer','TruthForwardProtonsAux':'xAOD::TruthParticleAuxContainer',
198 'BornLeptons':'xAOD::TruthParticleContainer','BornLeptonsAux':'xAOD::TruthParticleAuxContainer',
199 'TruthBosonsWithDecayParticles':'xAOD::TruthParticleContainer','TruthBosonsWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
200 'TruthBosonsWithDecayVertices':'xAOD::TruthVertexContainer','TruthBosonsWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
201 'TruthBSMWithDecayParticles':'xAOD::TruthParticleContainer','TruthBSMWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
202 'TruthBSMWithDecayVertices':'xAOD::TruthVertexContainer','TruthBSMWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
203 'AntiKt4TruthDressedWZJets':'xAOD::JetContainer','AntiKt4TruthDressedWZJetsAux':'xAOD::JetAuxContainer',
204 'AntiKt10TruthSoftDropBeta100Zcut10Jets':'xAOD::JetContainer','AntiKt10TruthSoftDropBeta100Zcut10JetsAux':'xAOD::JetAuxContainer',
205 'MET_Track1000':'xAOD::MissingETContainer', 'MET_Track1000Aux':'xAOD::MissingETAuxContainer',
206 'MET_Track2000':'xAOD::MissingETContainer', 'MET_Track2000Aux':'xAOD::MissingETAuxContainer',
207 'MET_Track3000':'xAOD::MissingETContainer', 'MET_Track3000Aux':'xAOD::MissingETAuxContainer',
208 'MET_Track4000':'xAOD::MissingETContainer', 'MET_Track4000Aux':'xAOD::MissingETAuxContainer',
209 'MET_Track5000':'xAOD::MissingETContainer', 'MET_Track5000Aux':'xAOD::MissingETAuxContainer',
210 }
211
212 from DerivationFrameworkHI.TrackMET_config import Cfg_METTrack
213 met_ptCutList = [1000,2000,3000,4000,5000]
214
215 for ptCut in met_ptCutList:
216 acc.merge(Cfg_METTrack(flags, ptCut))
217
218 AllVariables = []
219 AllVariables += ListSlimming.HION5AllVariables(flags.Input.RunNumbers[0])
220 AllVariables += ListSlimming.HION5ExtraContainersTrigger()
221
222 if flags.Input.isMC:
223 from DerivationFrameworkMCTruth.MCTruthCommonConfig import AddStandardTruthContentsCfg
224 acc.merge(AddStandardTruthContentsCfg(flags))
225 AllVariables += ListSlimming.HION5AllTruthVariables()
226
227 HION5SlimmingHelper.SmartCollections = ListSlimming.HION5SmartCollections()
228 HION5SlimmingHelper.ExtraVariables = ListSlimming.HION5ExtraVariables()
229 HION5SlimmingHelper.ExtraVariables += PhotonsCPDetailedContent
230 HION5SlimmingHelper.ExtraVariables += ExtraElectronShowerShapes
231 HION5SlimmingHelper.ExtraVariables += ExtraElectronGSFVar
232 HION5SlimmingHelper.AllVariables = AllVariables
233
234
235 HION5SlimmingHelper.IncludeEGammaTriggerContent = True
236
237 HION5SlimmingHelper.IncludeMuonTriggerContent = True
238
239 HION5ItemList = HION5SlimmingHelper.GetItemList()
240
241 acc.merge(OutputStreamCfg(flags, "DAOD_HION5", ItemList=HION5ItemList, AcceptAlgs=["HION5Kernel"]))
242 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_HION5", AcceptAlgs=["HION5Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
243
244 return acc