ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
menu_config_tests.PartialEventBuildingChecks Class Reference
Inheritance diagram for menu_config_tests.PartialEventBuildingChecks:
Collaboration diagram for menu_config_tests.PartialEventBuildingChecks:

Public Member Functions

def __init__ (self)
 
def run (self, config)
 

Public Attributes

 description
 
 failures
 

Detailed Description

Definition at line 207 of file menu_config_tests.py.

Constructor & Destructor Documentation

◆ __init__()

def menu_config_tests.PartialEventBuildingChecks.__init__ (   self)

Definition at line 208 of file menu_config_tests.py.

208  def __init__(self):
209  super(PartialEventBuildingChecks, self).__init__(
210  description='Config consistency of Partial Event Building')
211 

Member Function Documentation

◆ run()

def menu_config_tests.PartialEventBuildingChecks.run (   self,
  config 
)

Reimplemented from menu_config_tests.MenuVerification.

Definition at line 212 of file menu_config_tests.py.

212  def run(self, config):
213  from TriggerMenuMT.HLT.Menu import EventBuildingInfo
214  eb_identifiers = EventBuildingInfo.getAllEventBuildingIdentifiers()
215 
216  for chain_name, chain_config in config['chains'].items():
217  peb_identifiers = [idf for idf in eb_identifiers if '_'+idf+'_' in chain_name]
218  peb_writers = [seq for seq in chain_config['sequencers'] if 'PEBInfoWriter' in seq]
219 
220  is_peb_chain = (len(peb_identifiers) > 0 or len(peb_writers) > 0)
221 
222  # Check streaming configuration
223  for stream_name in chain_config['streams']:
224  if stream_name not in config['streams']:
225  self.failures.append(
226  'Stream {:s} for chain {:s} is not defined in streaming configuration'.format(
227  stream_name, chain_name))
228 
229  is_feb_stream = config['streams'][stream_name]['forceFullEventBuilding']
230 
231  if is_peb_chain and is_feb_stream:
232  self.failures.append(
233  'PEB chain {:s} streamed to a full-event-building stream {:s} '
234  '(forceFullEventBuilding=True)'.format(
235  chain_name, stream_name))
236 
237  elif not is_peb_chain and not is_feb_stream:
238  self.failures.append(
239  'Full-event-building chain {:s} streamed to the stream {:s} which allows partial '
240  'event building (forceFullEventBuilding=False)'.format(
241  chain_name, stream_name))
242 
243  if not is_peb_chain:
244  # Not a PEB chain, skip further PEB-specific checks
245  continue
246 
247  if len(peb_identifiers) != 1:
248  self.failures.append(
249  '{:s} has {:d} event building identifiers'.format(chain_name, len(peb_identifiers)))
250 
251  if len(peb_writers) != 1:
252  self.failures.append(
253  '{:s} has {:d} PEBInfoWriter sequences'.format(chain_name, len(peb_writers)))
254 
255  if peb_identifiers and peb_writers and not peb_writers[0].endswith(peb_identifiers[0]):
256  self.failures.append(
257  '{:s} PEB sequence name {:s} doesn\'t end with PEB identifier {:s}'.format(
258  chain_name, peb_writers[0], peb_identifiers[0]))
259 
260 
261 

Member Data Documentation

◆ description

menu_config_tests.MenuVerification.description
inherited

Definition at line 29 of file menu_config_tests.py.

◆ failures

menu_config_tests.MenuVerification.failures
inherited

Definition at line 30 of file menu_config_tests.py.


The documentation for this class was generated from the following file:
vtune_athena.format
format
Definition: vtune_athena.py:14
run
int run(int argc, char *argv[])
Definition: ttree2hdf5.cxx:28
dumpHVPathFromNtuple.append
bool append
Definition: dumpHVPathFromNtuple.py:91
TrigJetMonitorAlgorithm.items
items
Definition: TrigJetMonitorAlgorithm.py:71
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18