Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
ROOT::Detail::RDF::RMergeableStdDev Class Referencefinal

Specialization of RMergeableValue for the StdDev action.

This class also stores information about the number of entries and the average used to compute the standard deviation.

Definition at line 452 of file RMergeableValue.hxx.

Public Member Functions

 RMergeableStdDev ()=default
 Default constructor.
 RMergeableStdDev (const RMergeableStdDev &)=delete
 RMergeableStdDev (Double_t value, ULong64_t counts, Double_t mean)
 Constructor that initializes data members.
 RMergeableStdDev (RMergeableStdDev &&)=delete
const Double_tGetValue () const
 Retrieve the result wrapped by this mergeable.
RMergeableStdDevoperator= (const RMergeableStdDev &)=delete
RMergeableStdDevoperator= (RMergeableStdDev &&)=delete

Protected Attributes

Double_t fValue

Private Member Functions

void Merge (const RMergeableValue< Double_t > &other) final
 Aggregate the information contained in another RMergeableValue into this.

Private Attributes

ULong64_t fCounts
 Number of entries of the set.
Double_t fMean
 Average of the set.

#include <ROOT/RDF/RMergeableValue.hxx>

Inheritance diagram for ROOT::Detail::RDF::RMergeableStdDev:
ROOT::Detail::RDF::RMergeableValue< Double_t > ROOT::Detail::RDF::RMergeableValueBase

Constructor & Destructor Documentation

◆ RMergeableStdDev() [1/4]

ROOT::Detail::RDF::RMergeableStdDev::RMergeableStdDev ( Double_t value,
ULong64_t counts,
Double_t mean )
inline

Constructor that initializes data members.

Parameters
[in]valueThe action result.
[in]countsThe number of entries of the set.
[in]meanThe average of the set.

Definition at line 511 of file RMergeableValue.hxx.

◆ RMergeableStdDev() [2/4]

ROOT::Detail::RDF::RMergeableStdDev::RMergeableStdDev ( )
default

Default constructor.

Needed to allow serialization of ROOT objects. See [TBufferFile::WriteObjectClass] (classTBufferFile.html::a209078a4cb58373b627390790bf0c9c1)

◆ RMergeableStdDev() [3/4]

ROOT::Detail::RDF::RMergeableStdDev::RMergeableStdDev ( const RMergeableStdDev & )
delete

◆ RMergeableStdDev() [4/4]

ROOT::Detail::RDF::RMergeableStdDev::RMergeableStdDev ( RMergeableStdDev && )
delete

Member Function Documentation

◆ GetValue()

const Double_t & ROOT::Detail::RDF::RMergeableValue< Double_t >::GetValue ( ) const
inlineinherited

Retrieve the result wrapped by this mergeable.

Definition at line 185 of file RMergeableValue.hxx.

◆ Merge()

void ROOT::Detail::RDF::RMergeableStdDev::Merge ( const RMergeableValue< Double_t > & other)
inlinefinalprivatevirtual

Aggregate the information contained in another RMergeableValue into this.

Parameters
[in]otherAnother RMergeableValue object.
Exceptions
std::invalid_argumentIf the cast of the other object to the same type as this one fails.

The other RMergeableValue object is cast to the same type as this object. This is needed to make sure that only results of the same type of action are merged together. The function then computes the aggregated standard deviation of the two samples using an algorithm by [Chan et al. (1979)] (http://i.stanford.edu/pub/cstr/reports/cs/tr/79/773/CS-TR-79-773.pdf)

Note
All the Merge methods in the RMergeableValue family are private. To merge multiple RMergeableValue objects please use [MergeValues] (namespaceROOT_1_1Detail_1_1RDF.html::af16fefbe2d120983123ddf8a1e137277).

Implements ROOT::Detail::RDF::RMergeableValue< Double_t >.

Definition at line 473 of file RMergeableValue.hxx.

◆ operator=() [1/2]

RMergeableStdDev & ROOT::Detail::RDF::RMergeableStdDev::operator= ( const RMergeableStdDev & )
delete

◆ operator=() [2/2]

RMergeableStdDev & ROOT::Detail::RDF::RMergeableStdDev::operator= ( RMergeableStdDev && )
delete

Member Data Documentation

◆ fCounts

ULong64_t ROOT::Detail::RDF::RMergeableStdDev::fCounts
private

Number of entries of the set.

Definition at line 453 of file RMergeableValue.hxx.

◆ fMean

Double_t ROOT::Detail::RDF::RMergeableStdDev::fMean
private

Average of the set.

Definition at line 454 of file RMergeableValue.hxx.

◆ fValue

Double_t ROOT::Detail::RDF::RMergeableValue< Double_t >::fValue
protectedinherited

Definition at line 164 of file RMergeableValue.hxx.


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