rivet is hosted by Hepforge, IPPP Durham
Rivet 4.0.0
Rivet::AnalysisLoader Class Reference

Internal class which loads and registers analyses from plugin libs. More...

#include <AnalysisLoader.hh>

Static Public Member Functions

Analysis names
static vector< string > analysisNames ()
 Get the available analyses' canonical names.
 
static vector< string > allAnalysisNames ()
 Get all the available analyses' names, including aliases.
 
static vector< string > stdAnalysisNames ()
 Get the standard analyses' names (from a release-specific list file)
 
static map< string, string > analysisNameAliases ()
 Get the map of analysis alias-names to their canonical equivalents.
 
Analysis instantiation
static unique_ptr< AnalysisgetAnalysis (const string &analysisname)
 Get an analysis by name.
 
static vector< unique_ptr< Analysis > > getAllAnalyses ()
 Get all the available analyses.
 
Plugin library management
static vector< string > analysisPlugins ()
 Return the active set of analysis plugin paths.
 
static vector< string > searchAnalysisPlugins ()
 Explicitly trigger the search for the available analyses plugin libraries (caches)
 
static void setAnalysisPlugins (const vector< string > pluginpaths)
 Set a fixed list of analysis plugin libraries, bypassing the search.
 
static void loadFromAnalysisPlugins ()
 Load the available analyses from the active plugin libraries (caches)
 

Friends

class AnalysisBuilderBase
 Allow the analysis builders to call the private _registerBuilder function.
 

Detailed Description

Internal class which loads and registers analyses from plugin libs.

Member Function Documentation

◆ analysisPlugins()

static vector< string > Rivet::AnalysisLoader::analysisPlugins ( )
static

Return the active set of analysis plugin paths.

If the current set of plugin paths is empty, this will automatically call the search function.

◆ getAnalysis()

static unique_ptr< Analysis > Rivet::AnalysisLoader::getAnalysis ( const string &  analysisname)
static

Get an analysis by name.

Warning: a name arg which matches no known analysis will return a null pointer. Check your return values before using them!

◆ searchAnalysisPlugins()

static vector< string > Rivet::AnalysisLoader::searchAnalysisPlugins ( )
static

Explicitly trigger the search for the available analyses plugin libraries (caches)

Search the analysis paths for analysis libraries with the Rivet*.so name pattern, if the RIVET_ANALYSIS_PLUGINS environment variable has not been set. If it has, use the space-separated file paths in that variable.

◆ setAnalysisPlugins()

static void Rivet::AnalysisLoader::setAnalysisPlugins ( const vector< string >  pluginpaths)
static

Set a fixed list of analysis plugin libraries, bypassing the search.

Setting an empty list of plugin libraries will reenable plugin searching.

May be useful on MPI machines, where you want to avoid having many machines all doing the same filesystem lookup: either specify all the paths in advance, or (if you have a shared or guaranteed identical filesystem) retrieve the search function on the main rank, and pass the list for rapid, search-free setting on all the others.

Calling this function will clear the lists of analysis builder functions, if any have been loaded from the previous active set of plugin libraries.


The documentation for this class was generated from the following file: