how to obtain the effective hamiltonian defined as following MPO, and performa exact diagionalization on it?

Dear itensor:
I want to implement the algorithm mentioned in this paper
PhysRevB.96.054425 (aps.org)
based on itensor, I think I need to get one MPO like this

and then do exact diagonalization on it during the sweep process, what exactly do I need to do to accomplish these two steps?