Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Private Attributes | List of all members
columnar::ClusterHelpers::EtaBEAccessor< CI, CM > Class Template Referencefinal

#include <ClusterHelpers.h>

Collaboration diagram for columnar::ClusterHelpers::EtaBEAccessor< CI, CM >:

Public Types

typedef CaloSampling::CaloSample CaloSample
 

Public Member Functions

 EtaBEAccessor (ColumnarTool< CM > &columnarTool)
 
float operator() (ObjectId< CI, CM > object, const unsigned sample) const
 

Private Attributes

ColumnAccessor< CI, std::vector< float >, CMm_eAcc
 
ColumnAccessor< CI, std::vector< float >, CMm_etaAcc
 
ColumnAccessor< CI, uint32_t, CMm_samplingPatternAcc
 

Detailed Description

template<ContainerId CI = ContainerId::cluster, typename CM = ColumnarModeDefault>
class columnar::ClusterHelpers::EtaBEAccessor< CI, CM >

Definition at line 59 of file ClusterHelpers.h.

Member Typedef Documentation

◆ CaloSample

template<ContainerId CI = ContainerId::cluster, typename CM = ColumnarModeDefault>
typedef CaloSampling::CaloSample columnar::ClusterHelpers::EtaBEAccessor< CI, CM >::CaloSample

Definition at line 67 of file ClusterHelpers.h.

Constructor & Destructor Documentation

◆ EtaBEAccessor()

template<ContainerId CI = ContainerId::cluster, typename CM = ColumnarModeDefault>
columnar::ClusterHelpers::EtaBEAccessor< CI, CM >::EtaBEAccessor ( ColumnarTool< CM > &  columnarTool)
inline

Definition at line 69 of file ClusterHelpers.h.

70  : m_eAcc (columnarTool, "e_sampl"), m_etaAcc (columnarTool, "eta_sampl"), m_samplingPatternAcc (columnarTool, "samplingPattern") {}

Member Function Documentation

◆ operator()()

template<ContainerId CI = ContainerId::cluster, typename CM = ColumnarModeDefault>
float columnar::ClusterHelpers::EtaBEAccessor< CI, CM >::operator() ( ObjectId< CI, CM object,
const unsigned  sample 
) const
inline

Definition at line 72 of file ClusterHelpers.h.

73  {
74  // Newer xAODs have the sampling pattern as an auxiliary
75  // variable which is what we are using by default. For older
76  // xAODs we fall back to the xAOD-only implementation, and hope
77  // that we are not in columnar mode.
78  const auto samplingPattern = m_samplingPatternAcc.isAvailable(object) ? m_samplingPatternAcc(object) : object.getXAODObject().samplingPattern();
79 
80  return xAOD::CaloClusterDetails::etaBE(sample, samplingPattern, m_eAcc(object), m_etaAcc(object));
81  }

Member Data Documentation

◆ m_eAcc

template<ContainerId CI = ContainerId::cluster, typename CM = ColumnarModeDefault>
ColumnAccessor<CI,std::vector<float>,CM> columnar::ClusterHelpers::EtaBEAccessor< CI, CM >::m_eAcc
private

Definition at line 61 of file ClusterHelpers.h.

◆ m_etaAcc

template<ContainerId CI = ContainerId::cluster, typename CM = ColumnarModeDefault>
ColumnAccessor<CI,std::vector<float>,CM> columnar::ClusterHelpers::EtaBEAccessor< CI, CM >::m_etaAcc
private

Definition at line 62 of file ClusterHelpers.h.

◆ m_samplingPatternAcc

template<ContainerId CI = ContainerId::cluster, typename CM = ColumnarModeDefault>
ColumnAccessor<CI,uint32_t,CM> columnar::ClusterHelpers::EtaBEAccessor< CI, CM >::m_samplingPatternAcc
private

Definition at line 63 of file ClusterHelpers.h.


The documentation for this class was generated from the following file:
xAOD::CaloClusterDetails::etaBE
float etaBE(const unsigned sample, const std::uint32_t samplingPattern, const std::span< const float > e_sampl, const std::span< const float > eta_sampl)
Get the eta in one layer of the EM Calo.
Definition: CaloClusterDetails.h:106
columnar::ClusterHelpers::EtaBEAccessor::m_etaAcc
ColumnAccessor< CI, std::vector< float >, CM > m_etaAcc
Definition: ClusterHelpers.h:62
columnar::getXAODObject
xAODContainer & getXAODObject() const noexcept
Definition: ObjectRange.h:121
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:116
columnar::ClusterHelpers::EtaBEAccessor::m_samplingPatternAcc
ColumnAccessor< CI, uint32_t, CM > m_samplingPatternAcc
Definition: ClusterHelpers.h:63
columnar::ClusterHelpers::EtaBEAccessor::m_eAcc
ColumnAccessor< CI, std::vector< float >, CM > m_eAcc
Definition: ClusterHelpers.h:61
pickleTool.object
object
Definition: pickleTool.py:30