I have a random sampler from a region $X$. Suppose, I have a function $f: X \to \mathbb{R}$, where I can explicitly evaluate $f(x)$ and also obtain the gradient $\frac{\partial f}{\partial x}$ easily (I mean less computational time).
What I want is random sampler from a super level set $X_{>\tau}=\{x \in X | f(x) > \tau\}$. Is there any good algorithm to do this?
I'm currently doing this by sampling from $X$ and then accepts if $x \in X_{>\tau}$ and otherwise reject. The problem is volume of $X_{>\tau}$ is so tiny and takes a lot of time for sampling from this region.