ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Functions | Variables
MenuAlignmentTools Namespace Reference

Classes

class  MenuAlignment
 

Functions

def get_alignment_group_ordering ()
 
def get_alignment_group_from_pattern (signature, extra)
 
def remove_duplicates (config_tuples)
 

Variables

 log
 
 grouping_order
 
 the_signature_grouping
 

Function Documentation

◆ get_alignment_group_from_pattern()

def MenuAlignmentTools.get_alignment_group_from_pattern (   signature,
  extra 
)

Definition at line 23 of file MenuAlignmentTools.py.

23 def get_alignment_group_from_pattern(signature, extra):
24 
25  signature_for_alignment = signature + extra
26 
27  log.debug("[get_alignment_group_from_pattern] Searching for alignment group for %s",signature_for_alignment)
28 
29  if signature_for_alignment in the_signature_grouping.keys():
30  return the_signature_grouping[signature_for_alignment]
31  elif signature in the_signature_grouping.keys():
32  log.debug("[get_alignment_group_from_pattern] Falling back to signature alignment grouping for %s (%s)",signature, extra)
33  return the_signature_grouping[signature]
34  else:
35  log.debug("[get_alignment_group_from_pattern] No dedicated alignment grouping for signature %s (%s)",signature, extra)
36  return signature
37 

◆ get_alignment_group_ordering()

def MenuAlignmentTools.get_alignment_group_ordering ( )

Definition at line 20 of file MenuAlignmentTools.py.

21  return grouping_order
22 

◆ remove_duplicates()

def MenuAlignmentTools.remove_duplicates (   config_tuples)

Definition at line 38 of file MenuAlignmentTools.py.

38 def remove_duplicates(config_tuples):
39  # move a list like this [(5, 'Tau'), (6, 'Tau'), (1, 'JetMET')]
40  # .... to this [(6, 'Tau'), (1, 'JetMET')]
41  # one per group, and keep the max length
42  list_of_groups = [x[1] for x in config_tuples]
43 
44  if len(list_of_groups) == len(set(list_of_groups)):
45  return config_tuples
46 
47  else:
48  unique_list = OrderedDict()
49  for ag_length, ag in config_tuples:
50  if ag in unique_list:
51  if ag_length > unique_list[ag]:
52  unique_list[ag] = ag_length
53  else:
54  unique_list[ag] = ag_length
55 
56  unique_config_tuples = []
57  for ag, ag_length in unique_list.items():
58  unique_config_tuples += [(ag_length, ag)]
59  return unique_config_tuples
60 

Variable Documentation

◆ grouping_order

MenuAlignmentTools.grouping_order

Definition at line 15 of file MenuAlignmentTools.py.

◆ log

MenuAlignmentTools.log

Definition at line 7 of file MenuAlignmentTools.py.

◆ the_signature_grouping

MenuAlignmentTools.the_signature_grouping

Definition at line 18 of file MenuAlignmentTools.py.

MenuAlignmentTools.remove_duplicates
def remove_duplicates(config_tuples)
Definition: MenuAlignmentTools.py:38
MenuAlignmentTools.get_alignment_group_ordering
def get_alignment_group_ordering()
Definition: MenuAlignmentTools.py:20
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:232
MenuAlignmentTools.get_alignment_group_from_pattern
def get_alignment_group_from_pattern(signature, extra)
Definition: MenuAlignmentTools.py:23