Project
Loading...
Searching...
No Matches
o2::soa Namespace Reference

Namespaces

namespace  row_helpers
 

Classes

struct  arrow_array_for
 
struct  arrow_array_for< bool >
 
struct  arrow_array_for< double >
 
struct  arrow_array_for< double[N]>
 
struct  arrow_array_for< float >
 
struct  arrow_array_for< float[N]>
 
struct  arrow_array_for< int16_t >
 
struct  arrow_array_for< int32_t >
 
struct  arrow_array_for< int64_t >
 
struct  arrow_array_for< int8_t >
 
struct  arrow_array_for< int8_t[N]>
 
struct  arrow_array_for< int[N]>
 
struct  arrow_array_for< short[N]>
 
struct  arrow_array_for< uint16_t >
 
struct  arrow_array_for< uint32_t >
 
struct  arrow_array_for< uint64_t >
 
struct  arrow_array_for< uint8_t >
 
struct  ArrowHelpers
 
struct  Binding
 Type-checking index column binding. More...
 
struct  BinningIndex
 
struct  Chunked
 
struct  Column
 
struct  ColumnDataHolder
 
class  ColumnIterator
 
struct  CombinationsBlockFullIndexPolicy
 
struct  CombinationsBlockFullSameIndexPolicy
 
struct  CombinationsBlockIndexPolicyBase
 
struct  CombinationsBlockSameIndexPolicyBase
 
struct  CombinationsBlockStrictlyUpperSameIndexPolicy
 
struct  CombinationsBlockUpperIndexPolicy
 
struct  CombinationsBlockUpperSameIndexPolicy
 
struct  CombinationsFullIndexPolicy
 
struct  CombinationsGenerator
 
struct  CombinationsIndexPolicyBase
 
struct  CombinationsStrictlyUpperIndexPolicy
 
struct  CombinationsUpperIndexPolicy
 
struct  Concat
 
struct  DefaultIndexPolicy
 
struct  DynamicColumn
 
struct  EquivalentIndex
 
struct  EquivalentIndexNG
 
class  Filtered
 
class  Filtered< Filtered< T > >
 
class  FilteredBase
 
struct  FilteredIndexPolicy
 
struct  Flat
 
struct  Index
 
struct  IndexColumn
 
struct  IndexPolicyBase
 
struct  IndexTable
 
struct  JoinFull
 
struct  Marker
 
struct  MarkerColumn
 
struct  NTupleType
 
struct  NTupleType< T, 0, REST... >
 
struct  Num
 
struct  RowViewSentinel
 
struct  SmallGroupsBase
 
class  Table
 
struct  TableIterator
 
struct  TableRef
 Generic identifier for a table type. More...
 
struct  unwrap
 unwrapper More...
 
struct  unwrap< bool >
 
struct  unwrap< std::vector< T > >
 

Concepts

concept  not_void
 
concept  is_persistent_column
 column identification concepts
 
concept  is_self_index_column
 
concept  is_index_column
 
concept  has_parent_t
 
concept  is_metadata
 
concept  is_metadata_trait
 
concept  has_metadata
 
concept  has_extension
 
concept  is_spawnable_column
 
concept  is_indexing_column
 
concept  is_dynamic_column
 
concept  is_marker_column
 
concept  is_column
 
concept  is_table
 
concept  can_bind
 
concept  has_index
 
concept  is_iterator
 Helper to check if a type T is an iterator.
 
concept  with_originals
 
concept  with_sources
 
concept  with_base_table
 
concept  is_index_table
 
concept  has_filtered_policy
 
concept  is_filtered_iterator
 
concept  is_filtered_table
 
concept  is_filtered
 
concept  is_not_filtered_table
 
concept  is_join
 
concept  is_smallgroups
 

Typedefs

template<typename T >
using arrow_array_for_t = typename arrow_array_for< T >::type
 
template<typename T >
using value_for_t = typename arrow_array_for< T >::value_type
 
template<typename C >
using is_persistent_column_t = std::conditional_t< is_persistent_column< C >, std::true_type, std::false_type >
 
template<typename C >
using is_external_index_t = typename std::conditional_t< is_index_column< C >, std::true_type, std::false_type >
 
template<typename C >
using is_self_index_t = typename std::conditional_t< is_self_index_column< C >, std::true_type, std::false_type >
 
using SelectionVector = std::vector< int64_t >
 
template<typename T >
using unwrap_t = typename unwrap< T >::type
 
template<typename T >
using is_dynamic_t = std::conditional_t< is_dynamic_column< T >, std::true_type, std::false_type >
 
template<typename T >
using is_indexing_t = std::conditional_t< is_indexing_column< T >, std::true_type, std::false_type >
 
template<typename T , typename B >
using is_binding_compatible = std::conditional_t< is_binding_compatible_v< T, typename B::binding_t >(), std::true_type, std::false_type >
 
template<uint32_t D, soa::is_column... C>
using InPlaceTable = Table< o2::aod::Hash<"TEST"_h >, o2::aod::Hash< D >, o2::aod::Hash<"TEST"_h >, C... >
 
template<typename... Ts>
using Join = JoinFull< o2::aod::Hash<"JOIN/0"_h >, Ts... >
 
template<typename T >
using SmallGroups = SmallGroupsBase< T, true >
 
template<typename T >
using SmallGroupsUnfiltered = SmallGroupsBase< T, false >
 

Functions

 DECLARE_EQUIVALENT_FOR_INDEX_NG ("COLLISION/0", "COLLISION/1")
 
 DECLARE_EQUIVALENT_FOR_INDEX_NG ("MCPARTICLE/0", "MCPARTICLE/1")
 
 DECLARE_EQUIVALENT_FOR_INDEX_NG ("TRACK/0", "TRACK_IU/0")
 
 DECLARE_EQUIVALENT_FOR_INDEX_NG ("TRACK/0", "TRACKEXTRA/0")
 
 DECLARE_EQUIVALENT_FOR_INDEX_NG ("TRACK_IU/0", "TRACKEXTRA/0")
 
 DECLARE_EQUIVALENT_FOR_INDEX_NG ("TRACK/0", "TRACKEXTRA/1")
 
 DECLARE_EQUIVALENT_FOR_INDEX_NG ("TRACK_IU/0", "TRACKEXTRA/1")
 
 DECLARE_EQUIVALENT_FOR_INDEX_NG ("TRACK/0", "TRACKEXTRA/2")
 
 DECLARE_EQUIVALENT_FOR_INDEX_NG ("TRACK_IU/0", "TRACKEXTRA/2")
 
 DECLARE_EQUIVALENT_FOR_INDEX_NG ("TRACKEXTRA/0", "TRACKEXTRA/1")
 
 DECLARE_EQUIVALENT_FOR_INDEX_NG ("TRACKEXTRA/0", "TRACKEXTRA/2")
 
 DECLARE_EQUIVALENT_FOR_INDEX_NG ("TRACKEXTRA/1", "TRACKEXTRA/2")
 
 DECLARE_EQUIVALENT_FOR_INDEX_NG ("HMPID/0", "HMPID/1")
 
 DECLARE_EQUIVALENT_FOR_INDEX_NG ("MFTTracks/0", "MFTTracks/1")
 
 DECLARE_EQUIVALENT_FOR_INDEX (aod::StoredTracks, aod::McTrackLabels)
 
 DECLARE_EQUIVALENT_FOR_INDEX (aod::StoredTracksIU, aod::McTrackLabels)
 
 DECLARE_EQUIVALENT_FOR_INDEX (aod::Collisions, aod::McCollisionLabels)
 
template<TableRef R>
constexpr auto tableRef2InputSpec ()
 
template<TableRef R>
constexpr auto tableRef2OutputSpec ()
 
template<TableRef R>
constexpr auto tableRef2Output ()
 
template<TableRef R>
constexpr auto tableRef2OutputRef ()
 
template<TableRef R>
constexpr auto tableRef2ConfigParamSpec ()
 
template<soa::is_table T, soa::is_spawnable_column... Cs>
auto Extend (T const &table)
 On-the-fly adding of expression columns.
 
template<soa::is_table T, soa::is_dynamic_column... Cs>
auto Attach (T const &table)
 
 ARROW_VECTOR_FOR (uint8_t)
 
 ARROW_VECTOR_FOR (uint16_t)
 
 ARROW_VECTOR_FOR (uint32_t)
 
 ARROW_VECTOR_FOR (uint64_t)
 
 ARROW_VECTOR_FOR (int8_t)
 
 ARROW_VECTOR_FOR (int16_t)
 
 ARROW_VECTOR_FOR (int32_t)
 
 ARROW_VECTOR_FOR (int64_t)
 
 ARROW_VECTOR_FOR (float)
 
 ARROW_VECTOR_FOR (double)
 
void accessingInvalidIndexFor (const char *getter)
 
void dereferenceWithWrongType (const char *getter, const char *target)
 
void missingFilterDeclaration (int hash, int ai)
 
void notBoundTable (const char *tableName)
 
template<size_t N1, size_t N2, std::array< TableRef, N1 > ar1, std::array< TableRef, N2 > ar2>
consteval auto merge ()
 Helpers to manipulate TableRef arrays.
 
template<size_t N1, size_t N2, std::array< TableRef, N1 > ar1, std::array< TableRef, N2 > ar2, typename L >
consteval auto merge_if (L l)
 
template<size_t N, std::array< TableRef, N > ar, typename L >
consteval auto remove_if (L l)
 
template<size_t N1, size_t N2, std::array< TableRef, N1 > ar1, std::array< TableRef, N2 > ar2>
consteval auto intersect ()
 
template<typename T , typename... Ts>
requires (sizeof...(Ts) == 1)
consteval auto mergeOriginals ()
 
template<typename T , typename... Ts>
requires (sizeof...(Ts) > 1)
consteval auto mergeOriginals ()
 
template<typename T , typename... Ts>
requires (sizeof...(Ts) == 1)
consteval auto intersectOriginals ()
 
template<typename T , typename... Ts>
requires (sizeof...(Ts) > 1)
consteval auto intersectOriginals ()
 
template<typename... C>
auto createFieldsFromColumns (framework::pack< C... >)
 
template<size_t N1, std::array< TableRef, N1 > os1, size_t N2, std::array< TableRef, N2 > os2>
consteval bool is_compatible ()
 
template<with_originals T, with_originals B>
consteval bool is_binding_compatible_v ()
 
void notFoundColumn (const char *label, const char *key)
 
void missingOptionalPreslice (const char *label, const char *key)
 
SelectionVector selectionToVector (gandiva::Selection const &sel)
 
template<typename T , typename C , typename Policy , bool OPT>
requires std::same_as<Policy, framework::PreslicePolicySorted> && (o2::soa::is_binding_compatible_v<C, T>())
auto doSliceBy (T const *table, o2::framework::PresliceBase< C, Policy, OPT > const &container, int value)
 
template<soa::is_filtered_table T>
auto doSliceByHelper (T const *table, gsl::span< const int64_t > const &selection)
 
template<soa::is_table T>
requires (!soa::is_filtered_table<T>)
auto doSliceByHelper (T const *table, gsl::span< const int64_t > const &selection)
 
template<typename T , typename C , typename Policy , bool OPT>
requires std::same_as<Policy, framework::PreslicePolicyGeneral> && (o2::soa::is_binding_compatible_v<C, T>())
auto doSliceBy (T const *table, o2::framework::PresliceBase< C, Policy, OPT > const &container, int value)
 
SelectionVector sliceSelection (gsl::span< int64_t const > const &mSelectedRows, int64_t nrows, uint64_t offset)
 
template<soa::is_filtered_table T>
auto prepareFilteredSlice (T const *table, std::shared_ptr< arrow::Table > slice, uint64_t offset)
 
template<soa::is_filtered_table T, typename C , bool OPT>
requires (o2::soa::is_binding_compatible_v<C, T>())
auto doFilteredSliceBy (T const *table, o2::framework::PresliceBase< C, framework::PreslicePolicySorted, OPT > const &container, int value)
 
template<typename T >
auto doSliceByCached (T const *table, framework::expressions::BindingNode const &node, int value, o2::framework::SliceCache &cache)
 
template<typename T >
auto doFilteredSliceByCached (T const *table, framework::expressions::BindingNode const &node, int value, o2::framework::SliceCache &cache)
 
template<typename T >
auto doSliceByCachedUnsorted (T const *table, framework::expressions::BindingNode const &node, int value, o2::framework::SliceCache &cache)
 
template<with_originals T>
auto select (T const &t, framework::expressions::Filter const &f)
 
arrow::ChunkedArray * getIndexFromLabel (arrow::Table *table, std::string_view label)
 
template<typename D , typename O , typename IP , typename... C>
consteval auto base_iter (framework::pack< C... > &&) -> TableIterator< D, O, IP, C... >
 
template<TableRef ref, typename... Ts>
requires ((sizeof...(Ts) > 0) && (soa::is_column<Ts> && ...))
consteval auto getColumns ()
 
template<TableRef ref, typename... Ts>
requires ((sizeof...(Ts) > 0) && !(soa::is_column<Ts> || ...) && (ref.origin_hash == "CONC"_h))
consteval auto getColumns ()
 
template<TableRef ref, typename... Ts>
requires ((sizeof...(Ts) > 0) && !(soa::is_column<Ts> || ...) && (ref.origin_hash != "CONC"_h))
consteval auto getColumns ()
 
template<TableRef ref, typename... Ts>
requires (sizeof...(Ts) == 0 && soa::has_metadata<aod::MetadataTrait<o2::aod::Hash<ref.desc_hash>>>)
consteval auto getColumns ()
 
template<TableRef ref, typename... Ts>
requires ((sizeof...(Ts) == 0) || (o2::soa::is_column<Ts> && ...))
consteval auto computeOriginals ()
 
template<TableRef ref, typename... Ts>
requires ((sizeof...(Ts) > 0) && (!o2::soa::is_column<Ts> || ...))
consteval auto computeOriginals ()
 
void getterNotFound (const char *targetColumnLabel)
 
void emptyColumnLabel ()
 
template<typename... Ts>
constexpr auto join (Ts const &... t)
 
template<typename... Ts>
constexpr auto concat (Ts const &... t)
 
template<class F , std::size_t... Is>
void for_ (F func, std::index_sequence< Is... >)
 
template<std::size_t N, typename F >
void for_ (F func)
 
bool sameCategory (BinningIndex const &a, BinningIndex const &b)
 
bool diffCategory (BinningIndex const &a, BinningIndex const &b)
 
void dataSizeVariesBetweenColumns ()
 
template<template< typename... Cs > typename BP, typename T , typename... Cs>
std::vector< BinningIndexgroupTable (const T &table, const BP< Cs... > &binningPolicy, int minCatSize, int outsider)
 
template<std::size_t K>
void syncCategories (std::array< std::vector< BinningIndex >, K > &groupedIndices)
 
template<typename... Ts>
 CombinationsIndexPolicyBase (Ts const &... tables) -> CombinationsIndexPolicyBase< Ts... >
 
template<typename... Ts>
 CombinationsIndexPolicyBase (Ts &&... tables) -> CombinationsIndexPolicyBase< Ts... >
 
template<typename T2 , typename... T2s>
constexpr bool isSameType ()
 
template<typename BP , typename T1 , typename... T2s>
auto selfCombinations (const BP &binningPolicy, int categoryNeighbours, const T1 &outsider, const T2s &... tables)
 
template<typename BP , typename T1 , typename T2 >
auto selfPairCombinations (const BP &binningPolicy, int categoryNeighbours, const T1 &outsider)
 
template<typename BP , typename T1 , typename T2 >
auto selfPairCombinations (const BP &binningPolicy, int categoryNeighbours, const T1 &outsider, const T2 &table)
 
template<typename BP , typename T1 , typename T2 >
auto selfTripleCombinations (const BP &binningPolicy, int categoryNeighbours, const T1 &outsider)
 
template<typename BP , typename T1 , typename T2 >
auto selfTripleCombinations (const BP &binningPolicy, int categoryNeighbours, const T1 &outsider, const T2 &table)
 
template<typename BP , typename T1 , typename... T2s>
auto combinations (const BP &binningPolicy, int categoryNeighbours, const T1 &outsider, const T2s &... tables)
 
template<typename BP , typename T1 , typename... T2s>
auto combinations (const BP &binningPolicy, int categoryNeighbours, const T1 &outsider, const o2::framework::expressions::Filter &filter, const T2s &... tables)
 
template<soa::is_table... T2s>
auto combinations (const o2::framework::expressions::Filter &filter, const T2s &... tables)
 
template<template< typename... > typename P2, typename... T2s>
CombinationsGenerator< P2< T2s... > > combinations (const P2< T2s... > &policy)
 
template<template< typename... > typename P2, soa::is_table... T2s>
CombinationsGenerator< P2< Filtered< T2s >... > > combinations (P2< T2s... > &&, const o2::framework::expressions::Filter &filter, const T2s &... tables)
 
template<typename... T2s>
auto combinations (const T2s &... tables)
 
template<typename T2 >
auto pairCombinations ()
 
template<typename T2 >
auto pairCombinations (const T2 &table)
 
template<typename T2 >
auto tripleCombinations ()
 
template<typename T2 >
auto tripleCombinations (const T2 &table)
 

Variables

template<typename C >
constexpr bool is_persistent_v = is_persistent_column<C>
 
template<typename B , typename E >
constexpr bool is_index_equivalent_v = EquivalentIndex<B, E>::value || EquivalentIndex<E, B>::value
 
template<aod::is_aod_hash A, aod::is_aod_hash B>
constexpr bool is_ng_index_equivalent_v = EquivalentIndexNG<A, B>::value || EquivalentIndexNG<B, A>::value
 
template<typename T >
constexpr bool is_soa_filtered_v = is_filtered_table<T>
 
template<typename T >
constexpr bool is_soa_join_v = is_join<T>
 

Typedef Documentation

◆ arrow_array_for_t

template<typename T >
using o2::soa::arrow_array_for_t = typedef typename arrow_array_for<T>::type

Definition at line 112 of file ArrowTypes.h.

◆ InPlaceTable

template<uint32_t D, soa::is_column... C>
using o2::soa::InPlaceTable = typedef Table<o2::aod::Hash<"TEST"_h>, o2::aod::Hash<D>, o2::aod::Hash<"TEST"_h>, C...>

Definition at line 2123 of file ASoA.h.

◆ is_binding_compatible

template<typename T , typename B >
using o2::soa::is_binding_compatible = typedef std::conditional_t<is_binding_compatible_v<T, typename B::binding_t>(), std::true_type, std::false_type>

Definition at line 1281 of file ASoA.h.

◆ is_dynamic_t

template<typename T >
using o2::soa::is_dynamic_t = typedef std::conditional_t<is_dynamic_column<T>, std::true_type, std::false_type>

Definition at line 810 of file ASoA.h.

◆ is_external_index_t

template<typename C >
using o2::soa::is_external_index_t = typedef typename std::conditional_t<is_index_column<C>, std::true_type, std::false_type>

Definition at line 198 of file ASoA.h.

◆ is_indexing_t

template<typename T >
using o2::soa::is_indexing_t = typedef std::conditional_t<is_indexing_column<T>, std::true_type, std::false_type>

Definition at line 816 of file ASoA.h.

◆ is_persistent_column_t

template<typename C >
using o2::soa::is_persistent_column_t = typedef std::conditional_t<is_persistent_column<C>, std::true_type, std::false_type>

Definition at line 189 of file ASoA.h.

◆ is_self_index_t

template<typename C >
using o2::soa::is_self_index_t = typedef typename std::conditional_t<is_self_index_column<C>, std::true_type, std::false_type>

Definition at line 201 of file ASoA.h.

◆ Join

template<typename... Ts>
using o2::soa::Join = typedef JoinFull<o2::aod::Hash<"JOIN/0"_h>, Ts...>

Definition at line 3225 of file ASoA.h.

◆ SelectionVector

using o2::soa::SelectionVector = typedef std::vector<int64_t>

Definition at line 406 of file ASoA.h.

◆ SmallGroups

template<typename T >
using o2::soa::SmallGroups = typedef SmallGroupsBase<T, true>

Definition at line 3929 of file ASoA.h.

◆ SmallGroupsUnfiltered

template<typename T >
using o2::soa::SmallGroupsUnfiltered = typedef SmallGroupsBase<T, false>

Definition at line 3932 of file ASoA.h.

◆ unwrap_t

template<typename T >
using o2::soa::unwrap_t = typedef typename unwrap<T>::type

Definition at line 472 of file ASoA.h.

◆ value_for_t

template<typename T >
using o2::soa::value_for_t = typedef typename arrow_array_for<T>::value_type

Definition at line 114 of file ArrowTypes.h.

Function Documentation

◆ accessingInvalidIndexFor()

void o2::soa::accessingInvalidIndexFor ( const char getter)

Definition at line 20 of file ASoA.cxx.

◆ ARROW_VECTOR_FOR() [1/10]

o2::soa::ARROW_VECTOR_FOR ( double  )

◆ ARROW_VECTOR_FOR() [2/10]

o2::soa::ARROW_VECTOR_FOR ( float  )

◆ ARROW_VECTOR_FOR() [3/10]

o2::soa::ARROW_VECTOR_FOR ( int16_t  )

◆ ARROW_VECTOR_FOR() [4/10]

o2::soa::ARROW_VECTOR_FOR ( int32_t  )

◆ ARROW_VECTOR_FOR() [5/10]

o2::soa::ARROW_VECTOR_FOR ( int64_t  )

◆ ARROW_VECTOR_FOR() [6/10]

o2::soa::ARROW_VECTOR_FOR ( int8_t  )

◆ ARROW_VECTOR_FOR() [7/10]

o2::soa::ARROW_VECTOR_FOR ( uint16_t  )

◆ ARROW_VECTOR_FOR() [8/10]

o2::soa::ARROW_VECTOR_FOR ( uint32_t  )

◆ ARROW_VECTOR_FOR() [9/10]

o2::soa::ARROW_VECTOR_FOR ( uint64_t  )

◆ ARROW_VECTOR_FOR() [10/10]

o2::soa::ARROW_VECTOR_FOR ( uint8_t  )

◆ Attach()

template<soa::is_table T, soa::is_dynamic_column... Cs>
auto o2::soa::Attach ( T const &  table)

Template function to attach dynamic columns on-the-fly (e.g. inside process() function). Dynamic columns need to be compatible with the table.

Definition at line 753 of file AnalysisHelpers.h.

◆ base_iter()

template<typename D , typename O , typename IP , typename... C>
consteval auto o2::soa::base_iter ( framework::pack< C... > &&  ) -> TableIterator<D, O, IP, C...>

Definition at line 1621 of file ASoA.h.

◆ combinations() [1/6]

template<typename BP , typename T1 , typename... T2s>
auto o2::soa::combinations ( const BP &  binningPolicy,
int  categoryNeighbours,
const T1 &  outsider,
const o2::framework::expressions::Filter filter,
const T2s &...  tables 
)

Definition at line 1343 of file ASoAHelpers.h.

◆ combinations() [2/6]

template<typename BP , typename T1 , typename... T2s>
auto o2::soa::combinations ( const BP &  binningPolicy,
int  categoryNeighbours,
const T1 &  outsider,
const T2s &...  tables 
)

Definition at line 1333 of file ASoAHelpers.h.

◆ combinations() [3/6]

template<soa::is_table... T2s>
auto o2::soa::combinations ( const o2::framework::expressions::Filter filter,
const T2s &...  tables 
)

Definition at line 1353 of file ASoAHelpers.h.

◆ combinations() [4/6]

template<template< typename... > typename P2, typename... T2s>
CombinationsGenerator< P2< T2s... > > o2::soa::combinations ( const P2< T2s... > &  policy)

Definition at line 1365 of file ASoAHelpers.h.

◆ combinations() [5/6]

template<typename... T2s>
auto o2::soa::combinations ( const T2s &...  tables)

Definition at line 1377 of file ASoAHelpers.h.

◆ combinations() [6/6]

template<template< typename... > typename P2, soa::is_table... T2s>
CombinationsGenerator< P2< Filtered< T2s >... > > o2::soa::combinations ( P2< T2s... > &&  ,
const o2::framework::expressions::Filter filter,
const T2s &...  tables 
)

Definition at line 1371 of file ASoAHelpers.h.

◆ CombinationsIndexPolicyBase() [1/2]

template<typename... Ts>
o2::soa::CombinationsIndexPolicyBase ( Ts &&...  tables) -> CombinationsIndexPolicyBase< Ts... >

◆ CombinationsIndexPolicyBase() [2/2]

template<typename... Ts>
o2::soa::CombinationsIndexPolicyBase ( Ts const &...  tables) -> CombinationsIndexPolicyBase< Ts... >

◆ computeOriginals() [1/2]

template<TableRef ref, typename... Ts>
requires ((sizeof...(Ts) == 0) || (o2::soa::is_column<Ts> && ...))
consteval auto o2::soa::computeOriginals ( )

Definition at line 1655 of file ASoA.h.

◆ computeOriginals() [2/2]

template<TableRef ref, typename... Ts>
requires ((sizeof...(Ts) > 0) && (!o2::soa::is_column<Ts> || ...))
consteval auto o2::soa::computeOriginals ( )

Definition at line 1662 of file ASoA.h.

◆ concat()

template<typename... Ts>
constexpr auto o2::soa::concat ( Ts const &...  t)
constexpr

Definition at line 3272 of file ASoA.h.

◆ createFieldsFromColumns()

template<typename... C>
auto o2::soa::createFieldsFromColumns ( framework::pack< C... >  )

Definition at line 401 of file ASoA.h.

◆ dataSizeVariesBetweenColumns()

void o2::soa::dataSizeVariesBetweenColumns ( )

Definition at line 18 of file ASoAHelpers.cxx.

◆ DECLARE_EQUIVALENT_FOR_INDEX() [1/3]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX ( aod::Collisions  ,
aod::McCollisionLabels   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX() [2/3]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX ( aod::StoredTracks  ,
aod::McTrackLabels   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX() [3/3]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX ( aod::StoredTracksIU  ,
aod::McTrackLabels   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [1/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "COLLISION/0"  ,
"COLLISION/1"   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [2/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "HMPID/0"  ,
"HMPID/1"   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [3/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "MCPARTICLE/0"  ,
"MCPARTICLE/1"   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [4/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "MFTTracks/0"  ,
"MFTTracks/1"   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [5/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "TRACK/0"  ,
"TRACK_IU/0"   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [6/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "TRACK/0"  ,
"TRACKEXTRA/0"   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [7/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "TRACK/0"  ,
"TRACKEXTRA/1"   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [8/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "TRACK/0"  ,
"TRACKEXTRA/2"   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [9/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "TRACK_IU/0"  ,
"TRACKEXTRA/0"   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [10/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "TRACK_IU/0"  ,
"TRACKEXTRA/1"   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [11/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "TRACK_IU/0"  ,
"TRACKEXTRA/2"   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [12/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "TRACKEXTRA/0"  ,
"TRACKEXTRA/1"   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [13/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "TRACKEXTRA/0"  ,
"TRACKEXTRA/2"   
)

◆ DECLARE_EQUIVALENT_FOR_INDEX_NG() [14/14]

o2::soa::DECLARE_EQUIVALENT_FOR_INDEX_NG ( "TRACKEXTRA/1"  ,
"TRACKEXTRA/2"   
)

◆ dereferenceWithWrongType()

void o2::soa::dereferenceWithWrongType ( const char getter,
const char target 
)

Definition at line 24 of file ASoA.cxx.

◆ diffCategory()

bool o2::soa::diffCategory ( BinningIndex const &  a,
BinningIndex const &  b 
)
inline

Definition at line 69 of file ASoAHelpers.h.

◆ doFilteredSliceBy()

template<soa::is_filtered_table T, typename C , bool OPT>
requires (o2::soa::is_binding_compatible_v<C, T>())
auto o2::soa::doFilteredSliceBy ( T const *  table,
o2::framework::PresliceBase< C, framework::PreslicePolicySorted, OPT > const &  container,
int  value 
)

Definition at line 1565 of file ASoA.h.

◆ doFilteredSliceByCached()

template<typename T >
auto o2::soa::doFilteredSliceByCached ( T const *  table,
framework::expressions::BindingNode const &  node,
int  value,
o2::framework::SliceCache cache 
)

Definition at line 1588 of file ASoA.h.

◆ doSliceBy() [1/2]

template<typename T , typename C , typename Policy , bool OPT>
requires std::same_as<Policy, framework::PreslicePolicySorted> && (o2::soa::is_binding_compatible_v<C, T>())
auto o2::soa::doSliceBy ( T const *  table,
o2::framework::PresliceBase< C, Policy, OPT > const &  container,
int  value 
)

Definition at line 1499 of file ASoA.h.

◆ doSliceBy() [2/2]

template<typename T , typename C , typename Policy , bool OPT>
requires std::same_as<Policy, framework::PreslicePolicyGeneral> && (o2::soa::is_binding_compatible_v<C, T>())
auto o2::soa::doSliceBy ( T const *  table,
o2::framework::PresliceBase< C, Policy, OPT > const &  container,
int  value 
)

Definition at line 1536 of file ASoA.h.

◆ doSliceByCached()

template<typename T >
auto o2::soa::doSliceByCached ( T const *  table,
framework::expressions::BindingNode const &  node,
int  value,
o2::framework::SliceCache cache 
)

Definition at line 1578 of file ASoA.h.

◆ doSliceByCachedUnsorted()

template<typename T >
auto o2::soa::doSliceByCachedUnsorted ( T const *  table,
framework::expressions::BindingNode const &  node,
int  value,
o2::framework::SliceCache cache 
)

Definition at line 1597 of file ASoA.h.

◆ doSliceByHelper() [1/2]

template<soa::is_filtered_table T>
auto o2::soa::doSliceByHelper ( T const *  table,
gsl::span< const int64_t > const &  selection 
)

Definition at line 1515 of file ASoA.h.

◆ doSliceByHelper() [2/2]

template<soa::is_table T>
requires (!soa::is_filtered_table<T>)
auto o2::soa::doSliceByHelper ( T const *  table,
gsl::span< const int64_t > const &  selection 
)

Definition at line 1526 of file ASoA.h.

◆ emptyColumnLabel()

void o2::soa::emptyColumnLabel ( )

Definition at line 38 of file ASoA.cxx.

◆ Extend()

template<soa::is_table T, soa::is_spawnable_column... Cs>
auto o2::soa::Extend ( T const &  table)

On-the-fly adding of expression columns.

Definition at line 744 of file AnalysisHelpers.h.

◆ for_() [1/2]

template<std::size_t N, typename F >
void o2::soa::for_ ( func)

Definition at line 39 of file ASoAHelpers.h.

◆ for_() [2/2]

template<class F , std::size_t... Is>
void o2::soa::for_ ( func,
std::index_sequence< Is... >   
)

Definition at line 32 of file ASoAHelpers.h.

◆ getColumns() [1/4]

template<TableRef ref, typename... Ts>
requires ((sizeof...(Ts) > 0) && (soa::is_column<Ts> && ...))
consteval auto o2::soa::getColumns ( )

Definition at line 1627 of file ASoA.h.

◆ getColumns() [2/4]

template<TableRef ref, typename... Ts>
requires ((sizeof...(Ts) > 0) && !(soa::is_column<Ts> || ...) && (ref.origin_hash == "CONC"_h))
consteval auto o2::soa::getColumns ( )

Definition at line 1634 of file ASoA.h.

◆ getColumns() [3/4]

template<TableRef ref, typename... Ts>
requires ((sizeof...(Ts) > 0) && !(soa::is_column<Ts> || ...) && (ref.origin_hash != "CONC"_h))
consteval auto o2::soa::getColumns ( )

Definition at line 1641 of file ASoA.h.

◆ getColumns() [4/4]

template<TableRef ref, typename... Ts>
requires (sizeof...(Ts) == 0 && soa::has_metadata<aod::MetadataTrait<o2::aod::Hash<ref.desc_hash>>>)
consteval auto o2::soa::getColumns ( )

Definition at line 1648 of file ASoA.h.

◆ getIndexFromLabel()

arrow::ChunkedArray * o2::soa::getIndexFromLabel ( arrow::Table *  table,
std::string_view  label 
)

Definition at line 140 of file ASoA.cxx.

◆ getterNotFound()

void o2::soa::getterNotFound ( const char targetColumnLabel)

Definition at line 33 of file ASoA.cxx.

◆ groupTable()

template<template< typename... Cs > typename BP, typename T , typename... Cs>
std::vector< BinningIndex > o2::soa::groupTable ( const T &  table,
const BP< Cs... > &  binningPolicy,
int  minCatSize,
int  outsider 
)

Definition at line 77 of file ASoAHelpers.h.

◆ intersect()

template<size_t N1, size_t N2, std::array< TableRef, N1 > ar1, std::array< TableRef, N2 > ar2>
consteval auto o2::soa::intersect ( )

Definition at line 135 of file ASoA.h.

◆ intersectOriginals() [1/2]

template<typename T , typename... Ts>
requires (sizeof...(Ts) == 1)
consteval auto o2::soa::intersectOriginals ( )

Definition at line 161 of file ASoA.h.

◆ intersectOriginals() [2/2]

template<typename T , typename... Ts>
requires (sizeof...(Ts) > 1)
consteval auto o2::soa::intersectOriginals ( )

Definition at line 169 of file ASoA.h.

◆ is_binding_compatible_v()

template<with_originals T, with_originals B>
consteval bool o2::soa::is_binding_compatible_v ( )

Definition at line 1275 of file ASoA.h.

◆ is_compatible()

template<size_t N1, std::array< TableRef, N1 > os1, size_t N2, std::array< TableRef, N2 > os2>
consteval bool o2::soa::is_compatible ( )

Definition at line 1262 of file ASoA.h.

◆ isSameType()

template<typename T2 , typename... T2s>
constexpr bool o2::soa::isSameType ( )
constexpr

Definition at line 1296 of file ASoAHelpers.h.

◆ join()

template<typename... Ts>
constexpr auto o2::soa::join ( Ts const &...  t)
constexpr

Definition at line 3228 of file ASoA.h.

◆ merge()

template<size_t N1, size_t N2, std::array< TableRef, N1 > ar1, std::array< TableRef, N2 > ar2>
consteval auto o2::soa::merge ( )

Helpers to manipulate TableRef arrays.

Definition at line 103 of file ASoA.h.

◆ merge_if()

template<size_t N1, size_t N2, std::array< TableRef, N1 > ar1, std::array< TableRef, N2 > ar2, typename L >
consteval auto o2::soa::merge_if ( l)

Definition at line 114 of file ASoA.h.

◆ mergeOriginals() [1/2]

template<typename T , typename... Ts>
requires (sizeof...(Ts) == 1)
consteval auto o2::soa::mergeOriginals ( )

Definition at line 144 of file ASoA.h.

◆ mergeOriginals() [2/2]

template<typename T , typename... Ts>
requires (sizeof...(Ts) > 1)
consteval auto o2::soa::mergeOriginals ( )

Definition at line 152 of file ASoA.h.

◆ missingFilterDeclaration()

void o2::soa::missingFilterDeclaration ( int  hash,
int  ai 
)

Definition at line 28 of file ASoA.cxx.

◆ missingOptionalPreslice()

void o2::soa::missingOptionalPreslice ( const char label,
const char key 
)

Definition at line 171 of file ASoA.cxx.

◆ notBoundTable()

void o2::soa::notBoundTable ( const char tableName)

Definition at line 161 of file ASoA.cxx.

◆ notFoundColumn()

void o2::soa::notFoundColumn ( const char label,
const char key 
)

Definition at line 166 of file ASoA.cxx.

◆ pairCombinations() [1/2]

template<typename T2 >
auto o2::soa::pairCombinations ( )

Definition at line 1387 of file ASoAHelpers.h.

◆ pairCombinations() [2/2]

template<typename T2 >
auto o2::soa::pairCombinations ( const T2 &  table)

Definition at line 1393 of file ASoAHelpers.h.

◆ prepareFilteredSlice()

template<soa::is_filtered_table T>
auto o2::soa::prepareFilteredSlice ( T const *  table,
std::shared_ptr< arrow::Table >  slice,
uint64_t  offset 
)

Definition at line 1550 of file ASoA.h.

◆ remove_if()

template<size_t N, std::array< TableRef, N > ar, typename L >
consteval auto o2::soa::remove_if ( l)

Definition at line 126 of file ASoA.h.

◆ sameCategory()

bool o2::soa::sameCategory ( BinningIndex const &  a,
BinningIndex const &  b 
)
inline

Definition at line 65 of file ASoAHelpers.h.

◆ select()

template<with_originals T>
auto o2::soa::select ( T const &  t,
framework::expressions::Filter const &  f 
)

Definition at line 1613 of file ASoA.h.

◆ selectionToVector()

SelectionVector o2::soa::selectionToVector ( gandiva::Selection const &  sel)

Definition at line 43 of file ASoA.cxx.

◆ selfCombinations()

template<typename BP , typename T1 , typename... T2s>
auto o2::soa::selfCombinations ( const BP &  binningPolicy,
int  categoryNeighbours,
const T1 &  outsider,
const T2s &...  tables 
)

Definition at line 1302 of file ASoAHelpers.h.

◆ selfPairCombinations() [1/2]

template<typename BP , typename T1 , typename T2 >
auto o2::soa::selfPairCombinations ( const BP &  binningPolicy,
int  categoryNeighbours,
const T1 &  outsider 
)

Definition at line 1309 of file ASoAHelpers.h.

◆ selfPairCombinations() [2/2]

template<typename BP , typename T1 , typename T2 >
auto o2::soa::selfPairCombinations ( const BP &  binningPolicy,
int  categoryNeighbours,
const T1 &  outsider,
const T2 &  table 
)

Definition at line 1315 of file ASoAHelpers.h.

◆ selfTripleCombinations() [1/2]

template<typename BP , typename T1 , typename T2 >
auto o2::soa::selfTripleCombinations ( const BP &  binningPolicy,
int  categoryNeighbours,
const T1 &  outsider 
)

Definition at line 1321 of file ASoAHelpers.h.

◆ selfTripleCombinations() [2/2]

template<typename BP , typename T1 , typename T2 >
auto o2::soa::selfTripleCombinations ( const BP &  binningPolicy,
int  categoryNeighbours,
const T1 &  outsider,
const T2 &  table 
)

Definition at line 1327 of file ASoAHelpers.h.

◆ sliceSelection()

SelectionVector o2::soa::sliceSelection ( gsl::span< int64_t const > const &  mSelectedRows,
int64_t  nrows,
uint64_t  offset 
)

Definition at line 53 of file ASoA.cxx.

◆ syncCategories()

template<std::size_t K>
void o2::soa::syncCategories ( std::array< std::vector< BinningIndex >, K > &  groupedIndices)

Definition at line 173 of file ASoAHelpers.h.

◆ tableRef2ConfigParamSpec()

template<TableRef R>
constexpr auto o2::soa::tableRef2ConfigParamSpec ( )
constexpr

Definition at line 69 of file AnalysisHelpers.h.

◆ tableRef2InputSpec()

template<TableRef R>
constexpr auto o2::soa::tableRef2InputSpec ( )
constexpr

Definition at line 32 of file AnalysisHelpers.h.

◆ tableRef2Output()

template<TableRef R>
constexpr auto o2::soa::tableRef2Output ( )
constexpr

Definition at line 52 of file AnalysisHelpers.h.

◆ tableRef2OutputRef()

template<TableRef R>
constexpr auto o2::soa::tableRef2OutputRef ( )
constexpr

Definition at line 61 of file AnalysisHelpers.h.

◆ tableRef2OutputSpec()

template<TableRef R>
constexpr auto o2::soa::tableRef2OutputSpec ( )
constexpr

Definition at line 42 of file AnalysisHelpers.h.

◆ tripleCombinations() [1/2]

template<typename T2 >
auto o2::soa::tripleCombinations ( )

Definition at line 1399 of file ASoAHelpers.h.

◆ tripleCombinations() [2/2]

template<typename T2 >
auto o2::soa::tripleCombinations ( const T2 &  table)

Definition at line 1405 of file ASoAHelpers.h.

Variable Documentation

◆ is_index_equivalent_v

template<typename B , typename E >
constexpr bool o2::soa::is_index_equivalent_v = EquivalentIndex<B, E>::value || EquivalentIndex<E, B>::value
constexpr

Definition at line 437 of file ASoA.h.

◆ is_ng_index_equivalent_v

template<aod::is_aod_hash A, aod::is_aod_hash B>
constexpr bool o2::soa::is_ng_index_equivalent_v = EquivalentIndexNG<A, B>::value || EquivalentIndexNG<B, A>::value
constexpr

Definition at line 440 of file ASoA.h.

◆ is_persistent_v

template<typename C >
constexpr bool o2::soa::is_persistent_v = is_persistent_column<C>
constexpr

Definition at line 186 of file ASoA.h.

◆ is_soa_filtered_v

template<typename T >
constexpr bool o2::soa::is_soa_filtered_v = is_filtered_table<T>
constexpr

Definition at line 1480 of file ASoA.h.

◆ is_soa_join_v

template<typename T >
constexpr bool o2::soa::is_soa_join_v = is_join<T>
constexpr

Definition at line 3237 of file ASoA.h.