_explicit_ghost_warning.warn("RecursiveSymmetryCutBase: there is no clustering sequence, or it lacks explicit ghosts: subtraction is not guaranteed to function properly");
}
// establish the first subjet and optionally subtract it
PseudoJet subjet = j;
if (_subtractor && (!_input_jet_is_subtracted)) {
subjet = (*_subtractor)(subjet);
}
// variables for tracking what will happen
PseudoJet piece1, piece2;
// vectors for storing optional verbose structure
// these hold the deltaR, symmetry, and mu values of dropped branches
std::vector<double> dropped_delta_R;
std::vector<double> dropped_symmetry;
std::vector<double> dropped_mu;
double sym, mu2;
// now recurse into the jet's structure
RecursionStatus status;
while ((status=recurse_one_step(subjet, piece1, piece2, sym, mu2)) != recursion_success) {
// start with sanity checks:
- if (status == recursion_issue){
+ if ((status == recursion_issue) || (status == recursion_no_parents)) {
// we should return piece1 by our convention for recurse_one_step