yoda is hosted by Hepforge, IPPP Durham
YODA - Yet more Objects for Data Analysis 2.0.2
BinnedDbn.h File Reference
#include "YODA/AnalysisObject.h"
#include "YODA/Fillable.h"
#include "YODA/FillableStorage.h"
#include "YODA/Dbn.h"
#include "YODA/BinnedEstimate.h"
#include "YODA/Scatter.h"
#include <memory>
#include <utility>
#include <iostream>
#include <iomanip>

Go to the source code of this file.

Classes

class  YODA::BinnedDbn< DbnN, AxisT >
 User-facing BinnedDbn class in arbitrary dimension. More...
 
class  YODA::DbnStorage< DbnN, AxisT >
 All histograms can be instantiated through this alias. More...
 

Namespaces

namespace  YODA
 Anonymous namespace to limit visibility.
 

Typedefs

Define dimension-specific short-hands
template<typename... AxisTypes>
using YODA::BinnedHisto = BinnedDbn< sizeof...(AxisTypes), AxisTypes... >
 
template<typename... AxisTypes>
using YODA::BinnedProfile = BinnedDbn< sizeof...(AxisTypes)+1, AxisTypes... >
 

Functions

Combining BinnedDbn objects: global operators
template<size_t DbnN, typename... AxisT>
BinnedDbn< DbnN, AxisT... > YODA::operator+ (BinnedDbn< DbnN, AxisT... > first, BinnedDbn< DbnN, AxisT... > &&second)
 Add two BinnedDbn objects.
 
template<size_t DbnN, typename... AxisT>
BinnedDbn< DbnN, AxisT... > YODA::operator+ (BinnedDbn< DbnN, AxisT... > first, const BinnedDbn< DbnN, AxisT... > &second)
 
template<size_t DbnN, typename... AxisT>
BinnedDbn< DbnN, AxisT... > YODA::operator- (BinnedDbn< DbnN, AxisT... > first, BinnedDbn< DbnN, AxisT... > &&second)
 Subtract one BinnedDbn object from another.
 
template<size_t DbnN, typename... AxisT>
BinnedDbn< DbnN, AxisT... > YODA::operator- (BinnedDbn< DbnN, AxisT... > first, const BinnedDbn< DbnN, AxisT... > &second)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::divide (const BinnedDbn< DbnN, AxisT... > &numer, const BinnedDbn< DbnN, AxisT... > &denom)
 Divide two BinnedDbn objects.
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator/ (const BinnedDbn< DbnN, AxisT... > &numer, const BinnedDbn< DbnN, AxisT... > &denom)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator/ (const BinnedDbn< DbnN, AxisT... > &numer, BinnedDbn< DbnN, AxisT... > &&denom)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator/ (BinnedDbn< DbnN, AxisT... > &&numer, const BinnedDbn< DbnN, AxisT... > &denom)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator/ (BinnedDbn< DbnN, AxisT... > &&numer, BinnedDbn< DbnN, AxisT... > &&denom)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::efficiency (const BinnedDbn< DbnN, AxisT... > &accepted, const BinnedDbn< DbnN, AxisT... > &total)
 Calculate a binned efficiency ratio of two BinnedDbn objects.
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::asymm (const BinnedDbn< DbnN, AxisT... > &a, const BinnedDbn< DbnN, AxisT... > &b)
 Calculate the asymmetry (a-b)/(a+b) of two BinnedDbn objects.
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::mkIntegral (const BinnedDbn< DbnN, AxisT... > &histo, const bool includeOverflows=true)
 Convert a Histo1D to a Scatter2D representing the integral of the histogram.
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::mkIntegralEff (const BinnedDbn< DbnN, AxisT... > &histo, const bool includeOverflows=true)
 Convert a Histo1D to a Scatter2D where each bin is a fraction of the total.
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::add (const BinnedDbn< DbnN, AxisT... > &dbn, const BinnedEstimate< AxisT... > &est)
 Calculate the addition of a BinnedDbn with a BinnedEstimate.
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator+ (const BinnedDbn< DbnN, AxisT... > &dbn, const BinnedEstimate< AxisT... > &est)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator+ (BinnedDbn< DbnN, AxisT... > &&dbn, const BinnedEstimate< AxisT... > &est)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator+ (const BinnedDbn< DbnN, AxisT... > &dbn, BinnedEstimate< AxisT... > &&est)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator+ (BinnedDbn< DbnN, AxisT... > &&dbn, BinnedEstimate< AxisT... > &&est)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::subtract (const BinnedDbn< DbnN, AxisT... > &dbn, const BinnedEstimate< AxisT... > &est)
 Calculate the subtraction of a BinnedEstimate from a BinnedDbn.
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator- (const BinnedDbn< DbnN, AxisT... > &dbn, const BinnedEstimate< AxisT... > &est)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator- (BinnedDbn< DbnN, AxisT... > &&dbn, const BinnedEstimate< AxisT... > &est)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator- (const BinnedDbn< DbnN, AxisT... > &dbn, BinnedEstimate< AxisT... > &&est)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator- (BinnedDbn< DbnN, AxisT... > &&dbn, BinnedEstimate< AxisT... > &&est)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::divide (const BinnedDbn< DbnN, AxisT... > &dbn, const BinnedEstimate< AxisT... > &est)
 Calculate the division of a BinnedDbn and a BinnedEstimate.
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator/ (const BinnedDbn< DbnN, AxisT... > &dbn, const BinnedEstimate< AxisT... > &est)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator/ (BinnedDbn< DbnN, AxisT... > &&dbn, const BinnedEstimate< AxisT... > &est)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator/ (const BinnedDbn< DbnN, AxisT... > &dbn, BinnedEstimate< AxisT... > &&est)
 
template<size_t DbnN, typename... AxisT>
BinnedEstimate< AxisT... > YODA::operator/ (BinnedDbn< DbnN, AxisT... > &&dbn, BinnedEstimate< AxisT... > &&est)
 
template<size_t DbnN, typename... AxisT, typename... Args, typename = std::enable_if_t<(DbnN == sizeof...(AxisT)+1 && (std::is_same_v<BinnedDbn<DbnN, AxisT...>, Args> && ...))>>
ScatterND< sizeof...(Args)+1 > YODA::zipProfiles (const BinnedDbn< DbnN, AxisT... > &p1, Args &&... others, const std::string &path="")
 Zip profile objects of the same type into a combined scatter object.