| The Gaudi Framework v32r1 (f65d50dc)

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

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

`#include <GaudiPI/Generic2D.h>`

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

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

## Public Member Functions
| Generic2D ()=default
TObject * | representation () const override
| ROOT object implementation. More...
void | adoptRepresentation (TObject *rep) override
| Adopt ROOT histogram representation. 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)
| Set 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...
const AIDA::IAxis & | xAxis () const override
| Return the X axis. More...
const AIDA::IAxis & | yAxis () const override
| Return the Y axis. More...
virtual int | rIndexX (int index) const
| operator methods More...
virtual int | rIndexY (int index) const
| operator methods 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...
int | extraEntries () const override
| Get the number of entries in the underflow and overflow bins. 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...
double | binMeanX (int indexX, int indexY) const override
| The weighted mean along x of a given bin. More...
double | binMeanY (int indexX, int indexY) const override
| The weighted mean along y of a given bin. More...
int | binEntries (int indexX, int indexY) const override
| The number of entries (ie the number of times fill was called for this bin). More...
int | binEntriesX (int indexX) const override
| Equivalent to `projectionX().binEntries(indexX)`. More...
int | binEntriesY (int indexY) const override
| Equivalent to `projectionY().binEntries(indexY)`. More...
double | binHeight (int indexX, int indexY) const override
| Total height of the corresponding bin (ie the sum of the weights in this bin). More...
double | binHeightX (int indexX) const override
| Equivalent to `projectionX().binHeight(indexX)`. More...
double | binHeightY (int indexY) const override
| Equivalent to `projectionY().binHeight(indexY)`. More...
double | binError (int indexX, int indexY) const override
| The error on this bin. More...
virtual double | binRms (int indexX, int indexY) const
| The spread (RMS) of this bin. More...
double | meanX () const override
| Returns the mean of the profile, as calculated on filling-time projected on the X axis. More...
double | meanY () const override
| Returns the mean of the profile, as calculated on filling-time projected on the Y axis. More...
double | rmsX () const override
| Returns the rms of the profile as calculated on filling-time projected on the X axis. More...
double | rmsY () const override
| Returns the rms of the profile as calculated on filling-time projected on the Y axis. More...
int | coordToIndexX (double coordX) const override
| Convenience method, equivalent to `xAxis().coordToIndex(coord)`. More...
int | coordToIndexY (double coordY) const override
| Convenience method, equivalent to `yAxis().coordToIndex(coord)`. More...
virtual double | equivalentBinEntries () const
| Number of equivalent entries, i.e. `SUM[ weight ] ^ 2 / SUM[ weight^2 ]` More...
virtual bool | scale (double scaleFactor)
| 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 &h) override
| Modifies this profile by adding the contents of profile to it. More...
bool | reset () override
void * | cast (const std::string &className) const override
| Introspection method. More...
const std::string & | userLevelClassType () const
| The AIDA user-level unterface leaf class type. More...
int | dimension () const override
| Get the Histogram's dimension. More...
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 * | cast (const std::string &className) const
template<>
int | binEntries (int indexX, int indexY) const
template<>
void | adoptRepresentation (TObject *rep)
| Adopt ROOT histogram representation. More...
template<>
void * | cast (const std::string &className) const
template<>
int | binEntries (int idX, int idY) const
template<>
void | adoptRepresentation (TObject *rep)
| Adopt ROOT histogram representation. More...
Public Member Functions inherited from Gaudi::HistogramBase
virtual | ~HistogramBase ()=default

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

## Protected Attributes
Axis | m_xAxis
| X axis member. More...
Axis | m_yAxis
| Y axis member. More...
AIDA::Annotation | m_annotation
| Object annotations. More...
std::unique_ptr< IMPLEMENTATION > | m_rep
| Reference to underlying implementation. More...
std::string | m_classType
| class type More...
int | m_sumEntries = 0
| cache sumEntries (allEntries) when setting contents since Root can't compute by himself More...

## Detailed Description

### template<class INTERFACE, class IMPLEMENTATION>
class Gaudi::Generic2D< 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 Generic2D.h.

## Member Typedef Documentation

## ◆ Base

template<class INTERFACE, class IMPLEMENTATION>

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

Definition at line 37 of file Generic2D.h.

## Constructor & Destructor Documentation

## ◆ Generic2D() [1/2]

template<class INTERFACE, class IMPLEMENTATION>

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

## ◆ Generic2D() [2/2]

template<class INTERFACE, class IMPLEMENTATION>

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

constructor

Definition at line 43 of file Generic2D.h.

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

## Member Function Documentation

## ◆ add()

template<class INTERFACE, class IMPLEMENTATION >

bool Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::add | ( | const INTERFACE & | h | ) |
| override

Modifies this profile by adding the contents of profile to it.

Definition at line 287 of file Generic2D.h.

287 {
288 const Base* p = dynamic_cast<const Base*>( &hist );
289 if ( !p ) throw std::runtime_error( "Cannot add profile histograms of different implementations." );
290 m_rep->Add( p->m_rep.get() );
291 return true;
292 }
Gaudi::Generic2D::Base
Generic2D< INTERFACE, IMPLEMENTATION > Base
Definition: Generic2D.h:37
std::runtime_error
STL class.
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ adoptRepresentation() [1/3]

template<>

void Gaudi::Generic2D< AIDA::IProfile2D, TProfile2D >::adoptRepresentation | ( | TObject * | rep | ) |
| virtual

Adopt ROOT histogram representation.

Implements Gaudi::HistogramBase.

Definition at line 39 of file P2D.cpp.

39 {
40 TProfile2D* imp = dynamic_cast<TProfile2D*>( rep );
41 if ( !imp ) throw std::runtime_error( "Cannot adopt native histogram representation." );
42 m_rep.reset( imp );
43 m_xAxis.initialize( m_rep->GetXaxis(), true );
44 m_yAxis.initialize( m_rep->GetYaxis(), true );
45 setTitle( m_rep->GetTitle() );
46 }
Gaudi::Generic2D::m_xAxis
Axis m_xAxis
X axis member.
Definition: Generic2D.h:145
std::runtime_error
STL class.
std::unique_ptr::reset
T reset(T... args)
Gaudi::Axis::initialize
void initialize(TAxis *itaxi, bool)
Definition: Axis.h:63
Gaudi::Generic2D::setTitle
bool setTitle(const std::string &title) override
Set the title of the object.
Definition: Generic2D.h:159
Gaudi::Generic2D::m_yAxis
Axis m_yAxis
Y axis member.
Definition: Generic2D.h:147
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ adoptRepresentation() [2/3]

template<class INTERFACE, class IMPLEMENTATION>

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

Adopt ROOT histogram representation.

Implements Gaudi::HistogramBase.

## ◆ adoptRepresentation() [3/3]

template<>

void Gaudi::Generic2D< AIDA::IHistogram2D, TH2D >::adoptRepresentation | ( | TObject * | rep | ) |
| virtual

Adopt ROOT histogram representation.

Implements Gaudi::HistogramBase.

Definition at line 114 of file H2D.cpp.

114 {
115 TH2D* imp = dynamic_cast<TH2D*>( rep );
116 if ( !imp ) throw std::runtime_error( "Cannot adopt native histogram representation." );
117 m_rep.reset( imp );
118 m_xAxis.initialize( m_rep->GetXaxis(), true );
119 m_yAxis.initialize( m_rep->GetYaxis(), true );
120 const TArrayD* a = m_rep->GetSumw2();
121 if ( !a || ( a && a->GetSize() == 0 ) ) m_rep->Sumw2();
122 setTitle( m_rep->GetTitle() );
123 }
Gaudi::Generic2D::m_xAxis
Axis m_xAxis
X axis member.
Definition: Generic2D.h:145
std::runtime_error
STL class.
std::unique_ptr::reset
T reset(T... args)
Gaudi::Axis::initialize
void initialize(TAxis *itaxi, bool)
Definition: Axis.h:63
Gaudi::Generic2D::setTitle
bool setTitle(const std::string &title) override
Set the title of the object.
Definition: Generic2D.h:159
Gaudi::Generic2D::m_yAxis
Axis m_yAxis
Y axis member.
Definition: Generic2D.h:147
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ allEntries()

template<class INTERFACE , class IMPLEMENTATION >

int Gaudi::Generic2D< 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 179 of file Generic2D.h.

179 {
180 return m_rep->GetEntries();
181 }
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ annotation() [1/2]

template<class INTERFACE, class IMPLEMENTATION>

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

Access annotation object.

Definition at line 59 of file Generic2D.h.

59 { return m_annotation; }
Gaudi::Generic2D::m_annotation
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic2D.h:149

## ◆ annotation() [2/2]

template<class INTERFACE, class IMPLEMENTATION>

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

Access annotation object (cons)

Definition at line 61 of file Generic2D.h.

61 { return m_annotation; }
Gaudi::Generic2D::m_annotation
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic2D.h:149

## ◆ binEntries() [1/3]

template<>

int Gaudi::Generic2D< AIDA::IProfile2D, TProfile2D >::binEntries | ( | int | idX,
|  | int | idY
| ) |  | const

Definition at line 33 of file P2D.cpp.

33 {
34 int rBin = m_rep->GetBin( rIndexX( idX ), rIndexY( idY ) );
35 return int( m_rep->GetBinEntries( rBin ) + 0.5 );
36 }
Gaudi::Generic2D::rIndexY
virtual int rIndexY(int index) const
operator methods
Definition: Generic2D.h:70
Gaudi::Generic2D::rIndexX
virtual int rIndexX(int index) const
operator methods
Definition: Generic2D.h:68
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ binEntries() [2/3]

template<class INTERFACE, class IMPLEMENTATION>

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

The number of entries (ie the number of times fill was called for this bin).

## ◆ binEntries() [3/3]

template<>

int Gaudi::Generic2D< IHistogram2D, TH2D >::binEntries | ( | int | indexX,
|  | int | indexY
| ) |  | const

Definition at line 107 of file H2D.cpp.

107 {
108 if ( binHeight( indexX, indexY ) <= 0 ) return 0;
109 double xx = binHeight( indexX, indexY ) / binError( indexX, indexY );
110 return int( xx * xx + 0.5 );
111 }
Gaudi::Generic2D::binError
double binError(int indexX, int indexY) const override
The error on this bin.
Definition: Generic2D.h:252
Gaudi::Generic2D::binHeight
double binHeight(int indexX, int indexY) const override
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic2D.h:233

## ◆ binEntriesX()

template<class INTERFACE , class IMPLEMENTATION >

int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binEntriesX | ( | int | indexX | ) | const
| override

Equivalent to `projectionX().binEntries(indexX)`.

Definition at line 219 of file Generic2D.h.

219 {
220 int n = 0;
221 for ( int iY = -2; iY < yAxis().bins(); ++iY ) n += binEntries( index, iY );
222 return n;
223 }
Gaudi::Generic2D::binEntries
int binEntries(int indexX, int indexY) const override
The number of entries (ie the number of times fill was called for this bin).
GaudiPluginService.cpluginsvc.n
n
Definition: cpluginsvc.py:210
Gaudi::Generic2D::yAxis
const AIDA::IAxis & yAxis() const override
Return the Y axis.
Definition: Generic2D.h:66

## ◆ binEntriesY()

template<class INTERFACE , class IMPLEMENTATION >

int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binEntriesY | ( | int | indexY | ) | const
| override

Equivalent to `projectionY().binEntries(indexY)`.

Definition at line 226 of file Generic2D.h.

226 {
227 int n = 0;
228 for ( int iX = -2; iX < xAxis().bins(); ++iX ) n += binEntries( iX, index );
229 return n;
230 }
Gaudi::Generic2D::binEntries
int binEntries(int indexX, int indexY) const override
The number of entries (ie the number of times fill was called for this bin).
GaudiPluginService.cpluginsvc.n
n
Definition: cpluginsvc.py:210
Gaudi::Generic2D::xAxis
const AIDA::IAxis & xAxis() const override
Return the X axis.
Definition: Generic2D.h:64

## ◆ binError()

template<class INTERFACE , class IMPLEMENTATION >

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

The error on this bin.

Definition at line 252 of file Generic2D.h.

252 {
253 return m_rep->GetBinError( rIndexX( indexX ), rIndexY( indexY ) );
254 }
Gaudi::Generic2D::rIndexY
virtual int rIndexY(int index) const
operator methods
Definition: Generic2D.h:70
Gaudi::Generic2D::rIndexX
virtual int rIndexX(int index) const
operator methods
Definition: Generic2D.h:68
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ binHeight()

template<class INTERFACE , class IMPLEMENTATION >

double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binHeight | ( | int | indexX,
|  | int | indexY
| ) |  | const
| override

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

Definition at line 233 of file Generic2D.h.

233 {
234 return m_rep->GetBinContent( rIndexX( indexX ), rIndexY( indexY ) );
235 }
Gaudi::Generic2D::rIndexY
virtual int rIndexY(int index) const
operator methods
Definition: Generic2D.h:70
Gaudi::Generic2D::rIndexX
virtual int rIndexX(int index) const
operator methods
Definition: Generic2D.h:68
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ binHeightX()

template<class INTERFACE , class IMPLEMENTATION >

double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binHeightX | ( | int | indexX | ) | const
| override

Equivalent to `projectionX().binHeight(indexX)`.

Definition at line 238 of file Generic2D.h.

238 {
239 double s = 0;
240 for ( int iY = -2; iY < yAxis().bins(); ++iY ) { s += binHeight( index, iY ); }
241 return s;
242 }
Gaudi::Generic2D::yAxis
const AIDA::IAxis & yAxis() const override
Return the Y axis.
Definition: Generic2D.h:66
gaudirun.s
string s
Definition: gaudirun.py:316
Gaudi::Generic2D::binHeight
double binHeight(int indexX, int indexY) const override
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic2D.h:233

## ◆ binHeightY()

template<class INTERFACE , class IMPLEMENTATION >

double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binHeightY | ( | int | indexY | ) | const
| override

Equivalent to `projectionY().binHeight(indexY)`.

Definition at line 245 of file Generic2D.h.

245 {
246 double s = 0;
247 for ( int iX = -2; iX < xAxis().bins(); ++iX ) s += binHeight( iX, index );
248 return s;
249 }
Gaudi::Generic2D::xAxis
const AIDA::IAxis & xAxis() const override
Return the X axis.
Definition: Generic2D.h:64
gaudirun.s
string s
Definition: gaudirun.py:316
Gaudi::Generic2D::binHeight
double binHeight(int indexX, int indexY) const override
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic2D.h:233

## ◆ binMeanX()

template<class INTERFACE , class IMPLEMENTATION >

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

The weighted mean along x of a given bin.

Definition at line 209 of file Generic2D.h.

209 {
210 return m_rep->GetXaxis()->GetBinCenter( rIndexX( indexX ) );
211 }
Gaudi::Generic2D::rIndexX
virtual int rIndexX(int index) const
operator methods
Definition: Generic2D.h:68
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ binMeanY()

template<class INTERFACE , class IMPLEMENTATION >

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

The weighted mean along y of a given bin.

Definition at line 214 of file Generic2D.h.

214 {
215 return m_rep->GetYaxis()->GetBinCenter( rIndexY( indexY ) );
216 }
Gaudi::Generic2D::rIndexY
virtual int rIndexY(int index) const
operator methods
Definition: Generic2D.h:70
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ binRms()

template<class INTERFACE , class IMPLEMENTATION >

double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binRms | ( | int | indexX,
|  | int | indexY
| ) |  | const
| virtual

The spread (RMS) of this bin.

Definition at line 204 of file Generic2D.h.

204 {
205 return m_rep->GetBinError( rIndexX( indexX ), rIndexY( indexY ) );
206 }
Gaudi::Generic2D::rIndexY
virtual int rIndexY(int index) const
operator methods
Definition: Generic2D.h:70
Gaudi::Generic2D::rIndexX
virtual int rIndexX(int index) const
operator methods
Definition: Generic2D.h:68
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ cast() [1/3]

template<>

void * Gaudi::Generic2D< AIDA::IProfile2D, TProfile2D >::cast | ( | const std::string & | className | ) | const

Definition at line 22 of file P2D.cpp.

22 {
23 return className == "AIDA::IProfile2D"
24 ? const_cast<AIDA::IProfile2D*>( static_cast<const AIDA::IProfile2D*>( this ) )
25 : className == "AIDA::IProfile"
26 ? const_cast<AIDA::IProfile*>( static_cast<const AIDA::IProfile*>( this ) )
27 : className == "AIDA::IBaseHistogram"
28 ? const_cast<AIDA::IBaseHistogram*>( static_cast<const AIDA::IBaseHistogram*>( this ) )
29 : nullptr;
30 }
AIDA
GaudiKernel.
Definition: Fill.h:10

## ◆ cast() [2/3]

template<>

void * Gaudi::Generic2D< IHistogram2D, TH2D >::cast | ( | const std::string & | className | ) | const

Definition at line 98 of file H2D.cpp.

98 {
99 if ( className == "AIDA::IHistogram2D" )
100 return (IHistogram2D*)this;
101 else if ( className == "AIDA::IHistogram" )
102 return (IHistogram*)this;
103 return nullptr;
104 }

## ◆ cast() [3/3]

template<class INTERFACE, class IMPLEMENTATION>

void* Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::cast | ( | const std::string & | className | ) | const
| override

Introspection method.

## ◆ coordToIndexX()

template<class INTERFACE , class IMPLEMENTATION >

int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::coordToIndexX | ( | double | coordX | ) | const
| override

Convenience method, equivalent to `xAxis().coordToIndex(coord)`.

Definition at line 277 of file Generic2D.h.

277 {
278 return xAxis().coordToIndex( coord );
279 }
Gaudi::Generic2D::xAxis
const AIDA::IAxis & xAxis() const override
Return the X axis.
Definition: Generic2D.h:64

## ◆ coordToIndexY()

template<class INTERFACE , class IMPLEMENTATION >

int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::coordToIndexY | ( | double | coordY | ) | const
| override

Convenience method, equivalent to `yAxis().coordToIndex(coord)`.

Definition at line 282 of file Generic2D.h.

282 {
283 return yAxis().coordToIndex( coord );
284 }
Gaudi::Generic2D::yAxis
const AIDA::IAxis & yAxis() const override
Return the Y axis.
Definition: Generic2D.h:66

## ◆ dimension()

template<class INTERFACE, class IMPLEMENTATION>

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

Get the Histogram's dimension.

Definition at line 135 of file Generic2D.h.

135 { return 2; }

## ◆ entries()

template<class INTERFACE , class IMPLEMENTATION >

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

Get the number or all the entries.

Definition at line 174 of file Generic2D.h.

174 {
175 return m_rep->GetEntries();
176 }
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ equivalentBinEntries()

template<class INTERFACE , class IMPLEMENTATION >

double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::equivalentBinEntries | ( |  | ) | const
| virtual

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

Definition at line 303 of file Generic2D.h.

303 {
304 if ( sumBinHeights() <= 0 ) return 0;
305 Stat_t stats[11]; // cover up to 3D...
306 m_rep->GetStats( stats );
307 return stats[0] * stats[0] / stats[1];
308 }
Gaudi::Generic2D::sumBinHeights
double sumBinHeights() const override
Get the sum of in range bin heights in the IProfile.
Definition: Generic2D.h:194
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ extraEntries()

template<class INTERFACE , class IMPLEMENTATION >

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

Get the number of entries in the underflow and overflow bins.

Definition at line 295 of file Generic2D.h.

295 {
296 return binEntries( AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN ) +
297 binEntries( AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN ) +
298 binEntries( AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN ) +
299 binEntries( AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN );
300 }
Gaudi::Generic2D::binEntries
int binEntries(int indexX, int indexY) const override
The number of entries (ie the number of times fill was called for this bin).

## ◆ maxBinHeight()

template<class INTERFACE , class IMPLEMENTATION >

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

Get the maximum height of the in-range bins.

Definition at line 189 of file Generic2D.h.

189 {
190 return m_rep->GetMaximum();
191 }
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ meanX()

template<class INTERFACE , class IMPLEMENTATION >

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

Returns the mean of the profile, as calculated on filling-time projected on the X axis.

Definition at line 257 of file Generic2D.h.

257 {
258 return m_rep->GetMean( 1 );
259 }
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ meanY()

template<class INTERFACE , class IMPLEMENTATION >

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

Returns the mean of the profile, as calculated on filling-time projected on the Y axis.

Definition at line 262 of file Generic2D.h.

262 {
263 return m_rep->GetMean( 2 );
264 }
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ minBinHeight()

template<class INTERFACE , class IMPLEMENTATION >

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

Get the minimum height of the in-range bins.

Definition at line 184 of file Generic2D.h.

184 {
185 return m_rep->GetMinimum();
186 }
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ name()

template<class INTERFACE, class IMPLEMENTATION>

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

object name

Definition at line 55 of file Generic2D.h.

55 { return m_annotation.value( "Name" ); }
Gaudi::Generic2D::m_annotation
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic2D.h:149
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::Generic2D< 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 324 of file Generic2D.h.

324 {
326 m_rep->Print( "all" );
327 return s;
328 }
gaudirun.s
string s
Definition: gaudirun.py:316
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ representation()

template<class INTERFACE, class IMPLEMENTATION>

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

ROOT object implementation.

Implements Gaudi::HistogramBase.

Definition at line 47 of file Generic2D.h.

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

## ◆ reset()

template<class INTERFACE , class IMPLEMENTATION >

bool Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::reset | ( |  | ) |
| override

Definition at line 317 of file Generic2D.h.

317 {
318 m_sumEntries = 0;
319 m_rep->Reset();
320 return true;
321 }
Gaudi::Generic2D::m_sumEntries
int m_sumEntries
cache sumEntries (allEntries) when setting contents since Root can't compute by himself
Definition: Generic2D.h:155
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ rIndexX()

template<class INTERFACE, class IMPLEMENTATION>

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

operator methods

Definition at line 68 of file Generic2D.h.

68 { return m_xAxis.rIndex( index ); }
Gaudi::Generic2D::m_xAxis
Axis m_xAxis
X axis member.
Definition: Generic2D.h:145
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<class INTERFACE, class IMPLEMENTATION>

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

operator methods

Definition at line 70 of file Generic2D.h.

70 { return m_yAxis.rIndex( index ); }
Gaudi::Generic2D::m_yAxis
Axis m_yAxis
Y axis member.
Definition: Generic2D.h:147
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<class INTERFACE , class IMPLEMENTATION >

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

Returns the rms of the profile as calculated on filling-time projected on the X axis.

Definition at line 267 of file Generic2D.h.

267 {
268 return m_rep->GetRMS( 1 );
269 }
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ rmsY()

template<class INTERFACE , class IMPLEMENTATION >

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

Returns the rms of the profile as calculated on filling-time projected on the Y axis.

Definition at line 272 of file Generic2D.h.

272 {
273 return m_rep->GetRMS( 2 );
274 }
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ scale()

template<class INTERFACE , class IMPLEMENTATION >

bool Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::scale | ( | double | scaleFactor | ) |
| virtual

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 311 of file Generic2D.h.

311 {
312 m_rep->Scale( scaleFactor );
313 return true;
314 }
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ setName()

template<class INTERFACE , class IMPLEMENTATION >

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

Set the name of the object.

Definition at line 167 of file Generic2D.h.

167 {
168 m_rep->SetName( newName.c_str() );
169 m_annotation.setValue( "Name", newName );
170 return true;
171 }
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::Generic2D::m_annotation
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic2D.h:149
std::string::c_str
T c_str(T... args)
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ setTitle()

template<class INTERFACE , class IMPLEMENTATION >

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

Set the title of the object.

Definition at line 159 of file Generic2D.h.

159 {
160 m_rep->SetTitle( title.c_str() );
161 if ( !annotation().addItem( "Title", title ) ) m_annotation.setValue( "Title", title );
162 if ( !annotation().addItem( "title", title ) ) annotation().setValue( "title", title );
163 return true;
164 }
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::Generic2D::annotation
AIDA::IAnnotation & annotation() override
Access annotation object.
Definition: Generic2D.h:59
Gaudi::Generic2D::title
std::string title() const override
Get the title of the object.
Definition: Generic2D.h:51
Gaudi::Generic2D::m_annotation
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic2D.h:149
std::string::c_str
T c_str(T... args)
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ sumAllBinHeights()

template<class INTERFACE , class IMPLEMENTATION >

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

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

Definition at line 199 of file Generic2D.h.

199 {
200 return m_rep->GetSum();
201 }
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ sumBinHeights()

template<class INTERFACE , class IMPLEMENTATION >

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

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

Definition at line 194 of file Generic2D.h.

194 {
195 return m_rep->GetSumOfWeights();
196 }
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ sumExtraBinHeights()

template<class INTERFACE, class IMPLEMENTATION>

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

Get the sum of the underflow and overflow bin height.

Definition at line 83 of file Generic2D.h.

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

## ◆ title()

template<class INTERFACE, class IMPLEMENTATION>

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

Get the title of the object.

Definition at line 51 of file Generic2D.h.

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

## ◆ userLevelClassType()

template<class INTERFACE, class IMPLEMENTATION>

const std::string& Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::userLevelClassType | ( |  | ) | const
| inline

The AIDA user-level unterface leaf class type.

Definition at line 133 of file Generic2D.h.

133 { return m_classType; }
Gaudi::Generic2D::m_classType
std::string m_classType
class type
Definition: Generic2D.h:153

## ◆ write() [1/2]

template<class INTERFACE , class IMPLEMENTATION >

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

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

Implements Gaudi::HistogramBase.

Definition at line 332 of file Generic2D.h.

332 {
333 s << std::endl << "2D Histogram Table: " << std::endl;
334 s << "BinX, BinY, Height, Error " << std::endl;
335 for ( int i = 0; i < xAxis().bins(); ++i ) {
336 for ( int j = 0; j < yAxis().bins(); ++j ) {
337 s << binMeanX( i, j ) << ", " << binMeanY( i, j ) << ", " << binHeight( i, j ) << ", " << binError( i, j )
338 << std::endl;
339 }
340 }
341 s << std::endl;
342 return s;
343 }
Gaudi::Generic2D::binMeanX
double binMeanX(int indexX, int indexY) const override
The weighted mean along x of a given bin.
Definition: Generic2D.h:209
std::endl
T endl(T... args)
Gaudi::Generic2D::yAxis
const AIDA::IAxis & yAxis() const override
Return the Y axis.
Definition: Generic2D.h:66
Gaudi::Generic2D::xAxis
const AIDA::IAxis & xAxis() const override
Return the X axis.
Definition: Generic2D.h:64
Gaudi::Generic2D::binError
double binError(int indexX, int indexY) const override
The error on this bin.
Definition: Generic2D.h:252
gaudirun.s
string s
Definition: gaudirun.py:316
Gaudi::Generic2D::binMeanY
double binMeanY(int indexX, int indexY) const override
The weighted mean along y of a given bin.
Definition: Generic2D.h:214
Gaudi::Generic2D::binHeight
double binHeight(int indexX, int indexY) const override
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic2D.h:233

## ◆ write() [2/2]

template<class INTERFACE , class IMPLEMENTATION >

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

Write (ASCII) the histogram table into a file.

Implements Gaudi::HistogramBase.

Definition at line 347 of file Generic2D.h.

347 {
348 TFile* f = TFile::Open( file_name, "RECREATE" );
349 Int_t nbytes = m_rep->Write();
350 f->Close();
351 return nbytes;
352 }
Gaudi::Generic2D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:151

## ◆ xAxis()

template<class INTERFACE, class IMPLEMENTATION>

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

Return the X axis.

Definition at line 64 of file Generic2D.h.

64 { return m_xAxis; }
Gaudi::Generic2D::m_xAxis
Axis m_xAxis
X axis member.
Definition: Generic2D.h:145

## ◆ yAxis()

template<class INTERFACE, class IMPLEMENTATION>

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

Return the Y axis.

Definition at line 66 of file Generic2D.h.

66 { return m_yAxis; }
Gaudi::Generic2D::m_yAxis
Axis m_yAxis
Y axis member.
Definition: Generic2D.h:147

## Member Data Documentation

## ◆ m_annotation

template<class INTERFACE, class IMPLEMENTATION>

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

Object annotations.

Definition at line 149 of file Generic2D.h.

## ◆ m_classType

template<class INTERFACE, class IMPLEMENTATION>

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

class type

Definition at line 153 of file Generic2D.h.

## ◆ m_rep

template<class INTERFACE, class IMPLEMENTATION>

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

Reference to underlying implementation.

Definition at line 151 of file Generic2D.h.

## ◆ m_sumEntries

template<class INTERFACE, class IMPLEMENTATION>

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

cache sumEntries (allEntries) when setting contents since Root can't compute by himself

Definition at line 155 of file Generic2D.h.

## ◆ m_xAxis

template<class INTERFACE, class IMPLEMENTATION>

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

X axis member.

Definition at line 145 of file Generic2D.h.

## ◆ m_yAxis

template<class INTERFACE, class IMPLEMENTATION>

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

Y axis member.

Definition at line 147 of file Generic2D.h.

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

- GaudiCommonSvc/GaudiCommonSvc/Generic2D.h