80def HIONHPODCfg(flags):
81 acc = ComponentAccumulator()
82 acc.merge(HIONHPODKernelCfg(flags, name="HIONHPODKernel", StreamName="StreamDAOD_HIONHPOD"))
83
84 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
85 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
86
87
88 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
89 HIONHPODSlimmingHelper =
SlimmingHelper(
"HIONHPODSlimmingHelper", NamesAndTypes=flags.Input.TypedCollections, flags=flags)
90
91 from DerivationFrameworkHI import ListSlimming
92
93 HIONHPODSlimmingHelper.SmartCollections = ListSlimming.HIONHPODSmartCollections()
94
95 HIONHPODSlimmingHelper.AllVariables = ["AntiKt4HIJets",
96 "CaloSums",
97 "EventInfo"]
98
99
100 if flags.Input.isMC:
101 from SGComps.AddressRemappingConfig import AddressRemappingCfg
102 from DerivationFrameworkMCTruth.MCTruthCommonConfig import AddStandardTruthContentsCfg
103
104
105 required_containers = { "AntiKt10TruthJets".encode("utf-8"), "AntiKt10TruthJetsAux".encode("utf-8") }
106
107
108 inputCollections =
set(flags.Input.Collections)
109
110 if inputCollections.intersection(required_containers):
111 rename_maps = ['%s#%s->%s' % ("xAOD::JetContainer", "AntiKt10TruthJets", "old_AntiKt10TruthJets"),
112 '%s#%s->%s' % ("xAOD::JetAuxContainer", "AntiKt10TruthJetsAux.", "old_AntiKt10TruthJetsAux.")
113 ]
114 acc.merge(AddressRemappingCfg(rename_maps))
115
116 acc.merge(AddStandardTruthContentsCfg(flags))
117
118 HIONHPODSlimmingHelper.AppendToDictionary = {'EventInfo':'xAOD::EventInfo','EventInfoAux':'xAOD::EventAuxInfo',
119 'TruthEvents':'xAOD::TruthEventContainer','TruthEventsAux':'xAOD::TruthEventAuxContainer',
120 'MET_Truth':'xAOD::MissingETContainer','MET_TruthAux':'xAOD::MissingETAuxContainer',
121 'TruthLHEParticles':'xAOD::TruthParticleContainer', 'TruthLHEParticlesAux':'xAOD::TruthParticleAuxContainer',
122 'TruthElectrons':'xAOD::TruthParticleContainer','TruthElectronsAux':'xAOD::TruthParticleAuxContainer',
123 'TruthMuons':'xAOD::TruthParticleContainer','TruthMuonsAux':'xAOD::TruthParticleAuxContainer',
124 'TruthPhotons':'xAOD::TruthParticleContainer','TruthPhotonsAux':'xAOD::TruthParticleAuxContainer',
125 'TruthTaus':'xAOD::TruthParticleContainer','TruthTausAux':'xAOD::TruthParticleAuxContainer',
126 'TruthNeutrinos':'xAOD::TruthParticleContainer','TruthNeutrinosAux':'xAOD::TruthParticleAuxContainer',
127 'TruthBSM':'xAOD::TruthParticleContainer','TruthBSMAux':'xAOD::TruthParticleAuxContainer',
128 'TruthBoson':'xAOD::TruthParticleContainer','TruthBosonAux':'xAOD::TruthParticleAuxContainer',
129 'TruthBottom':'xAOD::TruthParticleContainer','TruthBottomAux':'xAOD::TruthParticleAuxContainer',
130 'TruthTop':'xAOD::TruthParticleContainer','TruthTopAux':'xAOD::TruthParticleAuxContainer',
131 'TruthForwardProtons':'xAOD::TruthParticleContainer','TruthForwardProtonsAux':'xAOD::TruthParticleAuxContainer',
132 'BornLeptons':'xAOD::TruthParticleContainer','BornLeptonsAux':'xAOD::TruthParticleAuxContainer',
133 'TruthBosonsWithDecayParticles':'xAOD::TruthParticleContainer','TruthBosonsWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
134 'TruthBosonsWithDecayVertices':'xAOD::TruthVertexContainer','TruthBosonsWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
135 'TruthBSMWithDecayParticles':'xAOD::TruthParticleContainer','TruthBSMWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
136 'TruthBSMWithDecayVertices':'xAOD::TruthVertexContainer','TruthBSMWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
137 'AntiKt4TruthDressedWZJets':'xAOD::JetContainer','AntiKt4TruthDressedWZJetsAux':'xAOD::JetAuxContainer',
138 'AntiKt10TruthSoftDropBeta100Zcut10Jets':'xAOD::JetContainer','AntiKt10TruthSoftDropBeta100Zcut10JetsAux':'xAOD::JetAuxContainer'
139 }
140
141
142 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
143 addTruth3ContentToSlimmerTool(HIONHPODSlimmingHelper)
144
145 HIONHPODItemList = HIONHPODSlimmingHelper.GetItemList()
146
147 acc.merge(OutputStreamCfg(flags, "DAOD_HIONHPOD", ItemList=HIONHPODItemList, AcceptAlgs=["HIONHPODKernel"]))
148 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_HIONHPOD", AcceptAlgs=["HIONHPODKernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
149
150 return acc