How to construct a minimal model based $\vec{k} \cdot \vec{p}$ method and symmetry arguments?

Currently, I am repeating the results of this famous paper written by Di Xiao. In this paper, the authors construct a minimal band model based symmetry arguments and $\vec{k}\cdot\vec{p}$ method. The final Hamiltonian is $$\hat{H} = at(\tau k_x \hat{\sigma}_x+k_y\hat{\sigma}_y)+\dfrac{\Delta}{2}\hat{\sigma}_z-\lambda \tau \dfrac{\hat{\sigma}_z-1}{2}\hat{s}_z .$$

For completeness, the following screenshot describes the procedure which the author stated in his paper.

The following is the known fact based on first-principles calculations.

My question is about how to construct such a Hamiltonian? What's the general workflow?

• You are basically asking for a course in band structure calculations, no? – Jon Custer Aug 28 '18 at 14:27