|
 |
Rivet 3.1.7
|
This is the base class of all analysis classes in Rivet.
More...
#include <Analysis.hh>
|
| Analysis (const std::string &name) |
| Constructor.
|
|
virtual | ~Analysis () |
| The destructor.
|
|
Analysis & | operator= (const Analysis &)=delete |
| The assignment operator is private and mustdeleted, so it can never be called.
|
|
virtual void | init () |
|
virtual void | analyze (const Event &event)=0 |
|
virtual void | finalize () |
|
const AnalysisInfo & | info () const |
| Get the actual AnalysisInfo object in which all this metadata is stored.
|
|
virtual std::string | name () const |
| Get the name of the analysis. More...
|
|
virtual std::string | getRefDataName () const |
| Get name of reference data file, which could be different from plugin name.
|
|
virtual void | setRefDataName (const std::string &ref_data="") |
| Set name of reference data file, which could be different from plugin name.
|
|
std::string | analysisDataPath (const std::string &extn, const std::string &suffix="") |
| Get the path to a data file associated with this analysis. More...
|
|
virtual std::string | inspireId () const |
| Get the Inspire ID code for this analysis.
|
|
virtual std::string | spiresId () const |
| Get the SPIRES ID code for this analysis (~deprecated).
|
|
virtual std::vector< std::string > | authors () const |
| Names & emails of paper/analysis authors. More...
|
|
virtual std::string | summary () const |
| Get a short description of the analysis. More...
|
|
virtual std::string | description () const |
| Get a full description of the analysis. More...
|
|
virtual std::string | runInfo () const |
| Information about the events needed as input for this analysis. More...
|
|
virtual std::string | experiment () const |
| Experiment which performed and published this analysis.
|
|
virtual std::string | collider () const |
| Collider on which the experiment ran.
|
|
virtual std::string | year () const |
| When the original experimental analysis was published.
|
|
virtual double | luminosityfb () const |
| The integrated luminosity in inverse femtobarn.
|
|
virtual double | luminosity () const |
| The integrated luminosity in inverse picobarn.
|
|
virtual std::vector< std::string > | references () const |
| Journal, and preprint references.
|
|
virtual std::string | bibKey () const |
| BibTeX citation key for this article.
|
|
virtual std::string | bibTeX () const |
| BibTeX citation entry for this article.
|
|
virtual std::string | status () const |
| Whether this analysis is trusted (in any way!)
|
|
virtual std::string | warning () const |
| A warning message from the info file, if there is one.
|
|
virtual std::vector< std::string > | todos () const |
| Any work to be done on this analysis.
|
|
virtual std::vector< std::string > | validation () const |
| make-style commands for validating this analysis.
|
|
virtual bool | reentrant () const |
| Does this analysis have a reentrant finalize()?
|
|
virtual std::string | refFile () const |
| Location of reference data YODA file.
|
|
virtual std::string | refMatch () const |
| Positive filtering regex for ref-data HepData sync.
|
|
virtual std::string | refUnmatch () const |
| Negative filtering regex for ref-data HepData sync.
|
|
virtual std::string | writerDoublePrecision () const |
| Positive filterin regex for setting double precision in Writer.
|
|
virtual const std::vector< PdgIdPair > & | requiredBeams () const |
| Return the allowed pairs of incoming beams required by this analysis.
|
|
virtual Analysis & | setRequiredBeams (const std::vector< PdgIdPair > &requiredBeams) |
| Declare the allowed pairs of incoming beams required by this analysis.
|
|
virtual const std::vector< std::pair< double, double > > & | requiredEnergies () const |
| Sets of valid beam energy pairs, in GeV.
|
|
virtual const std::vector< std::string > & | keywords () const |
| Get vector of analysis keywords.
|
|
virtual Analysis & | setRequiredEnergies (const std::vector< std::pair< double, double > > &requiredEnergies) |
| Declare the list of valid beam energy pairs, in GeV.
|
|
AnalysisInfo & | info () |
|
const ParticlePair & | beams () const |
| Incoming beams for this run.
|
|
const PdgIdPair | beamIds () const |
| Incoming beam IDs for this run.
|
|
double | sqrtS () const |
| Centre of mass energy for this run.
|
|
bool | merging () const |
| Check if we are running rivet-merge.
|
|
bool | isCompatible (const ParticlePair &beams) const |
| Check if analysis is compatible with the provided beam particle IDs and energies.
|
|
bool | isCompatible (PdgId beam1, PdgId beam2, double e1, double e2) const |
| Check if analysis is compatible with the provided beam particle IDs and energies.
|
|
bool | isCompatible (const PdgIdPair &beams, const std::pair< double, double > &energies) const |
| Check if analysis is compatible with the provided beam particle IDs and energies.
|
|
bool | isCompatibleWithSqrtS (const float energy, float tolerance=1E-5) const |
| Check if sqrtS is compatible with provided value.
|
|
AnalysisHandler & | handler () const |
| Access the controlling AnalysisHandler object.
|
|
const CentralityProjection & | declareCentrality (const SingleValueProjection &proj, string calAnaName, string calHistName, const string projName, bool increasing=false) |
| Book a CentralityProjection. More...
|
|
template<class T > |
Percentile< T > | bookPercentile (string projName, vector< pair< float, float > > centralityBins, vector< tuple< int, int, int > > ref) |
| Book a Percentile wrapper around AnalysisObjects. More...
|
|
double | dbl (double x) |
|
double | dbl (const YODA::Counter &c) |
|
double | dbl (const YODA::Scatter1D &s) |
|
void | scale (CounterPtr cnt, CounterAdapter factor) |
| Multiplicatively scale the given counter, cnt, by factor factor.
|
|
void | scale (const std::vector< CounterPtr > &cnts, CounterAdapter factor) |
|
template<typename T > |
void | scale (const std::map< T, CounterPtr > &maps, CounterAdapter factor) |
| Iteratively scale the counters in the map maps, by factor factor.
|
|
template<std::size_t array_size> |
void | scale (const CounterPtr(&cnts)[array_size], CounterAdapter factor) |
|
void | normalize (Histo1DPtr histo, CounterAdapter norm=1.0, bool includeoverflows=true) |
| Normalize the given histogram, histo, to area = norm.
|
|
void | normalize (const std::vector< Histo1DPtr > &histos, CounterAdapter norm=1.0, bool includeoverflows=true) |
|
template<typename T > |
void | normalize (const std::map< T, Histo1DPtr > &maps, CounterAdapter norm=1.0, bool includeoverflows=true) |
| Normalize the histograms in map, maps, to area = norm.
|
|
template<std::size_t array_size> |
void | normalize (const Histo1DPtr(&histos)[array_size], CounterAdapter norm=1.0, bool includeoverflows=true) |
|
void | scale (Histo1DPtr histo, CounterAdapter factor) |
| Multiplicatively scale the given histogram, histo, by factor factor.
|
|
void | scale (const std::vector< Histo1DPtr > &histos, CounterAdapter factor) |
|
template<typename T > |
void | scale (const std::map< T, Histo1DPtr > &maps, CounterAdapter factor) |
| Iteratively scale the histograms in the map, maps, by factor factor.
|
|
template<std::size_t array_size> |
void | scale (const Histo1DPtr(&histos)[array_size], CounterAdapter factor) |
|
void | normalize (Histo2DPtr histo, CounterAdapter norm=1.0, bool includeoverflows=true) |
| Normalize the given histogram, histo, to area = norm.
|
|
void | normalize (const std::vector< Histo2DPtr > &histos, CounterAdapter norm=1.0, bool includeoverflows=true) |
|
template<typename T > |
void | normalize (const std::map< T, Histo2DPtr > &maps, CounterAdapter norm=1.0, bool includeoverflows=true) |
| Normalize the histograms in map, maps, to area = norm.
|
|
template<std::size_t array_size> |
void | normalize (const Histo2DPtr(&histos)[array_size], CounterAdapter norm=1.0, bool includeoverflows=true) |
|
void | scale (Histo2DPtr histo, CounterAdapter factor) |
| Multiplicatively scale the given histogram, histo, by factor factor.
|
|
void | scale (const std::vector< Histo2DPtr > &histos, CounterAdapter factor) |
|
template<typename T > |
void | scale (const std::map< T, Histo2DPtr > &maps, CounterAdapter factor) |
| Iteratively scale the histograms in the map, maps, by factor factor.
|
|
template<std::size_t array_size> |
void | scale (const Histo2DPtr(&histos)[array_size], CounterAdapter factor) |
|
void | barchart (Histo1DPtr h, Scatter2DPtr s, bool usefocus=false) const |
|
void | barchart (Histo2DPtr h, Scatter3DPtr s, bool usefocus=false) const |
|
void | divide (CounterPtr c1, CounterPtr c2, Scatter1DPtr s) const |
|
void | divide (const YODA::Counter &c1, const YODA::Counter &c2, Scatter1DPtr s) const |
|
void | divide (Histo1DPtr h1, Histo1DPtr h2, Scatter2DPtr s) const |
|
void | divide (const YODA::Histo1D &h1, const YODA::Histo1D &h2, Scatter2DPtr s) const |
|
void | divide (Profile1DPtr p1, Profile1DPtr p2, Scatter2DPtr s) const |
|
void | divide (const YODA::Profile1D &p1, const YODA::Profile1D &p2, Scatter2DPtr s) const |
|
void | divide (Histo2DPtr h1, Histo2DPtr h2, Scatter3DPtr s) const |
|
void | divide (const YODA::Histo2D &h1, const YODA::Histo2D &h2, Scatter3DPtr s) const |
|
void | divide (Profile2DPtr p1, Profile2DPtr p2, Scatter3DPtr s) const |
|
void | divide (const YODA::Profile2D &p1, const YODA::Profile2D &p2, Scatter3DPtr s) const |
|
void | efficiency (Histo1DPtr h1, Histo1DPtr h2, Scatter2DPtr s) const |
|
void | efficiency (const YODA::Histo1D &h1, const YODA::Histo1D &h2, Scatter2DPtr s) const |
|
void | asymm (Histo1DPtr h1, Histo1DPtr h2, Scatter2DPtr s) const |
|
void | asymm (const YODA::Histo1D &h1, const YODA::Histo1D &h2, Scatter2DPtr s) const |
|
void | integrate (Histo1DPtr h, Scatter2DPtr s) const |
|
void | integrate (const Histo1D &h, Scatter2DPtr s) const |
|
const vector< MultiweightAOPtr > & | analysisObjects () const |
| List of registered analysis data objects.
|
|
|
- Todo:
Should be protected, not public?
Why is the function body written this way? To avoid the virtual function being optimised away?
|
virtual void | rawHookIn (YODA::AnalysisObjectPtr yao) |
|
|
- Todo:
Should be protected, not public?
Signature should pass the vector by reference?
Why is the function body written this way? To avoid the virtual function being optimised away?
|
virtual void | rawHookOut (vector< MultiweightAOPtr > raos, size_t iW) |
|
|
const std::map< std::string, std::string > & | options () const |
| Return the map of all options given to this analysis.
|
|
std::string | getOption (std::string optname, string def="") const |
| Get an option for this analysis instance as a string.
|
|
std::string | getOption (std::string optname, const char *def) |
| Sane overload for literal character strings (which don't play well with stringstream) More...
|
|
template<typename T > |
T | getOption (std::string optname, T def) const |
| Get an option for this analysis instance converted to a specific type. More...
|
|
bool | getOption (std::string optname, bool def) const |
| Get an option for this analysis instance converted to a bool. More...
|
|
|
std::set< ConstProjectionPtr > | getProjections () const |
| Get the contained projections, including recursion.
|
|
bool | hasProjection (const std::string &name) const |
| Does this applier have a projection registered under the name name?
|
|
template<typename PROJ > |
const PROJ & | getProjection (const std::string &name) const |
|
const Projection & | getProjection (const std::string &name) const |
|
template<typename PROJ > |
const PROJ & | get (const std::string &name) const |
|
|
Log & | getLog () const |
| Get a Log object based on the name() property of the calling analysis object.
|
|
double | crossSection () const |
| Get the process cross-section in pb. Throws if this hasn't been set.
|
|
double | crossSectionPerEvent () const |
|
double | crossSectionError () const |
| Get the process cross-section error in pb. Throws if this hasn't been set.
|
|
double | crossSectionErrorPerEvent () const |
|
size_t | numEvents () const |
| Get the number of events seen (via the analysis handler). More...
|
|
double | sumW () const |
| Get the sum of event weights seen (via the analysis handler). More...
|
|
double | sumOfWeights () const |
| Alias.
|
|
double | sumW2 () const |
| Get the sum of squared event weights seen (via the analysis handler). More...
|
|
const std::string | histoDir () const |
| Get the canonical histogram "directory" path for this analysis.
|
|
const std::string | histoPath (const std::string &hname) const |
| Get the canonical histogram path for the named histogram in this analysis.
|
|
const std::string | histoPath (unsigned int datasetId, unsigned int xAxisId, unsigned int yAxisId) const |
| Get the canonical histogram path for the numbered histogram in this analysis.
|
|
const std::string | mkAxisCode (unsigned int datasetId, unsigned int xAxisId, unsigned int yAxisId) const |
| Get the internal histogram name for given d, x and y (cf. HepData)
|
|
const std::map< std::string, YODA::AnalysisObjectPtr > & | refData () const |
| Get all reference data objects for this analysis.
|
|
template<typename T = YODA::Scatter2D> |
const T & | refData (const string &hname) const |
|
template<typename T = YODA::Scatter2D> |
const T & | refData (unsigned int datasetId, unsigned int xAxisId, unsigned int yAxisId) const |
|
CounterPtr & | book (CounterPtr &, const std::string &name) |
| Book a counter.
|
|
CounterPtr & | book (CounterPtr &, unsigned int datasetId, unsigned int xAxisId, unsigned int yAxisId) |
|
Histo1DPtr & | book (Histo1DPtr &, const std::string &name, size_t nbins, double lower, double upper) |
| Book a 1D histogram with nbins uniformly distributed across the range lower - upper .
|
|
Histo1DPtr & | book (Histo1DPtr &, const std::string &name, const std::vector< double > &binedges) |
| Book a 1D histogram with non-uniform bins defined by the vector of bin edges binedges .
|
|
Histo1DPtr & | book (Histo1DPtr &, const std::string &name, const std::initializer_list< double > &binedges) |
| Book a 1D histogram with non-uniform bins defined by the vector of bin edges binedges .
|
|
Histo1DPtr & | book (Histo1DPtr &, const std::string &name, const Scatter2D &refscatter) |
| Book a 1D histogram with binning from a reference scatter.
|
|
Histo1DPtr & | book (Histo1DPtr &, const std::string &name) |
| Book a 1D histogram, using the binnings in the reference data histogram.
|
|
Histo1DPtr & | book (Histo1DPtr &, unsigned int datasetId, unsigned int xAxisId, unsigned int yAxisId) |
|
Histo2DPtr & | book (Histo2DPtr &, const std::string &name, size_t nxbins, double xlower, double xupper, size_t nybins, double ylower, double yupper) |
|
Histo2DPtr & | book (Histo2DPtr &, const std::string &name, const std::vector< double > &xbinedges, const std::vector< double > &ybinedges) |
|
Histo2DPtr & | book (Histo2DPtr &, const std::string &name, const std::initializer_list< double > &xbinedges, const std::initializer_list< double > &ybinedges) |
|
Histo2DPtr & | book (Histo2DPtr &, const std::string &name, const Scatter3D &refscatter) |
| Book a 2D histogram with binning from a reference scatter.
|
|
Histo2DPtr & | book (Histo2DPtr &, const std::string &name) |
| Book a 2D histogram, using the binnings in the reference data histogram.
|
|
Histo2DPtr & | book (Histo2DPtr &, unsigned int datasetId, unsigned int xAxisId, unsigned int yAxisId) |
|
Profile1DPtr & | book (Profile1DPtr &, const std::string &name, size_t nbins, double lower, double upper) |
| Book a 1D profile histogram with nbins uniformly distributed across the range lower - upper .
|
|
Profile1DPtr & | book (Profile1DPtr &, const std::string &name, const std::vector< double > &binedges) |
| Book a 1D profile histogram with non-uniform bins defined by the vector of bin edges binedges .
|
|
Profile1DPtr & | book (Profile1DPtr &, const std::string &name, const std::initializer_list< double > &binedges) |
| Book a 1D profile histogram with non-uniform bins defined by the vector of bin edges binedges .
|
|
Profile1DPtr & | book (Profile1DPtr &, const std::string &name, const Scatter2D &refscatter) |
| Book a 1D profile histogram with binning from a reference scatter.
|
|
Profile1DPtr & | book (Profile1DPtr &, const std::string &name) |
| Book a 1D profile histogram, using the binnings in the reference data histogram.
|
|
Profile1DPtr & | book (Profile1DPtr &, unsigned int datasetId, unsigned int xAxisId, unsigned int yAxisId) |
|
Profile2DPtr & | book (Profile2DPtr &, const std::string &name, size_t nxbins, double xlower, double xupper, size_t nybins, double ylower, double yupper) |
|
Profile2DPtr & | book (Profile2DPtr &, const std::string &name, const std::vector< double > &xbinedges, const std::vector< double > &ybinedges) |
|
Profile2DPtr & | book (Profile2DPtr &, const std::string &name, const std::initializer_list< double > &xbinedges, const std::initializer_list< double > &ybinedges) |
|
Scatter2DPtr & | book (Scatter2DPtr &s2d, const string &hname, bool copy_pts=false) |
| Book a 2-dimensional data point set with the given name. More...
|
|
Scatter2DPtr & | book (Scatter2DPtr &s2d, unsigned int datasetId, unsigned int xAxisId, unsigned int yAxisId, bool copy_pts=false) |
| Book a 2-dimensional data point set, using the binnings in the reference data histogram. More...
|
|
Scatter2DPtr & | book (Scatter2DPtr &s2d, const string &hname, size_t npts, double lower, double upper) |
| Book a 2-dimensional data point set with equally spaced x-points in a range. More...
|
|
Scatter2DPtr & | book (Scatter2DPtr &s2d, const string &hname, const std::vector< double > &binedges) |
| Book a 2-dimensional data point set based on provided contiguous "bin edges". More...
|
|
Scatter2DPtr & | book (Scatter2DPtr &s2d, const string &hname, const Scatter2D &refscatter) |
| Book a 2-dimensional data point set with x-points from an existing scatter and a new path.
|
|
Scatter3DPtr & | book (Scatter3DPtr &s3d, const std::string &hname, bool copy_pts=false) |
| Book a 3-dimensional data point set with the given name. More...
|
|
Scatter3DPtr & | book (Scatter3DPtr &s3d, unsigned int datasetId, unsigned int xAxisId, unsigned int yAxisId, unsigned int zAxisId, bool copy_pts=false) |
| Book a 3-dimensional data point set, using the binnings in the reference data histogram. More...
|
|
Scatter3DPtr & | book (Scatter3DPtr &s3d, const std::string &hname, size_t xnpts, double xlower, double xupper, size_t ynpts, double ylower, double yupper) |
| Book a 3-dimensional data point set with equally spaced x-points in a range. More...
|
|
Scatter3DPtr & | book (Scatter3DPtr &s3d, const std::string &hname, const std::vector< double > &xbinedges, const std::vector< double > &ybinedges) |
| Book a 3-dimensional data point set based on provided contiguous "bin edges". More...
|
|
Scatter3DPtr & | book (Scatter3DPtr &s3d, const std::string &hname, const Scatter3D &refscatter) |
| Book a 3-dimensional data point set with x-points from an existing scatter and a new path.
|
|
size_t | defaultWeightIndex () const |
| Get the default/nominal weight index.
|
|
template<typename YODAT > |
shared_ptr< YODAT > | getPreload (string path) const |
| Get a preloaded YODA object.
|
|
template<typename YODAT > |
rivet_shared_ptr< Wrapper< YODAT > > | registerAO (const YODAT &yao) |
| Register a new data object, optionally read in preloaded data. More...
|
|
template<typename AO = MultiweightAOPtr> |
AO | addAnalysisObject (const AO &aonew) |
| Register a data object in the histogram system.
|
|
void | removeAnalysisObject (const std::string &path) |
| Unregister a data object from the histogram system (by name)
|
|
void | removeAnalysisObject (const MultiweightAOPtr &ao) |
| Unregister a data object from the histogram system (by pointer)
|
|
template<typename AO = MultiweightAOPtr> |
const AO | getAnalysisObject (const std::string &aoname) const |
| Get a Rivet data object from the histogram system.
|
|
template<typename AO = MultiweightAOPtr> |
AO | getAnalysisObject (const std::string &ananame, const std::string &aoname) |
|
|
template<typename PROJ > |
const PROJ & | declareProjection (const PROJ &proj, const std::string &name) |
| Register a contained projection. More...
|
|
template<typename PROJ > |
const PROJ & | declare (const PROJ &proj, const std::string &name) |
| Register a contained projection (user-facing version) More...
|
|
template<typename PROJ > |
const PROJ & | declare (const std::string &name, const PROJ &proj) |
| Register a contained projection (user-facing, arg-reordered version) More...
|
|
|
template<typename PROJ = Projection> |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | applyProjection (const Event &evt, const Projection &proj) const |
|
template<typename PROJ = Projection> |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | applyProjection (const Event &evt, const PROJ &proj) const |
|
template<typename PROJ = Projection> |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | applyProjection (const Event &evt, const std::string &name) const |
|
template<typename PROJ = Projection> |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply (const Event &evt, const Projection &proj) const |
| Apply the supplied projection on event evt (user-facing alias).
|
|
template<typename PROJ = Projection> |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply (const Event &evt, const PROJ &proj) const |
| Apply the supplied projection on event evt (user-facing alias).
|
|
template<typename PROJ = Projection> |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply (const Event &evt, const std::string &name) const |
| Apply the supplied projection on event evt (user-facing alias).
|
|
template<typename PROJ = Projection> |
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply (const std::string &name, const Event &evt) const |
| Apply the supplied projection on event evt (convenience arg-reordering alias).
|
|
void | markAsOwned () const |
| Mark this object as owned by a proj-handler.
|
|
ProjectionHandler & | getProjHandler () const |
| Get a reference to the ProjectionHandler for this thread.
|
|
This is the base class of all analysis classes in Rivet.
There are three virtual functions which should be implemented in base classes:
void init() is called by Rivet before a run is started. Here the analysis class should book necessary histograms. The needed projections should probably rather be constructed in the constructor.
void analyze(const Event&) is called once for each event. Here the analysis class should apply the necessary Projections and fill the histograms.
void finalize() is called after a run is finished. Here the analysis class should do whatever manipulations are necessary on the histograms. Writing the histograms to a file is, however, done by the Rivet class.
◆ applyProjection() [1/3]
template<typename PROJ = Projection>
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > Rivet::ProjectionApplier::applyProjection |
( |
const Event & |
evt, |
|
|
const PROJ & |
proj |
|
) |
| const |
|
inlineinherited |
Apply the supplied projection on event evt.
- Deprecated:
- Prefer the simpler apply<> form
◆ applyProjection() [2/3]
template<typename PROJ = Projection>
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > Rivet::ProjectionApplier::applyProjection |
( |
const Event & |
evt, |
|
|
const Projection & |
proj |
|
) |
| const |
|
inlineinherited |
Apply the supplied projection on event evt.
- Deprecated:
- Prefer the simpler apply<> form
◆ applyProjection() [3/3]
template<typename PROJ = Projection>
std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > Rivet::ProjectionApplier::applyProjection |
( |
const Event & |
evt, |
|
|
const std::string & |
name |
|
) |
| const |
|
inlineinherited |
◆ barchart()
void Rivet::Analysis::barchart |
( |
Histo2DPtr |
h, |
|
|
Scatter3DPtr |
s, |
|
|
bool |
usefocus = false |
|
) |
| const |
Helper for histogram conversion to an inert scatter type
- Note
- Assigns to the (already registered) output scatter, s. Preserves the path information of the target.
◆ crossSectionErrorPerEvent()
double Rivet::Analysis::crossSectionErrorPerEvent |
( |
| ) |
const |
|
protected |
Get the process cross-section error per generated event in pb. Throws if this hasn't been set.
◆ crossSectionPerEvent()
double Rivet::Analysis::crossSectionPerEvent |
( |
| ) |
const |
|
protected |
Get the process cross-section per generated event in pb. Throws if this hasn't been set.
◆ declare() [1/2]
template<typename PROJ >
const PROJ & Rivet::ProjectionApplier::declare |
( |
const PROJ & |
proj, |
|
|
const std::string & |
name |
|
) |
| |
|
inlineprotectedinherited |
Register a contained projection (user-facing version)
- Todo:
- Add SFINAE to require that PROJ inherit from Projection
References Rivet::ProjectionApplier::declareProjection(), and Rivet::ProjectionApplier::name().
Referenced by Rivet::CentralEtHCM::CentralEtHCM(), Rivet::CentralityEstimator::CentralityEstimator(), Rivet::ChargedLeptons::ChargedLeptons(), Rivet::ALICE::CLMultiplicity< INNER >::CLMultiplicity(), Rivet::DISDiffHadron::DISDiffHadron(), Rivet::DISFinalState::DISFinalState(), Rivet::DISKinematics::DISKinematics(), Rivet::DISLepton::DISLepton(), Rivet::GammaGammaFinalState::GammaGammaFinalState(), Rivet::GammaGammaKinematics::GammaGammaKinematics(), Rivet::GammaGammaLeptons::GammaGammaLeptons(), Rivet::GeneratedCentrality::GeneratedCentrality(), Rivet::HadronicFinalState::HadronicFinalState(), Rivet::HeavyHadrons::HeavyHadrons(), Rivet::Hemispheres::Hemispheres(), Rivet::InvisibleFinalState::InvisibleFinalState(), Rivet::LeadingParticlesFinalState::LeadingParticlesFinalState(), Rivet::LossyFinalState< FILTER >::LossyFinalState(), Rivet::MC_pPbMinBiasTrigger::MC_pPbMinBiasTrigger(), Rivet::MC_SumETFwdPbCentrality::MC_SumETFwdPbCentrality(), Rivet::ATLAS::MinBiasTrigger::MinBiasTrigger(), Rivet::MissingMomentum::MissingMomentum(), Rivet::NeutralFinalState::NeutralFinalState(), Rivet::NonHadronicFinalState::NonHadronicFinalState(), Rivet::ParisiTensor::ParisiTensor(), Rivet::PercentileProjection::PercentileProjection(), Rivet::PrimaryHadrons::PrimaryHadrons(), Rivet::SmearedJets::SmearedJets(), Rivet::SmearedMET::SmearedMET(), Rivet::SmearedParticles::SmearedParticles(), Rivet::Spherocity::Spherocity(), Rivet::ATLAS::SumET_PB_Centrality::SumET_PB_Centrality(), Rivet::ATLAS::SumET_PBPB_Centrality::SumET_PBPB_Centrality(), Rivet::TauFinder::TauFinder(), Rivet::TriggerCDFRun0Run1::TriggerCDFRun0Run1(), Rivet::TriggerCDFRun2::TriggerCDFRun2(), Rivet::UndressBeamLeptons::UndressBeamLeptons(), Rivet::ALICE::V0AndTrigger::V0AndTrigger(), Rivet::ALICE::V0Trigger< MODE >::V0Trigger(), Rivet::VetoedFinalState::VetoedFinalState(), Rivet::VisibleFinalState::VisibleFinalState(), Rivet::CentralityProjection::add(), Rivet::VetoedFinalState::addVetoOnThisFinalState(), and Rivet::CentralityBinner< T, MDist >::setProjection().
◆ declare() [2/2]
template<typename PROJ >
const PROJ & Rivet::ProjectionApplier::declare |
( |
const std::string & |
name, |
|
|
const PROJ & |
proj |
|
) |
| |
|
inlineprotectedinherited |
◆ declareProjection()
template<typename PROJ >
const PROJ & Rivet::ProjectionApplier::declareProjection |
( |
const PROJ & |
proj, |
|
|
const std::string & |
name |
|
) |
| |
|
inlineprotectedinherited |
Register a contained projection.
The type of the argument is used to instantiate a new projection internally: this new object is applied to events rather than the argument object. Hence you are advised to only use locally-scoped Projection objects in your Projection and Analysis constructors, and to avoid polymorphism (e.g. handling ConcreteProjection via a pointer or reference to type Projection ) since this will screw up the internal type management.
- Todo:
- Add SFINAE to require that PROJ inherit from Projection
References Rivet::ProjectionApplier::name().
Referenced by Rivet::ProjectionApplier::declare().
◆ divide() [1/4]
void Rivet::Analysis::divide |
( |
Histo1DPtr |
h1, |
|
|
Histo1DPtr |
h2, |
|
|
Scatter2DPtr |
s |
|
) |
| const |
Helper for histogram division.
- Note
- Assigns to the (already registered) output scatter, s. Preserves the path information of the target.
◆ divide() [2/4]
void Rivet::Analysis::divide |
( |
Histo2DPtr |
h1, |
|
|
Histo2DPtr |
h2, |
|
|
Scatter3DPtr |
s |
|
) |
| const |
Helper for 2D histogram division.
- Note
- Assigns to the (already registered) output scatter, s. Preserves the path information of the target.
◆ divide() [3/4]
void Rivet::Analysis::divide |
( |
Profile1DPtr |
p1, |
|
|
Profile1DPtr |
p2, |
|
|
Scatter2DPtr |
s |
|
) |
| const |
Helper for profile histogram division.
- Note
- Assigns to the (already registered) output scatter, s. Preserves the path information of the target.
◆ divide() [4/4]
void Rivet::Analysis::divide |
( |
Profile2DPtr |
p1, |
|
|
Profile2DPtr |
p2, |
|
|
Scatter3DPtr |
s |
|
) |
| const |
Helper for 2D profile histogram division.
- Note
- Assigns to the (already registered) output scatter, s. Preserves the path information of the target.
◆ get()
template<typename PROJ >
const PROJ & Rivet::ProjectionApplier::get |
( |
const std::string & |
name | ) |
const |
|
inlineinherited |
◆ getOption() [1/3]
bool Rivet::Analysis::getOption |
( |
std::string |
optname, |
|
|
bool |
def |
|
) |
| const |
|
inline |
Get an option for this analysis instance converted to a bool.
Specialisation for bool, to allow use of "yes/no", "true/false" and "on/off" strings, with fallback casting to bool based on int value. An empty value will be treated as false.
- Warning
- To avoid accidents, strings not matching one of the above patterns will throw a Rivet::ReadError exception.
- Todo:
- Make this a template-specialisation... needs to be outside the class body?
References getOption(), and Rivet::toLower().
◆ getOption() [2/3]
std::string Rivet::Analysis::getOption |
( |
std::string |
optname, |
|
|
const char * |
def |
|
) |
| |
|
inline |
Sane overload for literal character strings (which don't play well with stringstream)
Note this isn't a template specialisation, because we can't return a non-static char*, and T-as-return-type is built into the template function definition.
◆ getOption() [3/3]
template<typename T >
T Rivet::Analysis::getOption |
( |
std::string |
optname, |
|
|
T |
def |
|
) |
| const |
|
inline |
Get an option for this analysis instance converted to a specific type.
The return type is given by the specified def value, or by an explicit template type-argument, e.g. getOption<double>("FOO", 3).
- Warning
- To avoid accidents, strings not convertible to the requested type will throw a Rivet::ReadError exception.
◆ getProjection() [1/2]
template<typename PROJ >
const PROJ & Rivet::ProjectionApplier::getProjection |
( |
const std::string & |
name | ) |
const |
|
inlineinherited |
◆ getProjection() [2/2]
const Projection & Rivet::ProjectionApplier::getProjection |
( |
const std::string & |
name | ) |
const |
|
inlineinherited |
◆ normalize() [1/2]
template<std::size_t array_size>
void Rivet::Analysis::normalize |
( |
const Histo2DPtr(&) |
histos[array_size], |
|
|
CounterAdapter |
norm = 1.0 , |
|
|
bool |
includeoverflows = true |
|
) |
| |
|
inline |
◆ normalize() [2/2]
void Rivet::Analysis::normalize |
( |
const std::vector< Histo2DPtr > & |
histos, |
|
|
CounterAdapter |
norm = 1.0 , |
|
|
bool |
includeoverflows = true |
|
) |
| |
|
inline |
Normalize the given histograms, histos, to area = norm. - Note
- Constness intentional, if weird, to allow passing rvalue refs of smart ptrs (argh)
- Todo:
- Use SFINAE for a generic iterable of Histo2DPtrs
References normalize().
◆ numEvents()
size_t Rivet::Analysis::numEvents |
( |
| ) |
const |
|
protected |
Get the number of events seen (via the analysis handler).
- Note
- Use in the finalize phase only.
◆ rawHookOut()
virtual void Rivet::Analysis::rawHookOut |
( |
vector< MultiweightAOPtr > |
raos, |
|
|
size_t |
iW |
|
) |
| |
|
inlinevirtual |
◆ scale() [1/4]
template<std::size_t array_size>
void Rivet::Analysis::scale |
( |
const Histo1DPtr(&) |
histos[array_size], |
|
|
CounterAdapter |
factor |
|
) |
| |
|
inline |
◆ scale() [2/4]
template<std::size_t array_size>
void Rivet::Analysis::scale |
( |
const Histo2DPtr(&) |
histos[array_size], |
|
|
CounterAdapter |
factor |
|
) |
| |
|
inline |
◆ scale() [3/4]
void Rivet::Analysis::scale |
( |
const std::vector< Histo1DPtr > & |
histos, |
|
|
CounterAdapter |
factor |
|
) |
| |
|
inline |
Multiplicatively scale the given histograms, histos, by factor factor. - Note
- Constness intentional, if weird, to allow passing rvalue refs of smart ptrs (argh)
- Todo:
- Use SFINAE for a generic iterable of Histo1DPtrs
References scale().
◆ scale() [4/4]
void Rivet::Analysis::scale |
( |
const std::vector< Histo2DPtr > & |
histos, |
|
|
CounterAdapter |
factor |
|
) |
| |
|
inline |
Multiplicatively scale the given histograms, histos, by factor factor. - Note
- Constness intentional, if weird, to allow passing rvalue refs of smart ptrs (argh)
- Todo:
- Use SFINAE for a generic iterable of Histo2DPtrs
References scale().
◆ sumW()
double Rivet::Analysis::sumW |
( |
| ) |
const |
|
protected |
◆ sumW2()
double Rivet::Analysis::sumW2 |
( |
| ) |
const |
|
protected |
The documentation for this class was generated from the following file:
|