ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
columnar::ClusterHelpers::PhiBEAccessor< CI, CM > Class Template Referencefinal

#include <ClusterHelpers.h>

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

Public Types

typedef CaloSampling::CaloSample CaloSample
 

Public Member Functions

 PhiBEAccessor (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_phiAcc
 
ColumnAccessor< CI, uint32_t, CMm_samplingPatternAcc
 

Detailed Description

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

Definition at line 87 of file ClusterHelpers.h.

Member Typedef Documentation

◆ CaloSample

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

Definition at line 95 of file ClusterHelpers.h.

Constructor & Destructor Documentation

◆ PhiBEAccessor()

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

Definition at line 97 of file ClusterHelpers.h.

98  : m_eAcc (columnarTool, "e_sampl"), m_phiAcc (columnarTool, "phi_sampl"), m_samplingPatternAcc (columnarTool, "samplingPattern") {}

Member Function Documentation

◆ operator()()

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

Definition at line 100 of file ClusterHelpers.h.

101  {
102  // Newer xAODs have the sampling pattern as an auxiliary
103  // variable which is what we are using by default. For older
104  // xAODs we fall back to the xAOD-only implementation, and hope
105  // that we are not in columnar mode.
106  const auto samplingPattern = m_samplingPatternAcc.isAvailable(object) ? m_samplingPatternAcc(object) : object.getXAODObject().samplingPattern();
107 
108  return xAOD::CaloClusterDetails::phiBE(sample, samplingPattern, m_eAcc(object), m_phiAcc(object));
109  }

Member Data Documentation

◆ m_eAcc

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

Definition at line 89 of file ClusterHelpers.h.

◆ m_phiAcc

template<ContainerIdConcept CI = ContainerId::cluster, typename CM = ColumnarModeDefault>
ColumnAccessor<CI,std::vector<float>,CM> columnar::ClusterHelpers::PhiBEAccessor< CI, CM >::m_phiAcc
private

Definition at line 90 of file ClusterHelpers.h.

◆ m_samplingPatternAcc

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

Definition at line 91 of file ClusterHelpers.h.


The documentation for this class was generated from the following file:
columnar::ClusterHelpers::PhiBEAccessor::m_eAcc
ColumnAccessor< CI, std::vector< float >, CM > m_eAcc
Definition: ClusterHelpers.h:89
columnar::getXAODObject
xAODContainer & getXAODObject() const noexcept
Definition: ObjectRange.h:151
columnar::ClusterHelpers::PhiBEAccessor::m_samplingPatternAcc
ColumnAccessor< CI, uint32_t, CM > m_samplingPatternAcc
Definition: ClusterHelpers.h:91
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:116
xAOD::CaloClusterDetails::phiBE
float phiBE(const unsigned sample, const std::uint32_t samplingPattern, const std::span< const float > e_sampl, const std::span< const float > phi_sampl)
Definition: CaloClusterDetails.h:145
pickleTool.object
object
Definition: pickleTool.py:29
columnar::ClusterHelpers::PhiBEAccessor::m_phiAcc
ColumnAccessor< CI, std::vector< float >, CM > m_phiAcc
Definition: ClusterHelpers.h:90