ATLAS Offline Software
SGInputLoaderConfig.py
Go to the documentation of this file.
1 #
2 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 #
4 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5 from AthenaConfiguration.ComponentFactory import CompFactory
6 
7 def SGInputLoaderCfg(flags, Load=None, **kwargs):
8  if Load:
9  processed = set()
10  for item in Load:
11  if isinstance(item, tuple):
12  type_name, key = item
13  elif isinstance(item, str):
14  if '/' in item:
15  type_name, key = item.split('/')
16  elif '#' in item:
17  type_name, key = item.split('#')
18  else:
19  raise ValueError("String entry should be a type-key pair split by '/' or '#'")
20  else:
21  raise ValueError('Unsupported type')
22 
23  # Append 'StoreGateSvc' by default
24  if '+' not in key:
25  key = f'StoreGateSvc+{key}'
26 
27  processed.add((type_name, key))
28 
29  kwargs.setdefault('Load', processed)
30 
31  acc = ComponentAccumulator()
32  acc.addEventAlgo(CompFactory.SGInputLoader(**kwargs), primary=True)
33  return acc
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
SGInputLoaderConfig.SGInputLoaderCfg
def SGInputLoaderCfg(flags, Load=None, **kwargs)
Definition: SGInputLoaderConfig.py:7
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:224