code: def get_summary_data(self, sec2d_nt):
          
          grouped = set()
          ungrouped = set()
          sections = set()
          secdflt = self.grprobj.hdrobj.secdflt
          for section_name, nts in sec2d_nt:
              if section_name != secdflt:
                  if nts:
                      grouped.update(set(nt.GO for nt in nts))
                      sections.add(section_name)
                  else:
                      ungrouped.update(set(nt.GO for nt in nts))
          return {'grouped':grouped, 'ungrouped':ungrouped, 'sections':sections}
docs: Get placed/unplaced GO IDs and sections.