rivet is hosted by Hepforge, IPPP Durham
Rivet 4.0.0

A tracker of numbers & fractions of events passing sequential cuts. More...

#include <Cutflow.hh>

Inheritance diagram for Rivet::Cutflow:
Rivet::FillCollector< Cutflow >

Public Types

using BaseT = YODA::BinnedHisto< std::string >
 
using BinningT = BaseT::BinningT
 
using FillType = BaseT::FillType
 
using BinType = BaseT::BinT
 
using Ptr = std::shared_ptr< Cutflow >
 

Public Member Functions

 Cutflow ()
 Nullary constructor.
 
 Cutflow (const BinningT &binning)
 Constructor using binning object.
 
 Cutflow (BinningT &&binning)
 Constructor using rvalue binning object.
 
 Cutflow (const std::vector< std::string > &edges, const std::string &path="")
 
virtual int fill (FillType &&coords, const double weight=1.0, const double fraction=1.0)
 Fill function with FillType.
 
virtual int fill (std::string val, const double weight=1.0, const double fraction=1.0)
 Fill function using an explicit coordinate.
 
virtual int fillinit (const double weight=1.0, const double fraction=1.0)
 Convenience method to fill the pre-cut step.
 
virtual int fillnext (const bool cutresult, const double weight=1.0, const double fraction=1.0)
 Convenience method to fill the next cut step if cutresult is true.
 
virtual int fillnext (const double weight=1.0, const double fraction=1.0)
 Convenience method to fill the next cut step.
 
virtual int fillnext (const std::vector< bool > &cutresults, const double weight=1.0, const double fraction=1.0)
 Convenience method to fill the next cut steps from an n-element results vector cutresult.
 
size_t currentIndex () const
 Returns current cutflow index for debugging.
 
void scale (const double factor)
 Scale the cutflow weights by the given factor.
 
void normalizeStep (const std::string &edge, const double norm)
 Scale the cutflow weights so that the weight count after cut edge is norm.
 
void normalizeFirst (const double norm)
 Alias to scale the cutflow weights so that the weight after the pre-init cut is norm.
 
string str () const
 Create a string representation.
 
void print (std::ostream &os) const
 Print string representation to a stream.
 

Protected Member Functions

LoggetLog () const
 Get a logger object.
 

Protected Attributes

size_t icurr
 

Detailed Description

A tracker of numbers & fractions of events passing sequential cuts.

Constructor & Destructor Documentation

◆ Cutflow()

Rivet::Cutflow::Cutflow ( const std::vector< std::string > &  edges,
const std::string &  path = "" 
)
inline

Proper constructor using a cutflow name and a list of edges

Note
the constructor will preprend the empty string as a pre-cut step.

Member Function Documentation

◆ fill() [1/2]

virtual int Rivet::Cutflow::fill ( FillType &&  coords,
const double  weight = 1.0,
const double  fraction = 1.0 
)
inlinevirtual

Fill function with FillType.

Note
This method will set the current fill position icurr.

Reimplemented in Rivet::FillCollector< Cutflow >.

Referenced by fillinit(), and fillnext().

◆ fill() [2/2]

virtual int Rivet::Cutflow::fill ( std::string  val,
const double  weight = 1.0,
const double  fraction = 1.0 
)
inlinevirtual

Fill function using an explicit coordinate.

Note
This method will set the current fill position icurr.

Reimplemented in Rivet::FillCollector< Cutflow >.

◆ fillinit()

virtual int Rivet::Cutflow::fillinit ( const double  weight = 1.0,
const double  fraction = 1.0 
)
inlinevirtual

Convenience method to fill the pre-cut step.

Reimplemented in Rivet::FillCollector< Cutflow >.

References fill().

◆ fillnext() [1/3]

virtual int Rivet::Cutflow::fillnext ( const bool  cutresult,
const double  weight = 1.0,
const double  fraction = 1.0 
)
inlinevirtual

Convenience method to fill the next cut step if cutresult is true.

Reimplemented in Rivet::FillCollector< Cutflow >.

References fill().

Referenced by fillnext(), and fillnext().

◆ fillnext() [2/3]

virtual int Rivet::Cutflow::fillnext ( const double  weight = 1.0,
const double  fraction = 1.0 
)
inlinevirtual

Convenience method to fill the next cut step.

Reimplemented in Rivet::FillCollector< Cutflow >.

References fillnext().

◆ fillnext() [3/3]

virtual int Rivet::Cutflow::fillnext ( const std::vector< bool > &  cutresults,
const double  weight = 1.0,
const double  fraction = 1.0 
)
inlinevirtual

Convenience method to fill the next cut steps from an n-element results vector cutresult.

Reimplemented in Rivet::FillCollector< Cutflow >.

References fillnext().


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