BinnedEstimate.h
Go to the documentation of this file.
28 std::pair<double, double> nullifyIfDisc(const BinT& /* b */, const double /* val */, std::false_type, const double null = 0.0) {
35 std::pair<double, double> nullifyIfDisc(const BinT& b, const double val, std::true_type, const double /* null */ = 0.0) {
103 EstimateStorage(std::vector<AxisT>&&... binsEdges, const std::string& path = "", const std::string& title = "")
104 : BaseT(Axis<AxisT>(std::move(binsEdges))...), AnalysisObject(mkTypeString<AxisT...>(), path, title) { }
111 EstimateStorage(const std::vector<AxisT>&... binsEdges, const std::string& path = "", const std::string& title = "")
119 EstimateStorage(std::initializer_list<AxisT>&&... binsEdges, const std::string& path = "", const std::string& title = "")
120 : BaseT(Axis<AxisT>(std::move(binsEdges))...), AnalysisObject(mkTypeString<AxisT...>(), path, title) { }
141 EstimateStorage(const ScatterND<sizeof...(AxisT)+1>& s, const std::string& path = "", const std::string& title = "")
149 AnalysisObject(mkTypeString<AxisT...>(), path!=""? path : other.path(), other, other.title()) { }
154 EstimateStorage(EstimateStorage&& other, const std::string& path = "") : BaseT(std::move(other)),
155 AnalysisObject(mkTypeString<AxisT...>(), path!=""? path : other.path(), other, other.title()) { }
177 void _renderYODA_aux(std::ostream& os, const int width, std::index_sequence<Is...>) const noexcept {
197 const int errwidth = std::max(int(std::to_string(labels.size()).size()+7), width); // "errDn(" + src + ")"
718 template<size_t axisN, typename = std::enable_if_t< (axisN < sizeof...(AxisT) && sizeof...(AxisT)>=2) >>
815 return BinningT({((void)Is, Axis<AxisT>(nBins[Is], limitsLowUp[Is].first, limitsLowUp[Is].second))...});
894 BinnedEstimate(std::vector<AxisT>&& edges, const std::string& path="", const std::string& title="")
897 BinnedEstimate(const std::vector<AxisT>& edges, const std::string& path="", const std::string& title="")
907 BinnedEstimate(size_t nbins, double lower, double upper, const std::string& path = "", const std::string& title = "")
1080 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:26 virtual AnalysisObject & operator=(const AnalysisObject &ao) noexcept Default copy assignment operator. Definition AnalysisObject.h:66 void setAnnotation(const std::string &name, const T &value) Add or set an annotation by name (templated for remaining types) Definition AnalysisObject.h:182 std::vector< std::string > annotations() const Definition AnalysisObject.h:123 void rmAnnotation(const std::string &name) Delete an annotation by name. Definition AnalysisObject.h:214 const std::string & annotation(const std::string &name) const Get an annotation by name (as a string) Definition AnalysisObject.h:138 bool hasAnnotation(const std::string &name) const Check if an annotation is defined. Definition AnalysisObject.h:132 Specialisation of the BinnedEstimate for a 3D BinnedEstimate. Definition BinnedEstimate.h:1046 BinnedEstimate(const EstimateT &)=default BinType & binAt(const AxisT1 xCoord, const AxisT2 yCoord, const AxisT3 zCoord) noexcept Bin access using coordinates. Definition BinnedEstimate.h:1119 const BinType & bin(const size_t index) const noexcept Bin access using global index (const version) Definition BinnedEstimate.h:1104 BinnedEstimate(const EstimateT &other, const std::string &path) Definition BinnedEstimate.h:1067 typename BaseT::BinT BinType Definition BinnedEstimate.h:1050 std::shared_ptr< EstimateT > Ptr Definition BinnedEstimate.h:1051 BinType & bin(const size_t index) noexcept Bin access using global index. Definition BinnedEstimate.h:1099 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:1134 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:1081 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:1114 BinnedEstimate(EstimateT &&)=default BinnedEstimate(const BaseT &other) Copy constructor (needed for clone functions). Definition BinnedEstimate.h:1065 const BinType & binAt(const AxisT1 xCoord, const AxisT2 yCoord, const AxisT3 zCoord) const noexcept Bin access using coordinates (const version) Definition BinnedEstimate.h:1124 BinnedEstimate(EstimateT &&other, const std::string &path) Definition BinnedEstimate.h:1072 size_t indexAt(const AxisT1 xCoord, const AxisT2 yCoord, const AxisT3 zCoord) const noexcept Find bin index for given coordinates. Definition BinnedEstimate.h:1129 BinType & bin(const size_t localX, const size_t localY, const size_t localZ) noexcept Bin access using local indices. Definition BinnedEstimate.h:1109 Specialisation of the BinnedEstimate for a 2D BinnedEstimate. Definition BinnedEstimate.h:939 BinType & bin(const size_t index) noexcept Bin access using global index. Definition BinnedEstimate.h:998 BinType & bin(const size_t localX, const size_t localY) noexcept Bin access using local indices. Definition BinnedEstimate.h:1008 BinnedEstimate(EstimateT &&other, const std::string &path) Definition BinnedEstimate.h:965 const BinType & binAt(const AxisT1 xCoord, const AxisT2 yCoord) const noexcept Bin access using coordinates (const version) Definition BinnedEstimate.h:1023 BinnedEstimate(const EstimateT &other, const std::string &path) Definition BinnedEstimate.h:960 BinnedEstimate(EstimateT &&)=default BinnedEstimate(const BaseT &other) Copy constructor (needed for clone functions). Definition BinnedEstimate.h:958 const BinType & bin(const size_t index) const noexcept Bin access using global index (const version) Definition BinnedEstimate.h:1003 BinnedEstimate(const std::vector< AxisT1 > &xEdges, const std::vector< AxisT2 > &yEdges, const std::string &path="", const std::string &title="") Definition BinnedEstimate.h:971 std::shared_ptr< EstimateT > Ptr Definition BinnedEstimate.h:944 BinType & binAt(const AxisT1 xCoord, const AxisT2 yCoord) noexcept Bin access using coordinates. Definition BinnedEstimate.h:1018 size_t indexAt(const AxisT1 xCoord, const AxisT2 yCoord) const noexcept Find bin index for given coordinates. Definition BinnedEstimate.h:1028 BinnedEstimate(const EstimateT &)=default BinnedEstimate(std::vector< AxisT1 > &&xEdges, std::vector< AxisT2 > &&yEdges, const std::string &path="", const std::string &title="") Definition BinnedEstimate.h:967 const BinType & bin(const size_t localX, const size_t localY) const noexcept Bin access using local indices (const version) Definition BinnedEstimate.h:1013 typename BaseT::BinT BinType Definition BinnedEstimate.h:943 void maskBinAt(const AxisT1 xCoord, const AxisT2 yCoord, const bool status=true) noexcept Mask/Unmask bin at given set of coordinates. Definition BinnedEstimate.h:1033 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:982 Specialisation of the BinnedEstimate for a 1D histogram. Definition BinnedEstimate.h:865 BinnedEstimate(EstimateT &&)=default size_t indexAt(const AxisT xCoord) const noexcept Find bin index for given coordinates. Definition BinnedEstimate.h:921 BinnedEstimate(const BaseT &other) Copy constructor (needed for clone functions). Definition BinnedEstimate.h:884 BinnedEstimate(std::vector< AxisT > &&edges, const std::string &path="", const std::string &title="") Definition BinnedEstimate.h:894 BinnedEstimate(const std::vector< AxisT > &edges, const std::string &path="", const std::string &title="") Definition BinnedEstimate.h:897 void maskBinAt(const AxisT xCoord, const bool status=true) noexcept Mask/Unmask bin at given set of coordinates. Definition BinnedEstimate.h:926 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:907 BinnedEstimate(const EstimateT &)=default BinnedEstimate(const EstimateT &other, const std::string &path) Definition BinnedEstimate.h:886 BinnedEstimate(EstimateT &&other, const std::string &path) Definition BinnedEstimate.h:891 BinnedEstimate(EstimateT &&)=default BinnedEstimate(const BaseT &other) Copy constructor (needed for clone functions). Definition BinnedEstimate.h:849 BinnedEstimate & operator=(const EstimateT &)=default BinnedEstimate(const EstimateT &)=default BinnedEstimate(const EstimateT &other, const std::string &path) Definition BinnedEstimate.h:851 BinnedEstimate(EstimateT &&other, const std::string &path) Definition BinnedEstimate.h:856 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:82 void scale(const double scalefactor) noexcept Rescale as if all fill weights had been different by factor scalefactor. Definition BinnedEstimate.h:317 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:525 std::vector< double > vals(const bool includeOverflows=false, const bool includeMaskedBins=false) const Get list of central values. Definition BinnedEstimate.h:544 EstimateStorage & operator+=(const EstimateStorage &est) Definition BinnedEstimate.h:426 std::vector< double > serializeContent(bool fixed_length=false) const noexcept Content serialisation for MPI reduce operations. Definition BinnedEstimate.h:767 EstimateStorage(EstimateStorage &&other, const std::string &path="") Move constructor. Definition BinnedEstimate.h:154 EstimateStorage(const std::string &path="", const std::string &title="") Nullary constructor for unique pointers etc. Definition BinnedEstimate.h:95 void rebinTo(const std::vector< typename BinningT::template getAxisT< axisN >::EdgeT > &newedges) Rebin to the given list of bin edges. Definition BinnedEstimate.h:356 EstimateStorage(std::vector< AxisT > &&... binsEdges, const std::string &path="", const std::string &title="") Constructor giving explicit bin edges as rvalue reference. Definition BinnedEstimate.h:103 EstimateStorage & add(const EstimateStorage &est, const std::string &pat_uncorr="^stat|^uncor") Add two EstimateStorages. Definition BinnedEstimate.h:414 EstimateStorage & add(EstimateStorage &&est, const std::string &pat_uncorr="^stat|^uncor") Add two (rvalue) EstimateStorages. Definition BinnedEstimate.h:434 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:654 EstimateStorage & operator-=(const EstimateStorage &est) Definition BinnedEstimate.h:467 double auc(const bool includeBinVol=true, const bool includeOverflows=false, const bool includeMaskedBins=false) const Convenient alias for areaUnderCurve() Definition BinnedEstimate.h:588 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:119 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:124 EstimateStorage(const ScatterND< sizeof...(AxisT)+1 > &s, const std::string &path="", const std::string &title="") Constructor given a scatter. Definition BinnedEstimate.h:141 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:739 void rebin(unsigned int n, size_t begin=1, size_t end=UINT_MAX) Overloaded alias for rebinBy. Definition BinnedEstimate.h:350 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:334 double areaUnderCurve(const bool includeBinVol=true, const bool includeOverflows=false, const bool includeMaskedBins=false) const Calculate the volume underneath the EstimateStorage. Definition BinnedEstimate.h:575 void rebin(const std::vector< typename BinningT::template getAxisT< axisN >::EdgeT > &newedges) Overloaded alias for rebinTo. Definition BinnedEstimate.h:383 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:111 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:597 EstimateStorage(const EstimateStorage &other, const std::string &path="") Copy constructor. Definition BinnedEstimate.h:148 EstimateStorage & subtract(EstimateStorage &&est, const std::string &pat_uncorr="^stat|^uncor") Subtract one (rvalue) EstimateStorages from another one. Definition BinnedEstimate.h:472 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:533 EstimateStorage(BinningT &&binning, const std::string &path="", const std::string &title="") Constructor given an rvalue BinningT. Definition BinnedEstimate.h:136 EstimateStorage & subtract(const EstimateStorage &est, const std::string &pat_uncorr="^stat|^uncor") Subtract one EstimateStorages from another one. Definition BinnedEstimate.h:455 EstimateStorage & operator=(const EstimateStorage &est) noexcept Copy assignment. Definition BinnedEstimate.h:393 size_t dim() const noexcept Total dimension of the object (number of axes + estimate) Definition BinnedEstimate.h:495 auto mkEstimates(const std::string &path="", const bool includeOverflows=false) const Split into vector of BinnedEstimates along axisN. Definition BinnedEstimate.h:719 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:505 size_t lengthContent(bool fixed_length=false) const noexcept Length of serialized content vector for MPI reduce operations. Definition BinnedEstimate.h:759 EstimateStorage(const BinningT &binning, const std::string &path="", const std::string &title="") Constructor given a binning type. Definition BinnedEstimate.h:132 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:517 void deserializeContent(const std::vector< double > &data) Content deserialisation for MPI reduce operations. Definition BinnedEstimate.h:782 Definition Point.h:544 A generic data type which is just a collection of n-dim data points with errors. Definition Scatter.h:153 Definition Transformation.h:29 Error for problems introduced outside YODA, to put it nicely. Definition Exceptions.h:86 constexpr void staticFor(Func &&f) Used to apply functor on tuple. Calls lambda with integral constant, which can be used to query tuple... Definition MetaUtils.h:35 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:1274 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:1142 BinnedEstimate< AxisT... > operator/(const BinnedDbn< DbnN, AxisT... > &numer, const BinnedDbn< DbnN, AxisT... > &denom) Definition BinnedDbn.h:1215 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:1244 typename EstimateMaker< std::make_index_sequence< N > >::type EstimateND Definition BinnedEstimate.h:1313 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:1278 BinnedEstimate< AxisT... > add(const BinnedDbn< DbnN, AxisT... > &dbn, const BinnedEstimate< AxisT... > &est) Calculate the addition of a BinnedDbn with a BinnedEstimate. Definition BinnedDbn.h:1347 BinnedEstimate< AxisT... > subtract(const BinnedDbn< DbnN, AxisT... > &dbn, const BinnedEstimate< AxisT... > &est) Calculate the subtraction of a BinnedEstimate from a BinnedDbn. Definition BinnedDbn.h:1379 BinnedDbn< DbnN, AxisT... > operator-(BinnedDbn< DbnN, AxisT... > first, BinnedDbn< DbnN, AxisT... > &&second) Subtract one BinnedDbn object from another. Definition BinnedDbn.h:1158 BinnedEstimate< AxisT... > divide(const BinnedDbn< DbnN, AxisT... > &numer, const BinnedDbn< DbnN, AxisT... > &denom) Divide two BinnedDbn objects. Definition BinnedDbn.h:1174 BinnedEstimate< A1 > BinnedEstimate1D Define dimension-specific short-hands (Cython sugar) Definition BinnedEstimate.h:1293 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 Fri Mar 7 2025 09:06:40 for YODA - Yet more Objects for Data Analysis by |