  We propose a mesh adaptation procedure for Cartesian quadtree meshes, to
discretize scalar advection-diffusion-reaction problems. The adaptation process
is driven by a recovery-based a posteriori estimator for the $L^2(\Omega)$-norm
of the discretization error, based on suitable higher order approximations of
both the solution and the associated gradient. In particular, a metric-based
approach exploits the information furnished by the estimator to iteratively
predict the new adapted mesh. The new mesh adaptation algorithm is successfully
assessed on different configurations, and turns out to perform well also when
dealing with discontinuities in the data as well as in the presence of internal
layers not aligned with the Cartesian directions. A cross-comparison with a
standard estimate--mark--refine approach and with other adaptive strategies
available in the literature shows the remarkable accuracy and parallel
scalability of the proposed approach.
