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

A container for several Cutflow objects, with some convenient batch access. More...

#include <Cutflow.hh>

Inheritance diagram for Rivet::Cutflows:

Public Types

using BaseT = YODA::FillableStorage< 2, CutflowPtr, std::string >
 
using BinContentT = CutflowPtr
 
using BinT = YODA::Bin< 1, BinContentT, BaseT::BinningT >
 
using FillDim = std::integral_constant< size_t, 2 >
 

Public Member Functions

Constructors
 Cutflows ()
 Nullary constructor.
 
 Cutflows (const std::vector< std::string > &edges)
 Constructor using a vector of (outer) edges.
 
 Cutflows (std::initializer_list< std::string > &&edges)
 Constructor using an initializer_set of (outer) edges.
 
Fill methods
int fill (const std::string &grpCoord, const std::string &edge, const double weight=1.0, const double fraction=1.0)
 Fill method using the FillType of the underlying FIllableStorage.
 
int groupfillinit (const double weight=1.0, const double fraction=1.0)
 Method to fill the pre-cut steps.
 
int groupfillnext (const bool cutresult, const double weight=1.0, const double fraction=1.0)
 Method to fill the next step if cutresult is true.
 
int groupfillnext (const double weight=1.0, const double fraction=1.0)
 Short-hand method that assumes the cut result is true.
 
int groupfillnext (const std::vector< bool > &cutresults, const double weight=1.0, const double fraction=1.0)
 Method using a vector of cutresults.
 
int fillnext (const std::string &grpCoord, const double weight=1.0, const double fraction=1.0)
 Method that only fills the next step at coordinate grpCoord.
 
int fillnext (const std::string &grpCoord, const bool cutresult, const double weight=1.0, const double fraction=1.0)
 Method that only fills the next step at coordinate grpCoord if cutresult is true.
 
int fillnext (const std::string &grpCoord, const std::vector< bool > &cutresults, const double weight=1.0, const double fraction=1.0)
 Method that only fills the next step at coordinate grpCoord using a vector of cutresults.
 
Reset methods
void reset () noexcept
 Reset the histogram.
 
Whole histo data
size_t fillDim () const noexcept
 Fill dimension of the object (number of conent axes + temprary axis)
 
size_t dim () const noexcept
 Total dimension of the object (number of fill axes + filled value)
 
double numEntries (const bool includeOverflows=true) const noexcept
 Get the number of fills (fractional fills are possible).
 
double effNumEntries (const bool includeOverflows=true) const noexcept
 Get the effective number of fills.
 
double sumW (const bool includeOverflows=true) const noexcept
 Calculates sum of weights in histo group.
 
double sumW2 (const bool includeOverflows=true) const noexcept
 Calculates sum of squared weights in histo group.
 
double integral (const bool includeOverflows=true) const noexcept
 Get the total volume of the histogram group.
 
double integralError (const bool includeOverflows=true) const noexcept
 Get the total volume error of the histogram group.
 
Transformations
void scaleW (const double scalefactor) noexcept
 Rescale as if all fill weights had been different by factor scalefactor.
 
void scale (const double scalefactor) noexcept
 Rescale as if all fill weights had been different by factor scalefactor along dimension i.
 
void normalizeStep (const std::string &edge, const double norm)
 
void normalizeFirst (const double norm)
 Alias to scale the cutflow weights so that the weight after the pre-init cut is norm.
 
Streaming utilities
string str () const
 Create a string representation.
 
void print (std::ostream &os) const
 Print string representation to a stream.
 

Detailed Description

A container for several Cutflow objects, with some convenient batch access.

Member Function Documentation

◆ normalizeStep()

void Rivet::Cutflows::normalizeStep ( const std::string &  edge,
const double  norm 
)
inline

Scale the cutflow weights so that the weight count after cut edge is norm

Note
Consider each sub-histogram separately when calculating the integral.

Referenced by normalizeFirst().

◆ reset()

void Rivet::Cutflows::reset ( )
inlinenoexcept

Reset the histogram.

Keep the binning but set all bin contents and related quantities to zero


The documentation for this class was generated from the following file:
  • /Users/chrisg/software/rivet/include/Rivet/Tools/Cutflow.hh