Numerical integration: which algorithm would be better to integrate functions similar to "steps"

I have a function f (w), in which the appearance is step as, first of all, the NIntegrate The function does not handle this function, so I decided to do the integration algorithm by hand.

enter the description of the image here

Without joining the plot

I tried to integrate f (w) using the sum of Riemann

data(mu_) := 
 Module({Te = 300., sum = 0., sum1 = 0., kb = 8.61*10^-5, a}, 
  Do(
   sum = sum + (f(w) 0.01); 
   sum1 = sum1 + (f(w) (w - mu) 0.01);, {w, mu - 30 kb Te, 
    mu + 30 kb Te, 0.01}); sum1/(Te*sum))

and then evaluate it with

Table({data(mu),{mu,-1,1})

I think the results could be better if I try another algorithm. Could you suggest one?