Draft: HF Late shower labeller
We currently call a jet a b-jet if it has a ghost associated b-hadron with at least 5 GeV, and a c-jet if it contains no b-hadrons but does contain a ghost associated c-hadron.
However, this means we sometimes get the case where some light-flavoured jet contains a b- or c-hadron which came from gluon splitting in the parton shower. In these jets, the HF-hadron has a larger than average angular distance to the jet axis, and carries a smaller fraction of the jets pT. 

In general, an analysis probably doesn't care about these jets, and wouldn't want them to be treated as b-jets.
This MR introduces a new alg, which:
- Finds the ghost associated b-hadrons, if none exist find the ghost associated c-hadrons, if none exist then label is 0
- Take the leading hadron, and iterate up its decay chain, until it finds a quark of the same flavour as the hadron
- Keep going up the the decay chain on same-quark flavours (e.g, -5 -> -5 -> -5 ...)
- Once we get to the top of this chain, search the parents for valid particles : at the moment these are either gluons or photons
- Check if this particle of interest has a child which is the same flavour but opposite charge of the quark we've been iterating up.
At the moment, we then assert that this is late shower. I think this might need some additional thought. Pythia status codes suggest that we can check if the gluons status code is in {50, 60}