def _ttest(self, rpd=True, run_b_score=None, run_a_score=None, print_feedback=False):
    '\n        Conducts either a paired (reproducibility) or unpaired (replicability) two-sided t-test according to the following paper:\n        Timo Breuer, Nicola Ferro, Norbert Fuhr, Maria Maistro, Tetsuya Sakai, Philipp Schaer, Ian Soboroff.\n        How to Measure the Reproducibility of System-oriented IR Experiments.\n        Proceedings of SIGIR, pages 349-358, 2020.\n\n        @param rpd: Boolean indicating if the evaluated runs are reproduced.\n        @param run_b_score: Scores of the baseline run,\n                            if not provided the scores of the RpdEvaluator object will be used instead.\n        @param run_a_score: Scores of the advanced run,\n                            if not provided the scores of the RpdEvaluator object will be used instead.\n        @param print_feedback: Boolean value indicating if feedback on progress should be printed.\n        @return: Dictionary with p-values that compare the score distributions of the baseline and advanced run.\n        '
    if (self.run_b_orig_score and (self.run_b_rep_score or run_b_score)):
        if (run_b_score and run_a_score):
            if print_feedback:
                print('Determining p-values of t-test for baseline and advanced run.')
            return {'baseline': ttest(self.run_b_orig_score, run_b_score, rpd=rpd, pbar=print_feedback), 'advanced': ttest(self.run_a_orig_score, run_a_score, rpd=rpd, pbar=print_feedback)}
        if run_b_score:
            if print_feedback:
                print('Determining p-values of t-test for baseline run.')
            return {'baseline': ttest(self.run_b_orig_score, run_b_score, rpd=rpd, pbar=print_feedback)}
        if (self.run_a_orig_score and self.run_a_rep_score):
            if print_feedback:
                print('Determining p-values of t-test for baseline and advanced run.')
            return {'baseline': ttest(self.run_b_orig_score, self.run_b_rep_score, rpd=rpd, pbar=print_feedback), 'advanced': ttest(self.run_a_orig_score, self.run_a_rep_score, rpd=rpd, pbar=print_feedback)}
        else:
            if print_feedback:
                print('Determining p-values of t-test for baseline run.')
            return {'baseline': ttest(self.run_b_orig_score, self.run_b_rep_score, rpd=rpd, pbar=print_feedback)}
    else:
        print(ERR_MSG)
Conducts either a paired (reproducibility) or unpaired (replicability) two-sided t-test according to the following paper:
Timo Breuer, Nicola Ferro, Norbert Fuhr, Maria Maistro, Tetsuya Sakai, Philipp Schaer, Ian Soboroff.
How to Measure the Reproducibility of System-oriented IR Experiments.
Proceedings of SIGIR, pages 349-358, 2020.

@param rpd: Boolean indicating if the evaluated runs are reproduced.
@param run_b_score: Scores of the baseline run,
                    if not provided the scores of the RpdEvaluator object will be used instead.
@param run_a_score: Scores of the advanced run,
                    if not provided the scores of the RpdEvaluator object will be used instead.
@param print_feedback: Boolean value indicating if feedback on progress should be printed.
@return: Dictionary with p-values that compare the score distributions of the baseline and advanced run.
def _ttest(self, rpd=True, run_b_score=None, run_a_score=None, print_feedback=False):
    '\n        Conducts either a paired (reproducibility) or unpaired (replicability) two-sided t-test according to the following paper:\n        Timo Breuer, Nicola Ferro, Norbert Fuhr, Maria Maistro, Tetsuya Sakai, Philipp Schaer, Ian Soboroff.\n        How to Measure the Reproducibility of System-oriented IR Experiments.\n        Proceedings of SIGIR, pages 349-358, 2020.\n\n        @param rpd: Boolean indicating if the evaluated runs are reproduced.\n        @param run_b_score: Scores of the baseline run,\n                            if not provided the scores of the RpdEvaluator object will be used instead.\n        @param run_a_score: Scores of the advanced run,\n                            if not provided the scores of the RpdEvaluator object will be used instead.\n        @param print_feedback: Boolean value indicating if feedback on progress should be printed.\n        @return: Dictionary with p-values that compare the score distributions of the baseline and advanced run.\n        '
    if (self.run_b_orig_score and (self.run_b_rep_score or run_b_score)):
        if (run_b_score and run_a_score):
            if print_feedback:
                print('Determining p-values of t-test for baseline and advanced run.')
            return {'baseline': ttest(self.run_b_orig_score, run_b_score, rpd=rpd, pbar=print_feedback), 'advanced': ttest(self.run_a_orig_score, run_a_score, rpd=rpd, pbar=print_feedback)}
        if run_b_score:
            if print_feedback:
                print('Determining p-values of t-test for baseline run.')
            return {'baseline': ttest(self.run_b_orig_score, run_b_score, rpd=rpd, pbar=print_feedback)}
        if (self.run_a_orig_score and self.run_a_rep_score):
            if print_feedback:
                print('Determining p-values of t-test for baseline and advanced run.')
            return {'baseline': ttest(self.run_b_orig_score, self.run_b_rep_score, rpd=rpd, pbar=print_feedback), 'advanced': ttest(self.run_a_orig_score, self.run_a_rep_score, rpd=rpd, pbar=print_feedback)}
        else:
            if print_feedback:
                print('Determining p-values of t-test for baseline run.')
            return {'baseline': ttest(self.run_b_orig_score, self.run_b_rep_score, rpd=rpd, pbar=print_feedback)}
    else:
        print(ERR_MSG)