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
14#include <ROOT/RDF/Utils.hxx> // CacheLineStep
15#include <string_view>
16#include <ROOT/RVec.hxx>
17#include <RtypesCore.h>
18
19#include <memory>
20#include <string>
21#include <vector>
22
23namespace ROOT {
24namespace Internal {
25namespace RDF {
26
27RVariationBase::RVariationBase(const std::vector<std::string> &colNames, std::string_view variationName,
28 const std::vector<std::string> &variationTags, std::string_view type,
29 const RColumnRegister &colRegister, RLoopManager &lm, const ColumnNames_t &inputColNames)
30 : fColNames(colNames), fVariationNames(variationTags), fType(type),
31 fLastCheckedEntry(lm.GetNSlots() * CacheLineStep<Long64_t>(), -1), fColumnRegister(colRegister), fLoopManager(&lm),
32 fInputColumns(inputColNames), fIsDefine(inputColNames.size())
33{
34 // prepend the variation name to each tag
35 for (auto &tag : fVariationNames)
36 tag = std::string(variationName) + ':' + tag;
37
38 const auto nColumns = fInputColumns.size();
39 for (auto i = 0u; i < nColumns; ++i)
41}
42
44
45const std::vector<std::string> &RVariationBase::GetColumnNames() const
46{
47 return fColNames;
48}
49
50const std::vector<std::string> &RVariationBase::GetVariationNames() const
51{
52 return fVariationNames;
53}
54
55std::string RVariationBase::GetTypeName() const
56{
57 return fType;
58}
59
60} // namespace RDF
61} // namespace Internal
62} // namespace ROOT
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
long long Long64_t
Definition RtypesCore.h:80
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
The head node of a RDF computation graph.
A binder for user-defined columns, variations and aliases.
bool IsDefineOrAlias(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:283
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
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...