Here are my codes:

restart;

Delta := proc (beta) options operator, arrow; sqrt(1-1/beta^2) end proc;

T := proc (`ε`, Z) options operator, arrow; piecewise(`ε` < Delta(beta) and Delta(beta) < `ε`, 2*Delta(beta)^2/(`ε`^2+(Delta(beta)^2-`ε`^2)*(2*Z^2+1)^2), `ε` < -Delta(beta) or Delta(beta) < `ε`, 2*abs(`ε`)/(abs(`ε`)+sqrt(`ε`^2-Delta(beta)^2)*(2*Z^2+1))) end proc;

g := proc (V, Z, beta) options operator, arrow; 1/(Int(T(`ε`, Z)*beta*exp(beta*(`ε`-e*V))/(exp(beta*(`ε`-e*V))+1)^2, `ε` = -infinity .. infinity, method = _NCrule)) end proc;

e := 1;

plot('g'(V, .1, 10), V = -4 .. 4);

what I wanna do is to plot self-defined intrgral function, however the integrand in this integral is also defined by preceding functions. I know that usually in this case if I don't delay evaluation for g(V, .1, 10) in plot, I'm not able to get a plot correctly. However here even I have put the single quotes on g, nothing changes, except for the error prompt. I think the problem results from the piecewise function T(`ε`, Z), since if I disregard it in the definition of g(V, Z, beta), I can get the results quite well.

Does anybody have some suggestions? Thank you.