code: def add_singles(self, results):
          
          # Let's see how large everything is
          logging.info('BKG Coincs %s stored %s bytes',
                       len(self.coincs), self.coincs.nbytes)
  
          # If there are no results just return
          valid_ifos = [k for k in results.keys() if results[k] and k in self.ifos]
          if len(valid_ifos) == 0: return {}
  
          # Add single triggers to the internal buffer
          self._add_singles_to_buffer(results, ifos=valid_ifos)
  
          # Calculate zerolag and background coincidences
          _, coinc_results = self._find_coincs(results, ifos=valid_ifos)
  
          # record if a coinc is possible in this chunk
          if len(valid_ifos) == 2:
              coinc_results['coinc_possible'] = True
  
          return coinc_results
docs: Add singles to the bacckground estimate and find candidates
  
          Parameters
          ----------
          results: dict of arrays
              Dictionary of dictionaries indexed by ifo and keys such as 'snr',
              'chisq', etc. The specific format it determined by the
              LiveBatchMatchedFilter class.
  
          Returns
          -------
          coinc_results: dict of arrays
              A dictionary of arrays containing the coincident results.