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
64 from TrigDecisionTool.TrigDecisionToolHelpers
import possible_keys
70 daodSlim = CompFactory.TrigNavSlimmingMTAlg(
'TrigNavSlimmingMTAlg_DAOD')
71 daodSlim.TrigDecisionTool = tdt
72 daodSlim.OutputCollection =
"HLTNav_Summary_DAODSlimmed"
73 daodSlim.PrimaryInputCollection = inputCollection
74 daodSlim.AllOutputContainers = possible_keys
75 daodSlim.KeepFailedBranched =
False
76 daodSlim.KeepOnlyFinalFeatures =
True
77 daodSlim.RemoveEmptySteps =
True
78 daodSlim.RepackROIs =
False
79 daodSlim.RepackROIsOutputCollection =
"HLTNav_RepackedROIs"
80 daodSlim.RepackMET =
True
81 daodSlim.RepackFeatures =
True
83 daodSlim.RepackFeaturesExclusionList = [
"HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_bJets"]
84 daodSlim.RepackFeaturesOutputCollection_Particle =
"HLTNav_RepackedFeatures_Particle"
85 daodSlim.RepackFeaturesOutputCollection_MET =
"HLTNav_RepackedFeatures_MET"
86 daodSlim.EdgesToDrop = [
"view"]
87 daodSlim.NodesToDrop = [
"F",
"CH"]
88 daodSlim.ChainsFilter = chainsFilter
89 ca.addEventAlgo(daodSlim)
91 log.info(
"Producing DAOD Slimmed Trigger Navigation Collection. Reading {} and writing {}".
format(daodSlim.PrimaryInputCollection, daodSlim.OutputCollection))
93 if daodSlim.OutputCollection
not in possible_keys:
94 log.error(
"Producing a collection {} which is not listed in 'possible_keys'! Add this here too.".
format(daodSlim.OutputCollection))
100 slimmingHelper.AppendToDictionary.update({
'HLTNav_Summary_DAODSlimmed':
'xAOD::TrigCompositeContainer',
'HLTNav_Summary_DAODSlimmedAux':
'xAOD::TrigCompositeAuxContainer',
101 'HLTNav_RepackedFeatures_Particle':
'xAOD::ParticleContainer',
'HLTNav_RepackedFeatures_ParticleAux':
'xAOD::ParticleAuxContainer',
102 'HLTNav_RepackedFeatures_MET':
'xAOD::TrigMissingETContainer',
'HLTNav_RepackedFeatures_METAux':
'xAOD::TrigMissingETAuxContainer',
103 'HLTNav_RepackedROIs':
'TrigRoiDescriptorCollection'})
106 slimmingHelper.ExtraVariables += [
'HLTNav_RepackedFeatures_Particle.px.py.pz.e',
107 'HLTNav_RepackedFeatures_MET.ex.ey.ez.sumEt.sumE.flag.roiWord']
110 slimmingHelper.AllVariables += [
'HLTNav_Summary_DAODSlimmed',
111 'HLTNav_RepackedROIs']
137 log = logging.getLogger(
"TrigNavSlimmingMTCfg.py")
139 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
142 if flags.Trigger.EDMVersion
in [1, 2]
and not flags.Trigger.doEDMVersionConversion:
143 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")
147 if flags.Trigger.decodeHLT
is False:
148 log.debug(
"Nothing to do as Trigger.decodeHLT is False")
151 if flags.Trigger.doNavigationSlimming
is False:
152 log.debug(
"Nothing to do as Trigger.doNavigationSlimming is False")
155 doESD = flags.Output.doWriteESD
156 doAOD = flags.Output.doWriteAOD
158 from TrigDecisionTool.TrigDecisionToolConfig
import TrigDecisionToolCfg, getRun3NavigationContainerFromInput
159 from TrigDecisionTool.TrigDecisionToolHelpers
import possible_keys
167 if doESD
and doESDSlim:
169 esdSlim = CompFactory.TrigNavSlimmingMTAlg(
'TrigNavSlimmingMTAlg_ESD')
170 esdSlim.TrigDecisionTool = tdt
171 esdSlim.OutputCollection =
"HLTNav_Summary_ESDSlimmed"
172 esdSlim.PrimaryInputCollection = inputCollection
173 esdSlim.AllOutputContainers = possible_keys
174 esdSlim.KeepFailedBranched =
True
175 esdSlim.KeepOnlyFinalFeatures =
False
176 esdSlim.RemoveEmptySteps =
False
177 esdSlim.RepackROIs =
False
178 esdSlim.RepackFeatures =
False
179 esdSlim.EdgesToDrop = [
"view"]
180 esdSlim.NodesToDrop = [
"F"]
181 esdSlim.ChainsFilter = []
182 ca.addEventAlgo(esdSlim)
184 collections = [f
"xAOD::TrigCompositeContainer#{esdSlim.OutputCollection}", f
"xAOD::TrigCompositeAuxContainer#{esdSlim.OutputCollection}Aux.-"]
185 from OutputStreamAthenaPool.OutputStreamConfig
import addToESD
186 ca.merge(
addToESD(flags, collections))
188 log.info(
"Producing ESD Slimmed Trigger Navigation Collection. Reading {} and writing {}".
format(esdSlim.PrimaryInputCollection, esdSlim.OutputCollection))
189 if esdSlim.OutputCollection
not in possible_keys:
190 log.error(
"Producing a collection {} which is not listed in 'possible_keys'! Add this here too.".
format(esdSlim.OutputCollection))
192 log.info(
"Will not create ESD Slimmed Trigger Navigation Collection in this job")
194 if doAOD
and doAODSlim:
196 aodSlim = CompFactory.TrigNavSlimmingMTAlg(
'TrigNavSlimmingMTAlg_AOD')
197 aodSlim.TrigDecisionTool = tdt
198 aodSlim.OutputCollection =
"HLTNav_Summary_AODSlimmed"
199 aodSlim.PrimaryInputCollection = inputCollection
200 aodSlim.AllOutputContainers = possible_keys
201 aodSlim.RemoveEmptySteps =
False
202 aodSlim.RepackROIs =
False
203 aodSlim.RepackFeatures =
False
204 aodSlim.EdgesToDrop = [
"view"]
205 aodSlim.NodesToDrop = [
"F"]
206 aodSlim.ChainsFilter = []
208 if flags.Trigger.AODEDMSet ==
"AODSLIM":
209 aodSlim.KeepFailedBranched =
False
210 aodSlim.KeepOnlyFinalFeatures =
True
211 log.info(
"Producing AODSLIM Trigger Navigation Collection. Reading {} and writing {}".
format(aodSlim.PrimaryInputCollection, aodSlim.OutputCollection))
213 aodSlim.KeepFailedBranched =
True
214 aodSlim.KeepOnlyFinalFeatures =
False
215 log.info(
"Producing AODFULL Slimmed Trigger Navigation Collection. Reading {} and writing {}".
format(aodSlim.PrimaryInputCollection, aodSlim.OutputCollection))
216 ca.addEventAlgo(aodSlim)
218 collections = [f
"xAOD::TrigCompositeContainer#{aodSlim.OutputCollection}", f
"xAOD::TrigCompositeAuxContainer#{aodSlim.OutputCollection}Aux.-"]
219 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
220 ca.merge(
addToAOD(flags, collections))
222 if aodSlim.OutputCollection
not in possible_keys:
223 log.error(
"Producing a collection {} which is not listed in 'possible_keys'! Add this here too.".
format(esdSlim.OutputCollection))
225 log.info(
"Will not create AOD Slimmed Trigger Navigation Collection in this job")