Skip to content

Commit 190707b

Browse files
committed
do not use external matchers in GroupSlicer
1 parent 115a53c commit 190707b

3 files changed

Lines changed: 16 additions & 18 deletions

File tree

Framework/Core/include/Framework/AnalysisTask.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ struct AnalysisDataProcessorBuilder {
371371
task);
372372
overwriteInternalIndices(associatedTables, associatedTables);
373373
if constexpr (soa::is_iterator<G>) {
374-
auto slicer = GroupSlicer(groupingTable, associatedTables, slices, matchers, newOrigin);
374+
auto slicer = GroupSlicer(groupingTable, associatedTables, slices, newOrigin);
375375
for (auto& slice : slicer) {
376376
auto associatedSlices = slice.associatedTables();
377377
overwriteInternalIndices(associatedSlices, associatedTables);

Framework/Core/include/Framework/GroupSlicer.h

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ auto getMatcherFor(std::string const& columnName, o2::header::DataOrigin newOrig
3535

3636
namespace o2::framework
3737
{
38-
template <typename G, std::ranges::input_range R, typename... A>
38+
template <typename G, typename... A>
3939
struct GroupSlicer {
4040
using grouping_t = std::decay_t<G>;
41-
GroupSlicer(G& gt, std::tuple<A...>& at, ArrowTableSlicingCache& slices, R matchers, header::DataOrigin newOrigin = header::DataOrigin{"AOD"})
41+
GroupSlicer(G& gt, std::tuple<A...>& at, ArrowTableSlicingCache& slices, header::DataOrigin newOrigin = header::DataOrigin{"AOD"})
4242
: max{gt.size()},
43-
mBegin{GroupSlicerIterator(gt, at, slices, matchers, newOrigin)}
43+
mBegin{GroupSlicerIterator(gt, at, slices, newOrigin)}
4444
{
4545
}
4646

@@ -95,15 +95,14 @@ struct GroupSlicer {
9595
starts[index] = selections[index]->begin();
9696
}
9797

98-
GroupSlicerIterator(G& gt, std::tuple<A...>& at, ArrowTableSlicingCache& slices, R matchers_, header::DataOrigin newOrigin = header::DataOrigin{"AOD"})
98+
GroupSlicerIterator(G& gt, std::tuple<A...>& at, ArrowTableSlicingCache& slices, header::DataOrigin newOrigin = header::DataOrigin{"AOD"})
9999
: mIndexColumnName{std::string("fIndex") + o2::framework::cutString(o2::soa::getLabelFromType<G>())},
100100
mGt{&gt},
101101
mAt{&at},
102102
mGroupingElement{gt.begin()},
103103
position{0},
104104
mSlices{&slices},
105-
replacementOrigin{newOrigin},
106-
matchers{matchers_}
105+
replacementOrigin{newOrigin}
107106
{
108107
if constexpr (soa::is_filtered_table<std::decay_t<G>>) {
109108
groupSelection = mGt->getSelectedRows();
@@ -281,7 +280,6 @@ struct GroupSlicer {
281280
std::array<SliceInfoUnsortedPtr, sizeof...(A)> sliceInfosUnsorted;
282281
ArrowTableSlicingCache* mSlices;
283282
header::DataOrigin replacementOrigin;
284-
R matchers;
285283
};
286284

287285
GroupSlicerIterator& begin()

Framework/Core/test/test_GroupSlicer.cxx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ TEST_CASE("GroupSlicerOneAssociated")
121121
std::string key = "fIndex" + o2::framework::cutString(soa::getLabelFromType<aod::Events>());
122122
ArrowTableSlicingCache slices({{soa::getLabelFromType<aod::TrksX>(), soa::getMatcherFromTypeForKey<aod::TrksX>(key), key}});
123123
auto s = slices.updateCacheEntry(0, trkTable);
124-
o2::framework::GroupSlicer g(e, tt, slices, Matchers{});
124+
o2::framework::GroupSlicer g(e, tt, slices);
125125

126126
auto count = 0;
127127
for (auto& slice : g) {
@@ -199,7 +199,7 @@ TEST_CASE("GroupSlicerSeveralAssociated")
199199
auto s = slices.updateCacheEntry(0, {trkTableX});
200200
s = slices.updateCacheEntry(1, {trkTableY});
201201
s = slices.updateCacheEntry(2, {trkTableZ});
202-
o2::framework::GroupSlicer g(e, tt, slices, Matchers{});
202+
o2::framework::GroupSlicer g(e, tt, slices);
203203

204204
auto count = 0;
205205
for (auto& slice : g) {
@@ -261,7 +261,7 @@ TEST_CASE("GroupSlicerMismatchedGroups")
261261
std::string key = "fIndex" + o2::framework::cutString(soa::getLabelFromType<aod::Events>());
262262
ArrowTableSlicingCache slices({{soa::getLabelFromType<aod::TrksX>(), soa::getMatcherFromTypeForKey<aod::TrksX>(key), key}});
263263
auto s = slices.updateCacheEntry(0, trkTable);
264-
o2::framework::GroupSlicer g(e, tt, slices, Matchers{});
264+
o2::framework::GroupSlicer g(e, tt, slices);
265265

266266
for (auto& slice : g) {
267267
auto as = slice.associatedTables();
@@ -318,7 +318,7 @@ TEST_CASE("GroupSlicerMismatchedUnassignedGroups")
318318
std::string key = "fIndex" + o2::framework::cutString(soa::getLabelFromType<aod::Events>());
319319
ArrowTableSlicingCache slices({{soa::getLabelFromType<aod::TrksX>(), soa::getMatcherFromTypeForKey<aod::TrksX>(key), key}});
320320
auto s = slices.updateCacheEntry(0, trkTable);
321-
o2::framework::GroupSlicer g(e, tt, slices, Matchers{});
321+
o2::framework::GroupSlicer g(e, tt, slices);
322322

323323
auto count = 0;
324324
for (auto& slice : g) {
@@ -369,7 +369,7 @@ TEST_CASE("GroupSlicerMismatchedFilteredGroups")
369369
std::string key = "fIndex" + o2::framework::cutString(soa::getLabelFromType<aod::Events>());
370370
ArrowTableSlicingCache slices({{soa::getLabelFromType<aod::TrksX>(), soa::getMatcherFromTypeForKey<aod::TrksX>(key), key}});
371371
auto s = slices.updateCacheEntry(0, trkTable);
372-
o2::framework::GroupSlicer g(e, tt, slices, Matchers{});
372+
o2::framework::GroupSlicer g(e, tt, slices);
373373

374374
auto count = 0;
375375

@@ -431,7 +431,7 @@ TEST_CASE("GroupSlicerMismatchedUnsortedFilteredGroups")
431431
std::string key = "fIndex" + o2::framework::cutString(soa::getLabelFromType<aod::Events>());
432432
ArrowTableSlicingCache slices({}, {{soa::getLabelFromType<aod::TrksXU>(), soa::getMatcherFromTypeForKey<aod::TrksXU>(key), key}});
433433
auto s = slices.updateCacheEntryUnsorted(0, trkTable);
434-
o2::framework::GroupSlicer g(e, tt, slices, Matchers{});
434+
o2::framework::GroupSlicer g(e, tt, slices);
435435

436436
unsigned int count = 0;
437437

@@ -454,7 +454,7 @@ TEST_CASE("GroupSlicerMismatchedUnsortedFilteredGroups")
454454
std::vector<int64_t> sele;
455455
soa::SmallGroups<aod::TrksXU> te{{trkTableE}, std::move(sele)};
456456
auto tte = std::make_tuple(te);
457-
o2::framework::GroupSlicer ge(e, tte, slices, Matchers{});
457+
o2::framework::GroupSlicer ge(e, tte, slices);
458458

459459
count = 0;
460460
for (auto& slice : ge) {
@@ -468,7 +468,7 @@ TEST_CASE("GroupSlicerMismatchedUnsortedFilteredGroups")
468468

469469
soa::SmallGroupsUnfiltered<aod::TrksXU> tu{{trkTable}, std::vector<int64_t>{}};
470470
auto ttu = std::make_tuple(tu);
471-
o2::framework::GroupSlicer gu(e, ttu, slices, Matchers{});
471+
o2::framework::GroupSlicer gu(e, ttu, slices);
472472

473473
count = 0;
474474
for (auto& slice : gu) {
@@ -558,7 +558,7 @@ TEST_CASE("GroupSlicerMismatchedUnsortedFilteredGroupsWithSelfIndex")
558558
{soa::getLabelFromType<aod::Things>(), soa::getMatcherFromTypeForKey<aod::Things>(key), key}});
559559
auto s0 = slices.updateCacheEntry(0, partsTable);
560560
auto s1 = slices.updateCacheEntry(1, thingsTable);
561-
o2::framework::GroupSlicer g(e, associatedTuple, slices, Matchers{});
561+
o2::framework::GroupSlicer g(e, associatedTuple, slices);
562562

563563
overwriteInternalIndices(associatedTuple, associatedTuple);
564564

@@ -617,7 +617,7 @@ TEST_CASE("EmptySliceables")
617617
std::string key = "fIndex" + o2::framework::cutString(soa::getLabelFromType<aod::Events>());
618618
ArrowTableSlicingCache slices({{soa::getLabelFromType<aod::TrksX>(), soa::getMatcherFromTypeForKey<aod::TrksX>(key), key}});
619619
auto s = slices.updateCacheEntry(0, trkTable);
620-
o2::framework::GroupSlicer g(e, tt, slices, Matchers{});
620+
o2::framework::GroupSlicer g(e, tt, slices);
621621

622622
unsigned int count = 0;
623623
for (auto& slice : g) {

0 commit comments

Comments
 (0)