|
| BinnedDbn ()=default |
|
| BinnedDbn (const HistoT &)=default |
|
| BinnedDbn (HistoT &&)=default |
|
BinnedDbn & | operator= (const HistoT &)=default |
|
BinnedDbn & | operator= (HistoT &&)=default |
|
template<typename EdgeT = double, typename = enable_if_all_CAxisT<EdgeT, AxisT>> |
| BinnedDbn (size_t nbins, double lower, double upper, const std::string &path="", const std::string &title="") |
| Constructor with auto-setup of evenly spaced axes.
|
|
| BinnedDbn (const BaseT &other) |
| Copy constructor (needed for clone functions).
|
|
| BinnedDbn (const HistoT &other, const std::string &path) |
|
| BinnedDbn (BaseT &&other) |
| Move constructor.
|
|
| BinnedDbn (HistoT &&other, const std::string &path) |
|
HistoT | clone () const noexcept |
| Make a copy on the stack.
|
|
HistoT * | newclone () const noexcept |
| Make a copy on the heap.
|
|
virtual int | fill (const AxisT val, const double weight=1.0, const double fraction=1.0) |
| Fill function with an explicit coordinate.
|
|
virtual int | fill (FillType &&coords, const double weight=1.0, const double fraction=1.0) |
| Fill function with FillType.
|
|
size_t | indexAt (const AxisT xCoord) const noexcept |
| Find bin index for given coordinates.
|
|
void | maskBinAt (const AxisT xCoord, const bool status=true) noexcept |
| Mask/Unmask bin at given set of coordinates.
|
|
| DbnStorage () |
| Nullary constructor for unique pointers etc.
|
|
| DbnStorage (std::vector< AxisT > &&... binsEdges, const std::string &path="", const std::string &title="") |
| Constructor giving explicit bin edges as rvalue reference.
|
|
| DbnStorage (const std::vector< AxisT > &... binsEdges, const std::string &path="", const std::string &title="") |
| Constructor giving explicit bin edges as lvalue const reference.
|
|
| DbnStorage (std::initializer_list< AxisT > &&... binsEdges, const std::string &path="", const std::string &title="") |
| Constructor giving explicit bin edges as initializer list.
|
|
| DbnStorage (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.
|
|
| DbnStorage (const Axis< AxisT > &... axes, const std::string &path="", const std::string &title="") |
| Constructor given a sequence of axes.
|
|
| DbnStorage (Axis< AxisT > &&... axes, const std::string &path="", const std::string &title="") |
| Constructor given a sequence of rvalue axes.
|
|
| DbnStorage (const BinningT &binning, const std::string &path="", const std::string &title="") |
| Constructor given a BinningT (needed for type reductions)
|
|
| DbnStorage (BinningT &&binning, const std::string &path="", const std::string &title="") |
| Constructor given an rvalue BinningT.
|
|
| DbnStorage (const ScatterND< sizeof...(AxisT)+1 > &s, const std::string &path="", const std::string &title="") |
| Constructor given a scatter.
|
|
| DbnStorage (const DbnStorage &other, const std::string &path="") |
| Copy constructor.
|
|
| DbnStorage (DbnStorage &&other, const std::string &path="") |
| Move constructor.
|
|
DbnStorage | clone () const noexcept |
| Make a copy on the stack.
|
|
DbnStorage * | newclone () const noexcept |
| Make a copy on the heap.
|
|
virtual int | fill (FillType &&coords, const double weight=1.0, const double fraction=1.0) |
| Triggers fill adapter on the bin corresponding to coords.
|
|
void | scaleW (const double scalefactor) noexcept |
| Rescale as if all fill weights had been different by factor scalefactor.
|
|
void | scale (const size_t i, const double scalefactor) noexcept |
| Rescale as if all fill weights had been different by factor scalefactor along dimension i.
|
|
void | normalize (const double normto=1.0, const bool includeOverflows=true) |
| Normalize the (visible) histo "volume" to the normto value.
|
|
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.
|
|
void | rebin (unsigned int n, size_t begin=1, size_t end=UINT_MAX) |
| Overloaded alias for rebinBy.
|
|
void | rebin (const std::vector< typename BinningT::template getAxisT< axisN >::EdgeT > &newedges) |
| Overloaded alias for rebinTo.
|
|
void | rebinTo (const std::vector< typename BinningT::template getAxisT< axisN >::EdgeT > &newedges) |
| Rebin to the given list of bin edges.
|
|
DbnStorage & | operator= (const DbnStorage &dbn) noexcept |
| Copy assignment.
|
|
DbnStorage & | operator= (DbnStorage &&dbn) noexcept |
| Move assignment.
|
|
DbnStorage & | operator+= (const DbnStorage &dbn) |
| Add two DbnStorages.
|
|
DbnStorage & | operator+= (DbnStorage &&dbn) |
|
DbnStorage & | operator-= (const DbnStorage &dbn) |
| Subtract one DbnStorages from another one.
|
|
DbnStorage & | operator-= (DbnStorage &&dbn) |
|
void | reset () noexcept |
| Reset the histogram.
|
|
size_t | fillDim () const noexcept |
| Fill-dimension of this data object.
|
|
size_t | dim () const noexcept |
| Total dimension of the object (number of axes + filled value)
|
|
std::vector< E > | edges (const bool includeOverflows=false) const noexcept |
| Returns the edges of axis N by value.
|
|
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 reference.
|
|
std::enable_if_t< std::is_floating_point< E >::value, E > | min () const noexcept |
| Get the lowest non-overflow edge of the axis.
|
|
std::enable_if_t< std::is_floating_point< E >::value, E > | max () const noexcept |
| Get the highest non-overflow edge of the axis.
|
|
double | integral (const bool includeOverflows=true) const noexcept |
| Get the total volume of the histogram.
|
|
double | integralError (const bool includeOverflows=true) const noexcept |
| Get the total volume error of the histogram.
|
|
double | integralTo (const size_t binIndex) const noexcept |
| Get the total volume of the histogram.
|
|
double | integralRange (const size_t binIndex1, size_t binIndex2) const |
| Calculates the integrated volume of the histogram between global bins binindex1 and binIndex2.
|
|
double | integralRangeError (const size_t binIndex1, size_t binIndex2) const |
| Calculates the integrated volume error of the histogram between global bins binindex1 and binIndex2.
|
|
double | numEntries (const bool includeOverflows=true) const noexcept |
| Get the number of fills (fractional fills are possible).
|
|
double | effNumEntries (const bool includeOverflows=true) const noexcept |
| Get the effective number of fills.
|
|
double | sumW (const bool includeOverflows=true) const noexcept |
| Calculates sum of weights in histo.
|
|
double | sumW2 (const bool includeOverflows=true) const noexcept |
| Calculates sum of squared weights in histo.
|
|
double | sumWA (const size_t dim, const bool includeOverflows=true) const |
| Calculates first moment along axis dim in histo.
|
|
double | sumWA2 (const size_t dim, const bool includeOverflows=true) const |
| Calculates second moment along axis dim in histo.
|
|
double | crossTerm (const size_t A1, const size_t A2, const bool includeOverflows=true) const |
| Calculates cross-term along axes A1 and A2 in histo.
|
|
double | mean (size_t axisN, const bool includeOverflows=true) const noexcept |
| Calculates the mean value at axis.
|
|
double | variance (size_t axisN, const bool includeOverflows=true) const noexcept |
| Calculates the variance at axis.
|
|
double | stdDev (size_t axisN, const bool includeOverflows=true) const noexcept |
| Calculates the standard deviation at axis.
|
|
double | stdErr (size_t axisN, const bool includeOverflows=true) const noexcept |
| Calculates the standard error at axis.
|
|
double | rms (size_t axisN, const bool includeOverflows=true) const noexcept |
| Calculates the RMS at axis.
|
|
double | dVol (const bool includeOverflows=true) const noexcept |
|
double | density (const bool includeOverflows=true) const noexcept |
| Get the total density of the histogram.
|
|
double | densityError (const bool includeOverflows=true) const noexcept |
| Get the total density error of the histogram.
|
|
double | densitySum (const bool includeOverflows=true) const noexcept |
| Returns the sum of the bin densities.
|
|
double | maxDensity (const bool includeOverflows=true) const noexcept |
| Returns the largest density in any of the bins.
|
|
size_t | lengthContent (bool=false) const noexcept |
| Length of serialized content vector for MPI reduce operations.
|
|
std::vector< double > | serializeContent (bool=false) const noexcept |
| Content serialisation for MPI reduce operations.
|
|
void | deserializeContent (const std::vector< double > &data) |
| Content deserialisation for MPI reduce operations.
|
|
BinnedEstimate< AxisT... > | mkEstimate (const std::string &path="", const std::string &source="", const bool divbyvol=true) const |
| Produce a BinnedEstimate from a DbnStorage.
|
|
auto | mkEstimates (const std::string &path="", const std::string source="", const bool divbyvol=true, const bool includeOverflows=false) |
| Produce a BinnedEstimate for each bin along axis axisN and return as a vector.
|
|
auto | mkScatter (const std::string &path="", const bool divbyvol=true, const bool usefocus=false, const bool includeOverflows=false, const bool includeMaskedBins=false) const |
| Produce a ScatterND from a DbnStorage.
|
|
BinnedHisto< AxisT... > | mkHisto (const std::string &path="") const |
| Produce a BinnedHisto from BinnedProfile.
|
|
auto | mkMarginalProfile (const std::string &path="") const |
| Produce a BinnedProfile from a DbnStorage.
|
|
auto | mkMarginalHisto (const std::string &path="") const |
| Produce a BinnedHisto from a DbnStorage.
|
|
auto | mkProfiles (const std::string &path="", const bool includeOverflows=false) const |
| Split into vector of BinnedProfile along axis axisN.
|
|
auto | mkHistos (const std::string &path="", const bool includeOverflows=false) const |
| Split into vector of BinnedHisto along axis axisN.
|
|
AnalysisObject * | mkInert (const std::string &path="", const std::string &source="") const noexcept |
| Return an inert version of the analysis object (e.g. scatter, estimate)
|
|
| FillableStorage (FillAdapterT adapter=AdapterWrapperT()._adapter) |
| Nullary constructor for unique pointers etc.
|
|
| FillableStorage (const BinningT &binning, FillAdapterT adapter=AdapterWrapperT()._adapter) |
| Constructs FillableStorage from Binning.
|
|
| FillableStorage (BinningT &&binning, FillAdapterT adapter=AdapterWrapperT()._adapter) |
| Constructs FillableStorage from Binning. Rvalue.
|
|
| FillableStorage (const std::vector< AxisT > &... edges, FillAdapterT adapter=AdapterWrapperT()._adapter) |
| Constructs binning from an adapter and vectors of axes' edges.
|
|
| FillableStorage (std::vector< AxisT > &&... edges, FillAdapterT adapter=AdapterWrapperT()._adapter) |
| Constructs binning from an adapter and Rvalue vectors of axes' edges.
|
|
| FillableStorage (const Axis< AxisT > &... axes, FillAdapterT adapter=AdapterWrapperT()._adapter) |
| Constructs binning from an adapter and a sequence of axes.
|
|
| FillableStorage (Axis< AxisT > &&... axes, FillAdapterT adapter=AdapterWrapperT()._adapter) |
| Constructs binning from an adapter and a sequence of Rvalue axes.
|
|
| FillableStorage (const FillableStorage &other) |
| Copy constructor.
|
|
| FillableStorage (FillableStorage &&other) |
| Move constructor.
|
|
int | fill (FillCoordsT &&coords, std::index_sequence< Is... >, const double weight=1.0, const double fraction=1.0) noexcept |
| Triggers fill adapter on the bin corresponding to coords.
|
|
int | fill (FillCoordsT &&coords, const double weight=1.0, const double fraction=1.0) noexcept |
| Triggers fill adapter on the bin corresponding to coords.
|
|
size_t | fillDim () const |
| Returns the dimension of the filling tuple.
|
|
size_t | nanCount () const |
|
double | nanSumW () const |
|
double | nanSumW2 () const |
|
void | setNanLog (size_t count, double sumw, double sumw2) |
|
void | reset () noexcept |
| Reset the Fillable.
|
|
FillableStorage & | operator= (const FillableStorage &other) noexcept |
| Copy assignment.
|
|
FillableStorage & | operator= (FillableStorage &&other) noexcept |
| Move assignment.
|
|
FillableStorage & | operator+= (const FillableStorage &other) |
| Add another BinnedStorage to this one.
|
|
FillableStorage & | operator-= (const FillableStorage &other) |
| Subtract another BinnedStorage from this one.
|
|
| BinnedStorage () |
| Nullary constructor for unique pointers etc.
|
|
| BinnedStorage (const BinningT &binning) |
| Constructs BinnedStorage from Binning.
|
|
| BinnedStorage (BinningT &&binning) |
| Constructs BinnedStorage from Binning. Rvalue.
|
|
| BinnedStorage (const std::vector< AxisT > &... edges) |
| Constructs binning from an adapter and vectors of axes' edges.
|
|
| BinnedStorage (std::vector< AxisT > &&... edges) |
| Constructs binning from an adapter and Rvalue vectors of axes' edges.
|
|
| BinnedStorage (std::initializer_list< AxisT > &&... edges) |
| Constructs binning from an adapter and Rvalue initializer lists of axes' edges.
|
|
| BinnedStorage (const Axis< AxisT > &... axes) |
| Constructs binning from an adapter and a sequence of axes.
|
|
| BinnedStorage (Axis< AxisT > &&... axes) |
| Constructs binning from an adapter and a sequence of Rvalue axes.
|
|
| BinnedStorage (const BinnedStorage &other) |
| Copy constructor.
|
|
| BinnedStorage (BinnedStorage &&other) |
| Move constructor.
|
|
size_t | dim () const noexcept |
| Total dimension of the object ( = number of axes + content)
|
|
BinT & | bin (size_t idx) noexcept |
| Returns reference to the bin at idx.
|
|
const BinT & | bin (size_t idx) const noexcept |
| Returns Bin at idx.
|
|
BinT & | bin (const std::array< size_t, sizeof...(AxisT)> &idxLocal) noexcept |
| Bin access using local bin indices.
|
|
const BinT & | bin (const std::array< size_t, sizeof...(AxisT)> &idxLocal) const noexcept |
| Bin access using local bin indices.
|
|
BinT & | binAt (typename BinningT::EdgeTypesTuple &&coords) noexcept |
| Returns reference to the bin at coordinates.
|
|
const BinT & | binAt (typename BinningT::EdgeTypesTuple &&coords) const noexcept |
| Returns reference to the bin at coordinates (const version).
|
|
void | set (typename BinningT::EdgeTypesTuple &&coords, BinContentT &&content) noexcept |
| Sets the bin corresponding to coords with an rvalue content.
|
|
void | set (typename BinningT::EdgeTypesTuple &&coords, const BinContentT &content) noexcept |
| Sets the bin corresponding to coords with content.
|
|
void | set (const size_t binIdx, BinContentT &&content) noexcept |
| Sets the bin corresponding to binIndex with an rvalue content.
|
|
void | set (const size_t binIdx, const BinContentT &content) noexcept |
| Sets the bin corresponding to binIndex with content.
|
|
std::vector< size_t > | calcIndicesToSkip (const bool includeOverflows, const bool includeMaskedBins) const noexcept |
| Calculates indices of bins which are marked or located in the overflow.
|
|
BinsVecWrapper< BinsVecT > | bins (const bool includeOverflows=false, const bool includeMaskedBins=false) noexcept |
| Returns bins vector wrapper, which skips masked elements when iterated over.
|
|
const BinsVecWrapper< const BinsVecT > | bins (const bool includeOverflows=false, const bool includeMaskedBins=false) const noexcept |
| Const version.
|
|
const BinningT & | binning () const noexcept |
| Returns dimension underlying binning object reference.
|
|
size_t | binDim () const noexcept |
| Returns dimension of binning.
|
|
size_t | numBins (const bool includeOverflows=false, const bool includeMaskedBins=false) const noexcept |
| Number of bins in the BinnedStorage.
|
|
size_t | numBinsAt (const size_t axisN, const bool includeOverflows=false) const noexcept |
| Number of bins in the BinnedStorage.
|
|
void | reset () noexcept |
| Reset the BinnedStorage.
|
|
void | clearBins () noexcept |
| Deletes all bins and creates empty new ones.
|
|
void | maskBins (const std::vector< size_t > &indicesToMask, const bool status=true) noexcept |
| Mask a range of bins.
|
|
void | maskBin (const size_t indexToMask, const bool status=true) noexcept |
| Mask a bin at a given index.
|
|
void | maskSlice (const size_t dim, const size_t idx, const bool status=true) |
| Mask a slice of the binning at local bin index idx along axis dimesnion dim.
|
|
void | maskBinAt (typename BinningT::EdgeTypesTuple &&coords, const bool status=true) noexcept |
| Mask a bin at a given set of corrdinates.
|
|
bool | isMasked (const size_t binIndex) const noexcept |
|
std::vector< size_t > | maskedBins () const noexcept |
|
bool | isVisible (const size_t binIndex) const noexcept |
|
template<size_t... AxisNs, class RetT = void> |
auto | mergeBins (std::decay_t< decltype(AxisNs, std::declval< std::pair< size_t, size_t > >())>... mergeRanges) noexcept -> std::enable_if_t< MetaUtils::is_detected_v< MetaUtils::operatorTraits::addition_assignment_t, BinContentT >, RetT > |
| Merge bins from A to B at G axis.
|
|
template<size_t axisN, template< typename... > typename BinnedT, typename Func , typename = std::enable_if_t< (axisN < sizeof...(AxisT) && sizeof...(AxisT)>=2) >> |
auto | mkBinnedSlices (Func &&how2add, const bool includeOverflows=false) const |
| Split this BinnedStorage into a vector of BinnedStorages along axisN.
|
|
BinnedStorage & | operator= (const BinnedStorage &other) noexcept |
| Copy assignment.
|
|
BinnedStorage & | operator= (BinnedStorage &&other) noexcept |
| Move assignment.
|
|
bool | operator== (const BinnedStorage &other) const noexcept |
| Compares BinnedStorages for equality, e.g. dimensions of underlying binnings and all axes edges are equal.
|
|
bool | operator!= (const BinnedStorage &other) const noexcept |
| Compares BinnedStorages for inequality.
|
|
| AnalysisObject () |
| Default constructor.
|
|
| AnalysisObject (const std::string &type, const std::string &path, const std::string &title="") |
| Constructor giving a type, a path and an optional title.
|
|
| AnalysisObject (const std::string &type, const std::string &path, const AnalysisObject &ao, const std::string &title="") |
| Constructor giving a type, a path, another AO to copy annotation from, and an optional title.
|
|
virtual | ~AnalysisObject () |
| Default destructor.
|
|
virtual AnalysisObject & | operator= (const AnalysisObject &ao) noexcept |
| Default copy assignment operator.
|
|
std::vector< std::string > | annotations () const |
|
bool | hasAnnotation (const std::string &name) const |
| Check if an annotation is defined.
|
|
const std::string & | annotation (const std::string &name) const |
| Get an annotation by name (as a string)
|
|
const std::string & | annotation (const std::string &name, const std::string &defaultreturn) const |
| Get an annotation by name (as a string) with a default in case the annotation is not found.
|
|
template<typename T > |
const T | annotation (const std::string &name) const |
| Get an annotation by name (copied to another type)
|
|
template<typename T > |
const T | annotation (const std::string &name, const T &defaultreturn) const |
| Get an annotation by name (copied to another type) with a default in case the annotation is not found.
|
|
template<typename T > |
void | setAnnotation (const std::string &name, const T &value) |
| Add or set an annotation by name (templated for remaining types)
|
|
void | setAnnotations (const Annotations &anns) |
| Set all annotations at once.
|
|
template<typename T > |
void | addAnnotation (const std::string &name, const T &value) |
| Add or set an annotation by name.
|
|
void | rmAnnotation (const std::string &name) |
| Delete an annotation by name.
|
|
void | clearAnnotations () |
| Delete an annotation by name.
|
|
const std::string | title () const |
| Get the AO title.
|
|
void | setTitle (const std::string &title) |
| Set the AO title.
|
|
const std::string | path () const |
| Get the AO path.
|
|
void | setPath (const std::string &path) |
|
const std::string | name () const |
|
virtual std::string | type () const |
| Get name of the analysis object type.
|
|
size_t | lengthMeta (const bool skipPath=true, const bool skipTitle=true) const noexcept |
| Length of serialized meta-data vector for MPI reduce operations.
|
|
std::vector< std::string > | serializeMeta (const bool skipPath=true, const bool skipTitle=true) const noexcept |
| Mate-data serialisation for MPI reduce operations.
|
|
virtual void | deserializeMeta (const std::vector< std::string > &data, const bool resetPath=false, const bool resetTitle=false) |
| Mate-data deserialisation for MPI reduce operations.
|
|
virtual | ~Fillable ()=default |
| Virtual destructor for inheritance.
|
|
size_t | numBinsX (const bool includeOverflows=false) const |
| Number of bins along the X axis.
|
|
enable_if_CAxisT< T > | xMin () const |
| Low edge of first histo's axis.
|
|
enable_if_CAxisT< T > | xMax () const |
| High edge of first histo's axis.
|
|
std::vector< AxisT > | xEdges (const bool includeOverflows=false) const |
| All bin edges on X axis. +-inf edges are included.
|
|
std::enable_if_t< std::is_floating_point< T >::value, std::vector< T > > | xWidths (const bool includeOverflows=false) const |
| All widths on X axis.
|
|
void | rebinXBy (unsigned int n, size_t begin=1, size_t end=UINT_MAX) |
|
void | rebinXTo (const std::vector< double > &newedges) |
|
void | rebinX (unsigned int n, size_t begin=1, size_t end=UINT_MAX) |
|
void | rebinX (const std::vector< double > &newedges) |
|
double | xMean (const bool includeOverflows=true) const noexcept |
| Calculate the mean on X axis.
|
|
double | xVariance (const bool includeOverflows=true) const noexcept |
| Calculate the variance on X axis.
|
|
double | xStdDev (const bool includeOverflows=true) const noexcept |
| Calculate the standard deviation on X axis.
|
|
double | xStdErr (const bool includeOverflows=true) const noexcept |
| Calculate the standard error on X axis.
|
|
double | xRMS (const bool includeOverflows=true) const noexcept |
| Calculate the RMS on X axis.
|
|