code: def getWinners(self, profile, sampleFileName = None):
          
  
          if sampleFileName != None:
              candScores = self.getCandScoresMapFromSamplesFile(profile, sampleFileName)
          else:
              candScores = self.getCandScoresMap(profile)
  
          # Check whether the winning candidate is the candidate that maximizes the score or 
          # minimizes it.
          if self.maximizeCandScore == True:
              bestScore = max(candScores.values())
          else:
              bestScore = min(candScores.values())
          
          # Create a list of all candidates with the winning score and return it.
          winners = []
          for cand in candScores.keys():
              if candScores[cand] == bestScore:
                  winners.append(cand)
          return winners
docs: Returns a list of all winning candidates when we use MCMC approximation to compute Bayesian
          utilities for an election profile.
          
          :ivar Profile profile: A Profile object that represents an election profile.
          :ivar str sampleFileName: An optional argument for the name of the input file containing 
              sample data. If a file name is given, this method will use the samples in the file 
              instead of generating samples itself.