def get_histories_fix_params(self, exp, rep, tag, **kwargs):
        """ this function uses get_history(..) but returns all histories where the
            subexperiments match the additional kwargs arguments. if alpha=1.0,
            beta = 0.01 is given, then only those experiment histories are returned,
            as a list.
        """ 
        subexps = self.get_exps(exp)
        tagvalues = [re.sub("0+$", '0', '%s%f'%(k, kwargs[k])) for k in kwargs]

        histories = [self.get_history(se, rep, tag) for se in subexps if all(map(lambda tv: tv in se, tagvalues))]
        params = [self.get_params(se) for se in subexps if all(map(lambda tv: tv in se, tagvalues))]

        return histories, params