ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
columnar::TestUtils::ColumnDataSamplingPattern Struct Referencefinal
Inheritance diagram for columnar::TestUtils::ColumnDataSamplingPattern:
Collaboration diagram for columnar::TestUtils::ColumnDataSamplingPattern:

Public Member Functions

 ColumnDataSamplingPattern (const std::string &val_branchName)
 
virtual bool connect (TTree *tree, std::unordered_map< std::string, const std::vector< ColumnarOffsetType > * > &, std::unordered_map< std::string, ColumnInfo > &requestedColumns) override
 
virtual void clearColumns () override
 
virtual void getEntry (Long64_t entry) override
 
virtual void setData (TestUtils::ToolWrapperData &tool) override
 
virtual BranchPerfData getPerfData (float emptyTime) override
 

Public Attributes

BranchReader< xAOD::CaloClusterContainerbranchReader
 
std::vector< ColumnarOffsetTypeoffsets = {0}
 
std::vector< std::uint32_t > columnData
 
Benchmark benchmarkUnpack
 
Benchmark benchmark
 
std::vector< OutputColumnInfooutputColumns
 

Detailed Description

Definition at line 1616 of file ColumnarPhysliteTest.cxx.

Constructor & Destructor Documentation

◆ ColumnDataSamplingPattern()

columnar::TestUtils::ColumnDataSamplingPattern::ColumnDataSamplingPattern ( const std::string &  val_branchName)
inline

Definition at line 1624 of file ColumnarPhysliteTest.cxx.

1625  : branchReader (val_branchName), benchmarkUnpack (branchReader.columnName()+".samplingPattern(fallback)(unpack)"), benchmark (branchReader.columnName() + ".samplingPattern(fallback)")
1626  {
1627  outputColumns.push_back ({.name = branchReader.columnName() + ".samplingPattern"});
1628  outputColumns.push_back ({.name = branchReader.columnName(), .isOffset = true, .primary = false});
1629  }

Member Function Documentation

◆ clearColumns()

virtual void columnar::TestUtils::ColumnDataSamplingPattern::clearColumns ( )
inlineoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 1655 of file ColumnarPhysliteTest.cxx.

1656  {
1657  columnData.clear();
1658  offsets.clear();
1659  offsets.push_back (0);
1660  }

◆ connect()

virtual bool columnar::TestUtils::ColumnDataSamplingPattern::connect ( TTree *  tree,
std::unordered_map< std::string, const std::vector< ColumnarOffsetType > * > &  ,
std::unordered_map< std::string, ColumnInfo > &  requestedColumns 
)
inlineoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 1631 of file ColumnarPhysliteTest.cxx.

1632  {
1633  auto iter = requestedColumns.find (outputColumns.at(0).name);
1634  if (iter == requestedColumns.end())
1635  return false;
1636  outputColumns.at(0).enabled = true;
1637 
1638  branchReader.connectTree (tree);
1639 
1640  if (iter->second.offsetName != outputColumns.at(1).name)
1641  throw std::runtime_error ("offset name mismatch: " + iter->second.offsetName + " != " + outputColumns.at(1).name);
1642 
1643  requestedColumns.erase (iter);
1644 
1645  iter = requestedColumns.find (outputColumns.at(1).name);
1646  if (iter == requestedColumns.end())
1647  {
1648  return true;
1649  }
1650  outputColumns.at(1).enabled = true;
1651  requestedColumns.erase (iter);
1652  return true;
1653  }

◆ getEntry()

virtual void columnar::TestUtils::ColumnDataSamplingPattern::getEntry ( Long64_t  entry)
inlineoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 1662 of file ColumnarPhysliteTest.cxx.

1663  {
1664  benchmark.startTimer ();
1665  const auto& branchData = branchReader.getEntry (entry);
1666  benchmark.stopTimer ();
1667  benchmarkUnpack.startTimer ();
1668  for (auto data : branchData)
1669  {
1670  columnData.push_back (data->samplingPattern());
1671  }
1672  offsets.push_back (columnData.size());
1673  benchmarkUnpack.stopTimer ();
1674  }

◆ getPerfData()

virtual BranchPerfData columnar::TestUtils::ColumnDataSamplingPattern::getPerfData ( float  emptyTime)
inlineoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 1684 of file ColumnarPhysliteTest.cxx.

1685  {
1686  BranchPerfData result;
1687  result.name = branchReader.columnName() + "(fallback)";
1688  result.timeRead = benchmark.getEntryTime(emptyTime);
1689  result.timeUnpack = benchmarkUnpack.getEntryTime(emptyTime);
1690  benchmark.setSilence();
1691  benchmarkUnpack.setSilence();
1692  result.entrySize = branchReader.entrySize();
1693  result.uncompressedSize = branchReader.uncompressedSize();
1694  result.numBaskets = branchReader.numBaskets();
1695  return result;
1696  }

◆ setData()

virtual void columnar::TestUtils::ColumnDataSamplingPattern::setData ( TestUtils::ToolWrapperData tool)
inlineoverridevirtual

Implements columnar::TestUtils::IColumnData.

Definition at line 1676 of file ColumnarPhysliteTest.cxx.

1677  {
1678  if (outputColumns.at(0).enabled)
1679  tool.setColumn (outputColumns.at(0).name, columnData.size(), columnData.data());
1680  if (outputColumns.at(1).enabled)
1681  tool.setColumn (outputColumns.at(1).name, offsets.size(), offsets.data());
1682  }

Member Data Documentation

◆ benchmark

Benchmark columnar::TestUtils::ColumnDataSamplingPattern::benchmark

Definition at line 1622 of file ColumnarPhysliteTest.cxx.

◆ benchmarkUnpack

Benchmark columnar::TestUtils::ColumnDataSamplingPattern::benchmarkUnpack

Definition at line 1621 of file ColumnarPhysliteTest.cxx.

◆ branchReader

BranchReader<xAOD::CaloClusterContainer> columnar::TestUtils::ColumnDataSamplingPattern::branchReader

Definition at line 1618 of file ColumnarPhysliteTest.cxx.

◆ columnData

std::vector<std::uint32_t> columnar::TestUtils::ColumnDataSamplingPattern::columnData

Definition at line 1620 of file ColumnarPhysliteTest.cxx.

◆ offsets

std::vector<ColumnarOffsetType> columnar::TestUtils::ColumnDataSamplingPattern::offsets = {0}

Definition at line 1619 of file ColumnarPhysliteTest.cxx.

◆ outputColumns

std::vector<OutputColumnInfo> columnar::TestUtils::IColumnData::outputColumns
inherited

Definition at line 369 of file ColumnarPhysliteTest.cxx.


The documentation for this struct was generated from the following file:
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
createLinkingScheme.iter
iter
Definition: createLinkingScheme.py:62
columnar::TestUtils::ColumnDataSamplingPattern::offsets
std::vector< ColumnarOffsetType > offsets
Definition: ColumnarPhysliteTest.cxx:1619
get_generator_info.result
result
Definition: get_generator_info.py:21
columnar::TestUtils::ColumnDataSamplingPattern::branchReader
BranchReader< xAOD::CaloClusterContainer > branchReader
Definition: ColumnarPhysliteTest.cxx:1618
tree
TChain * tree
Definition: tile_monitor.h:30
columnar::TestUtils::ColumnDataSamplingPattern::columnData
std::vector< std::uint32_t > columnData
Definition: ColumnarPhysliteTest.cxx:1620
StateLessPT_NewConfig.primary
primary
Definition: StateLessPT_NewConfig.py:234
columnar::TestUtils::ColumnDataSamplingPattern::benchmark
Benchmark benchmark
Definition: ColumnarPhysliteTest.cxx:1622
GetAllXsec.entry
list entry
Definition: GetAllXsec.py:132
AtlCoolConsole.tool
tool
Definition: AtlCoolConsole.py:452
columnar::TestUtils::IColumnData::outputColumns
std::vector< OutputColumnInfo > outputColumns
Definition: ColumnarPhysliteTest.cxx:369
columnar::TestUtils::ColumnDataSamplingPattern::benchmarkUnpack
Benchmark benchmarkUnpack
Definition: ColumnarPhysliteTest.cxx:1621