1414
1515#include " Framework/ASoA.h"
1616#include " Framework/BinningPolicy.h"
17- #include " Framework/RuntimeError.h"
1817#include < arrow/table.h>
1918
2019#include < iterator>
@@ -72,6 +71,8 @@ inline bool diffCategory(BinningIndex const& a, BinningIndex const& b)
7271 return a.bin >= b.bin ;
7372}
7473
74+ void dataSizeVariesBetweenColumns ();
75+
7576template <template <typename ... Cs> typename BP, typename T, typename ... Cs>
7677std::vector<BinningIndex> groupTable (const T& table, const BP<Cs...>& binningPolicy, int minCatSize, int outsider)
7778{
@@ -98,7 +99,7 @@ std::vector<BinningIndex> groupTable(const T& table, const BP<Cs...>& binningPol
9899 auto chunksCount = arrowColumns[0 ]->num_chunks ();
99100 for (int i = 1 ; i < persistentColumnsCount; i++) {
100101 if (arrowColumns[i]->num_chunks () != chunksCount) {
101- throw o2::framework::runtime_error ( " Combinations: data size varies between selected columns " );
102+ dataSizeVariesBetweenColumns ( );
102103 }
103104 }
104105
@@ -107,7 +108,7 @@ std::vector<BinningIndex> groupTable(const T& table, const BP<Cs...>& binningPol
107108 auto chunkLength = std::get<0 >(chunks)->length ();
108109 for_<persistentColumnsCount - 1 >([&chunks, &chunkLength](auto i) {
109110 if (std::get<i.value + 1 >(chunks)->length () != chunkLength) {
110- throw o2::framework::runtime_error ( " Combinations: data size varies between selected columns " );
111+ dataSizeVariesBetweenColumns ( );
111112 }
112113 });
113114
0 commit comments