rivet is hosted by Hepforge, IPPP Durham
Rivet  2.7.0
Rivet::Cutflows Struct Reference

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

#include <Cutflow.hh>

Public Member Functions

 Cutflows ()
 Do-nothing default constructor.
 
 Cutflows (const vector< Cutflow > &cutflows)
 Populating constructor.
 
void addCutflow (const Cutflow &cf)
 Append a provided Cutflow to the list.
 
void addCutflow (const string &cfname, const vector< string > &cutnames)
 Append a newly constructed Cutflow to the list.
 
Cutflowoperator[] (size_t i)
 Access the i'th Cutflow.
 
const Cutflowoperator[] (size_t i) const
 Access the i'th Cutflow (const)
 
Cutflowoperator[] (const string &name)
 Access the Cutflow whose name is name.
 
const Cutflowoperator[] (const string &name) const
 Access the i'th Cutflow (const)
 
void fillinit (double weight=1.)
 Fill the pre-cuts state counter for all contained {Cutflow}s.
 
bool fill (size_t icut, bool cutresult=true, double weight=1.)
 Fill the {icut}'th post-cut counter, starting at icut=1 for first cut, with the same result for all {Cutflow}s.
 
bool fill (size_t icut, double weight)
 Fill the {icut}'th post-cut counter, starting at icut=1 for first cut, with the same result for all {Cutflow}s (cutresult=true overload) More...
 
void scale (double factor)
 Scale the contained {Cutflow}s by the given factor. More...
 
void normalize (double norm, size_t icut=0)
 
string str () const
 Create a string representation.
 
void print (ostream &os) const
 Print string representation to a stream.
 

Public Attributes

vector< Cutflowcfs
 

Detailed Description

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

Member Function Documentation

◆ fill()

bool Rivet::Cutflows::fill ( size_t  icut,
double  weight 
)
inline

Fill the {icut}'th post-cut counter, starting at icut=1 for first cut, with the same result for all {Cutflow}s (cutresult=true overload)

This version exists to allow calling fill(i, weight) without the weight getting cast to a bool, or having to explicitly add a 'true' middle arg.

Note
Returns the cut result to allow 'side-effect' cut-flow filling in an if-statement

References Rivet::Cutflow::fill().

◆ normalize()

void Rivet::Cutflows::normalize ( double  norm,
size_t  icut = 0 
)
inline

Scale the cutflow weights so that all the weight counts after cut icut are norm

Todo:
Provide a version that takes a vector of norms?

◆ scale()

void Rivet::Cutflows::scale ( double  factor)
inline

Scale the contained {Cutflow}s by the given factor.

Todo:
Add a fillnext(), keeping track of current ifill
Todo:
Add a fillhead() (or vector fillnext()?)

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