I wondered a little bit why you use:
dV = nu
and not something like:
dV = nu * S
or another more smooth function to stop vaccination when S goes to zero.
However, after googling, I found the paper of Bauch et al (2003), PNAS
100(18), 10564-10567 that used a constant rate nu and a hard stopping
function f(S,t) because it's controlled by external intervention. Seems
that this is indeed an example for combining root finding and events.
Note also that there is an initial response time t_res in that paper.
Raffaelo, if you have a working solution (e.g. using Karlines approach),
it would be nice if we can include a full working example in our model
collection.
Thomas P.