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

#include <ClusterHelpers.h>

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

Public Types

typedef CaloSampling::CaloSample CaloSample
 

Public Member Functions

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

Private Attributes

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

Detailed Description

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

Definition at line 32 of file ClusterHelpers.h.

Member Typedef Documentation

◆ CaloSample

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

Definition at line 39 of file ClusterHelpers.h.

Constructor & Destructor Documentation

◆ EnergyBEAccessor()

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

Definition at line 41 of file ClusterHelpers.h.

42  : m_eAcc (columnarTool, "e_sampl"), m_samplingPatternAcc (columnarTool, "samplingPattern") {}

Member Function Documentation

◆ operator()()

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

Definition at line 44 of file ClusterHelpers.h.

45  {
46  // Newer xAODs have the sampling pattern as an auxiliary
47  // variable which is what we are using by default. For older
48  // xAODs we fall back to the xAOD-only implementation, and hope
49  // that we are not in columnar mode.
50  const auto samplingPattern = m_samplingPatternAcc.isAvailable(object) ? m_samplingPatternAcc(object) : object.getXAODObject().samplingPattern();
51 
52  return xAOD::CaloClusterDetails::energyBE(sample, samplingPattern, m_eAcc(object));
53  }

Member Data Documentation

◆ m_eAcc

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

Definition at line 34 of file ClusterHelpers.h.

◆ m_samplingPatternAcc

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

Definition at line 35 of file ClusterHelpers.h.


The documentation for this class was generated from the following file:
columnar::ClusterHelpers::EnergyBEAccessor::m_samplingPatternAcc
ColumnAccessor< CI, uint32_t, CM > m_samplingPatternAcc
Definition: ClusterHelpers.h:35
columnar::getXAODObject
xAODContainer & getXAODObject() const noexcept
Definition: ObjectRange.h:147
xAOD::CaloClusterDetails::energyBE
float energyBE(const unsigned sample, const std::uint32_t samplingPattern, const std::span< const float > e_sampl)
Get the energy in one layer of the EM Calo.
Definition: CaloClusterDetails.h:86
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:116
columnar::ClusterHelpers::EnergyBEAccessor::m_eAcc
ColumnAccessor< CI, std::vector< float >, CM > m_eAcc
Definition: ClusterHelpers.h:34
pickleTool.object
object
Definition: pickleTool.py:29