5 from AthenaConfiguration.ComponentFactory
import CompFactory
6 from AthenaCommon.Logging
import logging
13 return any(checkString
in entry
for entry
in flags.Input.Collections)
22 onlineSlim = CompFactory.TrigNavSlimmingMTAlg(
'TrigNavSlimmingMTAlg_Online')
23 onlineSlim.TrigDecisionTool =
""
24 onlineSlim.OutputCollection =
"HLTNav_Summary_OnlineSlimmed"
25 onlineSlim.PrimaryInputCollection =
"HLTNav_Summary"
26 onlineSlim.KeepFailedBranched =
True
27 onlineSlim.KeepOnlyFinalFeatures =
False
28 onlineSlim.RemoveEmptySteps =
False
29 onlineSlim.EdgesToDrop = []
30 onlineSlim.NodesToDrop = []
31 onlineSlim.ChainsFilter = []
32 onlineSlim.RuntimeValidation = flags.Trigger.doRuntimeNaviVal
56 log = logging.getLogger(
"TrigNavSlimmingMTDerivationCfg.py")
59 log.info(
"Will not create a new DAOD Slimmed Trigger Navigation Collection in this job (already present in input file)")
60 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
63 from TrigDecisionTool.TrigDecisionToolConfig
import TrigDecisionToolCfg, getRun3NavigationContainerFromInput, possible_keys
69 daodSlim = CompFactory.TrigNavSlimmingMTAlg(
'TrigNavSlimmingMTAlg_DAOD')
70 daodSlim.TrigDecisionTool = tdt
71 daodSlim.OutputCollection =
"HLTNav_Summary_DAODSlimmed"
72 daodSlim.PrimaryInputCollection = inputCollection
73 daodSlim.AllOutputContainers = possible_keys
74 daodSlim.KeepFailedBranched =
False
75 daodSlim.KeepOnlyFinalFeatures =
True
76 daodSlim.RemoveEmptySteps =
True
77 daodSlim.RepackROIs =
False
78 daodSlim.RepackROIsOutputCollection =
"HLTNav_RepackedROIs"
79 daodSlim.RepackMET =
True
80 daodSlim.RepackFeatures =
True
82 daodSlim.RepackFeaturesOutputCollection_Particle =
"HLTNav_RepackedFeatures_Particle"
83 daodSlim.RepackFeaturesOutputCollection_MET =
"HLTNav_RepackedFeatures_MET"
84 daodSlim.EdgesToDrop = [
"view"]
85 daodSlim.NodesToDrop = [
"F",
"CH"]
86 daodSlim.ChainsFilter = chainsFilter
87 ca.addEventAlgo(daodSlim)
89 log.info(
"Producing DAOD Slimmed Trigger Navigation Collection. Reading {} and writing {}".
format(daodSlim.PrimaryInputCollection, daodSlim.OutputCollection))
91 if daodSlim.OutputCollection
not in possible_keys:
92 log.error(
"Producing a collection {} which is not listed in 'possible_keys'! Add this here too.".
format(daodSlim.OutputCollection))
98 slimmingHelper.AppendToDictionary.update({
'HLTNav_Summary_DAODSlimmed':
'xAOD::TrigCompositeContainer',
'HLTNav_Summary_DAODSlimmedAux':
'xAOD::TrigCompositeAuxContainer',
99 'HLTNav_RepackedFeatures_Particle':
'xAOD::ParticleContainer',
'HLTNav_RepackedFeatures_ParticleAux':
'xAOD::ParticleAuxContainer',
100 'HLTNav_RepackedFeatures_MET':
'xAOD::TrigMissingETContainer',
'HLTNav_RepackedFeatures_METAux':
'xAOD::TrigMissingETAuxContainer',
101 'HLTNav_RepackedROIs':
'TrigRoiDescriptorCollection'})
103 slimmingHelper.AllVariables += [
'HLTNav_Summary_DAODSlimmed',
104 'HLTNav_RepackedFeatures_Particle',
105 'HLTNav_RepackedFeatures_MET',
106 'HLTNav_RepackedROIs']
132 log = logging.getLogger(
"TrigNavSlimmingMTCfg.py")
134 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
137 if flags.Trigger.EDMVersion
in [1, 2]
and not flags.Trigger.doEDMVersionConversion:
138 log.debug(
"Not going to run Run 3 navigation slimming on a R2 input file as we are not setup to run the navigation conversion in this job")
142 if flags.Trigger.decodeHLT
is False:
143 log.debug(
"Nothing to do as Trigger.decodeHLT is False")
146 if flags.Trigger.doNavigationSlimming
is False:
147 log.debug(
"Nothing to do as Trigger.doNavigationSlimming is False")
150 doESD = flags.Output.doWriteESD
151 doAOD = flags.Output.doWriteAOD
153 from TrigDecisionTool.TrigDecisionToolConfig
import TrigDecisionToolCfg, getRun3NavigationContainerFromInput, possible_keys
161 if doESD
and doESDSlim:
163 esdSlim = CompFactory.TrigNavSlimmingMTAlg(
'TrigNavSlimmingMTAlg_ESD')
164 esdSlim.TrigDecisionTool = tdt
165 esdSlim.OutputCollection =
"HLTNav_Summary_ESDSlimmed"
166 esdSlim.PrimaryInputCollection = inputCollection
167 esdSlim.AllOutputContainers = possible_keys
168 esdSlim.KeepFailedBranched =
True
169 esdSlim.KeepOnlyFinalFeatures =
False
170 esdSlim.RemoveEmptySteps =
False
171 esdSlim.RepackROIs =
False
172 esdSlim.RepackFeatures =
False
173 esdSlim.EdgesToDrop = [
"view"]
174 esdSlim.NodesToDrop = [
"F"]
175 esdSlim.ChainsFilter = []
176 ca.addEventAlgo(esdSlim)
178 collections = [f
"xAOD::TrigCompositeContainer#{esdSlim.OutputCollection}", f
"xAOD::TrigCompositeAuxContainer#{esdSlim.OutputCollection}Aux.-"]
179 from OutputStreamAthenaPool.OutputStreamConfig
import addToESD
180 ca.merge(
addToESD(flags, collections))
182 log.info(
"Producing ESD Slimmed Trigger Navigation Collection. Reading {} and writing {}".
format(esdSlim.PrimaryInputCollection, esdSlim.OutputCollection))
183 if esdSlim.OutputCollection
not in possible_keys:
184 log.error(
"Producing a collection {} which is not listed in 'possible_keys'! Add this here too.".
format(esdSlim.OutputCollection))
186 log.info(
"Will not create ESD Slimmed Trigger Navigation Collection in this job")
188 if doAOD
and doAODSlim:
190 aodSlim = CompFactory.TrigNavSlimmingMTAlg(
'TrigNavSlimmingMTAlg_AOD')
191 aodSlim.TrigDecisionTool = tdt
192 aodSlim.OutputCollection =
"HLTNav_Summary_AODSlimmed"
193 aodSlim.PrimaryInputCollection = inputCollection
194 aodSlim.AllOutputContainers = possible_keys
195 aodSlim.RemoveEmptySteps =
False
196 aodSlim.RepackROIs =
False
197 aodSlim.RepackFeatures =
False
198 aodSlim.EdgesToDrop = [
"view"]
199 aodSlim.NodesToDrop = [
"F"]
200 aodSlim.ChainsFilter = []
202 if flags.Trigger.AODEDMSet ==
"AODFULL":
203 aodSlim.KeepFailedBranched =
True
204 aodSlim.KeepOnlyFinalFeatures =
False
205 log.info(
"Producing AODFULL Slimmed Trigger Navigation Collection. Reading {} and writing {}".
format(aodSlim.PrimaryInputCollection, aodSlim.OutputCollection))
207 aodSlim.KeepFailedBranched =
False
208 aodSlim.KeepOnlyFinalFeatures =
True
209 log.info(
"Producing AODSLIM Trigger Navigation Collection. Reading {} and writing {}".
format(aodSlim.PrimaryInputCollection, aodSlim.OutputCollection))
210 ca.addEventAlgo(aodSlim)
212 collections = [f
"xAOD::TrigCompositeContainer#{aodSlim.OutputCollection}", f
"xAOD::TrigCompositeAuxContainer#{aodSlim.OutputCollection}Aux.-"]
213 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
214 ca.merge(
addToAOD(flags, collections))
216 if aodSlim.OutputCollection
not in possible_keys:
217 log.error(
"Producing a collection {} which is not listed in 'possible_keys'! Add this here too.".
format(esdSlim.OutputCollection))
219 log.info(
"Will not create AOD Slimmed Trigger Navigation Collection in this job")