BinnedEstimate.h
Go to the documentation of this file.
23 std::pair<double, double> nullifyIfDisc(const BinT& /* b */, const double /* val */, std::false_type, const double null = 0.0) {
30 std::pair<double, double> nullifyIfDisc(const BinT& b, const double val, std::true_type, const double /* null */ = 0.0) {
98 EstimateStorage(std::vector<AxisT>&&... binsEdges, const std::string& path = "", const std::string& title = "")
99 : BaseT(Axis<AxisT>(std::move(binsEdges))...), AnalysisObject(mkTypeString<AxisT...>(), path, title) { }
106 EstimateStorage(const std::vector<AxisT>&... binsEdges, const std::string& path = "", const std::string& title = "")
114 EstimateStorage(std::initializer_list<AxisT>&&... binsEdges, const std::string& path = "", const std::string& title = "")
115 : BaseT(Axis<AxisT>(std::move(binsEdges))...), AnalysisObject(mkTypeString<AxisT...>(), path, title) { }
136 EstimateStorage(const ScatterND<sizeof...(AxisT)+1>& s, const std::string& path = "", const std::string& title = "")
144 AnalysisObject(mkTypeString<AxisT...>(), path!=""? path : other.path(), other, other.title()) { }
149 EstimateStorage(EstimateStorage&& other, const std::string& path = "") : BaseT(std::move(other)),
150 AnalysisObject(mkTypeString<AxisT...>(), path!=""? path : other.path(), other, other.title()) { }
172 void _renderYODA_aux(std::ostream& os, const int width, std::index_sequence<Is...>) const noexcept {
192 const int errwidth = std::max(int(std::to_string(labels.size()).size()+7), width); // "errDn(" + src + ")"
647 template<size_t axisN, typename = std::enable_if_t< (axisN < sizeof...(AxisT) && sizeof...(AxisT)>=2) >>
744 return BinningT({((void)Is, Axis<AxisT>(nBins[Is], limitsLowUp[Is].first, limitsLowUp[Is].second))...});
823 BinnedEstimate(std::vector<AxisT>&& edges, const std::string& path="", const std::string& title="")
826 BinnedEstimate(const std::vector<AxisT>& edges, const std::string& path="", const std::string& title="")
836 BinnedEstimate(size_t nbins, double lower, double upper, const std::string& path = "", const std::string& title = "")
1009 template <typename EdgeT = double, typename = enable_if_all_CAxisT<EdgeT, AxisT1, AxisT2, AxisT3>>
AnalysisObject is the base class for histograms and scatters. Definition AnalysisObject.h:21 virtual AnalysisObject & operator=(const AnalysisObject &ao) noexcept Default copy assignment operator. Definition AnalysisObject.h:61 void setAnnotation(const std::string &name, const T &value) Add or set an annotation by name (templated for remaining types) Definition AnalysisObject.h:166 std::vector< std::string > annotations() const Definition AnalysisObject.h:107 void rmAnnotation(const std::string &name) Delete an annotation by name. Definition AnalysisObject.h:198 const std::string & annotation(const std::string &name) const Get an annotation by name (as a string) Definition AnalysisObject.h:122 bool hasAnnotation(const std::string &name) const Check if an annotation is defined. Definition AnalysisObject.h:116 Specialisation of the BinnedEstimate for a 3D BinnedEstimate. Definition BinnedEstimate.h:975 BinnedEstimate(const EstimateT &)=default BinType & binAt(const AxisT1 xCoord, const AxisT2 yCoord, const AxisT3 zCoord) noexcept Bin access using coordinates. Definition BinnedEstimate.h:1048 const BinType & bin(const size_t index) const noexcept Bin access using global index (const version) Definition BinnedEstimate.h:1033 BinnedEstimate(const EstimateT &other, const std::string &path) Definition BinnedEstimate.h:996 typename BaseT::BinT BinType Definition BinnedEstimate.h:979 std::shared_ptr< EstimateT > Ptr Definition BinnedEstimate.h:980 BinType & bin(const size_t index) noexcept Bin access using global index. Definition BinnedEstimate.h:1028 void maskBinAt(const AxisT1 xCoord, const AxisT2 yCoord, const AxisT3 zCoord, const bool status=true) noexcept Mask/Unmask bin at given set of coordinates. Definition BinnedEstimate.h:1063 BinnedEstimate(size_t nbinsX, double lowerX, double upperX, size_t nbinsY, double lowerY, double upperY, size_t nbinsZ, double lowerZ, double upperZ, const std::string &path="", const std::string &title="") Constructor with auto-setup of evenly spaced axes. Definition BinnedEstimate.h:1010 const BinType & bin(const size_t localX, const size_t localY, const size_t localZ) const noexcept Bin access using local indices. Definition BinnedEstimate.h:1043 BinnedEstimate(EstimateT &&)=default BinnedEstimate(const BaseT &other) Copy constructor (needed for clone functions). Definition BinnedEstimate.h:994 const BinType & binAt(const AxisT1 xCoord, const AxisT2 yCoord, const AxisT3 zCoord) const noexcept Bin access using coordinates (const version) Definition BinnedEstimate.h:1053 BinnedEstimate(EstimateT &&other, const std::string &path) Definition BinnedEstimate.h:1001 size_t indexAt(const AxisT1 xCoord, const AxisT2 yCoord, const AxisT3 zCoord) const noexcept Find bin index for given coordinates. Definition BinnedEstimate.h:1058 BinType & bin(const size_t localX, const size_t localY, const size_t localZ) noexcept Bin access using local indices. Definition BinnedEstimate.h:1038 Specialisation of the BinnedEstimate for a 2D BinnedEstimate. Definition BinnedEstimate.h:868 BinType & bin(const size_t index) noexcept Bin access using global index. Definition BinnedEstimate.h:927 BinType & bin(const size_t localX, const size_t localY) noexcept Bin access using local indices. Definition BinnedEstimate.h:937 BinnedEstimate(EstimateT &&other, const std::string &path) Definition BinnedEstimate.h:894 const BinType & binAt(const AxisT1 xCoord, const AxisT2 yCoord) const noexcept Bin access using coordinates (const version) Definition BinnedEstimate.h:952 BinnedEstimate(const EstimateT &other, const std::string &path) Definition BinnedEstimate.h:889 BinnedEstimate(EstimateT &&)=default BinnedEstimate(const BaseT &other) Copy constructor (needed for clone functions). Definition BinnedEstimate.h:887 const BinType & bin(const size_t index) const noexcept Bin access using global index (const version) Definition BinnedEstimate.h:932 BinnedEstimate(const std::vector< AxisT1 > &xEdges, const std::vector< AxisT2 > &yEdges, const std::string &path="", const std::string &title="") Definition BinnedEstimate.h:900 std::shared_ptr< EstimateT > Ptr Definition BinnedEstimate.h:873 BinType & binAt(const AxisT1 xCoord, const AxisT2 yCoord) noexcept Bin access using coordinates. Definition BinnedEstimate.h:947 size_t indexAt(const AxisT1 xCoord, const AxisT2 yCoord) const noexcept Find bin index for given coordinates. Definition BinnedEstimate.h:957 BinnedEstimate(const EstimateT &)=default BinnedEstimate(std::vector< AxisT1 > &&xEdges, std::vector< AxisT2 > &&yEdges, const std::string &path="", const std::string &title="") Definition BinnedEstimate.h:896 const BinType & bin(const size_t localX, const size_t localY) const noexcept Bin access using local indices (const version) Definition BinnedEstimate.h:942 typename BaseT::BinT BinType Definition BinnedEstimate.h:872 void maskBinAt(const AxisT1 xCoord, const AxisT2 yCoord, const bool status=true) noexcept Mask/Unmask bin at given set of coordinates. Definition BinnedEstimate.h:962 BinnedEstimate(size_t nbinsX, double lowerX, double upperX, size_t nbinsY, double lowerY, double upperY, const std::string &path="", const std::string &title="") Constructor with auto-setup of evenly spaced axes. Definition BinnedEstimate.h:911 Specialisation of the BinnedEstimate for a 1D histogram. Definition BinnedEstimate.h:794 BinnedEstimate(EstimateT &&)=default size_t indexAt(const AxisT xCoord) const noexcept Find bin index for given coordinates. Definition BinnedEstimate.h:850 BinnedEstimate(const BaseT &other) Copy constructor (needed for clone functions). Definition BinnedEstimate.h:813 BinnedEstimate(std::vector< AxisT > &&edges, const std::string &path="", const std::string &title="") Definition BinnedEstimate.h:823 BinnedEstimate(const std::vector< AxisT > &edges, const std::string &path="", const std::string &title="") Definition BinnedEstimate.h:826 void maskBinAt(const AxisT xCoord, const bool status=true) noexcept Mask/Unmask bin at given set of coordinates. Definition BinnedEstimate.h:855 BinnedEstimate(size_t nbins, double lower, double upper, const std::string &path="", const std::string &title="") Constructor with auto-setup of evenly spaced axes. Definition BinnedEstimate.h:836 BinnedEstimate(const EstimateT &)=default BinnedEstimate(const EstimateT &other, const std::string &path) Definition BinnedEstimate.h:815 BinnedEstimate(EstimateT &&other, const std::string &path) Definition BinnedEstimate.h:820 BinnedEstimate(EstimateT &&)=default BinnedEstimate(const BaseT &other) Copy constructor (needed for clone functions). Definition BinnedEstimate.h:778 BinnedEstimate & operator=(const EstimateT &)=default BinnedEstimate(const EstimateT &)=default BinnedEstimate(const EstimateT &other, const std::string &path) Definition BinnedEstimate.h:780 BinnedEstimate(EstimateT &&other, const std::string &path) Definition BinnedEstimate.h:785 BinnedStorage, stores the bins and coordinates access to them. Definition BinnedStorage.h:114 void maskBin(const size_t indexToMask, const bool status=true) noexcept Mask a bin at a given index. Definition BinnedStorage.h:361 void maskBins(const std::vector< size_t > &indicesToMask, const bool status=true) noexcept Mask a range of bins. Definition BinnedStorage.h:356 size_t numBinsAt(const size_t axisN, const bool includeOverflows=false) const noexcept Number of bins in the BinnedStorage. Definition BinnedStorage.h:339 size_t numBins(const bool includeOverflows=false, const bool includeMaskedBins=false) const noexcept Number of bins in the BinnedStorage. Definition BinnedStorage.h:331 Binning< std::decay_t< decltype(std::declval< Axis< AxisT > >())>... > BinningT Convenience alias to be used in constructor. Definition BinnedStorage.h:118 BinnedStorage & operator=(const BinnedStorage &other) noexcept Copy assignment. Definition BinnedStorage.h:481 Bin< sizeof...(AxisT), Estimate, BinningT > BinT Definition BinnedStorage.h:119 BinsVecWrapper< BinsVecT > bins(const bool includeOverflows=false, const bool includeMaskedBins=false) noexcept Returns bins vector wrapper, which skips masked elements when iterated over. Definition BinnedStorage.h:298 const BinningT & binning() const noexcept Returns dimension underlying binning object reference. Definition BinnedStorage.h:321 std::vector< size_t > maskedBins() const noexcept Definition BinnedStorage.h:379 BinT & binAt(typename BinningT::EdgeTypesTuple &&coords) noexcept Returns reference to the bin at coordinates. Definition BinnedStorage.h:220 EstimateStorage convenience class based on BinnedStorage. Definition BinnedEstimate.h:77 void scale(const double scalefactor) noexcept Rescale as if all fill weights had been different by factor scalefactor. Definition BinnedEstimate.h:246 std::enable_if_t< std::is_floating_point< E >::value, E > min() const noexcept Get the lowest non-overflow edge of the axis. Definition BinnedEstimate.h:454 std::vector< double > vals(const bool includeOverflows=false, const bool includeMaskedBins=false) const Get list of central values. Definition BinnedEstimate.h:473 EstimateStorage & operator+=(const EstimateStorage &est) Definition BinnedEstimate.h:355 std::vector< double > serializeContent(bool fixed_length=false) const noexcept Content serialisation for MPI reduce operations. Definition BinnedEstimate.h:696 EstimateStorage(EstimateStorage &&other, const std::string &path="") Move constructor. Definition BinnedEstimate.h:149 EstimateStorage(const std::string &path="", const std::string &title="") Nullary constructor for unique pointers etc. Definition BinnedEstimate.h:90 void rebinTo(const std::vector< typename BinningT::template getAxisT< axisN >::EdgeT > &newedges) Rebin to the given list of bin edges. Definition BinnedEstimate.h:285 EstimateStorage(std::vector< AxisT > &&... binsEdges, const std::string &path="", const std::string &title="") Constructor giving explicit bin edges as rvalue reference. Definition BinnedEstimate.h:98 EstimateStorage & add(const EstimateStorage &est, const std::string &pat_uncorr="^stat|^uncor") Add two EstimateStorages. Definition BinnedEstimate.h:343 EstimateStorage & add(EstimateStorage &&est, const std::string &pat_uncorr="^stat|^uncor") Add two (rvalue) EstimateStorages. Definition BinnedEstimate.h:363 auto mkScatter(const std::string &path="", const std::string &pat_match="", const bool includeOverflows=false, const bool includeMaskedBins=false) const Produce a ScatterND from a EstimateStorage. Definition BinnedEstimate.h:583 EstimateStorage & operator-=(const EstimateStorage &est) Definition BinnedEstimate.h:396 double auc(const bool includeBinVol=true, const bool includeOverflows=false, const bool includeMaskedBins=false) const Convenient alias for areaUnderCurve() Definition BinnedEstimate.h:517 EstimateStorage(std::initializer_list< AxisT > &&... binsEdges, const std::string &path="", const std::string &title="") Constructor giving explicit bin edges as initializer list. Definition BinnedEstimate.h:114 EstimateStorage(const std::vector< size_t > &nBins, const std::vector< std::pair< EdgeT, EdgeT > > &limitsLowUp, const std::string &path="", const std::string &title="") Constructor giving range and number of bins. Definition BinnedEstimate.h:119 EstimateStorage(const ScatterND< sizeof...(AxisT)+1 > &s, const std::string &path="", const std::string &title="") Constructor given a scatter. Definition BinnedEstimate.h:136 AnalysisObject * mkInert(const std::string &path="", const std::string &source="") const noexcept Method returns clone of the estimate with streamlined error source. Definition BinnedEstimate.h:668 void rebin(unsigned int n, size_t begin=1, size_t end=UINT_MAX) Overloaded alias for rebinBy. Definition BinnedEstimate.h:279 void rebinBy(unsigned int n, size_t begin=1, size_t end=UINT_MAX) Merge every group of n bins, from start to end inclusive. Definition BinnedEstimate.h:263 double areaUnderCurve(const bool includeBinVol=true, const bool includeOverflows=false, const bool includeMaskedBins=false) const Calculate the volume underneath the EstimateStorage. Definition BinnedEstimate.h:504 void rebin(const std::vector< typename BinningT::template getAxisT< axisN >::EdgeT > &newedges) Overloaded alias for rebinTo. Definition BinnedEstimate.h:312 EstimateStorage(const std::vector< AxisT > &... binsEdges, const std::string &path="", const std::string &title="") Constructor giving explicit bin edges as lvalue reference. Definition BinnedEstimate.h:106 std::vector< std::vector< double > > covarianceMatrix(const bool ignoreOffDiagonalTerms=false, const bool includeOverflows=false, const bool includeMaskedBins=false, const std::string &pat_uncorr="^stat|^uncor") const Construct a covariance matrix from the error breakdown. Definition BinnedEstimate.h:526 EstimateStorage(const EstimateStorage &other, const std::string &path="") Copy constructor. Definition BinnedEstimate.h:143 EstimateStorage & subtract(EstimateStorage &&est, const std::string &pat_uncorr="^stat|^uncor") Subtract one (rvalue) EstimateStorages from another one. Definition BinnedEstimate.h:401 std::enable_if_t< std::is_floating_point< E >::value, E > max() const noexcept Get the highest non-overflow edge of the axis. Definition BinnedEstimate.h:462 EstimateStorage(BinningT &&binning, const std::string &path="", const std::string &title="") Constructor given an rvalue BinningT. Definition BinnedEstimate.h:131 EstimateStorage & subtract(const EstimateStorage &est, const std::string &pat_uncorr="^stat|^uncor") Subtract one EstimateStorages from another one. Definition BinnedEstimate.h:384 EstimateStorage & operator=(const EstimateStorage &est) noexcept Copy assignment. Definition BinnedEstimate.h:322 size_t dim() const noexcept Total dimension of the object (number of axes + estimate) Definition BinnedEstimate.h:424 auto mkEstimates(const std::string &path="", const bool includeOverflows=false) const Split into vector of BinnedEstimates along axisN. Definition BinnedEstimate.h:648 std::vector< E > edges(const bool includeOverflows=false) const noexcept Templated version to get edges of axis N by value. +-inf edges are included. Definition BinnedEstimate.h:434 size_t lengthContent(bool fixed_length=false) const noexcept Length of serialized content vector for MPI reduce operations. Definition BinnedEstimate.h:688 EstimateStorage(const BinningT &binning, const std::string &path="", const std::string &title="") Constructor given a binning type. Definition BinnedEstimate.h:127 std::enable_if_t< std::is_floating_point< E >::value, std::vector< E > > widths(const bool includeOverflows=false) const noexcept Templated version to get bin widths of axis N by value. Definition BinnedEstimate.h:446 void deserializeContent(const std::vector< double > &data) Content deserialisation for MPI reduce operations. Definition BinnedEstimate.h:711 Definition Point.h:545 A generic data type which is just a collection of n-dim data points with errors. Definition Scatter.h:154 Definition Transformation.h:31 Error for problems introduced outside YODA, to put it nicely. Definition Exceptions.h:86 std::string mkTypeString() Helper function to construct the BinnedDbn and BinnedEstimate type names. Definition BinningUtils.h:65 void transform(BinnedEstimate< AxisT... > &est, const Trf< 1 > &fn) Definition BinnedEstimate.h:1203 std::enable_if_t< all_CAxes< EdgeT... >::value > enable_if_all_CAxisT Checks if all edge types are continuous. Definition BinningUtils.h:22 typename std::conjunction< std::is_floating_point< EdgeT >... > all_CAxes Definition BinningUtils.h:18 BinnedDbn< DbnN, AxisT... > operator+(BinnedDbn< DbnN, AxisT... > first, BinnedDbn< DbnN, AxisT... > &&second) Add two BinnedDbn objects. Definition BinnedDbn.h:1080 BinnedEstimate< AxisT... > operator/(const BinnedDbn< DbnN, AxisT... > &numer, const BinnedDbn< DbnN, AxisT... > &denom) Definition BinnedDbn.h:1153 BinnedEstimate< AxisT... > efficiency(const BinnedDbn< DbnN, AxisT... > &accepted, const BinnedDbn< DbnN, AxisT... > &total) Calculate a binned efficiency ratio of two BinnedDbn objects. Definition BinnedDbn.h:1182 typename EstimateMaker< std::make_index_sequence< N > >::type EstimateND Definition BinnedEstimate.h:1242 BinnedEstimate< AxisT... > asymm(const BinnedDbn< DbnN, AxisT... > &a, const BinnedDbn< DbnN, AxisT... > &b) Calculate the asymmetry (a-b)/(a+b) of two BinnedDbn objects. Definition BinnedDbn.h:1216 BinnedEstimate< AxisT... > add(const BinnedDbn< DbnN, AxisT... > &dbn, const BinnedEstimate< AxisT... > &est) Calculate the addition of a BinnedDbn with a BinnedEstimate. Definition BinnedDbn.h:1285 BinnedEstimate< AxisT... > subtract(const BinnedDbn< DbnN, AxisT... > &dbn, const BinnedEstimate< AxisT... > &est) Calculate the subtraction of a BinnedEstimate from a BinnedDbn. Definition BinnedDbn.h:1317 BinnedDbn< DbnN, AxisT... > operator-(BinnedDbn< DbnN, AxisT... > first, BinnedDbn< DbnN, AxisT... > &&second) Subtract one BinnedDbn object from another. Definition BinnedDbn.h:1096 BinnedEstimate< AxisT... > divide(const BinnedDbn< DbnN, AxisT... > &numer, const BinnedDbn< DbnN, AxisT... > &denom) Divide two BinnedDbn objects. Definition BinnedDbn.h:1112 CRTP mixin introducing convenience aliases along Y axis. Definition BinnedUtils.h:109 CRTP mixin introducing convenience aliases along Z axis. Definition BinnedUtils.h:198 Generated on Sun Feb 9 2025 18:56:41 for YODA - Yet more Objects for Data Analysis by |