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 426 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 &&)=default
 
- Public Member Functions inherited from ROOT::Detail::RDF::RMergeableValue< Double_t >
 RMergeableValue ()=default
 Default constructor.
 
 RMergeableValue (const Double_t &value)
 Constructor taking the action result by const reference.
 
const Double_tGetValue () const
 Retrieve the result wrapped by this mergeable.
 
- Public Member Functions inherited from ROOT::Detail::RDF::RMergeableValueBase
 RMergeableValueBase ()=default
 Default constructor.
 
virtual ~RMergeableValueBase ()=default
 

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.
 

Additional Inherited Members

- Protected Attributes inherited from ROOT::Detail::RDF::RMergeableValue< Double_t >
Double_t fValue
 

#include <ROOT/RDF/RMergeableValue.hxx>

Inheritance diagram for ROOT::Detail::RDF::RMergeableStdDev:
[legend]

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 485 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 ( RMergeableStdDev &&  )
default

◆ RMergeableStdDev() [4/4]

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

Member Function Documentation

◆ 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 447 of file RMergeableValue.hxx.

Member Data Documentation

◆ fCounts

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

Number of entries of the set.

Definition at line 427 of file RMergeableValue.hxx.

◆ fMean

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

Average of the set.

Definition at line 428 of file RMergeableValue.hxx.

Libraries for ROOT::Detail::RDF::RMergeableStdDev:

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