To analyze function $F(\rho,s)\int _{zcut}^1fdz$ we need to know is this function analytical on $0<\rho <1$ and $0<s<1$. For this we map interval $(zcut,1)$ to unit interval with using variable $y=(z-zcut)/(1-zcut)$. Let us define function g=f/.{z -> y (1 - zcut) + zcut, s -> (1 - zcut) (1 - \[Rho])/2}
then function F
can be defined in numerical form as follows
FF[x1_?NumericQ,
x2_?NumericQ] := (1 - x2) NIntegrate[
g /. {\[Rho] -> x1, zcut -> x2}, {y, 0, 1}]
Let check that FF
is limited at the origin
FF[$MachineEpsilon, $MachineEpsilon]
Out[]= 0.132812
With this definition we can plot function FF
Plot3D[FF[x1, x2], {x1, $MachineEpsilon, 1/2}, {x2, $MachineEpsilon,
1/2}, AxesLabel -> {"\[Rho]", "zcut", ""}, PlotTheme -> "Marketing",
MeshStyle -> White, ColorFunction -> "Rainbow"]

Function F
looks like analytical around origin, and therefore we have a chance to get some expression to describe F
. To do this we expand function g
in series and define several functions
ff = Normal[Series[g, {zcut, 0, 3}]];
coef=CoefficientList[ff, zcut];
F0[x1_?NumericQ] := NIntegrate[coef[[1]] /. \[Rho] -> x1, {y, 0, 1}]
data0 = Table[{x1, F0[x1]}, {x1, $MachineEpsilon, 1/2, .01}];
nlm0 = NonlinearModelFit[data0,
a + b x + c x^2 + d x^3 + e x^4 + h x^5, {a, b, c, d, e, h}, x];
F1[x1_?NumericQ] :=
NIntegrate[coef[[2]] /. \[Rho] -> x1, {y, 0, 1}, AccuracyGoal -> 5,
PrecisionGoal -> 4] // Quiet
data1 = Table[{x1, F1[x1]}, {x1, $MachineEpsilon, 1/2, .01}];
nlm1 = NonlinearModelFit[data1,
a + b x + c x^2 + d x^3 + e x^4 + h x^5, {a, b, c, d, e, h}, x];
F2[x1_?NumericQ] := NIntegrate[coef[[3]] /. \[Rho] -> x1, {y, 0, 1}];
data2 = Table[{x1, F2[x1]}, {x1, $MachineEpsilon, 1/2, .01}];
nlm2 = NonlinearModelFit[data2,
a + b x + c x^2 + d x^3 + e x^4 + h x^5, {a, b, c, d, e, h}, x];
F3[x1_?NumericQ] :=
NIntegrate[coef[[4]] /. \[Rho] -> x1, {y, 0, 1}, AccuracyGoal -> 5,
PrecisionGoal -> 4] // Quiet
data3 = Table[{x1, F3[x1]}, {x1, $MachineEpsilon, 1/2, .01}];
nlm3 = NonlinearModelFit[data3,
a + b x + c x^2 + d x^3 + e x^4 + h x^5, {a, b, c, d, e, h}, x];
Finally we define analytical function described F
with using series
fan[x_, x2_] := (1 - x2) (nlm0[x] + x2 nlm1[x] + x2^2 nlm2[x] +
x2^3 nlm3[x])
Visualization
Plot3D[fan[x1, x2], {x1, 0, 1/2}, {x2, 0,
1/2}, AxesLabel -> {"\[Rho]", "zcut", ""}, PlotTheme -> "Marketing",
MeshStyle -> White, ColorFunction -> "Rainbow"]

Note, that fan
looks very similar to function FF
shown in Figure 1. We can express it in variables $\rho ,s$ and plot with using restrictions $\rho+s<1$
fff=((1 - x2) (nlm0[x] + x2 nlm1[x] + x2^2 nlm2[x] +
x2^3 nlm3[x]) // Normal) /. {x2 -> 1 - 2*s/(1 - \[Rho]),
x -> \[Rho]}
(* Out[]= 1/(
1 - \[Rho]) 2 s (0.132915 - 0.85593 \[Rho] + 2.10123 \[Rho]^2 -
2.01754 \[Rho]^3 - 0.195384 \[Rho]^4 +
1.13491 \[Rho]^5 + (1 - (2 s)/(1 - \[Rho]))^2 (-0.1946 +
0.0518435 \[Rho] + 5.52769 \[Rho]^2 - 20.5944 \[Rho]^3 +
29.2689 \[Rho]^4 - 15.0774 \[Rho]^5) + (1 - (2 s)/(
1 - \[Rho])) (-0.0472983 + 1.05398 \[Rho] - 4.94447 \[Rho]^2 +
9.34393 \[Rho]^3 - 7.08349 \[Rho]^4 + 1.14942 \[Rho]^5) + (1 - (
2 s)/(1 - \[Rho]))^3 (0.0307526 + 0.112229 \[Rho] -
6.21303 \[Rho]^2 + 30.6017 \[Rho]^3 - 55.892 \[Rho]^4 +
35.9643 \[Rho]^5))*)
Plot3D[ If[\[Rho] + s < 1, fff, Nothing], {\[Rho], 0, 1/2}, {s, 0, 1},
AxesLabel -> {"\[Rho]", "s", ""}, PlotTheme -> "Marketing",
MeshStyle -> White, ColorFunction -> "Rainbow", PlotRange -> All]

Update 1. We can improve code with using more series coefficient and make Do
loop
g = -((1 - 2*s + s^2 - \[Rho])^2/(-1 + s)^2)^(3/
2) - ((1 - 2*s + s^2 - \[Rho])^2/(-1 + s)^2)^(3/
2)*\[Rho] + (12*z*\[Rho]*(1 - 2*s + s^2 + \[Rho]))/(-1 +
s) - (3*Sqrt[(1 - 2*s + s^2 - \[Rho])^2/(-1 +
s)^2]*\[Rho]*(1 - 2*s + s^2 + \[Rho]))/(-1 + s) + (3*z^2*
Sqrt[(1 - 2*s + s^2 - \[Rho])^2/(-1 + s)^2]*\[Rho]*(1 - 2*s +
s^2 + \[Rho]))/(-1 + s) + (12*
z*\[Rho]^2*(1 - 2*s + s^2 + \[Rho]))/(-1 + s) + (6*
z*\[Rho]*(1 - 2*s + s^2 + \[Rho])^2)/(-1 +
s)^2 - (z*(1 - 2*s + s^2 + \[Rho])^3)/(-1 +
s)^3 - (z*\[Rho]*(1 - 2*s + s^2 + \[Rho])^3)/(-1 + s)^3 - (3*
z*(1 - 2*s + s^2 + \[Rho])^4)/(4*(-1 + s)^4) - (3*
Sqrt[(1 - 2*s + s^2 - \[Rho])^2/(-1 + s)^2]*(1 - 2*s +
s^2 + \[Rho])*(1 - 4*s + 6*s^2 - 4*s^3 +
s^4 + \[Rho]^2))/(8*(-1 + s)^3) - (3*z^2*
Sqrt[(1 - 2*s + s^2 - \[Rho])^2/(-1 + s)^2]*(1 - 2*s +
s^2 + \[Rho])*(1 - 4*s + 6*s^2 - 4*s^3 +
s^4 + \[Rho]^2))/(8*(-1 + s)^3) + (24*
z*\[Rho]*(-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]]))/(-1 + z^2) + (24*
z*\[Rho]^2*(-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]]))/(-1 + z^2) - (24*
z*\[Rho]*(-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^2)/(-1 +
z^2)^2 - (8*
z*(-1 + s + z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^3)/(-1 +
z^2)^3 - (8*
z*\[Rho]*(-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^3)/(-1 +
z^2)^3 + (12*
z*(-1 + s + z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^4)/(-1 +
z^2)^4 - (12*\[Rho]*(-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])*
Sqrt[-\[Rho] + (-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^2/(-1 +
z^2)^2])/(-1 + z^2) + (12*
z^2*\[Rho]*(-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])*
Sqrt[-\[Rho] + (-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^2/(-1 +
z^2)^2])/(-1 + z^2) +
8*(-\[Rho] + (-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^2/(-1 +
z^2)^2)^(3/2) +
8*\[Rho]*(-\[Rho] + (-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^2/(-1 +
z^2)^2)^(3/
2) - (3*(1 - s - z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])*
Sqrt[-\[Rho] + (-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^2/(-1 +
z^2)^2]*(-\[Rho] + (2*(-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^2)/(-1 +
z^2)^2))/(1 - z^2) - (3*
z^2*(1 - s - z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])*
Sqrt[-\[Rho] + (-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^2/(-1 +
z^2)^2]*(-\[Rho] + (2*(-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^2)/(-1 +
z^2)^2))/(1 - z^2) -
15*\[Rho]^2*
ArcTanh[(-1 + 2*s - s^2 - \[Rho])/((-1 + s)*
Sqrt[(1 - 2*s + s^2 - \[Rho])^2/(-1 + s)^2])] +
9*z^2*\[Rho]^2*
ArcTanh[(-1 + 2*s - s^2 - \[Rho])/((-1 + s)*
Sqrt[(1 - 2*s + s^2 - \[Rho])^2/(-1 + s)^2])] +
15*\[Rho]^2*
ArcTanh[(-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])/((-1 + z^2)*
Sqrt[-\[Rho] + (-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^2/(-1 +
z^2)^2])] -
9*z^2*\[Rho]^2*
ArcTanh[(-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])/((-1 + z^2)*
Sqrt[-\[Rho] + (-1 + s +
z*Sqrt[1 - 2*s + s^2 + (-1 + z^2)*\[Rho]])^2/(-1 +
z^2)^2])] /. {z -> y (1 - zcut) + zcut,
s -> (1 - zcut) (1 - \[Rho])/2};
ff = Normal[Series[g, {zcut, 0, 4}]];
coef = CoefficientList[ff, zcut]; nn = Length[coef];
Do[data[i] =
Table[{x1,
NIntegrate[coef[[i]] /. \[Rho] -> x1, {y, 0, 1},
AccuracyGoal -> 5, PrecisionGoal -> 4] //
Quiet}, {x1, $MachineEpsilon, 1/2, .01}];
nlm[i] = NonlinearModelFit[data[i],
a + b x + c x^2 + d x^3 + e x^4 + h x^5, {a, b, c, d, e, h},
x];, {i, nn}]
fan[x_, x2_] := (1 - x2) Sum[nlm[n][x] x2^(n - 1), {n, 1, nn}]
fff = ((1 - x2) Sum[nlm[n][x] x2^(n - 1), {n, 1, nn}] //
Normal);
fff //. {x2 -> 1 - 2*s/(1 - \[Rho]), x -> \[Rho]}
(*Out[]= 1/(
1 - \[Rho]) 2 s (0.132915 - 0.85593 \[Rho] + 2.10123 \[Rho]^2 -
2.01754 \[Rho]^3 - 0.195384 \[Rho]^4 +
1.13491 \[Rho]^5 + (1 - (2 s)/(1 - \[Rho]))^4 (0.0542876 -
0.331013 \[Rho] + 6.4239 \[Rho]^2 - 35.6162 \[Rho]^3 +
73.6482 \[Rho]^4 - 52.5108 \[Rho]^5) + (1 - (2 s)/(
1 - \[Rho]))^2 (-0.1946 + 0.0518435 \[Rho] + 5.52769 \[Rho]^2 -
20.5944 \[Rho]^3 + 29.2689 \[Rho]^4 - 15.0774 \[Rho]^5) + (1 - (
2 s)/(1 - \[Rho])) (-0.0472983 + 1.05398 \[Rho] -
4.94447 \[Rho]^2 + 9.34393 \[Rho]^3 - 7.08349 \[Rho]^4 +
1.14942 \[Rho]^5) + (1 - (2 s)/(1 - \[Rho]))^3 (0.0307526 +
0.112229 \[Rho] - 6.21303 \[Rho]^2 + 30.6017 \[Rho]^3 -
55.892 \[Rho]^4 + 35.9643 \[Rho]^5))*)
We can plot final result to observe improvement around line $\rho +s=1$
Plot3D[ If[\[Rho] + s < 1,
fff //. {x2 -> 1 - 2*s/(1 - \[Rho]), x -> \[Rho]},
Nothing], {\[Rho], 0, 1/2}, {s, 0, 1},
AxesLabel -> {"\[Rho]", "s", ""}, PlotTheme -> "Marketing",
MeshStyle -> White, ColorFunction -> "Rainbow", PlotRange -> All]

But direct computation with FF
shows different picture
Plot3D[ If[x + s < 1, FF[x, 1 - 2*s/(1 - x)],
Nothing], {x, $MachineEpsilon, 1/2}, {s, $MachineEpsilon, 1},
AxesLabel -> {"\[Rho]", "s", ""}, PlotTheme -> "Marketing",
MeshStyle -> White, ColorFunction -> "Rainbow", PlotRange -> All]

It means that there is different criterium 1 - 2*s + s^2 - \[Rho] >= 0
follows from g
definition. With this criterium we have picture very similar as above
Plot3D[ If[1 - 2*s + s^2 - \[Rho] >= 0,
fff //. {x2 -> 1 - 2*s/(1 - \[Rho]), x -> \[Rho]},
Nothing], {\[Rho], 0, 1/2}, {s, 0, 1},
AxesLabel -> {"\[Rho]", "s", ""}, PlotTheme -> "Marketing",
MeshStyle -> White, ColorFunction -> "Rainbow", PlotRange -> All,
PlotPoints -> 150]

NIntegrate
works? Also the proper syntax is NOTf(z)=
but ratherf[z_]:=
$\endgroup$f
orf*UnitStep[z - zcut]
??? $\endgroup$f
for? $\endgroup$Integrate
claims divergence due to the expansion given bySeries
atz=1
. Which might indicate a bug, I'm not sure. $\endgroup$