21 int nSignalsToRemove = 0;
22 for (
const auto& collection : pileupSignals) {
23 bool pileupSignalBecomesObsolete =
false;
25 const auto& signalMap = collection[det];
26 for (
const auto& signal : signalMap) {
27 const int&
key = signal.first;
29 bool signalContributed =
false;
32 pileupSignalBecomesObsolete =
true;
39 auto it0 = signalArray.
signals.begin() + idx;
40 auto it1 = addedSignalsMap[
key].signals.begin();
41 while (it0 < signalArray.
signals.end()) {
45 signalContributed =
true;
50 auto it0 = signalArray.
signals.begin();
51 auto it1 = addedSignalsMap[
key].signals.begin() + idx;
52 while (it1 < addedSignalsMap[
key].signals.end()) {
56 signalContributed =
true;
60 if (signalContributed) {
62 (addedSignalsMap[
key].labels).push_back(
label);
67 if (pileupSignalBecomesObsolete) {
72 for (
int i = 0;
i < nSignalsToRemove; ++
i) {
73 pileupSignals.pop_front();
75 return addedSignalsMap;