ATLAS Offline Software
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
columnar Namespace Reference

Namespaces

 ClusterHelpers
 
 ContainerId
 a namespace for holding the ids for the different "virtual" containers
 
 detail
 
 Detail
 
 EgammaHelpers
 
 EventInfoHelpers
 
 MetDef
 
 MetHelpers
 
 PhysliteTestHelpers
 

Classes

class  AccessorTemplate
 the raw column accessor template class More...
 
class  AccessorTemplate< CI, std::vector< ObjectLink< VariantContainerId< CIBase, CIList... >, ColumnarModeArray > >, ColumnAccessMode::input, ColumnarModeArray >
 
class  AccessorTemplate< VariantContainerId< CIBase, CIList... >, CT, CAM, ColumnarModeArray >
 
struct  ColumnAccessModeTraits
 
struct  ColumnAccessModeTraits< ColumnAccessMode::input >
 
struct  ColumnAccessModeTraits< ColumnAccessMode::output >
 
struct  ColumnAccessModeTraits< ColumnAccessMode::update >
 
struct  ColumnAccessorDataArray
 all the data about a column accessor that the ColumnarTool needs to know about More...
 
struct  ColumnarMemoryTest
 
struct  ColumnarModeArray
 
struct  ColumnarModeXAOD
 
struct  ColumnarPhysLiteTest
 
class  ColumnarTool
 the base class for all columnar components More...
 
struct  ColumnarToolDataArray
 
class  ColumnarToolWrapper
 a class that wraps an IColumnarTool for use in Python More...
 
class  ColumnarToolWrapperData
 a class that holds the columnar data for a single call to ColumnarToolWrapper More...
 
struct  ColumnDataArray
 
struct  ColumnInfo
 a struct that contains meta-information about each column that's needed to interface the column with the columnar data store More...
 
struct  ColumnTypeTraits
 a trait class to provide information about the column type More...
 
struct  ColumnTypeTraits< LinkCastColumn< LT, ELT >, ColumnarModeArray >
 
struct  ColumnTypeTraits< LinkCastColumn< LT, ELT >, ColumnarModeXAOD >
 
struct  ColumnTypeTraits< NativeColumn< CT >, CM >
 
struct  ColumnTypeTraits< OptObjectId< LT >, ColumnarModeArray >
 
struct  ColumnTypeTraits< OptObjectId< LT >, ColumnarModeXAOD >
 
struct  ColumnTypeTraits< RetypeColumn< UT, CT >, CM >
 
struct  ColumnTypeTraits< std::string, ColumnarModeArray >
 
struct  ColumnTypeTraits< std::string, ColumnarModeXAOD >
 
struct  ColumnTypeTraits< std::vector< ObjectLink< VariantContainerId< CIBase, CIList... >, ColumnarModeXAOD > >, ColumnarModeXAOD >
 
class  ConfigurableColumnExampleTool
 example of a columnar tool with optional columns More...
 
class  FilterRange
 a simple range adaptor that filters the elements of a range More...
 
class  FilterRangeIterator
 
class  IColumnarTool
 an interface for tools that operate on columnar data More...
 
struct  LinkCastColumn
 a special column type that behaves like an OptObjectId, but applies an internal cast in xAOD mode More...
 
class  LinkColumnExampleTool
 an example of a tool reading an element link More...
 
class  MetAssocationAccessors
 the accessors MetAssociationHelper needs to implement its operations More...
 
class  MetAssociationHelper
 a columnar version of xAOD::MissingETAssociationHelper More...
 
class  ModularExampleTool
 an example of a columnar tool with a modular structure More...
 
class  MomentumAccessorExampleTool
 an example of a columnar tool that uses momentum accessors More...
 
class  MomentumAccessors
 a handle to hold a IMomentumAccessors object More...
 
struct  NativeColumn
 a type wrapper to force AccessorTemplate to treat the type as native More...
 
struct  ObjectColumn
 a special type to use for columns accessing containers/offset maps More...
 
class  ObjectId
 a class representing a single object (electron, muons, etc.) More...
 
class  ObjectId< CI, ColumnarModeArray >
 
class  ObjectId< CI, ColumnarModeXAOD >
 
class  ObjectId< VariantContainerId< CIList... >, ColumnarModeArray >
 
class  ObjectId< VariantContainerId< CIList... >, ColumnarModeXAOD >
 
class  ObjectLink
 
class  ObjectLink< VariantContainerId< CIBase, CIList... >, ColumnarModeArray >
 
class  ObjectLink< VariantContainerId< CIBase, CIList... >, ColumnarModeXAOD >
 a "variant" link to a single object More...
 
class  ObjectRange
 a class representing a continuous sequence of objects (a.k.a. a container) More...
 
class  ObjectRange< CI, ColumnarModeArray >
 
class  ObjectRange< CI, ColumnarModeXAOD >
 
class  ObjectRangeIteratorArray
 an iterator over objects in an ObjectRange More...
 
class  ObjectRangeIteratorXAODContainer
 
class  ObjectRangeIteratorXAODSinglet
 
class  ObjectTypeAccessor
 a specialized accessor for retrieving the xAOD object type of objects More...
 
class  OptionalColumnExampleTool
 example of a columnar tool with optional columns More...
 
class  OptObjectId
 a class representing a single optional object (electron, muons, etc.) More...
 
class  OptObjectId< CI, ColumnarModeArray >
 
class  OptObjectId< CI, ColumnarModeXAOD >
 
class  PythonToolHandle
 a handle to a python tool for use via nanobind More...
 
struct  RetypeColumn
 a type wrapper to make AccessorTemplate convert the underlying column type to a different type More...
 
class  SimpleSelectorExampleTool
 this is the simplest example of a columnar tool More...
 
class  StringExampleTool
 an example of a columnar tool that reads a vector column More...
 
struct  VariantContainerId
 a "variant" ContainerId More...
 
class  VariantExampleTool
 an example of a columnar tool using "variant" object ids and column accessors More...
 
class  VectorExampleTool
 an example of a columnar tool that reads a vector column More...
 

Typedefs

using ClusterId = ObjectId< ContainerId::cluster >
 
using OptClusterId = OptObjectId< ContainerId::cluster >
 
template<typename CT , typename CM = ColumnarModeDefault>
using ClusterAccessor = AccessorTemplate< ContainerId::cluster, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using ClusterDecorator = AccessorTemplate< ContainerId::cluster, CT, ColumnAccessMode::output, CM >
 
using UserType = typename ColumnTypeTraits< CT, CM >::UserType
 
template<ContainerIdConcept CI, typename CT , typename CM = ColumnarModeDefault>
using ColumnAccessor = AccessorTemplate< CI, CT, ColumnAccessMode::input, CM >
 
template<ContainerIdConcept CI, typename CT , typename CM = ColumnarModeDefault>
using ColumnDecorator = AccessorTemplate< CI, CT, ColumnAccessMode::output, CM >
 
template<ContainerIdConcept CI, typename CT , typename CM = ColumnarModeDefault>
using ColumnUpdater = AccessorTemplate< CI, CT, ColumnAccessMode::update, CM >
 
using ColumnarModeDefault = ColumnarModeXAOD
 
using EventContextRange = ObjectRange< ContainerId::eventContext >
 
using EventContextId = ObjectId< ContainerId::eventContext >
 
using CM = ColumnarModeXAOD
 
using ParticleRange = ObjectRange< ContainerId::particle >
 
using ParticleId = ObjectId< ContainerId::particle >
 
using OptParticleId = OptObjectId< ContainerId::particle >
 
template<typename CT , typename CM = ColumnarModeDefault>
using ParticleAccessor = AccessorTemplate< ContainerId::particle, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using ParticleDecorator = AccessorTemplate< ContainerId::particle, CT, ColumnAccessMode::output, CM >
 
using Particle0Range = ObjectRange< ContainerId::particle0 >
 
using Particle0Id = ObjectId< ContainerId::particle0 >
 
using OptParticle0Id = OptObjectId< ContainerId::particle0 >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Particle0Accessor = AccessorTemplate< ContainerId::particle0, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Particle0Decorator = AccessorTemplate< ContainerId::particle0, CT, ColumnAccessMode::output, CM >
 
using Particle1Range = ObjectRange< ContainerId::particle1 >
 
using Particle1Id = ObjectId< ContainerId::particle1 >
 
using OptParticle1Id = OptObjectId< ContainerId::particle1 >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Particle1Accessor = AccessorTemplate< ContainerId::particle1, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Particle1Decorator = AccessorTemplate< ContainerId::particle1, CT, ColumnAccessMode::output, CM >
 
using ElementType = typename ColumnTypeTraits< CT, CM >::ColumnType
 
using ElectronRange = ObjectRange< ContainerId::electron >
 
using ElectronId = ObjectId< ContainerId::electron >
 
using OptElectronId = OptObjectId< ContainerId::electron >
 
template<typename CT , typename CM = ColumnarModeDefault>
using ElectronAccessor = AccessorTemplate< ContainerId::electron, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using ElectronDecorator = AccessorTemplate< ContainerId::electron, CT, ColumnAccessMode::output, CM >
 
using PhotonRange = ObjectRange< ContainerId::photon >
 
using PhotonId = ObjectId< ContainerId::photon >
 
using OptPhotonId = OptObjectId< ContainerId::photon >
 
template<typename CT , typename CM = ColumnarModeDefault>
using PhotonAccessor = AccessorTemplate< ContainerId::photon, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using PhotonDecorator = AccessorTemplate< ContainerId::photon, CT, ColumnAccessMode::output, CM >
 
using EgammaRange = ObjectRange< ContainerId::egamma >
 
using EgammaId = ObjectId< ContainerId::egamma >
 
using OptEgammaId = OptObjectId< ContainerId::egamma >
 
template<typename CT , typename CM = ColumnarModeDefault>
using EgammaAccessor = AccessorTemplate< ContainerId::egamma, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using EgammaDecorator = AccessorTemplate< ContainerId::egamma, CT, ColumnAccessMode::output, CM >
 
using MutableEgammaRange = ObjectRange< ContainerId::mutableEgamma >
 
using MutableEgammaId = ObjectId< ContainerId::mutableEgamma >
 
using OptMutableEgammaId = OptObjectId< ContainerId::mutableEgamma >
 
template<typename CT , typename CM = ColumnarModeDefault>
using MutableEgammaAccessor = AccessorTemplate< ContainerId::mutableEgamma, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using MutableEgammaDecorator = AccessorTemplate< ContainerId::mutableEgamma, CT, ColumnAccessMode::output, CM >
 
using EventInfoRange = ObjectRange< ContainerId::eventInfo >
 
using EventInfoId = ObjectId< ContainerId::eventInfo >
 
using OptEventInfoId = OptObjectId< ContainerId::eventInfo >
 
template<typename CT , typename CM = ColumnarModeDefault>
using EventInfoAccessor = AccessorTemplate< ContainerId::eventInfo, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using EventInfoDecorator = AccessorTemplate< ContainerId::eventInfo, CT, ColumnAccessMode::output, CM >
 
using ColumnarOffsetType = std::size_t
 the type used for the size and offsets in the columnar data More...
 
using JetRange = ObjectRange< ContainerId::jet >
 
using JetId = ObjectId< ContainerId::jet >
 
using OptJetId = OptObjectId< ContainerId::jet >
 
template<typename CT , typename CM = ColumnarModeDefault>
using JetAccessor = AccessorTemplate< ContainerId::jet, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using JetDecorator = AccessorTemplate< ContainerId::jet, CT, ColumnAccessMode::output, CM >
 
using MutableJetRange = ObjectRange< ContainerId::mutableJet >
 
using MutableJetId = ObjectId< ContainerId::mutableJet >
 
using OptMutableJetId = OptObjectId< ContainerId::mutableJet >
 
template<typename CT , typename CM = ColumnarModeDefault>
using MutableJetAccessor = AccessorTemplate< ContainerId::mutableJet, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using MutableJetDecorator = AccessorTemplate< ContainerId::mutableJet, CT, ColumnAccessMode::output, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using MutableJetUpdater = AccessorTemplate< ContainerId::mutableJet, CT, ColumnAccessMode::update, CM >
 
using MetRange = ObjectRange< ContainerId::met >
 
using MetId = ObjectId< ContainerId::met >
 
using OptMetId = OptObjectId< ContainerId::met >
 
template<typename CT , typename CM = ColumnarModeDefault>
using MetAccessor = AccessorTemplate< ContainerId::met, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using MetDecorator = AccessorTemplate< ContainerId::met, CT, ColumnAccessMode::output, CM >
 
using Met0Range = ObjectRange< ContainerId::met0 >
 
using Met0Id = ObjectId< ContainerId::met0 >
 
using OptMet0Id = OptObjectId< ContainerId::met0 >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Met0Accessor = AccessorTemplate< ContainerId::met0, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Met0Decorator = AccessorTemplate< ContainerId::met0, CT, ColumnAccessMode::output, CM >
 
using Met1Range = ObjectRange< ContainerId::met1 >
 
using Met1Id = ObjectId< ContainerId::met1 >
 
using OptMet1Id = OptObjectId< ContainerId::met1 >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Met1Accessor = AccessorTemplate< ContainerId::met1, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Met1Decorator = AccessorTemplate< ContainerId::met1, CT, ColumnAccessMode::output, CM >
 
using MutableMetRange = ObjectRange< ContainerId::mutableMet >
 
using MutableMetId = ObjectId< ContainerId::mutableMet >
 
using OptMutableMetId = OptObjectId< ContainerId::mutableMet >
 
template<typename CT , typename CM = ColumnarModeDefault>
using MutableMetAccessor = AccessorTemplate< ContainerId::mutableMet, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using MutableMetDecorator = AccessorTemplate< ContainerId::mutableMet, CT, ColumnAccessMode::output, CM >
 
using MetAssociationRange = ObjectRange< ContainerId::metAssociation >
 
using MetAssociationId = ObjectId< ContainerId::metAssociation >
 
using OptMetAssociationId = OptObjectId< ContainerId::metAssociation >
 
using MuonRange = ObjectRange< ContainerId::muon >
 
using MuonId = ObjectId< ContainerId::muon >
 
using OptMuonId = OptObjectId< ContainerId::muon >
 
template<typename CT , typename CM = ColumnarModeDefault>
using MuonAccessor = AccessorTemplate< ContainerId::muon, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using MuonDecorator = AccessorTemplate< ContainerId::muon, CT, ColumnAccessMode::output, CM >
 
using TrackId = ObjectId< ContainerId::track >
 
using OptTrackId = OptObjectId< ContainerId::track >
 
template<typename CT , typename CM = ColumnarModeDefault>
using TrackAccessor = AccessorTemplate< ContainerId::track, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using TrackDecorator = AccessorTemplate< ContainerId::track, CT, ColumnAccessMode::output, CM >
 
using OptTrack0Id = OptObjectId< ContainerId::track0 >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Track0Accessor = AccessorTemplate< ContainerId::track0, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Track0Decorator = AccessorTemplate< ContainerId::track0, CT, ColumnAccessMode::output, CM >
 
using OptTrack1Id = OptObjectId< ContainerId::track1 >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Track1Accessor = AccessorTemplate< ContainerId::track1, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Track1Decorator = AccessorTemplate< ContainerId::track1, CT, ColumnAccessMode::output, CM >
 
using OptTrack2Id = OptObjectId< ContainerId::track2 >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Track2Accessor = AccessorTemplate< ContainerId::track2, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using Track2Decorator = AccessorTemplate< ContainerId::track2, CT, ColumnAccessMode::output, CM >
 
using VertexId = ObjectId< ContainerId::vertex >
 
using OptVertexId = OptObjectId< ContainerId::vertex >
 
template<typename CT , typename CM = ColumnarModeDefault>
using VertexAccessor = AccessorTemplate< ContainerId::vertex, CT, ColumnAccessMode::input, CM >
 
template<typename CT , typename CM = ColumnarModeDefault>
using VertexDecorator = AccessorTemplate< ContainerId::vertex, CT, ColumnAccessMode::output, CM >
 

Enumerations

enum  ColumnAccessMode { ColumnAccessMode::input, ColumnAccessMode::output, ColumnAccessMode::update }
 an enum for the different access modes for a column More...
 

Functions

template<typename CT , typename CM >
 requires ((std::is_integral_v< CT >||std::is_floating_point_v< CT >) &&!std::is_same_v< CT, bool >) struct ColumnTypeTraits< CT
 
template<ContainerIdConcept CI, typename CT , typename CM >
 requires (ColumnTypeTraits< CT, CM >::useConvertInput||ColumnTypeTraits< CT, CM >::useConvertWithDataInput) class AccessorTemplate< CI
 a std::vector accessor for types that can be implemented via conversions More...
 
 AccessorTemplate ()=default
 
 AccessorTemplate (ColumnarTool< CM > &columnBase, const std::string &name, ColumnInfo &&info={})
 
decltype(auto) operator() (ObjectId< CI, CM > id) const noexcept
 
bool isAvailable (ObjectId< CI, CM > id) const noexcept
 
std::optional< UserTypegetOptional (ObjectId< CI, CM > id) const
 
template<ContainerIdConcept CI, typename CT , ColumnAccessMode CAM, typename CM >
void resetAccessor (AccessorTemplate< CI, CT, CAM, CM > &accessor, ColumnarTool< CM > &columnBase, const std::string &name, ColumnInfo &&info={})
 reset a column accessor to point to a new column More...
 
void moveAccessor (unsigned &dataIndex, std::unique_ptr< ColumnAccessorDataArray > &accessorData, unsigned &sourceIndex, std::unique_ptr< ColumnAccessorDataArray > &sourceData)
 
template<ContainerIdConcept CI, typename CM >
void resetIParticle (MomentumAccessors< CI, CM > &accessors)
 reset the dynamic momentum accessors to various default implementations More...
 
template<ContainerIdConcept CI, typename CM >
void resetPtEtaPhiReadM (MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool)
 
template<ContainerIdConcept CI, typename CM >
void resetPtEtaPhiFixedM (MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool, double mValue)
 
template<ContainerIdConcept CI, typename CM >
void resetJet (MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool)
 
template<ContainerIdConcept CI, typename CM >
void resetJetConstituentScale (MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool, const std::string &prefix="JetConstitScaleMomentum_")
 
template<ContainerIdConcept CI, typename CM >
void resetElectron (MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool)
 
template<ContainerIdConcept CI, typename CM >
void resetPhoton (MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool)
 
template<ContainerIdConcept CI, typename CM >
void resetEgamma (MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool)
 
template<ContainerIdConcept CI, typename CM >
void resetMuon (MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool)
 
template<ContainerIdConcept CI, typename CM >
void resetTau (MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool)
 
template<ContainerIdConcept CI, typename CM >
void resetObjectType (MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool, xAODType::ObjectType type)
 
template<ContainerIdConcept CI>
std::ostream & operator<< (std::ostream &str, const ObjectId< CI, ColumnarModeXAOD > &obj)
 
template<ContainerIdConcept CI>
bool operator== (const ObjectId< CI, ColumnarModeXAOD > &lhs, const ObjectId< CI, ColumnarModeXAOD > &rhs)
 
template<ContainerIdConcept CI>
bool operator!= (const ObjectId< CI, ColumnarModeXAOD > &lhs, const ObjectId< CI, ColumnarModeXAOD > &rhs)
 
template<ContainerIdConcept CI>
std::ostream & operator<< (std::ostream &str, const ObjectId< CI, ColumnarModeArray > &obj)
 
template<ContainerIdConcept CI>
bool operator== (const ObjectId< CI, ColumnarModeArray > &lhs, const ObjectId< CI, ColumnarModeArray > &rhs)
 
template<ContainerIdConcept CI>
bool operator!= (const ObjectId< CI, ColumnarModeArray > &lhs, const ObjectId< CI, ColumnarModeArray > &rhs)
 
template<ContainerIdConcept CI>
 requires (std::is_same_v< typename CI::xAODObjectRangeType, typename CI::xAODObjectIdType >) class ObjectRange< CI
 
 ObjectRange (xAODContainer &val_singlet) noexcept
 
xAODContainer & getXAODObject () const noexcept
 
xAODContainer & getXAODObjectNoexcept () const noexcept
 
auto begin () const noexcept
 
auto end () const noexcept
 
auto rbegin () const noexcept
 
auto rend () const noexcept
 
bool empty () const noexcept
 
std::size_t size () const noexcept
 
ObjectId< CI, CMoperator[] (std::size_t) const noexcept
 
template<typename Acc , typename... Args>
requiresdecltype(auto) std::invocable< Acc, ObjectRange< CI, ColumnarModeXAOD >, Args... > operator() (Acc &acc, Args &&... args) const
 
template<ContainerIdConcept CI>
bool operator== (const OptObjectId< CI, ColumnarModeXAOD > &lhs, const OptObjectId< CI, ColumnarModeXAOD > &rhs)
 
template<ContainerIdConcept CI>
bool operator!= (const OptObjectId< CI, ColumnarModeXAOD > &lhs, const OptObjectId< CI, ColumnarModeXAOD > &rhs)
 
template<ContainerIdConcept CI>
bool operator== (const OptObjectId< CI, ColumnarModeArray > &lhs, const OptObjectId< CI, ColumnarModeArray > &rhs)
 
template<ContainerIdConcept CI>
bool operator!= (const OptObjectId< CI, ColumnarModeArray > &lhs, const OptObjectId< CI, ColumnarModeArray > &rhs)
 
template<ContainerIdConcept CI, typename CT >
requires(ColumnTypeTraits< CT, ColumnarModeXAOD >::isNativeType) struct ColumnTypeTraits< std requires (ColumnTypeTraits< CT, ColumnarModeArray >::isNativeType) class AccessorTemplate< CI
 
 AccessorTemplate (AccessorTemplate &&that)
 
AccessorTemplateoperator= (AccessorTemplate &&that)
 
template<ContainerIdConcept CI, typename CT >
 requires (ColumnTypeTraits< CT, ColumnarModeArray >::isNativeType) class AccessorTemplate< CI
 
void renameContainers (IColumnarTool &tool, const std::vector< std::pair< std::string, std::string >> &renames)
 rename containers in the columnar tool More...
 
template<typename... CIList>
std::ostream & operator<< (std::ostream &str, const ObjectLink< VariantContainerId< CIList... >, ColumnarModeXAOD > &obj)
 
template<typename... CIList>
std::ostream & operator<< (std::ostream &str, const ObjectLink< VariantContainerId< CIList... >, ColumnarModeArray > &obj)
 
template<ContainerIdConcept... CIList>
std::ostream & operator<< (std::ostream &str, const ObjectId< VariantContainerId< CIList... >, ColumnarModeXAOD > &obj)
 
template<ContainerIdConcept... CIList>
bool operator== (const ObjectId< VariantContainerId< CIList... >, ColumnarModeXAOD > &lhs, const ObjectId< VariantContainerId< CIList... >, ColumnarModeXAOD > &rhs)
 
template<ContainerIdConcept... CIList>
bool operator!= (const ObjectId< VariantContainerId< CIList... >, ColumnarModeXAOD > &lhs, const ObjectId< VariantContainerId< CIList... >, ColumnarModeXAOD > &rhs)
 
template<ContainerIdConcept... CIList>
std::ostream & operator<< (std::ostream &str, const ObjectId< VariantContainerId< CIList... >, ColumnarModeArray > &obj)
 
template<ContainerIdConcept... CIList>
bool operator== (const ObjectId< VariantContainerId< CIList... >, ColumnarModeArray > &lhs, const ObjectId< VariantContainerId< CIList... >, ColumnarModeArray > &rhs)
 
template<ContainerIdConcept... CIList>
bool operator!= (const ObjectId< VariantContainerId< CIList... >, ColumnarModeArray > &lhs, const ObjectId< VariantContainerId< CIList... >, ColumnarModeArray > &rhs)
 

Variables

CM final
 
 CT
 
AccessorTemplate< CI, ColumnType, ColumnAccessMode::input, CMm_base
 
constexpr unsigned columnarAccessMode = COLUMNAR_DEFAULT_ACCESS_MODE
 
template<typename CI >
concept ContainerIdConcept = CI::isContainerId
 concept for a container id More...
 
xAODContainer * m_singlet = nullptr
 
unsigned m_offsetIndex = 0u
 
std::unique_ptr< ColumnAccessorDataArraym_offsetData
 
unsigned m_dataIndex = 0u
 
std::unique_ptr< ColumnAccessorDataArraym_dataData
 
ColumnAccessor< CI, std::vector< typename ColumnTypeTraits< CT, CM >::ColumnType >, CMm_accessor
 
unsigned m_outerOffsetIndex = 0u
 
std::unique_ptr< ColumnAccessorDataArraym_outerOffsetData
 
unsigned m_innerOffsetIndex = 0u
 
std::unique_ptr< ColumnAccessorDataArraym_innerOffsetData
 
constexpr ColumnarOffsetType invalidObjectIndex = static_cast<ColumnarOffsetType>(-1)
 the value for an invalid element index More...
 
const std::string numberOfEventsName = "EventInfo"
 the name used for the column containing the number of events More...
 
template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename CT , ColumnAccessMode CAM>
requires requires { AccessorTemplate<CIBase,CT,CAM,ColumnarModeArray>{}
 

Detailed Description

Author
Nils Krumnack
Nils Krumnack

Includes

Author
Nils Krumnack
Matthew Feickert
Matthias Vigl
Giordon Stark

Typedef Documentation

◆ ClusterAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::ClusterAccessor = typedef AccessorTemplate<ContainerId::cluster,CT,ColumnAccessMode::input,CM>

Definition at line 28 of file ClusterDef.h.

◆ ClusterDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::ClusterDecorator = typedef AccessorTemplate<ContainerId::cluster,CT,ColumnAccessMode::output,CM>

Definition at line 29 of file ClusterDef.h.

◆ ClusterId

Definition at line 26 of file ClusterDef.h.

◆ CM

Definition at line 141 of file ObjectRange.h.

◆ ColumnAccessor

template<ContainerIdConcept CI, typename CT , typename CM = ColumnarModeDefault>
using columnar::ColumnAccessor = typedef AccessorTemplate<CI,CT,ColumnAccessMode::input,CM>
private

Definition at line 219 of file ColumnAccessor.h.

◆ ColumnarModeDefault

Definition at line 45 of file ColumnarDef.h.

◆ ColumnarOffsetType

using columnar::ColumnarOffsetType = typedef std::size_t

the type used for the size and offsets in the columnar data

Todo:
This type still needs to be adjusted to match whatever uproot uses for its offset maps.

Definition at line 20 of file IColumnarTool.h.

◆ ColumnDecorator

template<ContainerIdConcept CI, typename CT , typename CM = ColumnarModeDefault>
using columnar::ColumnDecorator = typedef AccessorTemplate<CI,CT,ColumnAccessMode::output,CM>
private

Definition at line 220 of file ColumnAccessor.h.

◆ ColumnUpdater

template<ContainerIdConcept CI, typename CT , typename CM = ColumnarModeDefault>
using columnar::ColumnUpdater = typedef AccessorTemplate<CI,CT,ColumnAccessMode::update,CM>
private

Definition at line 221 of file ColumnAccessor.h.

◆ EgammaAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::EgammaAccessor = typedef AccessorTemplate<ContainerId::egamma,CT,ColumnAccessMode::input,CM>

Definition at line 52 of file EgammaDef.h.

◆ EgammaDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::EgammaDecorator = typedef AccessorTemplate<ContainerId::egamma,CT,ColumnAccessMode::output,CM>

Definition at line 53 of file EgammaDef.h.

◆ EgammaId

Definition at line 50 of file EgammaDef.h.

◆ EgammaRange

Definition at line 49 of file EgammaDef.h.

◆ ElectronAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::ElectronAccessor = typedef AccessorTemplate<ContainerId::electron,CT,ColumnAccessMode::input,CM>

Definition at line 40 of file EgammaDef.h.

◆ ElectronDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::ElectronDecorator = typedef AccessorTemplate<ContainerId::electron,CT,ColumnAccessMode::output,CM>

Definition at line 41 of file EgammaDef.h.

◆ ElectronId

Definition at line 38 of file EgammaDef.h.

◆ ElectronRange

Definition at line 37 of file EgammaDef.h.

◆ ElementType

typedef typename ColumnTypeTraits< CT, ColumnarModeArray >::ColumnType columnar::ElementType

Definition at line 66 of file VectorColumn.h.

◆ EventContextId

Definition at line 183 of file ContainerId.h.

◆ EventContextRange

Definition at line 182 of file ContainerId.h.

◆ EventInfoAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::EventInfoAccessor = typedef AccessorTemplate<ContainerId::eventInfo,CT,ColumnAccessMode::input,CM>

Definition at line 34 of file EventInfoDef.h.

◆ EventInfoDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::EventInfoDecorator = typedef AccessorTemplate<ContainerId::eventInfo,CT,ColumnAccessMode::output,CM>

Definition at line 35 of file EventInfoDef.h.

◆ EventInfoId

Definition at line 32 of file EventInfoDef.h.

◆ EventInfoRange

Definition at line 31 of file EventInfoDef.h.

◆ JetAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::JetAccessor = typedef AccessorTemplate<ContainerId::jet,CT,ColumnAccessMode::input,CM>

Definition at line 28 of file JetDef.h.

◆ JetDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::JetDecorator = typedef AccessorTemplate<ContainerId::jet,CT,ColumnAccessMode::output,CM>

Definition at line 29 of file JetDef.h.

◆ JetId

Definition at line 26 of file JetDef.h.

◆ JetRange

Definition at line 25 of file JetDef.h.

◆ Met0Accessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Met0Accessor = typedef AccessorTemplate<ContainerId::met0,CT,ColumnAccessMode::input,CM>

Definition at line 58 of file MetDef.h.

◆ Met0Decorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Met0Decorator = typedef AccessorTemplate<ContainerId::met0,CT,ColumnAccessMode::output,CM>

Definition at line 59 of file MetDef.h.

◆ Met0Id

Definition at line 56 of file MetDef.h.

◆ Met0Range

Definition at line 55 of file MetDef.h.

◆ Met1Accessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Met1Accessor = typedef AccessorTemplate<ContainerId::met1,CT,ColumnAccessMode::input,CM>

Definition at line 64 of file MetDef.h.

◆ Met1Decorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Met1Decorator = typedef AccessorTemplate<ContainerId::met1,CT,ColumnAccessMode::output,CM>

Definition at line 65 of file MetDef.h.

◆ Met1Id

Definition at line 62 of file MetDef.h.

◆ Met1Range

Definition at line 61 of file MetDef.h.

◆ MetAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::MetAccessor = typedef AccessorTemplate<ContainerId::met,CT,ColumnAccessMode::input,CM>

Definition at line 52 of file MetDef.h.

◆ MetAssociationId

Definition at line 74 of file MetDef.h.

◆ MetAssociationRange

Definition at line 73 of file MetDef.h.

◆ MetDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::MetDecorator = typedef AccessorTemplate<ContainerId::met,CT,ColumnAccessMode::output,CM>

Definition at line 53 of file MetDef.h.

◆ MetId

Definition at line 50 of file MetDef.h.

◆ MetRange

Definition at line 49 of file MetDef.h.

◆ MuonAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::MuonAccessor = typedef AccessorTemplate<ContainerId::muon,CT,ColumnAccessMode::input,CM>

Definition at line 27 of file MuonDef.h.

◆ MuonDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::MuonDecorator = typedef AccessorTemplate<ContainerId::muon,CT,ColumnAccessMode::output,CM>

Definition at line 28 of file MuonDef.h.

◆ MuonId

Definition at line 25 of file MuonDef.h.

◆ MuonRange

Definition at line 24 of file MuonDef.h.

◆ MutableEgammaAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::MutableEgammaAccessor = typedef AccessorTemplate<ContainerId::mutableEgamma,CT,ColumnAccessMode::input,CM>

Definition at line 58 of file EgammaDef.h.

◆ MutableEgammaDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::MutableEgammaDecorator = typedef AccessorTemplate<ContainerId::mutableEgamma,CT,ColumnAccessMode::output,CM>

Definition at line 59 of file EgammaDef.h.

◆ MutableEgammaId

Definition at line 56 of file EgammaDef.h.

◆ MutableEgammaRange

Definition at line 55 of file EgammaDef.h.

◆ MutableJetAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::MutableJetAccessor = typedef AccessorTemplate<ContainerId::mutableJet,CT,ColumnAccessMode::input,CM>

Definition at line 34 of file JetDef.h.

◆ MutableJetDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::MutableJetDecorator = typedef AccessorTemplate<ContainerId::mutableJet,CT,ColumnAccessMode::output,CM>

Definition at line 35 of file JetDef.h.

◆ MutableJetId

Definition at line 32 of file JetDef.h.

◆ MutableJetRange

Definition at line 31 of file JetDef.h.

◆ MutableJetUpdater

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::MutableJetUpdater = typedef AccessorTemplate<ContainerId::mutableJet,CT,ColumnAccessMode::update,CM>

Definition at line 36 of file JetDef.h.

◆ MutableMetAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::MutableMetAccessor = typedef AccessorTemplate<ContainerId::mutableMet,CT,ColumnAccessMode::input,CM>

Definition at line 70 of file MetDef.h.

◆ MutableMetDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::MutableMetDecorator = typedef AccessorTemplate<ContainerId::mutableMet,CT,ColumnAccessMode::output,CM>

Definition at line 71 of file MetDef.h.

◆ MutableMetId

Definition at line 68 of file MetDef.h.

◆ MutableMetRange

Definition at line 67 of file MetDef.h.

◆ OptClusterId

Definition at line 27 of file ClusterDef.h.

◆ OptEgammaId

Definition at line 51 of file EgammaDef.h.

◆ OptElectronId

Definition at line 39 of file EgammaDef.h.

◆ OptEventInfoId

Definition at line 33 of file EventInfoDef.h.

◆ OptJetId

Definition at line 27 of file JetDef.h.

◆ OptMet0Id

Definition at line 57 of file MetDef.h.

◆ OptMet1Id

Definition at line 63 of file MetDef.h.

◆ OptMetAssociationId

Definition at line 75 of file MetDef.h.

◆ OptMetId

Definition at line 51 of file MetDef.h.

◆ OptMuonId

Definition at line 26 of file MuonDef.h.

◆ OptMutableEgammaId

Definition at line 57 of file EgammaDef.h.

◆ OptMutableJetId

Definition at line 33 of file JetDef.h.

◆ OptMutableMetId

Definition at line 69 of file MetDef.h.

◆ OptParticle0Id

Definition at line 38 of file ParticleDef.h.

◆ OptParticle1Id

Definition at line 44 of file ParticleDef.h.

◆ OptParticleId

Definition at line 32 of file ParticleDef.h.

◆ OptPhotonId

Definition at line 45 of file EgammaDef.h.

◆ OptTrack0Id

Definition at line 46 of file TrackDef.h.

◆ OptTrack1Id

Definition at line 50 of file TrackDef.h.

◆ OptTrack2Id

Definition at line 54 of file TrackDef.h.

◆ OptTrackId

Definition at line 42 of file TrackDef.h.

◆ OptVertexId

Definition at line 59 of file TrackDef.h.

◆ Particle0Accessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Particle0Accessor = typedef AccessorTemplate<ContainerId::particle0,CT,ColumnAccessMode::input,CM>

Definition at line 39 of file ParticleDef.h.

◆ Particle0Decorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Particle0Decorator = typedef AccessorTemplate<ContainerId::particle0,CT,ColumnAccessMode::output,CM>

Definition at line 40 of file ParticleDef.h.

◆ Particle0Id

Definition at line 37 of file ParticleDef.h.

◆ Particle0Range

Definition at line 36 of file ParticleDef.h.

◆ Particle1Accessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Particle1Accessor = typedef AccessorTemplate<ContainerId::particle1,CT,ColumnAccessMode::input,CM>

Definition at line 45 of file ParticleDef.h.

◆ Particle1Decorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Particle1Decorator = typedef AccessorTemplate<ContainerId::particle1,CT,ColumnAccessMode::output,CM>

Definition at line 46 of file ParticleDef.h.

◆ Particle1Id

Definition at line 43 of file ParticleDef.h.

◆ Particle1Range

Definition at line 42 of file ParticleDef.h.

◆ ParticleAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::ParticleAccessor = typedef AccessorTemplate<ContainerId::particle,CT,ColumnAccessMode::input,CM>

Definition at line 33 of file ParticleDef.h.

◆ ParticleDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::ParticleDecorator = typedef AccessorTemplate<ContainerId::particle,CT,ColumnAccessMode::output,CM>

Definition at line 34 of file ParticleDef.h.

◆ ParticleId

Definition at line 31 of file ParticleDef.h.

◆ ParticleRange

Definition at line 30 of file ParticleDef.h.

◆ PhotonAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::PhotonAccessor = typedef AccessorTemplate<ContainerId::photon,CT,ColumnAccessMode::input,CM>

Definition at line 46 of file EgammaDef.h.

◆ PhotonDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::PhotonDecorator = typedef AccessorTemplate<ContainerId::photon,CT,ColumnAccessMode::output,CM>

Definition at line 47 of file EgammaDef.h.

◆ PhotonId

Definition at line 44 of file EgammaDef.h.

◆ PhotonRange

Definition at line 43 of file EgammaDef.h.

◆ Track0Accessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Track0Accessor = typedef AccessorTemplate<ContainerId::track0,CT,ColumnAccessMode::input,CM>

Definition at line 47 of file TrackDef.h.

◆ Track0Decorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Track0Decorator = typedef AccessorTemplate<ContainerId::track0,CT,ColumnAccessMode::output,CM>

Definition at line 48 of file TrackDef.h.

◆ Track1Accessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Track1Accessor = typedef AccessorTemplate<ContainerId::track1,CT,ColumnAccessMode::input,CM>

Definition at line 51 of file TrackDef.h.

◆ Track1Decorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Track1Decorator = typedef AccessorTemplate<ContainerId::track1,CT,ColumnAccessMode::output,CM>

Definition at line 52 of file TrackDef.h.

◆ Track2Accessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Track2Accessor = typedef AccessorTemplate<ContainerId::track2,CT,ColumnAccessMode::input,CM>

Definition at line 55 of file TrackDef.h.

◆ Track2Decorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::Track2Decorator = typedef AccessorTemplate<ContainerId::track2,CT,ColumnAccessMode::output,CM>

Definition at line 56 of file TrackDef.h.

◆ TrackAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::TrackAccessor = typedef AccessorTemplate<ContainerId::track,CT,ColumnAccessMode::input,CM>

Definition at line 43 of file TrackDef.h.

◆ TrackDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::TrackDecorator = typedef AccessorTemplate<ContainerId::track,CT,ColumnAccessMode::output,CM>

Definition at line 44 of file TrackDef.h.

◆ TrackId

Definition at line 41 of file TrackDef.h.

◆ UserType

using columnar::UserType = typedef typename ColumnTypeTraits<CT,CM>::UserType

Definition at line 165 of file ColumnAccessor.h.

◆ VertexAccessor

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::VertexAccessor = typedef AccessorTemplate<ContainerId::vertex,CT,ColumnAccessMode::input,CM>

Definition at line 60 of file TrackDef.h.

◆ VertexDecorator

template<typename CT , typename CM = ColumnarModeDefault>
using columnar::VertexDecorator = typedef AccessorTemplate<ContainerId::vertex,CT,ColumnAccessMode::output,CM>

Definition at line 61 of file TrackDef.h.

◆ VertexId

Definition at line 58 of file TrackDef.h.

Enumeration Type Documentation

◆ ColumnAccessMode

an enum for the different access modes for a column

Enumerator
input 

an input column

output 

an output column

update 

an updateable column

Definition at line 18 of file ColumnInfo.h.

19  {
21  input,
22 
24  output,
25 
27  update
28  };

Function Documentation

◆ AccessorTemplate() [1/3]

◆ AccessorTemplate() [2/3]

Definition at line 82 of file VectorColumn.h.

83  {
84  moveAccessor (m_offsetIndex, m_offsetData, that.m_offsetIndex, that.m_offsetData);
85  moveAccessor (m_dataIndex, m_dataData, that.m_dataIndex, that.m_dataData);
86  }

◆ AccessorTemplate() [3/3]

columnar::AccessorTemplate ( ColumnarTool< CM > &  columnBase,
const std::string &  name,
ColumnInfo &&  info = {} 
)

Definition at line 169 of file ColumnAccessor.h.

169  {})
170  : m_base (columnBase, name, std::move (ColumnTypeTraits<CT,CM>::updateColumnInfo(columnBase, info)))
171  {}

◆ begin()

auto columnar::begin ( ) const
noexcept

Definition at line 154 of file ObjectRange.h.

154  {
155  return ObjectRangeIteratorXAODSinglet<CI> (m_singlet);}

◆ empty()

bool columnar::empty ( ) const
noexcept

Definition at line 163 of file ObjectRange.h.

163  {
164  return false;}

◆ end()

auto columnar::end ( ) const
noexcept

Definition at line 156 of file ObjectRange.h.

156  {
157  return ObjectRangeIteratorXAODSinglet<CI> (nullptr);}

◆ getOptional()

std::optional<UserType> columnar::getOptional ( ObjectId< CI, CM id) const

Definition at line 186 of file ColumnAccessor.h.

187  {
188  if (m_base.isAvailable (id))
189  return operator()(id);
190  else
191  return std::nullopt;
192  }

◆ getXAODObject()

xAODContainer& columnar::getXAODObject ( ) const
noexcept

Definition at line 147 of file ObjectRange.h.

147  {
148  return *m_singlet;}

◆ getXAODObjectNoexcept()

xAODContainer& columnar::getXAODObjectNoexcept ( ) const
noexcept

Definition at line 151 of file ObjectRange.h.

151  {
152  return *m_singlet;}

◆ isAvailable()

bool columnar::isAvailable ( ObjectId< CI, CM id) const
noexcept

Definition at line 181 of file ColumnAccessor.h.

182  {
183  return m_base.isAvailable (id);
184  }

◆ moveAccessor()

void columnar::moveAccessor ( unsigned &  dataIndex,
std::unique_ptr< ColumnAccessorDataArray > &  accessorData,
unsigned &  sourceIndex,
std::unique_ptr< ColumnAccessorDataArray > &  sourceData 
)

Definition at line 30 of file ColumnAccessorDataArray.cxx.

31  {
32  if (accessorData != nullptr)
33  throw std::runtime_error ("data already set, overwriting not yet supported");
34 
35  dataIndex = sourceIndex;
36  sourceIndex = 0;
37 
38  if (sourceData)
39  {
40  if (sourceData->selfPtr != &sourceData)
41  throw std::logic_error ("selfPtr not set correctly");
42 
43  accessorData = std::move (sourceData);
44  accessorData->selfPtr = &accessorData;
45  accessorData->dataIndexPtr = &dataIndex;
46  }
47  }

◆ ObjectRange()

columnar::ObjectRange ( xAODContainer &  val_singlet)
noexcept

Definition at line 143 of file ObjectRange.h.

144  : m_singlet (&val_singlet)
145  {}

◆ operator!=() [1/6]

template<ContainerIdConcept CI>
bool columnar::operator!= ( const ObjectId< CI, ColumnarModeArray > &  lhs,
const ObjectId< CI, ColumnarModeArray > &  rhs 
)

Definition at line 174 of file ObjectId.h.

175  {
176  return lhs.getIndex() != rhs.getIndex();
177  }

◆ operator!=() [2/6]

template<ContainerIdConcept CI>
bool columnar::operator!= ( const ObjectId< CI, ColumnarModeXAOD > &  lhs,
const ObjectId< CI, ColumnarModeXAOD > &  rhs 
)

Definition at line 88 of file ObjectId.h.

89  {
90  return &lhs.getXAODObjectNoexcept() != &rhs.getXAODObjectNoexcept();
91  }

◆ operator!=() [3/6]

template<ContainerIdConcept... CIList>
bool columnar::operator!= ( const ObjectId< VariantContainerId< CIList... >, ColumnarModeArray > &  lhs,
const ObjectId< VariantContainerId< CIList... >, ColumnarModeArray > &  rhs 
)

Definition at line 193 of file VariantObjectId.h.

194  {
195  return lhs.getVariantIndex() != rhs.getVariantIndex() || lhs.getObjectIndex() != rhs.getObjectIndex();
196  }

◆ operator!=() [4/6]

template<ContainerIdConcept... CIList>
bool columnar::operator!= ( const ObjectId< VariantContainerId< CIList... >, ColumnarModeXAOD > &  lhs,
const ObjectId< VariantContainerId< CIList... >, ColumnarModeXAOD > &  rhs 
)

Definition at line 90 of file VariantObjectId.h.

91  {
92  return &lhs.getXAODObjectNoexcept() != &rhs.getXAODObjectNoexcept();
93  }

◆ operator!=() [5/6]

template<ContainerIdConcept CI>
bool columnar::operator!= ( const OptObjectId< CI, ColumnarModeArray > &  lhs,
const OptObjectId< CI, ColumnarModeArray > &  rhs 
)

Definition at line 204 of file OptObjectId.h.

205  {
206  return lhs.getIndex() != rhs.getIndex();
207  }

◆ operator!=() [6/6]

template<ContainerIdConcept CI>
bool columnar::operator!= ( const OptObjectId< CI, ColumnarModeXAOD > &  lhs,
const OptObjectId< CI, ColumnarModeXAOD > &  rhs 
)

Definition at line 100 of file OptObjectId.h.

101  {
102  return lhs.getXAODObjectNoexcept() != rhs.getXAODObjectNoexcept();
103  }

◆ operator()() [1/2]

template<typename Acc , typename... Args>
requiresdecltype(auto) std::invocable<Acc,ObjectRange<CI,ColumnarModeXAOD>,Args...> columnar::operator() ( Acc &  acc,
Args &&...  args 
) const

Definition at line 175 of file ObjectRange.h.

175  {
176  return acc (*this, std::forward<Args> (args)...);}

◆ operator()() [2/2]

auto columnar::operator() ( ObjectId< CI, CM id) const
noexcept

Definition at line 173 of file ColumnAccessor.h.

174  {
175  if constexpr (ColumnTypeTraits<CT,CM>::useConvertWithDataInput)
176  return ColumnTypeTraits<CT,CM>::convertInput (id.getData(), m_base(id));
177  else
178  return ColumnTypeTraits<CT,CM>::convertInput (m_base(id));
179  }

◆ operator<<() [1/6]

template<ContainerIdConcept CI>
std::ostream& columnar::operator<< ( std::ostream &  str,
const ObjectId< CI, ColumnarModeArray > &  obj 
)

Definition at line 162 of file ObjectId.h.

163  {
164  return str << CI::idName << "/" << obj.getIndex();
165  }

◆ operator<<() [2/6]

template<ContainerIdConcept CI>
std::ostream& columnar::operator<< ( std::ostream &  str,
const ObjectId< CI, ColumnarModeXAOD > &  obj 
)

Definition at line 76 of file ObjectId.h.

77  {
78  return str << &obj.getXAODObjectNoexcept() << "/" << obj.getXAODObjectNoexcept().index();
79  }

◆ operator<<() [3/6]

template<ContainerIdConcept... CIList>
std::ostream& columnar::operator<< ( std::ostream &  str,
const ObjectId< VariantContainerId< CIList... >, ColumnarModeArray > &  obj 
)

Definition at line 180 of file VariantObjectId.h.

181  {
182  using CI = VariantContainerId<CIList...>;
183  return str << CI::idNameArray.at(obj.getVariantIndex()) << "/" << obj.getObjectIndex();
184  }

◆ operator<<() [4/6]

template<ContainerIdConcept... CIList>
std::ostream& columnar::operator<< ( std::ostream &  str,
const ObjectId< VariantContainerId< CIList... >, ColumnarModeXAOD > &  obj 
)

Definition at line 78 of file VariantObjectId.h.

79  {
80  return str << &obj.getXAODObjectNoexcept() << "/" << obj.getXAODObjectNoexcept().index();
81  }

◆ operator<<() [5/6]

template<typename... CIList>
std::ostream& columnar::operator<< ( std::ostream &  str,
const ObjectLink< VariantContainerId< CIList... >, ColumnarModeArray > &  obj 
)

Definition at line 264 of file VariantLinkColumn.h.

265  {
266  return str << obj.getLinkKey() << "/" << obj.getLinkIndex();
267  }

◆ operator<<() [6/6]

template<typename... CIList>
std::ostream& columnar::operator<< ( std::ostream &  str,
const ObjectLink< VariantContainerId< CIList... >, ColumnarModeXAOD > &  obj 
)

Definition at line 128 of file VariantLinkColumn.h.

129  {
130  return str << obj.getXAODObject() << "/" << obj.getXAODObject()->type();
131  }

◆ operator=()

AccessorTemplate & columnar::operator= ( AccessorTemplate &&  that)

Definition at line 88 of file VectorColumn.h.

89  {
90  if (this != &that)
91  {
92  moveAccessor (m_offsetIndex, m_offsetData, that.m_offsetIndex, that.m_offsetData);
93  moveAccessor (m_dataIndex, m_dataData, that.m_dataIndex, that.m_dataData);
94  }
95  return *this;
96  }

◆ operator==() [1/6]

template<ContainerIdConcept CI>
bool columnar::operator== ( const ObjectId< CI, ColumnarModeArray > &  lhs,
const ObjectId< CI, ColumnarModeArray > &  rhs 
)

Definition at line 168 of file ObjectId.h.

169  {
170  return lhs.getIndex() == rhs.getIndex();
171  }

◆ operator==() [2/6]

template<ContainerIdConcept CI>
bool columnar::operator== ( const ObjectId< CI, ColumnarModeXAOD > &  lhs,
const ObjectId< CI, ColumnarModeXAOD > &  rhs 
)

Definition at line 82 of file ObjectId.h.

83  {
84  return &lhs.getXAODObjectNoexcept() == &rhs.getXAODObjectNoexcept();
85  }

◆ operator==() [3/6]

template<ContainerIdConcept... CIList>
bool columnar::operator== ( const ObjectId< VariantContainerId< CIList... >, ColumnarModeArray > &  lhs,
const ObjectId< VariantContainerId< CIList... >, ColumnarModeArray > &  rhs 
)

Definition at line 187 of file VariantObjectId.h.

188  {
189  return lhs.getVariantIndex() == rhs.getVariantIndex() && lhs.getObjectIndex() == rhs.getObjectIndex();
190  }

◆ operator==() [4/6]

template<ContainerIdConcept... CIList>
bool columnar::operator== ( const ObjectId< VariantContainerId< CIList... >, ColumnarModeXAOD > &  lhs,
const ObjectId< VariantContainerId< CIList... >, ColumnarModeXAOD > &  rhs 
)

Definition at line 84 of file VariantObjectId.h.

85  {
86  return &lhs.getXAODObjectNoexcept() == &rhs.getXAODObjectNoexcept();
87  }

◆ operator==() [5/6]

template<ContainerIdConcept CI>
bool columnar::operator== ( const OptObjectId< CI, ColumnarModeArray > &  lhs,
const OptObjectId< CI, ColumnarModeArray > &  rhs 
)

Definition at line 198 of file OptObjectId.h.

199  {
200  return lhs.getIndex() == rhs.getIndex();
201  }

◆ operator==() [6/6]

template<ContainerIdConcept CI>
bool columnar::operator== ( const OptObjectId< CI, ColumnarModeXAOD > &  lhs,
const OptObjectId< CI, ColumnarModeXAOD > &  rhs 
)

Definition at line 94 of file OptObjectId.h.

95  {
96  return lhs.getXAODObjectNoexcept() == rhs.getXAODObjectNoexcept();
97  }

◆ operator[]()

ObjectId<CI,CM> columnar::operator[] ( std::size_t  ) const
noexcept

Definition at line 169 of file ObjectRange.h.

169  {
170  return ObjectId<CI,CM> (*m_singlet);
171  }

◆ rbegin()

auto columnar::rbegin ( ) const
noexcept

Definition at line 158 of file ObjectRange.h.

158  {
159  return ObjectRangeIteratorXAODSinglet<CI> (m_singlet);}

◆ renameContainers()

void columnar::renameContainers ( IColumnarTool tool,
const std::vector< std::pair< std::string, std::string >> &  renames 
)

rename containers in the columnar tool

The interface itself only allows renaming individual columns, but sometimes it is nice to rename a whole container. This happens strictly on the basis of the name, i.e. it being prefixed with "Container.".

Definition at line 23 of file ColumnarToolHelpers.cxx.

24  {
25  if (!renames.empty())
26  {
27  auto columnInfo = tool.getColumnInfo ();
28  for (auto& [from, to] : renames)
29  {
30  for (auto& column : columnInfo)
31  {
32  if (column.name.starts_with (from) && (column.name.size() == from.size() || column.name[from.size()] == '.'))
33  {
34  std::string newName = to + column.name.substr (from.size());
35  tool.renameColumn (column.name, newName);
36  }
37  }
38  }
39  }
40  }

◆ rend()

auto columnar::rend ( ) const
noexcept

Definition at line 160 of file ObjectRange.h.

160  {
161  return ObjectRangeIteratorXAODSinglet<CI> (nullptr);}

◆ requires() [1/5]

template<typename CT , typename CM >
columnar::requires ( (std::is_integral_v< CT >||std::is_floating_point_v< CT >) &&!std::is_same_v< CT, bool >  )

◆ requires() [2/5]

template<ContainerIdConcept CI, typename CT , typename CM >
columnar::requires ( ColumnTypeTraits< CT, CM >::useConvertInput||ColumnTypeTraits< CT, CM >::useConvertWithDataInput  )

a std::vector accessor for types that can be implemented via conversions

This is a bit more involved in that it needs to wrap the underlying view, and apply the conversion on access. That means I need to have a custom view and iterator object to handle it. Furthermore, since some conversions need a data pointer and others don't, I need to have two different implementations of the view and iterator.

◆ requires() [3/5]

template<ContainerIdConcept CI, typename CT >
columnar::requires ( ColumnTypeTraits< CT, ColumnarModeArray >::isNativeType  )

◆ requires() [4/5]

template<ContainerIdConcept CI, typename CT >
requires (ColumnTypeTraits<CT,ColumnarModeXAOD>::isNativeType) struct ColumnTypeTraits<std columnar::requires ( ColumnTypeTraits< CT, ColumnarModeArray >::isNativeType  )

◆ requires() [5/5]

template<ContainerIdConcept CI>
columnar::requires ( std::is_same_v< typename CI::xAODObjectRangeType, typename CI::xAODObjectIdType >  )

◆ resetAccessor()

template<ContainerIdConcept CI, typename CT , ColumnAccessMode CAM, typename CM >
void columnar::resetAccessor ( AccessorTemplate< CI, CT, CAM, CM > &  accessor,
ColumnarTool< CM > &  columnBase,
const std::string &  name,
ColumnInfo &&  info = {} 
)
private

reset a column accessor to point to a new column

This allows users to have blank column accessors that only get initialized if they are actually used. This avoids the need to have accessors wrapped inside std::optional or similar constructs. Besides making accessor use slightly more consistent it should also make the code a little more efficient.

Definition at line 210 of file ColumnAccessor.h.

210  {})
211  {
212  accessor = AccessorTemplate<CI,CT,CAM,CM> (columnBase, name, std::move (info));
213  }

◆ resetEgamma()

template<ContainerIdConcept CI, typename CM >
void columnar::resetEgamma ( MomentumAccessors< CI, CM > &  accessors,
ColumnarTool< CM > &  columnarTool 
)

Definition at line 361 of file MomentumAccessors.h.

361  {
362  resetPtEtaPhiReadM (accessors, columnarTool); }

◆ resetElectron()

template<ContainerIdConcept CI, typename CM >
void columnar::resetElectron ( MomentumAccessors< CI, CM > &  accessors,
ColumnarTool< CM > &  columnarTool 
)

Definition at line 355 of file MomentumAccessors.h.

◆ resetIParticle()

template<ContainerIdConcept CI, typename CM >
void columnar::resetIParticle ( MomentumAccessors< CI, CM > &  accessors)

reset the dynamic momentum accessors to various default implementations

These are convenience functions to avoid the user having to know how a specific particle type is implemented. I decided to make them standalone functions, as that makes it seamless to define further specializations if needed in other packages. In particular tracking momentum accessors need some enums from xAODTracking for the xAOD hypothesis, which I don't want to include here.

Definition at line 340 of file MomentumAccessors.h.

340  {
341  accessors.reset (std::in_place_type<Detail::MomentumAccessorsIParticle<CI,CM>>); }

◆ resetJet()

template<ContainerIdConcept CI, typename CM >
void columnar::resetJet ( MomentumAccessors< CI, CM > &  accessors,
ColumnarTool< CM > &  columnarTool 
)

Definition at line 349 of file MomentumAccessors.h.

349  {
350  resetPtEtaPhiReadM (accessors, columnarTool); }

◆ resetJetConstituentScale()

template<ContainerIdConcept CI, typename CM >
void columnar::resetJetConstituentScale ( MomentumAccessors< CI, CM > &  accessors,
ColumnarTool< CM > &  columnarTool,
const std::string &  prefix = "JetConstitScaleMomentum_" 
)

Definition at line 352 of file MomentumAccessors.h.

352  {
353  accessors.reset (std::in_place_type<Detail::FullMomentumAccessorsPtEtaPhiM<Detail::CoreMomentumAccessorsPtEtaPhiReadM<CI,CM>>>, columnarTool, prefix); }

◆ resetMuon()

template<ContainerIdConcept CI, typename CM >
void columnar::resetMuon ( MomentumAccessors< CI, CM > &  accessors,
ColumnarTool< CM > &  columnarTool 
)

Definition at line 364 of file MomentumAccessors.h.

◆ resetObjectType()

template<ContainerIdConcept CI, typename CM >
void columnar::resetObjectType ( MomentumAccessors< CI, CM > &  accessors,
ColumnarTool< CM > &  columnarTool,
xAODType::ObjectType  type 
)

Definition at line 371 of file MomentumAccessors.h.

372  {
373  switch (type)
374  {
376  resetElectron (accessors, columnarTool);
377  break;
379  resetPhoton (accessors, columnarTool);
380  break;
382  resetMuon (accessors, columnarTool);
383  break;
385  resetTau (accessors, columnarTool);
386  break;
388  resetJet (accessors, columnarTool);
389  break;
390  default:
391  throw std::runtime_error ("Unknown object type for momentum accessors: " + std::to_string(static_cast<unsigned>(type)));
392  }
393  }

◆ resetPhoton()

template<ContainerIdConcept CI, typename CM >
void columnar::resetPhoton ( MomentumAccessors< CI, CM > &  accessors,
ColumnarTool< CM > &  columnarTool 
)

Definition at line 358 of file MomentumAccessors.h.

◆ resetPtEtaPhiFixedM()

template<ContainerIdConcept CI, typename CM >
void columnar::resetPtEtaPhiFixedM ( MomentumAccessors< CI, CM > &  accessors,
ColumnarTool< CM > &  columnarTool,
double  mValue 
)

Definition at line 346 of file MomentumAccessors.h.

346  {
347  accessors.reset (std::in_place_type<Detail::FullMomentumAccessorsPtEtaPhiM<Detail::CoreMomentumAccessorsPtEtaPhiFixedM<CI,CM>>>, columnarTool, mValue); }

◆ resetPtEtaPhiReadM()

template<ContainerIdConcept CI, typename CM >
void columnar::resetPtEtaPhiReadM ( MomentumAccessors< CI, CM > &  accessors,
ColumnarTool< CM > &  columnarTool 
)

Definition at line 343 of file MomentumAccessors.h.

343  {
344  accessors.reset (std::in_place_type<Detail::FullMomentumAccessorsPtEtaPhiM<Detail::CoreMomentumAccessorsPtEtaPhiReadM<CI,CM>>>, columnarTool); }

◆ resetTau()

template<ContainerIdConcept CI, typename CM >
void columnar::resetTau ( MomentumAccessors< CI, CM > &  accessors,
ColumnarTool< CM > &  columnarTool 
)

Definition at line 367 of file MomentumAccessors.h.

367  {
368  resetPtEtaPhiReadM (accessors, columnarTool); }

◆ size()

std::size_t columnar::size ( ) const
noexcept

Definition at line 166 of file ObjectRange.h.

166  {
167  return 1;}

Variable Documentation

◆ columnarAccessMode

constexpr unsigned columnar::columnarAccessMode = COLUMNAR_DEFAULT_ACCESS_MODE
constexpr

Definition at line 12 of file ColumnarDef.h.

◆ ContainerIdConcept

template<typename CI >
concept columnar::ContainerIdConcept = CI::isContainerId

concept for a container id

Definition at line 171 of file ContainerId.h.

◆ CT

columnar::CT

Definition at line 160 of file ColumnAccessor.h.

◆ final

ColumnarModeArray columnar::final
Initial value:
{
using ColumnType = CT

Definition at line 105 of file ColumnAccessor.h.

◆ invalidObjectIndex

constexpr ColumnarOffsetType columnar::invalidObjectIndex = static_cast<ColumnarOffsetType>(-1)
inlineconstexpr

the value for an invalid element index

This is mostly used for invalid element links

Definition at line 25 of file IColumnarTool.h.

◆ m_accessor

ColumnAccessor<CI,std::vector<typename ColumnTypeTraits<CT,CM>::ColumnType>,CM> columnar::m_accessor
private

Private Members

Definition at line 164 of file VectorColumn.h.

◆ m_base

AccessorTemplate<CI,ColumnType,ColumnAccessMode::input,CM> columnar::m_base
private

Definition at line 195 of file ColumnAccessor.h.

◆ m_dataData

std::unique_ptr< ColumnAccessorDataArray > columnar::m_dataData
private

Definition at line 118 of file VectorColumn.h.

◆ m_dataIndex

unsigned columnar::m_dataIndex = 0u
private

Definition at line 117 of file VectorColumn.h.

◆ m_innerOffsetData

std::unique_ptr<ColumnAccessorDataArray> columnar::m_innerOffsetData
private

Definition at line 93 of file VectorVectorColumn.h.

◆ m_innerOffsetIndex

unsigned columnar::m_innerOffsetIndex = 0u
private

Definition at line 92 of file VectorVectorColumn.h.

◆ m_offsetData

std::unique_ptr<ColumnAccessorDataArray> columnar::m_offsetData
private

Definition at line 116 of file VectorColumn.h.

◆ m_offsetIndex

unsigned columnar::m_offsetIndex = 0u
private

Private Members

Definition at line 115 of file VectorColumn.h.

◆ m_outerOffsetData

std::unique_ptr<ColumnAccessorDataArray> columnar::m_outerOffsetData
private

Definition at line 91 of file VectorVectorColumn.h.

◆ m_outerOffsetIndex

unsigned columnar::m_outerOffsetIndex = 0u
private

Private Members

Definition at line 90 of file VectorVectorColumn.h.

◆ m_singlet

xAODContainer* columnar::m_singlet = nullptr
private

Private Members

Definition at line 184 of file ObjectRange.h.

◆ numberOfEventsName

const std::string columnar::numberOfEventsName = "EventInfo"
inline

the name used for the column containing the number of events

Essentially this shows up in a large number of places, and I'm not sure what the best name for it is. I'm currently using "EventInfo", because technically it is the number of EventInfo objects the data has. I'm pretty sure that this will be confusing to many people.

Todo:
Find a better name than "EventInfo".

Definition at line 38 of file IColumnarTool.h.

◆ requires

template<ContainerIdConcept CIBase, ContainerIdConcept... CIList, typename CT , ColumnAccessMode CAM>
columnar::requires { AccessorTemplate<CIBase,CT,CAM,ColumnarModeArray>{}

Definition at line 23 of file VariantAccessor.h.

ParticleConstants::photonMassInMeV
constexpr double photonMassInMeV
various mass-less particles
Definition: ParticleConstants.h:136
InDetSimDataHelpers::getData
const InDetSimData * getData(const InDetSimDataCollection &coll, const Identifier &id)
Definition: InDetSimDataDict.h:24
xAOD::Electron
Electron_v1 Electron
Definition of the current "egamma version".
Definition: Event/xAOD/xAODEgamma/xAODEgamma/Electron.h:17
python.CaloAddPedShiftConfig.args
args
Definition: CaloAddPedShiftConfig.py:47
columnar::moveAccessor
void moveAccessor(unsigned &dataIndex, std::unique_ptr< ColumnAccessorDataArray > &accessorData, unsigned &sourceIndex, std::unique_ptr< ColumnAccessorDataArray > &sourceData)
Definition: ColumnAccessorDataArray.cxx:30
ParticleConstants::PDG2011::muonMassInMeV
constexpr double muonMassInMeV
the mass of the muon (in MeV)
Definition: ParticleConstants.h:29
DeMoUpdate.column
dictionary column
Definition: DeMoUpdate.py:1110
columnar::m_offsetIndex
unsigned m_offsetIndex
Definition: VectorColumn.h:115
CI
std::map< std::string, HypoJetVector >::const_iterator CI
Definition: xAODJetCollector.h:18
columnar::resetTau
void resetTau(MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool)
Definition: MomentumAccessors.h:367
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
columnar::resetPhoton
void resetPhoton(MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool)
Definition: MomentumAccessors.h:358
columnar::resetElectron
void resetElectron(MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool)
Definition: MomentumAccessors.h:355
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
AthenaPoolTestRead.acc
acc
Definition: AthenaPoolTestRead.py:16
columnar::resetPtEtaPhiFixedM
void resetPtEtaPhiFixedM(MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool, double mValue)
Definition: MomentumAccessors.h:346
merge.output
output
Definition: merge.py:16
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
MakeNewFileFromOldAndSubstitution.newName
dictionary newName
Definition: ICHEP2016/MakeNewFileFromOldAndSubstitution.py:95
AtlCoolConsole.tool
tool
Definition: AtlCoolConsole.py:452
columnar::resetMuon
void resetMuon(MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool)
Definition: MomentumAccessors.h:364
xAOD::JetAttributeAccessor::accessor
const AccessorWrapper< T > * accessor(xAOD::JetAttribute::AttributeID id)
Returns an attribute accessor corresponding to an AttributeID.
Definition: JetAccessorMap.h:26
CxxUtils::to
CONT to(RANGE &&r)
Definition: ranges.h:39
xAOD::Photon
Photon_v1 Photon
Definition of the current "egamma version".
Definition: Event/xAOD/xAODEgamma/xAODEgamma/Photon.h:17
Muon
struct TBPatternUnitContext Muon
columnar::m_base
AccessorTemplate< CI, ColumnType, ColumnAccessMode::input, CM > m_base
Definition: ColumnAccessor.h:195
columnar::CT
CT
Definition: ColumnAccessor.h:160
columnar::m_offsetData
std::unique_ptr< ColumnAccessorDataArray > m_offsetData
Definition: VectorColumn.h:116
columnar::m_dataData
std::unique_ptr< ColumnAccessorDataArray > m_dataData
Definition: VectorColumn.h:118
columnar::resetPtEtaPhiReadM
void resetPtEtaPhiReadM(MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool)
Definition: MomentumAccessors.h:343
xAODType::Tau
@ Tau
The object is a tau (jet)
Definition: ObjectType.h:49
columnar::m_singlet
xAODContainer * m_singlet
Definition: ObjectRange.h:184
str
Definition: BTagTrackIpAccessor.cxx:11
xAODRootTest.accessors
dictionary accessors
Definition: xAODRootTest.py:73
columnar::operator()
decltype(auto) operator()(ObjectId< CI, CM > id) const noexcept
Definition: ColumnAccessor.h:173
python.PyAthena.obj
obj
Definition: PyAthena.py:132
python.difftuple.renames
dictionary renames
Definition: difftuple.py:23
python.ParticleTypeUtil.info
def info
Definition: ParticleTypeUtil.py:87
columnar::m_dataIndex
unsigned m_dataIndex
Definition: VectorColumn.h:117
WriteBchToCool.update
update
Definition: WriteBchToCool.py:67
xAOD::Jet
Jet_v1 Jet
Definition of the current "jet version".
Definition: Event/xAOD/xAODJet/xAODJet/Jet.h:17
columnar::resetJet
void resetJet(MomentumAccessors< CI, CM > &accessors, ColumnarTool< CM > &columnarTool)
Definition: MomentumAccessors.h:349
ParticleConstants::PDG2011::electronMassInMeV
constexpr double electronMassInMeV
the mass of the electron (in MeV)
Definition: ParticleConstants.h:26