@classmethod
def create(cls, experiments, params=None):
    """
        Select the reference calculator

        """
    from dials.algorithms.profile_model.gaussian_rs.algorithm import GaussianRSReferenceCalculatorFactory
    if params is None:
        from dials.command_line.integrate import phil_scope
        params = phil_scope.extract()
    selection = params.profile.algorithm
    if selection == 'gaussian_rs':
        params = params.profile.gaussian_rs.fitting
        algorithm = GaussianRSReferenceCalculatorFactory.create(experiments,
            grid_size=params.grid_size, scan_step=params.scan_step,
            grid_method=params.grid_method)
    else:
        raise RuntimeError('Unknown profile model algorithm')
    return algorithm
