| The Gaudi Framework v32r1 (f65d50dc)

Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Gaudi::Generic3D< INTERFACE, IMPLEMENTATION > Class Template Reference

Common AIDA implementation stuff for histograms and profiles using ROOT implementations. More...

`#include <GaudiPI/Generic3D.h>`

Inheritance diagram for Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >:
[legend]
Collaboration diagram for Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >:
[legend]

## Public Types
typedef Generic3D< INTERFACE, IMPLEMENTATION > | Base

## Public Member Functions
| Generic3D ()=default
| Default constructor. More...
TObject * | representation () const override
| ROOT object implementation. More...
void | adoptRepresentation (TObject *rep) override
| Adopt ROOT histogram representation. More...
int | dimension () const override
| Get the Histogram's dimension. More...
std::string | title () const override
| Get the title of the object. More...
bool | setTitle (const std::string &title) override
| Set the title of the object. More...
std::string | name () const
| object name More...
bool | setName (const std::string &newName)
| Sets the name of the object. More...
AIDA::IAnnotation & | annotation () override
| Access annotation object. More...
const AIDA::IAnnotation & | annotation () const override
| Access annotation object (cons) More...
int | entries () const override
| Get the number or all the entries. More...
int | allEntries () const override
| Get the number or all the entries, both in range and underflow/overflow bins of the IProfile. More...
double | sumBinHeights () const override
| Get the sum of in range bin heights in the IProfile. More...
double | sumAllBinHeights () const override
| Get the sum of all the bins heights (including underflow and overflow bin). More...
double | sumExtraBinHeights () const override
| Get the sum of the underflow and overflow bin height. More...
double | minBinHeight () const override
| Get the minimum height of the in-range bins. More...
double | maxBinHeight () const override
| Get the maximum height of the in-range bins. More...
int | rIndexX (int index) const
int | rIndexY (int index) const
int | rIndexZ (int index) const
double | binMeanX (int indexX, int, int) const override
| The weighted mean along the x axis of a given bin. More...
double | binMeanY (int, int indexY, int) const override
| The weighted mean along the y axis of a given bin. More...
double | binMeanZ (int, int, int indexZ) const override
| The weighted mean along the z axis of a given bin. More...
int | binEntries (int indexX, int indexY, int indexZ) const override
| Number of entries in the corresponding bin (ie the number of times fill was calle d for this bin). More...
int | binEntriesX (int index) const override
| Sum of all the entries of the bins along a given x bin. More...
int | binEntriesY (int index) const override
| Sum of all the entries of the bins along a given y bin. More...
int | binEntriesZ (int index) const override
| Sum of all the entries of the bins along a given z bin. More...
double | binHeight (int indexX, int indexY, int indexZ) const
| Total height of the corresponding bin (ie the sum of the weights in this bin). More...
double | binHeightX (int index) const override
| Sum of all the heights of the bins along a given x bin. More...
double | binHeightY (int index) const override
| Sum of all the heights of the bins along a given y bin. More...
double | binHeightZ (int index) const override
| Sum of all the heights of the bins along a given z bin. More...
double | binError (int indexX, int indexY, int indexZ) const override
| The error of a given bin. More...
double | meanX () const override
| The mean of the IHistogram3D along the x axis. More...
double | meanY () const override
| The mean of the IHistogram3D along the y axis. More...
double | meanZ () const override
| The mean of the IHistogram3D along the z axis. More...
double | rmsX () const override
| The RMS of the IHistogram3D along the x axis. More...
double | rmsY () const override
| The RMS of the IHistogram3D along the y axis. More...
double | rmsZ () const override
| The RMS of the IHistogram3D along the z axis. More...
const AIDA::IAxis & | xAxis () const override
| Get the x axis of the IHistogram3D. More...
const AIDA::IAxis & | yAxis () const override
| Get the y axis of the IHistogram3D. More...
const AIDA::IAxis & | zAxis () const override
| Get the z axis of the IHistogram3D. More...
int | coordToIndexX (double coord) const override
| Get the bin number corresponding to a given coordinate along the x axis. More...
int | coordToIndexY (double coord) const override
| Get the bin number corresponding to a given coordinate along the y axis. More...
int | coordToIndexZ (double coord) const override
| Get the bin number corresponding to a given coordinate along the z axis. More...
double | equivalentBinEntries () const override
| Number of equivalent entries, i.e. `SUM[ weight ] ^ 2 / SUM[ weight^2 ]` More...
bool | scale (double scaleFactor) override
| Scale the weights and the errors of all the IHistogram's bins (in-range and out-of-range ones) by a given scale factor. More...
bool | add (const INTERFACE &hist) override
| Add to this Histogram3D the contents of another IHistogram3D. More...
int | extraEntries () const override
std::ostream & | print (std::ostream &s) const override
| Print (ASCII) the histogram into the output stream. More...
std::ostream & | write (std::ostream &s) const override
| Write (ASCII) the histogram table into the output stream. More...
int | write (const char *file_name) const override
| Write (ASCII) the histogram table into a file. More...
template<>
void | adoptRepresentation (TObject *rep)
| Adopt ROOT histogram representation. More...
Public Member Functions inherited from Gaudi::HistogramBase
virtual | ~HistogramBase ()=default

## Protected Member Functions
| Generic3D (IMPLEMENTATION *p)
| constructor More...

## Protected Attributes
Gaudi::Axis | m_xAxis
Gaudi::Axis | m_yAxis
Gaudi::Axis | m_zAxis
AIDA::Annotation | m_annotation
| Object annotations. More...
std::unique_ptr< IMPLEMENTATION > | m_rep
| Reference to underlying implementation. More...
std::string | m_classType
int | m_sumEntries = 0

## Detailed Description

### template<typename INTERFACE, typename IMPLEMENTATION>
class Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >

Common AIDA implementation stuff for histograms and profiles using ROOT implementations.

Credits: This code is the result of some stripdown implementation of LCG/PI. Credits to them!

Author
  M.Frank

Definition at line 35 of file Generic3D.h.

## Member Typedef Documentation

## ◆ Base

template<typename INTERFACE, typename IMPLEMENTATION>

typedef Generic3D<INTERFACE, IMPLEMENTATION> Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::Base

Definition at line 37 of file Generic3D.h.

## Constructor & Destructor Documentation

## ◆ Generic3D() [1/2]

template<typename INTERFACE, typename IMPLEMENTATION>

Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::Generic3D | ( |  | ) |
| default

Default constructor.

## ◆ Generic3D() [2/2]

template<typename INTERFACE, typename IMPLEMENTATION>

Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::Generic3D | ( | IMPLEMENTATION * | p | ) |
| inline protected

constructor

Definition at line 43 of file Generic3D.h.

43 : m_rep( p ) {}
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## Member Function Documentation

## ◆ add()

template<typename INTERFACE, typename IMPLEMENTATION>

bool Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::add | ( | const INTERFACE & | hist | ) |
| inline override

Add to this Histogram3D the contents of another IHistogram3D.

Definition at line 188 of file Generic3D.h.

188 {
189 const Base* p = dynamic_cast<const Base*>( &hist );
190 if ( !p ) throw std::runtime_error( "Cannot add profile histograms of different implementations." );
191 m_rep->Add( p->m_rep.get() );
192 return true;
193 }
Gaudi::Generic3D::Base
Generic3D< INTERFACE, IMPLEMENTATION > Base
Definition: Generic3D.h:37
std::runtime_error
STL class.
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ adoptRepresentation() [1/2]

template<>

void Gaudi::Generic3D< AIDA::IHistogram3D, TH3D >::adoptRepresentation | ( | TObject * | rep | ) |
| virtual

Adopt ROOT histogram representation.

Implements Gaudi::HistogramBase.

Definition at line 24 of file H3D.cpp.

24 {
25 TH3D* imp = dynamic_cast<TH3D*>( rep );
26 if ( !imp ) throw std::runtime_error( "Cannot adopt native histogram representation." );
27 m_rep.reset( imp );
28 m_xAxis.initialize( m_rep->GetXaxis(), true );
29 m_yAxis.initialize( m_rep->GetYaxis(), true );
30 m_zAxis.initialize( m_rep->GetZaxis(), true );
31 const TArrayD* a = m_rep->GetSumw2();
32 if ( !a || ( a && a->GetSize() == 0 ) ) m_rep->Sumw2();
33 setTitle( m_rep->GetTitle() );
34 }
Gaudi::Generic3D::m_xAxis
Gaudi::Axis m_xAxis
Definition: Generic3D.h:213
Gaudi::Generic3D::m_yAxis
Gaudi::Axis m_yAxis
Definition: Generic3D.h:214
std::runtime_error
STL class.
std::unique_ptr::reset
T reset(T... args)
Gaudi::Generic3D::m_zAxis
Gaudi::Axis m_zAxis
Definition: Generic3D.h:215
Gaudi::Generic3D::setTitle
bool setTitle(const std::string &title) override
Set the title of the object.
Definition: Generic3D.h:227
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219
Gaudi::Axis::initialize
void initialize(TAxis *itaxi, bool)
Definition: Axis.h:63

## ◆ adoptRepresentation() [2/2]

template<typename INTERFACE, typename IMPLEMENTATION>

void Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::adoptRepresentation | ( | TObject * | rep | ) |
| override virtual

Adopt ROOT histogram representation.

Implements Gaudi::HistogramBase.

## ◆ allEntries()

template<class INTERFACE , class IMPLEMENTATION >

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::allEntries | ( |  | ) | const
| override

Get the number or all the entries, both in range and underflow/overflow bins of the IProfile.

Definition at line 246 of file Generic3D.h.

246 {
247 return int( m_rep->GetEntries() );
248 }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ annotation() [1/2]

template<typename INTERFACE, typename IMPLEMENTATION>

AIDA::IAnnotation& Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::annotation | ( |  | ) |
| inline override

Access annotation object.

Definition at line 62 of file Generic3D.h.

62 { return m_annotation; }
Gaudi::Generic3D::m_annotation
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic3D.h:217

## ◆ annotation() [2/2]

template<typename INTERFACE, typename IMPLEMENTATION>

const AIDA::IAnnotation& Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::annotation | ( |  | ) | const
| inline override

Access annotation object (cons)

Definition at line 64 of file Generic3D.h.

64 { return m_annotation; }
Gaudi::Generic3D::m_annotation
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic3D.h:217

## ◆ binEntries()

template<typename INTERFACE, typename IMPLEMENTATION>

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binEntries | ( | int | indexX,
|  | int | indexY,
|  | int | indexZ
| ) |  | const
| inline override

Number of entries in the corresponding bin (ie the number of times fill was calle d for this bin).

Definition at line 98 of file Generic3D.h.

98 {
99 if ( binHeight( indexX, indexY, indexZ ) <= 0 ) return 0;
100 double xx = binHeight( indexX, indexY, indexZ ) / binError( indexX, indexY, indexZ );
101 return int( xx * xx + 0.5 );
102 }
Gaudi::Generic3D::binError
double binError(int indexX, int indexY, int indexZ) const override
The error of a given bin.
Definition: Generic3D.h:153
Gaudi::Generic3D::binHeight
double binHeight(int indexX, int indexY, int indexZ) const
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic3D.h:127

## ◆ binEntriesX()

template<typename INTERFACE, typename IMPLEMENTATION>

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binEntriesX | ( | int | index | ) | const
| inline override

Sum of all the entries of the bins along a given x bin.

Definition at line 104 of file Generic3D.h.

104 {
105 int n = 0;
106 for ( int i = -2; i < yAxis().bins(); ++i )
107 for ( int j = -2; j < zAxis().bins(); ++j ) n += binEntries( index, i, j );
108 return n;
109 }
GaudiPluginService.cpluginsvc.n
n
Definition: cpluginsvc.py:210
Gaudi::Generic3D::zAxis
const AIDA::IAxis & zAxis() const override
Get the z axis of the IHistogram3D.
Definition: Generic3D.h:174
Gaudi::Generic3D::binEntries
int binEntries(int indexX, int indexY, int indexZ) const override
Number of entries in the corresponding bin (ie the number of times fill was calle d for this bin).
Definition: Generic3D.h:98
Gaudi::Generic3D::yAxis
const AIDA::IAxis & yAxis() const override
Get the y axis of the IHistogram3D.
Definition: Generic3D.h:172

## ◆ binEntriesY()

template<typename INTERFACE, typename IMPLEMENTATION>

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binEntriesY | ( | int | index | ) | const
| inline override

Sum of all the entries of the bins along a given y bin.

Definition at line 111 of file Generic3D.h.

111 {
112 int n = 0;
113 for ( int i = -2; i < xAxis().bins(); ++i )
114 for ( int j = -2; j < zAxis().bins(); ++j ) n += binEntries( i, index, j );
115 return n;
116 }
Gaudi::Generic3D::xAxis
const AIDA::IAxis & xAxis() const override
Get the x axis of the IHistogram3D.
Definition: Generic3D.h:170
GaudiPluginService.cpluginsvc.n
n
Definition: cpluginsvc.py:210
Gaudi::Generic3D::zAxis
const AIDA::IAxis & zAxis() const override
Get the z axis of the IHistogram3D.
Definition: Generic3D.h:174
Gaudi::Generic3D::binEntries
int binEntries(int indexX, int indexY, int indexZ) const override
Number of entries in the corresponding bin (ie the number of times fill was calle d for this bin).
Definition: Generic3D.h:98

## ◆ binEntriesZ()

template<typename INTERFACE, typename IMPLEMENTATION>

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binEntriesZ | ( | int | index | ) | const
| inline override

Sum of all the entries of the bins along a given z bin.

Definition at line 119 of file Generic3D.h.

119 {
120 int n = 0;
121 for ( int i = -2; i < xAxis().bins(); ++i )
122 for ( int j = -2; j < yAxis().bins(); ++j ) n += binEntries( i, j, index );
123 return n;
124 }
Gaudi::Generic3D::xAxis
const AIDA::IAxis & xAxis() const override
Get the x axis of the IHistogram3D.
Definition: Generic3D.h:170
GaudiPluginService.cpluginsvc.n
n
Definition: cpluginsvc.py:210
Gaudi::Generic3D::binEntries
int binEntries(int indexX, int indexY, int indexZ) const override
Number of entries in the corresponding bin (ie the number of times fill was calle d for this bin).
Definition: Generic3D.h:98
Gaudi::Generic3D::yAxis
const AIDA::IAxis & yAxis() const override
Get the y axis of the IHistogram3D.
Definition: Generic3D.h:172

## ◆ binError()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binError | ( | int | indexX,
|  | int | indexY,
|  | int | indexZ
| ) |  | const
| inline override

The error of a given bin.

Definition at line 153 of file Generic3D.h.

153 {
154 return m_rep->GetBinError( rIndexX( indexX ), rIndexY( indexY ), rIndexZ( indexZ ) );
155 }
Gaudi::Generic3D::rIndexX
int rIndexX(int index) const
Definition: Generic3D.h:81
Gaudi::Generic3D::rIndexZ
int rIndexZ(int index) const
Definition: Generic3D.h:83
Gaudi::Generic3D::rIndexY
int rIndexY(int index) const
Definition: Generic3D.h:82
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ binHeight()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binHeight | ( | int | indexX,
|  | int | indexY,
|  | int | indexZ
| ) |  | const
| inline

Total height of the corresponding bin (ie the sum of the weights in this bin).

Definition at line 127 of file Generic3D.h.

127 {
128 return m_rep->GetBinContent( rIndexX( indexX ), rIndexY( indexY ), rIndexZ( indexZ ) );
129 }
Gaudi::Generic3D::rIndexX
int rIndexX(int index) const
Definition: Generic3D.h:81
Gaudi::Generic3D::rIndexZ
int rIndexZ(int index) const
Definition: Generic3D.h:83
Gaudi::Generic3D::rIndexY
int rIndexY(int index) const
Definition: Generic3D.h:82
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ binHeightX()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binHeightX | ( | int | index | ) | const
| inline override

Sum of all the heights of the bins along a given x bin.

Definition at line 132 of file Generic3D.h.

132 {
133 double s = 0;
134 for ( int i = -2; i < yAxis().bins(); ++i )
135 for ( int j = -2; j < zAxis().bins(); ++j ) s += binHeight( index, i, j );
136 return s;
137 }
Gaudi::Generic3D::zAxis
const AIDA::IAxis & zAxis() const override
Get the z axis of the IHistogram3D.
Definition: Generic3D.h:174
gaudirun.s
string s
Definition: gaudirun.py:316
Gaudi::Generic3D::binHeight
double binHeight(int indexX, int indexY, int indexZ) const
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic3D.h:127
Gaudi::Generic3D::yAxis
const AIDA::IAxis & yAxis() const override
Get the y axis of the IHistogram3D.
Definition: Generic3D.h:172

## ◆ binHeightY()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binHeightY | ( | int | index | ) | const
| inline override

Sum of all the heights of the bins along a given y bin.

Definition at line 139 of file Generic3D.h.

139 {
140 double s = 0;
141 for ( int i = -2; i < xAxis().bins(); ++i )
142 for ( int j = -2; j < zAxis().bins(); ++j ) s += binHeight( i, index, j );
143 return s;
144 }
Gaudi::Generic3D::xAxis
const AIDA::IAxis & xAxis() const override
Get the x axis of the IHistogram3D.
Definition: Generic3D.h:170
Gaudi::Generic3D::zAxis
const AIDA::IAxis & zAxis() const override
Get the z axis of the IHistogram3D.
Definition: Generic3D.h:174
gaudirun.s
string s
Definition: gaudirun.py:316
Gaudi::Generic3D::binHeight
double binHeight(int indexX, int indexY, int indexZ) const
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic3D.h:127

## ◆ binHeightZ()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binHeightZ | ( | int | index | ) | const
| inline override

Sum of all the heights of the bins along a given z bin.

Definition at line 146 of file Generic3D.h.

146 {
147 double s = 0;
148 for ( int i = -2; i < xAxis().bins(); ++i )
149 for ( int j = -2; j < yAxis().bins(); ++j ) s += binHeight( i, j, index );
150 return s;
151 }
Gaudi::Generic3D::xAxis
const AIDA::IAxis & xAxis() const override
Get the x axis of the IHistogram3D.
Definition: Generic3D.h:170
gaudirun.s
string s
Definition: gaudirun.py:316
Gaudi::Generic3D::binHeight
double binHeight(int indexX, int indexY, int indexZ) const
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic3D.h:127
Gaudi::Generic3D::yAxis
const AIDA::IAxis & yAxis() const override
Get the y axis of the IHistogram3D.
Definition: Generic3D.h:172

## ◆ binMeanX()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binMeanX | ( | int | indexX,
|  | int | ,
|  | int |
| ) |  | const
| inline override

The weighted mean along the x axis of a given bin.

Definition at line 86 of file Generic3D.h.

86 {
87 return m_rep->GetXaxis()->GetBinCenter( rIndexX( indexX ) );
88 }
Gaudi::Generic3D::rIndexX
int rIndexX(int index) const
Definition: Generic3D.h:81
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ binMeanY()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binMeanY | ( | int | ,
|  | int | indexY,
|  | int |
| ) |  | const
| inline override

The weighted mean along the y axis of a given bin.

Definition at line 90 of file Generic3D.h.

90 {
91 return m_rep->GetYaxis()->GetBinCenter( rIndexY( indexY ) );
92 }
Gaudi::Generic3D::rIndexY
int rIndexY(int index) const
Definition: Generic3D.h:82
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ binMeanZ()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binMeanZ | ( | int | ,
|  | int | ,
|  | int | indexZ
| ) |  | const
| inline override

The weighted mean along the z axis of a given bin.

Definition at line 94 of file Generic3D.h.

94 {
95 return m_rep->GetYaxis()->GetBinCenter( rIndexY( indexZ ) );
96 }
Gaudi::Generic3D::rIndexY
int rIndexY(int index) const
Definition: Generic3D.h:82
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ coordToIndexX()

template<typename INTERFACE, typename IMPLEMENTATION>

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::coordToIndexX | ( | double | coord | ) | const
| inline override

Get the bin number corresponding to a given coordinate along the x axis.

Definition at line 176 of file Generic3D.h.

176 { return xAxis().coordToIndex( coord ); }
Gaudi::Generic3D::xAxis
const AIDA::IAxis & xAxis() const override
Get the x axis of the IHistogram3D.
Definition: Generic3D.h:170

## ◆ coordToIndexY()

template<typename INTERFACE, typename IMPLEMENTATION>

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::coordToIndexY | ( | double | coord | ) | const
| inline override

Get the bin number corresponding to a given coordinate along the y axis.

Definition at line 178 of file Generic3D.h.

178 { return yAxis().coordToIndex( coord ); }
Gaudi::Generic3D::yAxis
const AIDA::IAxis & yAxis() const override
Get the y axis of the IHistogram3D.
Definition: Generic3D.h:172

## ◆ coordToIndexZ()

template<typename INTERFACE, typename IMPLEMENTATION>

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::coordToIndexZ | ( | double | coord | ) | const
| inline override

Get the bin number corresponding to a given coordinate along the z axis.

Definition at line 180 of file Generic3D.h.

180 { return zAxis().coordToIndex( coord ); }
Gaudi::Generic3D::zAxis
const AIDA::IAxis & zAxis() const override
Get the z axis of the IHistogram3D.
Definition: Generic3D.h:174

## ◆ dimension()

template<typename INTERFACE, typename IMPLEMENTATION>

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::dimension | ( |  | ) | const
| inline override

Get the Histogram's dimension.

Definition at line 52 of file Generic3D.h.

52 { return 3; }

## ◆ entries()

template<class INTERFACE , class IMPLEMENTATION >

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::entries | ( |  | ) | const
| override

Get the number or all the entries.

Definition at line 241 of file Generic3D.h.

241 {
242 return m_rep->GetEntries();
243 }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ equivalentBinEntries()

template<class INTERFACE , class IMPLEMENTATION >

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::equivalentBinEntries | ( |  | ) | const
| override

Number of equivalent entries, i.e. `SUM[ weight ] ^ 2 / SUM[ weight^2 ]`

Definition at line 271 of file Generic3D.h.

271 {
272 if ( sumBinHeights() <= 0 ) return 0;
273 Stat_t stats[11]; // cover up to 3D...
274 m_rep->GetStats( stats );
275 return stats[0] * stats[0] / stats[1];
276 }
Gaudi::Generic3D::sumBinHeights
double sumBinHeights() const override
Get the sum of in range bin heights in the IProfile.
Definition: Generic3D.h:261
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ extraEntries()

template<typename INTERFACE, typename IMPLEMENTATION>

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::extraEntries | ( |  | ) | const
| inline override

Definition at line 196 of file Generic3D.h.

196 {
197 return binEntries( AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN ) +
198 binEntries( AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN ) +
199 binEntries( AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN ) +
200 binEntries( AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN ) +
201 binEntries( AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN ) +
202 binEntries( AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN ) +
203 binEntries( AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN );
204 }
Gaudi::Generic3D::binEntries
int binEntries(int indexX, int indexY, int indexZ) const override
Number of entries in the corresponding bin (ie the number of times fill was calle d for this bin).
Definition: Generic3D.h:98

## ◆ maxBinHeight()

template<class INTERFACE , class IMPLEMENTATION >

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::maxBinHeight | ( |  | ) | const
| override

Get the maximum height of the in-range bins.

Definition at line 256 of file Generic3D.h.

256 {
257 return m_rep->GetMaximum();
258 }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ meanX()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::meanX | ( |  | ) | const
| inline override

The mean of the IHistogram3D along the x axis.

Definition at line 157 of file Generic3D.h.

157 { return m_rep->GetMean( 1 ); }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ meanY()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::meanY | ( |  | ) | const
| inline override

The mean of the IHistogram3D along the y axis.

Definition at line 160 of file Generic3D.h.

160 { return m_rep->GetMean( 2 ); }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ meanZ()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::meanZ | ( |  | ) | const
| inline override

The mean of the IHistogram3D along the z axis.

Definition at line 162 of file Generic3D.h.

162 { return m_rep->GetMean( 3 ); }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ minBinHeight()

template<class INTERFACE , class IMPLEMENTATION >

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::minBinHeight | ( |  | ) | const
| override

Get the minimum height of the in-range bins.

Definition at line 251 of file Generic3D.h.

251 {
252 return m_rep->GetMinimum();
253 }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ name()

template<typename INTERFACE, typename IMPLEMENTATION>

std::string Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::name | ( |  | ) | const
| inline

object name

Definition at line 58 of file Generic3D.h.

58 { return m_annotation.value( "Name" ); }
Gaudi::Generic3D::m_annotation
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic3D.h:217
AIDA::Annotation::value
std::string value(const std::string &key) const override
Retrieve the value for a given key.
Definition: Annotation.h:98

## ◆ print()

template<class INTERFACE , class IMPLEMENTATION >

std::ostream & Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::print | ( | std::ostream & | s | ) | const
| override virtual

Print (ASCII) the histogram into the output stream.

bin contents and errors are printed for all bins including under and overflows

Implements Gaudi::HistogramBase.

Definition at line 285 of file Generic3D.h.

285 {
287 m_rep->Print( "all" );
288 return s;
289 }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219
gaudirun.s
string s
Definition: gaudirun.py:316

## ◆ representation()

template<typename INTERFACE, typename IMPLEMENTATION>

TObject* Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::representation | ( |  | ) | const
| inline override virtual

ROOT object implementation.

Implements Gaudi::HistogramBase.

Definition at line 47 of file Generic3D.h.

47 { return m_rep.get(); }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219
std::unique_ptr::get
T get(T... args)

## ◆ rIndexX()

template<typename INTERFACE, typename IMPLEMENTATION>

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::rIndexX | ( | int | index | ) | const
| inline

Definition at line 81 of file Generic3D.h.

81 { return m_xAxis.rIndex( index ); }
Gaudi::Generic3D::m_xAxis
Gaudi::Axis m_xAxis
Definition: Generic3D.h:213
Gaudi::Axis::rIndex
int rIndex(int index) const
Convert a AIDA bin number on the axis to the ROOT bin number.
Definition: Axis.h:49

## ◆ rIndexY()

template<typename INTERFACE, typename IMPLEMENTATION>

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::rIndexY | ( | int | index | ) | const
| inline

Definition at line 82 of file Generic3D.h.

82 { return m_yAxis.rIndex( index ); }
Gaudi::Generic3D::m_yAxis
Gaudi::Axis m_yAxis
Definition: Generic3D.h:214
Gaudi::Axis::rIndex
int rIndex(int index) const
Convert a AIDA bin number on the axis to the ROOT bin number.
Definition: Axis.h:49

## ◆ rIndexZ()

template<typename INTERFACE, typename IMPLEMENTATION>

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::rIndexZ | ( | int | index | ) | const
| inline

Definition at line 83 of file Generic3D.h.

83 { return m_zAxis.rIndex( index ); }
Gaudi::Generic3D::m_zAxis
Gaudi::Axis m_zAxis
Definition: Generic3D.h:215
Gaudi::Axis::rIndex
int rIndex(int index) const
Convert a AIDA bin number on the axis to the ROOT bin number.
Definition: Axis.h:49

## ◆ rmsX()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::rmsX | ( |  | ) | const
| inline override

The RMS of the IHistogram3D along the x axis.

Definition at line 164 of file Generic3D.h.

164 { return m_rep->GetRMS( 1 ); }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ rmsY()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::rmsY | ( |  | ) | const
| inline override

The RMS of the IHistogram3D along the y axis.

Definition at line 166 of file Generic3D.h.

166 { return m_rep->GetRMS( 2 ); }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ rmsZ()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::rmsZ | ( |  | ) | const
| inline override

The RMS of the IHistogram3D along the z axis.

Definition at line 168 of file Generic3D.h.

168 { return m_rep->GetRMS( 3 ); }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ scale()

template<class INTERFACE , class IMPLEMENTATION >

bool Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::scale | ( | double | scaleFactor | ) |
| override

Scale the weights and the errors of all the IHistogram's bins (in-range and out-of-range ones) by a given scale factor.

Definition at line 279 of file Generic3D.h.

279 {
280 m_rep->Scale( scaleFactor );
281 return true;
282 }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ setName()

template<class INTERFACE , class IMPLEMENTATION >

bool Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::setName | ( | const std::string & | newName | ) |

Sets the name of the object.

Definition at line 235 of file Generic3D.h.

235 {
236 m_rep->SetName( newName.c_str() );
237 m_annotation.setValue( "Name", newName );
238 return true;
239 }
AIDA::Annotation::setValue
void setValue(const std::string &key, const std::string &value) override
Set value for a given key.
Definition: Annotation.h:103
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219
Gaudi::Generic3D::m_annotation
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic3D.h:217
std::string::c_str
T c_str(T... args)

## ◆ setTitle()

template<class INTERFACE , class IMPLEMENTATION >

bool Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::setTitle | ( | const std::string & | title | ) |
| override

Set the title of the object.

Definition at line 227 of file Generic3D.h.

227 {
228 m_rep->SetTitle( title.c_str() );
229 if ( !annotation().addItem( "Title", title ) ) m_annotation.setValue( "Title", title );
230 if ( !annotation().addItem( "title", title ) ) annotation().setValue( "title", title );
231 return true;
232 }
Gaudi::Generic3D::annotation
AIDA::IAnnotation & annotation() override
Access annotation object.
Definition: Generic3D.h:62
AIDA::Annotation::setValue
void setValue(const std::string &key, const std::string &value) override
Set value for a given key.
Definition: Annotation.h:103
Gaudi::Generic3D::title
std::string title() const override
Get the title of the object.
Definition: Generic3D.h:54
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219
Gaudi::Generic3D::m_annotation
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic3D.h:217
std::string::c_str
T c_str(T... args)

## ◆ sumAllBinHeights()

template<class INTERFACE , class IMPLEMENTATION >

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::sumAllBinHeights | ( |  | ) | const
| override

Get the sum of all the bins heights (including underflow and overflow bin).

Definition at line 266 of file Generic3D.h.

266 {
267 return m_rep->GetSum();
268 }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ sumBinHeights()

template<class INTERFACE , class IMPLEMENTATION >

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::sumBinHeights | ( |  | ) | const
| override

Get the sum of in range bin heights in the IProfile.

Definition at line 261 of file Generic3D.h.

261 {
262 return m_rep->GetSumOfWeights();
263 }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ sumExtraBinHeights()

template<typename INTERFACE, typename IMPLEMENTATION>

double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::sumExtraBinHeights | ( |  | ) | const
| inline override

Get the sum of the underflow and overflow bin height.

Definition at line 75 of file Generic3D.h.

75 { return sumAllBinHeights() - sumBinHeights(); }
Gaudi::Generic3D::sumAllBinHeights
double sumAllBinHeights() const override
Get the sum of all the bins heights (including underflow and overflow bin).
Definition: Generic3D.h:266
Gaudi::Generic3D::sumBinHeights
double sumBinHeights() const override
Get the sum of in range bin heights in the IProfile.
Definition: Generic3D.h:261

## ◆ title()

template<typename INTERFACE, typename IMPLEMENTATION>

std::string Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::title | ( |  | ) | const
| inline override

Get the title of the object.

Definition at line 54 of file Generic3D.h.

54 { return m_annotation.value( "Title" ); }
Gaudi::Generic3D::m_annotation
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic3D.h:217
AIDA::Annotation::value
std::string value(const std::string &key) const override
Retrieve the value for a given key.
Definition: Annotation.h:98

## ◆ write() [1/2]

template<class INTERFACE , class IMPLEMENTATION >

std::ostream & Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::write | ( | std::ostream & | s | ) | const
| override virtual

Write (ASCII) the histogram table into the output stream.

Implements Gaudi::HistogramBase.

Definition at line 293 of file Generic3D.h.

293 {
294 s << "\n3D Histogram Table: " << std::endl;
295 s << "BinX, BinY, BinZ, Height, Error " << std::endl;
296 for ( int i = 0; i < xAxis().bins(); ++i )
297 for ( int j = 0; j < yAxis().bins(); ++j )
298 for ( int k = 0; k < zAxis().bins(); ++k )
299 s << binMeanX( i, j, k ) << ", " << binMeanY( i, j, k ) << ", " << binMeanZ( i, j, k ) << ", "
300 << binHeight( i, j, k ) << ", " << binError( i, j, k ) << std::endl;
301 s << std::endl;
302 return s;
303 }
Gaudi::Generic3D::xAxis
const AIDA::IAxis & xAxis() const override
Get the x axis of the IHistogram3D.
Definition: Generic3D.h:170
std::endl
T endl(T... args)
Gaudi::Generic3D::binMeanY
double binMeanY(int, int indexY, int) const override
The weighted mean along the y axis of a given bin.
Definition: Generic3D.h:90
Gaudi::Generic3D::zAxis
const AIDA::IAxis & zAxis() const override
Get the z axis of the IHistogram3D.
Definition: Generic3D.h:174
Gaudi::Generic3D::binMeanX
double binMeanX(int indexX, int, int) const override
The weighted mean along the x axis of a given bin.
Definition: Generic3D.h:86
Gaudi::Generic3D::binMeanZ
double binMeanZ(int, int, int indexZ) const override
The weighted mean along the z axis of a given bin.
Definition: Generic3D.h:94
gaudirun.s
string s
Definition: gaudirun.py:316
Gaudi::Generic3D::binError
double binError(int indexX, int indexY, int indexZ) const override
The error of a given bin.
Definition: Generic3D.h:153
Gaudi::Generic3D::binHeight
double binHeight(int indexX, int indexY, int indexZ) const
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic3D.h:127
Gaudi::Generic3D::yAxis
const AIDA::IAxis & yAxis() const override
Get the y axis of the IHistogram3D.
Definition: Generic3D.h:172

## ◆ write() [2/2]

template<class INTERFACE , class IMPLEMENTATION >

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::write | ( | const char * | file_name | ) | const
| override virtual

Write (ASCII) the histogram table into a file.

Implements Gaudi::HistogramBase.

Definition at line 307 of file Generic3D.h.

307 {
308 TFile* f = TFile::Open( file_name, "RECREATE" );
309 Int_t nbytes = m_rep->Write();
310 f->Close();
311 return nbytes;
312 }
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:219

## ◆ xAxis()

template<typename INTERFACE, typename IMPLEMENTATION>

const AIDA::IAxis& Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::xAxis | ( |  | ) | const
| inline override

Get the x axis of the IHistogram3D.

Definition at line 170 of file Generic3D.h.

170 { return m_xAxis; }
Gaudi::Generic3D::m_xAxis
Gaudi::Axis m_xAxis
Definition: Generic3D.h:213

## ◆ yAxis()

template<typename INTERFACE, typename IMPLEMENTATION>

const AIDA::IAxis& Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::yAxis | ( |  | ) | const
| inline override

Get the y axis of the IHistogram3D.

Definition at line 172 of file Generic3D.h.

172 { return m_yAxis; }
Gaudi::Generic3D::m_yAxis
Gaudi::Axis m_yAxis
Definition: Generic3D.h:214

## ◆ zAxis()

template<typename INTERFACE, typename IMPLEMENTATION>

const AIDA::IAxis& Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::zAxis | ( |  | ) | const
| inline override

Get the z axis of the IHistogram3D.

Definition at line 174 of file Generic3D.h.

174 { return m_zAxis; }
Gaudi::Generic3D::m_zAxis
Gaudi::Axis m_zAxis
Definition: Generic3D.h:215

## Member Data Documentation

## ◆ m_annotation

template<typename INTERFACE, typename IMPLEMENTATION>

AIDA::Annotation Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_annotation
| mutable protected

Object annotations.

Definition at line 217 of file Generic3D.h.

## ◆ m_classType

template<typename INTERFACE, typename IMPLEMENTATION>

std::string Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_classType
| protected

Definition at line 221 of file Generic3D.h.

## ◆ m_rep

template<typename INTERFACE, typename IMPLEMENTATION>

std::unique_ptr<IMPLEMENTATION> Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_rep
| protected

Reference to underlying implementation.

Definition at line 219 of file Generic3D.h.

## ◆ m_sumEntries

template<typename INTERFACE, typename IMPLEMENTATION>

int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_sumEntries = 0
| protected

Definition at line 223 of file Generic3D.h.

## ◆ m_xAxis

template<typename INTERFACE, typename IMPLEMENTATION>

Gaudi::Axis Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_xAxis
| protected

Definition at line 213 of file Generic3D.h.

## ◆ m_yAxis

template<typename INTERFACE, typename IMPLEMENTATION>

Gaudi::Axis Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_yAxis
| protected

Definition at line 214 of file Generic3D.h.

## ◆ m_zAxis

template<typename INTERFACE, typename IMPLEMENTATION>

Gaudi::Axis Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_zAxis
| protected

Definition at line 215 of file Generic3D.h.

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

- GaudiCommonSvc/GaudiCommonSvc/Generic3D.h