We introduce Reflective Hamiltonian Monte Carlo (ReHMC), an HMC-based algorithm, to sample from a log-concave distribution restricted to a convex polytope. We prove that, starting from a warm start, it mixes in O(κd 2 2 log(1/ε)) steps for a well-rounded polytope, ignoring logarithmic factors where κ is the condition number of the negative log-density, d is the dimension, is an upper bound on the number of reflections, and ε is the accuracy parameter. We also developed an open source implementation of ReHMC and we performed an experimental study on various high-dimensional data-sets. Experiments suggest that ReHMC outperfroms Hit-and-Run and Coordinate-Hit-and-Run regarding the time it needs to produce an independent sample.