Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RDFInterfaceUtils.cxx File Reference
#include <ROOT/RDataSource.hxx>
#include <ROOT/RDF/InterfaceUtils.hxx>
#include <ROOT/RDF/RColumnRegister.hxx>
#include <ROOT/RDF/RDisplay.hxx>
#include <ROOT/RDF/RInterface.hxx>
#include <ROOT/RDF/RJittedDefine.hxx>
#include <ROOT/RDF/RJittedFilter.hxx>
#include <ROOT/RDF/RJittedVariation.hxx>
#include <ROOT/RDF/RLoopManager.hxx>
#include <ROOT/RDF/RNodeBase.hxx>
#include <ROOT/RDF/Utils.hxx>
#include <string_view>
#include <TBranch.h>
#include <TClass.h>
#include <TClassEdit.h>
#include <TDataType.h>
#include <TError.h>
#include <TLeaf.h>
#include <TObjArray.h>
#include <TPRegexp.h>
#include <TROOT.h>
#include <TString.h>
#include <TTree.h>
#include <TVirtualMutex.h>
#include "lexertk.hpp"
#include <algorithm>
#include <cassert>
#include <cstdlib>
#include <iterator>
#include <map>
#include <memory>
#include <set>
#include <sstream>
#include <stdexcept>
#include <string>
#include <type_traits>
#include <typeinfo>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
Include dependency graph for RDFInterfaceUtils.cxx:

Namespaces

namespace  ROOT
 tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tbb::task_arena without forward declaring tbb::interface7
 
namespace  ROOT::Detail
 Special implementation of ROOT::RRangeCast for TCollection, including a check that the cast target type inherits from TObject and a new constructor that takes the TCollection by pointer.
 
namespace  ROOT::Detail::Internal
 
namespace  ROOT::Detail::Internal::RDF
 
namespace  ROOT::Detail::RDF
 
namespace  ROOT::Internal
 
namespace  ROOT::Internal::RDF
 

Functions

std::pair< std::vector< std::string >, std::vector< std::string > > ROOT::Internal::RDF::AddSizeBranches (const std::vector< std::string > &branches, TTree *tree, std::vector< std::string > &&colsWithoutAliases, std::vector< std::string > &&colsWithAliases)
 Return copies of colsWithoutAliases and colsWithAliases with size branches for variable-sized array branches added in the right positions (i.e.
 
bool ROOT::Internal::RDF::AtLeastOneEmptyString (const std::vector< std::string_view > strings)
 
std::shared_ptr< RJittedDefineROOT::Internal::RDF::BookDefineJit (std::string_view name, std::string_view expression, RLoopManager &lm, RDataSource *ds, const RColumnRegister &colRegister, const ColumnNames_t &branches, std::shared_ptr< RNodeBase > *upcastNodeOnHeap)
 Book the jitting of a Define call.
 
std::shared_ptr< RJittedDefineROOT::Internal::RDF::BookDefinePerSampleJit (std::string_view name, std::string_view expression, RLoopManager &lm, const RColumnRegister &colRegister, std::shared_ptr< RNodeBase > *upcastNodeOnHeap)
 Book the jitting of a DefinePerSample call.
 
std::shared_ptr< RDFDetail::RJittedFilterROOT::Internal::RDF::BookFilterJit (std::shared_ptr< RDFDetail::RNodeBase > *prevNodeOnHeap, std::string_view name, std::string_view expression, const ColumnNames_t &branches, const RColumnRegister &colRegister, TTree *tree, RDataSource *ds)
 Book the jitting of a Filter call.
 
std::shared_ptr< RJittedVariationROOT::Internal::RDF::BookVariationJit (const std::vector< std::string > &colNames, std::string_view variationName, const std::vector< std::string > &variationTags, std::string_view expression, RLoopManager &lm, RDataSource *ds, const RColumnRegister &colRegister, const ColumnNames_t &branches, std::shared_ptr< RNodeBase > *upcastNodeOnHeap, bool isSingleColumn)
 Book the jitting of a Vary call.
 
void ROOT::Internal::RDF::CheckForDefinition (const std::string &where, std::string_view definedColView, const RColumnRegister &colRegister, const ColumnNames_t &treeColumns, const ColumnNames_t &dataSourceColumns)
 Throw if column definedColView is not already there.
 
void ROOT::Internal::RDF::CheckForDuplicateSnapshotColumns (const ColumnNames_t &cols)
 
void ROOT::Internal::RDF::CheckForNoVariations (const std::string &where, std::string_view definedColView, const RColumnRegister &colRegister)
 Throw if the column has systematic variations attached.
 
void ROOT::Internal::RDF::CheckForRedefinition (const std::string &where, std::string_view definedColView, const RColumnRegister &colRegister, const ColumnNames_t &treeColumns, const ColumnNames_t &dataSourceColumns)
 Throw if column definedColView is already there.
 
void ROOT::Internal::RDF::CheckTypesAndPars (unsigned int nTemplateParams, unsigned int nColumnNames)
 
void ROOT::Internal::RDF::CheckValidCppVarName (std::string_view var, const std::string &where)
 
ColumnNames_t ROOT::Internal::RDF::ConvertRegexToColumns (const ColumnNames_t &colNames, std::string_view columnNameRegexp, std::string_view callerName)
 
std::string ROOT::Internal::RDF::DemangleTypeIdName (const std::type_info &typeInfo)
 
ColumnNames_t ROOT::Internal::RDF::FilterArraySizeColNames (const ColumnNames_t &columnNames, const std::string &action)
 Take a list of column names, return that list with entries starting by '#' filtered out.
 
std::vector< boolROOT::Internal::RDF::FindUndefinedDSColumns (const ColumnNames_t &requestedCols, const ColumnNames_t &definedCols)
 Return a bitset each element of which indicates whether the corresponding element in selectedColumns is the name of a column that must be defined via datasource.
 
ColumnNames_t ROOT::Internal::RDF::FindUnknownColumns (const ColumnNames_t &requiredCols, const ColumnNames_t &datasetColumns, const RColumnRegister &definedCols, const ColumnNames_t &dataSourceColumns)
 
std::vector< std::string > ROOT::Internal::RDF::GetFilterNames (const std::shared_ptr< RLoopManager > &loopManager)
 
std::vector< std::string > ROOT::Internal::RDF::GetValidatedArgTypes (const ColumnNames_t &colNames, const RColumnRegister &colRegister, TTree *tree, RDataSource *ds, const std::string &context, bool vector2RVec)
 
ColumnNames_t ROOT::Internal::RDF::GetValidatedColumnNames (RLoopManager &lm, const unsigned int nColumns, const ColumnNames_t &columns, const RColumnRegister &colRegister, RDataSource *ds)
 Given the desired number of columns and the user-provided list of columns:
 
std::string ROOT::Internal::RDF::JitBuildAction (const ColumnNames_t &cols, std::shared_ptr< RDFDetail::RNodeBase > *prevNode, const std::type_info &helperArgType, const std::type_info &at, void *helperArgOnHeap, TTree *tree, const unsigned int nSlots, const RColumnRegister &colRegister, RDataSource *ds, std::weak_ptr< RJittedAction > *jittedActionOnHeap, const bool vector2RVec)
 
ParsedTreePath ROOT::Internal::RDF::ParseTreePath (std::string_view fullTreeName)
 
std::string ROOT::Internal::RDF::PrettyPrintAddr (const void *const addr)
 
void ROOT::Internal::RDF::RemoveDuplicates (ColumnNames_t &columnNames)
 
std::string ROOT::Internal::RDF::ResolveAlias (const std::string &col, const std::map< std::string, std::string > &aliasMap)
 
const ColumnNames_t ROOT::Internal::RDF::SelectColumns (unsigned int nRequiredNames, const ColumnNames_t &names, const ColumnNames_t &defaultNames)
 Choose between local column names or default column names, throw in case of errors.
 
std::shared_ptr< RNodeBaseROOT::Internal::RDF::UpcastNode (std::shared_ptr< RNodeBase > ptr)