ATLAS Offline Software
FlowEnergyDecoratorConfig.py
Go to the documentation of this file.
1 """
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 """
4 
5 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory import CompFactory
7 
8 def FlowEnergyDecoratorCfg(**kwargs):
9  """
10  Function to configure FlowEnergyDecorator for Athena.
11  FlowEnergyDecorator decorates UFO's (UFOCSSK) with energy cluster's information.
12  """
13 
15  flowContainerKey = kwargs.setdefault("UFOContainer", "UFOCSSK")
16  pflowContainerKey = kwargs.setdefault("PFlowContainer", "GlobalNeutralParticleFlowObjects")
17  layerEnergiesEM = kwargs.pop("layerEnergiesEM", [ "PreSamplerB", "PreSamplerE", "EMB1", "EMB2", "EMB3", "EME1", "EME2", "EME3", "FCAL0" ])
18  layerEnergiesHAD = kwargs.pop("layerEnergiesHAD", [ "TileBar0", "TileBar1", "TileBar2", "TileExt0", "TileExt1", "TileExt2",
19  "TileGap1", "TileGap2", "TileGap3", "FCAL1", "FCAL2", "HEC1", "HEC2", "HEC3" ])
20  # FIXME Once Read/WriteDecorHandleKeyArray C++ is fixed
21  # we can remove (p)flowContainerKey + "." +
22  accessorLayerEnergiesEM = [pflowContainerKey + "." + "LAYERENERGY_" + layer for layer in layerEnergiesEM]
23  decorLayerEnergiesEM = [flowContainerKey + "." + "e" + layer for layer in layerEnergiesEM]
24  accessorLayerEnergiesHAD = [pflowContainerKey + "." + "LAYERENERGY_" + layer for layer in layerEnergiesHAD]
25  decorLayerEnergiesHAD = [flowContainerKey + "." + "e" + layer for layer in layerEnergiesHAD]
26  kwargs.setdefault("LayerEnergyAccessorsEM", accessorLayerEnergiesEM)
27  kwargs.setdefault("LayerEnergyDecoratorsEM", decorLayerEnergiesEM)
28  kwargs.setdefault("LayerEnergyAccessorsHAD", accessorLayerEnergiesHAD)
29  kwargs.setdefault("LayerEnergyDecoratorsHAD", decorLayerEnergiesHAD)
30  decorator = CompFactory.FlowEnergyDecorator(
31  name="FlowEnergyDecorator", **kwargs
32  )
33 
34  ca.addEventAlgo(decorator)
35 
36  return ca
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:342
python.FlowEnergyDecoratorConfig.FlowEnergyDecoratorCfg
def FlowEnergyDecoratorCfg(**kwargs)
Definition: FlowEnergyDecoratorConfig.py:8