Skip to content

Commit 5f7caad

Browse files
committed
[Framework] Trim comments from grouped-slice update
Remove the explanatory comments added with the SkipEmpty policy and its integration coverage. Keep existing comments, license headers and code unchanged.
1 parent 72ee413 commit 5f7caad

2 files changed

Lines changed: 0 additions & 25 deletions

File tree

‎Framework/Core/include/Framework/GroupedCombinations.h‎

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,6 @@
2121
namespace o2::framework
2222
{
2323

24-
/// Select which tuples of the original grouping policy are yielded.
25-
/// IncludeEmpty preserves the existing stream, including empty associated slices.
26-
/// SkipEmpty omits tuples with any empty association. Use it only when omitting
27-
/// those tuples has no observable effect on the consumer, including counters,
28-
/// normalization, window bookkeeping, random-number streams and diagnostics.
29-
/// Window flags and neighbour counts retain their original-policy meaning: they
30-
/// are not recomputed for surviving tuples, and a window may yield no tuple.
31-
/// The grouping policy must terminate and advance without observable side effects;
32-
/// an entirely empty association can end iteration without visiting every step.
3324
enum class GroupedSlicePolicy { IncludeEmpty,
3425
SkipEmpty };
3526

@@ -221,13 +212,10 @@ struct GroupedCombinationsGenerator {
221212
{
222213
if constexpr ((SupportsEmptyAssociatedGate<As>::value && ...)) {
223214
if (mSlicePolicy == GroupedSlicePolicy::SkipEmpty && !this->mIsEnd) {
224-
// A globally empty association makes every original pair ineligible.
225215
if (std::apply([](auto const&... tables) { return ((tables.size() == 0) || ...); }, *mAssociated)) {
226216
GroupingPolicy::moveToEnd();
227217
return;
228218
}
229-
// Advance the unchanged policy. Never remove grouping rows or refill
230-
// a window with a more distant partner after rejecting an empty pair.
231219
while (!this->mIsEnd && !allAssociatedHaveRows(std::index_sequence_for<As...>{})) {
232220
this->addOne();
233221
}
@@ -278,15 +266,6 @@ struct GroupedCombinationsGenerator {
278266
{
279267
setTables(grouping, associated);
280268
}
281-
/// Opt in to the tuple filter described by GroupedSlicePolicy.
282-
/// The type constraint accepts raw associated tables and excludes Join, Concat
283-
/// and filtered associations. It does not validate sorting or cache contents.
284-
/// As with sliceByCached, each matching association index must be sorted and
285-
/// have an initialized sorted SliceCache entry for the current table/dataframe.
286-
/// Grouping iterator indices must use the same coordinates as the cache keys.
287-
/// The cache and bound tables must remain valid and unchanged during iteration.
288-
/// Invalid/missing cache entries are not validated by this filter, and skipped
289-
/// typed-slice construction need not reproduce diagnostics for invalid inputs.
290269
template <typename... T2s>
291270
GroupedCombinationsGenerator(const BP& binningPolicy, int catNeighbours, const T1& outsider, const G& grouping, const std::tuple<T2s...>& associated, SliceCache* cache, GroupedSlicePolicy slicePolicy)
292271
requires((SupportsEmptyAssociatedGate<As>::value && ...))

‎Framework/Core/test/test_GroupedCombinations.cxx‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,6 @@ TEST_CASE("Grouped combinations preserve default stream and skip empty slices on
214214
}
215215
}
216216

217-
// The seven-event data frame has two populated categories and one outsider.
218-
// No combination may cross the category boundary or include the outsider.
219217
UpperPair upper{fixture.binning, 2, -1, fixture.events, associated, &fixture.cache};
220218
const auto upperEligible = readPair(upper, true);
221219
REQUIRE(upperEligible == (std::vector<std::string>{"0:1:200:301", "0:2:200:302", "2:2:202:302", "3:3:203:303", "3:5:203:305", "4:5:204:305"}));
@@ -293,8 +291,6 @@ TEST_CASE("Grouped combinations handle empty and singleton strict-upper tables")
293291
GroupedSlicePolicy::SkipEmpty};
294292
REQUIRE(singletonSkip.begin() == singletonSkip.end());
295293

296-
// A generator that saw an empty data frame must initialize a fresh stream
297-
// when setTables supplies populated input later.
298294
StrictPair reused{fixture.binning, 2, -1, empty, associated, &fixture.cache};
299295
REQUIRE(reused.begin() == reused.end());
300296
reused.setTables(fixture.events, associated);

0 commit comments

Comments
 (0)