code: def run(self, data, results=None, mask=None, positions=None):
          
          analysis = self.make_analysis(data=data, results=results, mask=mask, positions=positions)
  
          result = self.run_analysis(analysis)
  
          return self.make_result(result, analysis)
docs: Run this phase.
  
          Parameters
          ----------
          positions
          mask: Mask
              The default masks passed in by the pipeline
          results: autofit.tools.pipeline.ResultsCollection
              An object describing the results of the last phase or None if no phase has been executed
          data: scaled_array.ScaledSquarePixelArray
              An lens_data that has been masked
  
          Returns
          -------
          result: AbstractPhase.Result
              A result object comprising the best fit model and other hyper.