Porting 5_3_X HI reco updates to 7_2_X

The HI RECO updates that were previously implemented in 5_3_X are re-implemented in 7_2_X.

here and in many places in this file use of 
```for (auto inner: iterator_recombine_unsigned_outer){ 
  if (_event[*inner].momentum_perp_subtracted >= 0) ...
```
could've made this much more readable