<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def _calc_probability(self):
        '''Determines the probability that each bee will be chosen during the
        onlooker phase; also determines if a new best-performing bee is found
        '''

        self._logger.log('debug', 'Calculating bee probabilities')
        self.__verify_ready()
        self._total_score = 0
        for employer in self._employers:
            self._total_score += employer.score
            if self.__update(employer.score, employer.values, employer.error):
                self._logger.log(
                    'info',
                    'Update to best performer -'
                    ' error: {} | score: {} | values: {}'.format(
                        employer.error,
                        employer.score,
                        employer.values
                    )
                )
        for employer in self._employers:
            employer.calculate_probability(self._total_score)