code: def _chooseBestSegmentPerCell(cls,
                                  connections,
                                  cells,
                                  allMatchingSegments,
                                  potentialOverlaps):
      
  
      candidateSegments = connections.filterSegmentsByCell(allMatchingSegments,
                                                           cells)
  
      # Narrow it down to one pair per cell.
      onePerCellFilter = np2.argmaxMulti(potentialOverlaps[candidateSegments],
                                         connections.mapSegmentsToCells(
                                           candidateSegments))
      learningSegments = candidateSegments[onePerCellFilter]
  
      return learningSegments
docs: For each specified cell, choose its matching segment with largest number
      of active potential synapses. When there's a tie, the first segment wins.
  
      @param connections (SparseMatrixConnections)
      @param cells (numpy array)
      @param allMatchingSegments (numpy array)
      @param potentialOverlaps (numpy array)
  
      @return (numpy array)
      One segment per cell