code: def post_process(self, layer):
          
          LOGGER.info('ANALYSIS : Post processing')
  
          # Set the layer title
          purpose = layer.keywords['layer_purpose']
          if purpose != layer_purpose_aggregation_summary['key']:
              # On an aggregation layer, the default title does make any sense.
              layer_title(layer)
  
          for post_processor in post_processors:
              run, run_message = should_run(layer.keywords, post_processor)
              if run:
                  valid, message = enough_input(layer, post_processor['input'])
                  name = post_processor['name']
                  if valid:
                      valid, message = run_single_post_processor(
                          layer, post_processor)
                      if valid:
                          self.set_state_process('post_processor', name)
                          message = '{name} : Running'.format(name=name)
                          LOGGER.info(message)
  
                  else:
                      # message = u'{name} : Could not run : {reason}'.format(
                      #     name=name, reason=message)
                      # LOGGER.info(message)
                      pass
              else:
                  # LOGGER.info(run_message)
                  pass
  
          self.debug_layer(layer, add_to_datastore=False)
docs: More process after getting the impact layer with data.
  
          :param layer: The vector layer to use for post processing.
          :type layer: QgsVectorLayer