code: def _weightfun_tapered_sliding_window(T, params, report):
      
      x = np.arange(-(params['windowsize'] - 1) / 2, (params['windowsize']) / 2)
      distribution_parameters = ','.join(map(str, params['distribution_params']))
      taper = eval('sps.' + params['distribution'] +
                               '.pdf(x,' + distribution_parameters + ')')
  
      weightat0 = np.zeros(T)
      weightat0[0:params['windowsize']] = taper
      weights = np.array([np.roll(weightat0, i)
                          for i in range(0, T + 1 - params['windowsize'])])
      report['method'] = 'slidingwindow'
      report['slidingwindow'] = params
      report['slidingwindow']['taper'] = taper
      report['slidingwindow']['taper_window'] = x
      return weights, report
docs: Creates the weights for the tapered method. See func: teneto.derive.derive.