The question remains. Yes, some of the roots will be complex, from both roots. How do I get ToRadicals (or Roots) to all of them to me so I can pick the right one? I think Roots is trying to return the positive one (number 2), but it is failing here.
First, parametrized roots are tricky, both with Root[] and with radicals. Branches come together and split, sometimes changing between real and complex, as the parameter values change. There is a canonical order to Root[] objects when the coefficients of the polynomial are explicit numerical values.
Nonetheless, sometimes it is possible to pick out, say, a root expression that is always positive. With a little human intervention, we can see below that the case at hand is one of these times. I don’t know how to automate this. In particular, I feel the dimension reduction step, s -> Sqrt[ssq] σ, probably helps a lot.
Ahh, the joys of MMA. It will do anything if you just ask the right way.
You are right about complex branches. But I now think the original post shows two errors: 1) Only showing one root and not allowing me to ask for all of them, and 2) picking a root that clearly doesn’t satisfy the s>0 constraint.