def get_likelihood(test_statistics, dhisto, dtypes, lib, params): ''' get likelihood object :type test_statistics: a string :param test_statistics: test statistics method chi2 / modchi2 / barlow / poisson :type dhisto: a dictionary :param dhisto: data histogram {'H':H, 'H2':H2} :type dtypes: a list / numpy array :param dtypes: list of dtypes involved :type lib: a Library object :param lib: library object to get baseline events :type params: a dictionary :param params: minimizer start values by user :return LH: a Likelihood class LH: likelihood object ''' LH = Likelihood(dhisto, test_statistics, verbose=verbose) ## special info for barlow LLH if 'barlow' in test_statistics: events = collect_events(lib, dtypes) unhistos, norms = get_barlow_params(events, params) LH.set_barlow(unhistos, norms) return LH