ATLAS Offline Software
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
 
 the_signature_grouping
 

Function Documentation

◆ get_alignment_group_from_pattern()

def MenuAlignmentTools.get_alignment_group_from_pattern (   signature,
  extra 
)

Definition at line 41 of file MenuAlignmentTools.py.

41 def get_alignment_group_from_pattern(signature, extra):
42 
43  signature_for_alignment = signature + extra
44 
45  log.debug("[get_alignment_group_from_pattern] Searching for alignment group for %s",signature_for_alignment)
46 
47  if signature_for_alignment in the_signature_grouping.keys():
48  return the_signature_grouping[signature_for_alignment]
49  elif signature in the_signature_grouping.keys():
50  log.debug("[get_alignment_group_from_pattern] Falling back to signature alignment grouping for %s (%s)",signature, extra)
51  return the_signature_grouping[signature]
52  else:
53  log.debug("[get_alignment_group_from_pattern] No dedicated alignment grouping for signature %s (%s)",signature, extra)
54  return signature
55 

◆ get_alignment_group_ordering()

def MenuAlignmentTools.get_alignment_group_ordering ( )

Definition at line 37 of file MenuAlignmentTools.py.

38  seen = set()
39  return [v for v in the_signature_grouping.values() if not (v in seen or seen.add(v))]
40 

◆ remove_duplicates()

def MenuAlignmentTools.remove_duplicates (   config_tuples)

Definition at line 56 of file MenuAlignmentTools.py.

56 def remove_duplicates(config_tuples):
57  # move a list like this [(5, 'Tau'), (6, 'Tau'), (1, 'JetMET')]
58  # .... to this [(6, 'Tau'), (1, 'JetMET')]
59  # one per group, and keep the max length
60  list_of_groups = [x[1] for x in config_tuples]
61 
62  if len(list_of_groups) == len(set(list_of_groups)):
63  return config_tuples
64 
65  else:
66  unique_list = OrderedDict()
67  for ag_length, ag in config_tuples:
68  if ag in unique_list:
69  if ag_length > unique_list[ag]:
70  unique_list[ag] = ag_length
71  else:
72  unique_list[ag] = ag_length
73 
74  unique_config_tuples = []
75  for ag, ag_length in unique_list.items():
76  unique_config_tuples += [(ag_length, ag)]
77  return unique_config_tuples
78 

Variable Documentation

◆ log

MenuAlignmentTools.log

Definition at line 7 of file MenuAlignmentTools.py.

◆ the_signature_grouping

MenuAlignmentTools.the_signature_grouping

Definition at line 16 of file MenuAlignmentTools.py.

MenuAlignmentTools.remove_duplicates
def remove_duplicates(config_tuples)
Definition: MenuAlignmentTools.py:56
MenuAlignmentTools.get_alignment_group_ordering
def get_alignment_group_ordering()
Definition: MenuAlignmentTools.py:37
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:41