Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RVariationBase.cxx
Go to the documentation of this file.
1// Author: Enrico Guiraud, CERN 10/2021
2
3/*************************************************************************
4 * Copyright (C) 1995-2021, Rene Brun and Fons Rademakers. *
5 * All rights reserved. *
6 * *
7 * For the licensing terms see $ROOTSYS/LICENSE. *
8 * For the list of contributors see $ROOTSYS/README/CREDITS. *
9 *************************************************************************/
10
13#include <ROOT/RDF/Utils.hxx> // CacheLineStep
14
15namespace ROOT {
16namespace Internal {
17namespace RDF {
18
19RVariationBase::RVariationBase(const std::vector<std::string> &colNames, std::string_view variationName,
20 const std::vector<std::string> &variationTags, std::string_view type,
21 const RColumnRegister &colRegister, RLoopManager &lm, const ColumnNames_t &inputColNames)
22 : fColNames(colNames), fVariationNames(variationTags), fType(type),
23 fLastCheckedEntry(lm.GetNSlots() * CacheLineStep<Long64_t>(), -1), fColumnRegister(colRegister), fLoopManager(&lm),
24 fInputColumns(inputColNames), fIsDefine(inputColNames.size())
25{
26 // prepend the variation name to each tag
27 for (auto &tag : fVariationNames)
28 tag = std::string(variationName) + ':' + tag;
29
30 const auto nColumns = fInputColumns.size();
31 for (auto i = 0u; i < nColumns; ++i)
33}
34
36
37const std::vector<std::string> &RVariationBase::GetColumnNames() const
38{
39 return fColNames;
40}
41
42const std::vector<std::string> &RVariationBase::GetVariationNames() const
43{
44 return fVariationNames;
45}
46
47std::string RVariationBase::GetTypeName() const
48{
49 return fType;
50}
51
52} // namespace RDF
53} // namespace Internal
54} // namespace ROOT
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
long long Long64_t
Definition RtypesCore.h:80
int type
Definition TGX11.cxx:121
The head node of a RDF computation graph.
A binder for user-defined columns and aliases.
bool HasName(std::string_view name) const
Check if the provided name is tracked in the names list.
std::vector< std::string > fColNames
The names of the varied columns.
const std::vector< std::string > & GetVariationNames() const
const std::vector< std::string > & GetColumnNames() const
std::string fType
The type of the custom column as a text string.
RVariationBase(const std::vector< std::string > &colNames, std::string_view variationName, const std::vector< std::string > &variationTags, std::string_view type, const RColumnRegister &colRegister, RLoopManager &lm, const ColumnNames_t &inputColNames)
ROOT::RVecB fIsDefine
The nth flag signals whether the nth input column is a custom column or not.
std::vector< std::string > fVariationNames
The names of the systematic variation.
unsigned int GetNSlots()
Definition RDFUtils.cxx:285
constexpr std::size_t CacheLineStep()
Stepping through CacheLineStep<T> values in a vector<T> brings you to a new cache line.
Definition Utils.hxx:220
std::vector< std::string > ColumnNames_t
Definition Utils.hxx:35
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...