Example #1
0
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