def make_analysis(self, galaxy_data, results=None, mask=None):
mask = setup_phase_mask(data=galaxy_data[<NUM_LIT:0>], mask=mask, mask_function=self.mask_function,<EOL>inner_mask_radii=None)<EOL>self.pass_priors(results)<EOL>if self.use_intensities or self.use_convergence or self.use_potential:<EOL><INDENT>galaxy_data = gd.GalaxyFitData(galaxy_data=galaxy_data[<NUM_LIT:0>], mask=mask, sub_grid_size=self.sub_grid_size,<EOL>use_intensities=self.use_intensities,<EOL>use_convergence=self.use_convergence,<EOL>use_potential=self.use_potential,<EOL>use_deflections_y=self.use_deflections,<EOL>use_deflections_x=self.use_deflections)<EOL>return self.__class__.AnalysisSingle(galaxy_data=galaxy_data,<EOL>cosmology=self.cosmology,<EOL>results=results)<EOL><DEDENT>elif self.use_deflections:<EOL><INDENT>galaxy_data_y = gd.GalaxyFitData(galaxy_data=galaxy_data[<NUM_LIT:0>], mask=mask, sub_grid_size=self.sub_grid_size,<EOL>use_intensities=self.use_intensities,<EOL>use_convergence=self.use_convergence,<EOL>use_potential=self.use_potential,<EOL>use_deflections_y=self.use_deflections, use_deflections_x=False)<EOL>galaxy_data_x = gd.GalaxyFitData(galaxy_data=galaxy_data[<NUM_LIT:1>], mask=mask, sub_grid_size=self.sub_grid_size,<EOL>use_intensities=self.use_intensities,<EOL>use_convergence=self.use_convergence,<EOL>use_potential=self.use_potential,<EOL>use_deflections_y=False, use_deflections_x=self.use_deflections)<EOL>return self.__class__.AnalysisDeflections(galaxy_data_y=galaxy_data_y, galaxy_data_x=galaxy_data_x,<EOL>cosmology=self.cosmology,<EOL>results=results)<EOL><DEDENT>
Create an lens object. Also calls the prior passing and lens_data modifying functions to allow child
classes to change the behaviour of the phase.

Parameters
----------
galaxy_data
mask: Mask
    The default masks passed in by the pipeline
results: autofit.tools.pipeline.ResultsCollection
    The result from the previous phase

Returns
-------
lens: Analysis
    An lens object that the non-linear optimizer calls to determine the fit of a set of values