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 177 of file menu_config_tests.py.

Constructor & Destructor Documentation

◆ __init__()

def menu_config_tests.PartialEventBuildingChecks.__init__ (   self)

Definition at line 178 of file menu_config_tests.py.

178  def __init__(self):
179  super(PartialEventBuildingChecks, self).__init__(
180  description='Config consistency of Partial Event Building')
181 

Member Function Documentation

◆ run()

def menu_config_tests.PartialEventBuildingChecks.run (   self,
  config 
)

Reimplemented from menu_config_tests.MenuVerification.

Definition at line 182 of file menu_config_tests.py.

182  def run(self, config):
183  from TriggerMenuMT.HLT.Menu import EventBuildingInfo
184  eb_identifiers = EventBuildingInfo.getAllEventBuildingIdentifiers()
185 
186  for chain_name, chain_config in config['chains'].items():
187  peb_identifiers = [idf for idf in eb_identifiers if '_'+idf+'_' in chain_name]
188  peb_writers = [seq for seq in chain_config['sequencers'] if 'PEBInfoWriter' in seq]
189 
190  is_peb_chain = (len(peb_identifiers) > 0 or len(peb_writers) > 0)
191 
192  # Check streaming configuration
193  for stream_name in chain_config['streams']:
194  if stream_name not in config['streams']:
195  self.failures.append(
196  'Stream {:s} for chain {:s} is not defined in streaming configuration'.format(
197  stream_name, chain_name))
198 
199  is_feb_stream = config['streams'][stream_name]['forceFullEventBuilding']
200 
201  if is_peb_chain and is_feb_stream:
202  self.failures.append(
203  'PEB chain {:s} streamed to a full-event-building stream {:s} '
204  '(forceFullEventBuilding=True)'.format(
205  chain_name, stream_name))
206 
207  elif not is_peb_chain and not is_feb_stream:
208  self.failures.append(
209  'Full-event-building chain {:s} streamed to the stream {:s} which allows partial '
210  'event building (forceFullEventBuilding=False)'.format(
211  chain_name, stream_name))
212 
213  if not is_peb_chain:
214  # Not a PEB chain, skip further PEB-specific checks
215  continue
216 
217  if len(peb_identifiers) != 1:
218  self.failures.append(
219  '{:s} has {:d} event building identifiers'.format(chain_name, len(peb_identifiers)))
220 
221  if len(peb_writers) != 1:
222  self.failures.append(
223  '{:s} has {:d} PEBInfoWriter sequences'.format(chain_name, len(peb_writers)))
224 
225  if peb_identifiers and peb_writers and not peb_writers[0].endswith(peb_identifiers[0]):
226  self.failures.append(
227  '{:s} PEB sequence name {:s} doesn\'t end with PEB identifier {:s}'.format(
228  chain_name, peb_writers[0], peb_identifiers[0]))
229 
230 
231 

Member Data Documentation

◆ description

menu_config_tests.MenuVerification.description
inherited

Definition at line 27 of file menu_config_tests.py.

◆ failures

menu_config_tests.MenuVerification.failures
inherited

Definition at line 28 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:79
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18