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 >:
Collaboration diagram for Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >:

Public Types

typedef Generic2D< INTERFACE, IMPLEMENTATION > Base
 

Public Member Functions

 Generic2D ()=default
 
 ~Generic2D () override=default
 Destructor. More...
 
TObject * representation () const override
 ROOT object implementation. More...
 
void adoptRepresentation (TObject *rep) override
 Adopt ROOT histogram representation. More...
 
virtual std::string title () const
 Get the title of the object. More...
 
virtual bool setTitle (const std::string &title)
 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...
 
virtual AIDA::IAnnotation & annotation ()
 Access annotation object. More...
 
virtual const AIDA::IAnnotation & annotation () const
 Access annotation object (cons) More...
 
virtual const AIDA::IAxis & xAxis () const
 Return the X axis. More...
 
virtual const AIDA::IAxis & yAxis () const
 Return the Y axis. More...
 
virtual int rIndexX (int index) const
 operator methods More...
 
virtual int rIndexY (int index) const
 operator methods More...
 
virtual int entries () const
 Get the number or all the entries. More...
 
virtual int allEntries () const
 Get the number or all the entries, both in range and underflow/overflow bins of the IProfile. More...
 
virtual int extraEntries () const
 Get the number of entries in the underflow and overflow bins. More...
 
virtual double sumBinHeights () const
 Get the sum of in range bin heights in the IProfile. More...
 
virtual double sumAllBinHeights () const
 Get the sum of all the bins heights (including underflow and overflow bin). More...
 
virtual double sumExtraBinHeights () const
 Get the sum of the underflow and overflow bin height. More...
 
virtual double minBinHeight () const
 Get the minimum height of the in-range bins. More...
 
virtual double maxBinHeight () const
 Get the maximum height of the in-range bins. More...
 
virtual double binMeanX (int indexX, int indexY) const
 The weighted mean along x of a given bin. More...
 
virtual double binMeanY (int indexX, int indexY) const
 The weighted mean along y of a given bin. More...
 
virtual int binEntries (int indexX, int indexY) const
 The number of entries (ie the number of times fill was called for this bin). More...
 
virtual int binEntriesX (int indexX) const
 Equivalent to projectionX().binEntries(indexX). More...
 
virtual int binEntriesY (int indexY) const
 Equivalent to projectionY().binEntries(indexY). More...
 
virtual double binHeight (int indexX, int indexY) const
 Total height of the corresponding bin (ie the sum of the weights in this bin). More...
 
virtual double binHeightX (int indexX) const
 Equivalent to projectionX().binHeight(indexX). More...
 
virtual double binHeightY (int indexY) const
 Equivalent to projectionY().binHeight(indexY). More...
 
virtual double binError (int indexX, int indexY) const
 The error on this bin. More...
 
virtual double binRms (int indexX, int indexY) const
 The spread (RMS) of this bin. More...
 
virtual double meanX () const
 Returns the mean of the profile, as calculated on filling-time projected on the X axis. More...
 
virtual double meanY () const
 Returns the mean of the profile, as calculated on filling-time projected on the Y axis. More...
 
virtual double rmsX () const
 Returns the rms of the profile as calculated on filling-time projected on the X axis. More...
 
virtual double rmsY () const
 Returns the rms of the profile as calculated on filling-time projected on the Y axis. More...
 
virtual int coordToIndexX (double coordX) const
 Convenience method, equivalent to xAxis().coordToIndex(coord). More...
 
virtual int coordToIndexY (double coordY) const
 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...
 
virtual bool add (const INTERFACE &h)
 Modifies this profile by adding the contents of profile to it. More...
 
bool reset ()
 
void * cast (const std::string &className) const
 Introspection method. More...
 
const std::string & userLevelClassType () const
 The AIDA user-level unterface leaf class type. More...
 
virtual int dimension () const
 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
 
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 31 of file Generic2D.h.

Member Typedef Documentation

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

Definition at line 33 of file Generic2D.h.

Constructor & Destructor Documentation

template<class INTERFACE, class IMPLEMENTATION>
Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::Generic2D ( )
default
template<class INTERFACE, class IMPLEMENTATION>
Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::Generic2D ( IMPLEMENTATION *  p)
inlineprotected

constructor

Definition at line 38 of file Generic2D.h.

38 : m_rep(p) { }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE, class IMPLEMENTATION>
Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::~Generic2D ( )
overridedefault

Destructor.

Member Function Documentation

template<class INTERFACE, class IMPLEMENTATION >
bool Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::add ( const INTERFACE &  h)
virtual

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

Definition at line 289 of file Generic2D.h.

289  {
290  const Base* p = dynamic_cast<const Base*>(&hist);
291  if ( !p ) throw std::runtime_error("Cannot add profile histograms of different implementations.");
292  m_rep->Add(p->m_rep.get());
293  return true;
294  }
Generic2D< INTERFACE, IMPLEMENTATION > Base
Definition: Generic2D.h:33
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE, class IMPLEMENTATION>
void Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::adoptRepresentation ( TObject *  rep)
overridevirtual

Adopt ROOT histogram representation.

Implements Gaudi::HistogramBase.

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

Adopt ROOT histogram representation.

Implements Gaudi::HistogramBase.

Definition at line 70 of file P2D.cpp.

70  {
71  TProfile2D* imp = dynamic_cast<TProfile2D*>(rep);
72  if ( !imp ) throw std::runtime_error("Cannot adopt native histogram representation.");
73  m_rep.reset( imp );
74  m_xAxis.initialize(m_rep->GetXaxis(),true);
75  m_yAxis.initialize(m_rep->GetYaxis(),true);
76  setTitle(m_rep->GetTitle());
77  }
virtual bool setTitle(const std::string &title)
Set the title of the object.
Definition: Generic2D.h:154
Axis m_xAxis
X axis member.
Definition: Generic2D.h:140
void initialize(TAxis *itaxi, bool)
Definition: Axis.h:71
Axis m_yAxis
Y axis member.
Definition: Generic2D.h:142
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<>
void Gaudi::Generic2D< AIDA::IHistogram2D, TH2D >::adoptRepresentation ( TObject *  rep)
virtual

Adopt ROOT histogram representation.

Implements Gaudi::HistogramBase.

Definition at line 104 of file H2D.cpp.

104  {
105  TH2D* imp = dynamic_cast<TH2D*>(rep);
106  if ( !imp ) throw std::runtime_error("Cannot adopt native histogram representation.");
107  m_rep.reset( imp );
108  m_xAxis.initialize(m_rep->GetXaxis(),true);
109  m_yAxis.initialize(m_rep->GetYaxis(),true);
110  const TArrayD* a = m_rep->GetSumw2();
111  if ( !a || (a && a->GetSize()==0) ) m_rep->Sumw2();
112  setTitle(m_rep->GetTitle());
113  }
virtual bool setTitle(const std::string &title)
Set the title of the object.
Definition: Generic2D.h:154
Axis m_xAxis
X axis member.
Definition: Generic2D.h:140
void initialize(TAxis *itaxi, bool)
Definition: Axis.h:71
Axis m_yAxis
Y axis member.
Definition: Generic2D.h:142
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE , class IMPLEMENTATION >
int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::allEntries ( ) const
virtual

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

Definition at line 176 of file Generic2D.h.

176  {
177  return m_rep->GetEntries();
178  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE, class IMPLEMENTATION>
virtual AIDA::IAnnotation& Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::annotation ( )
inlinevirtual

Access annotation object.

Definition at line 55 of file Generic2D.h.

55 { return m_annotation; }
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic2D.h:144
template<class INTERFACE, class IMPLEMENTATION>
virtual const AIDA::IAnnotation& Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::annotation ( ) const
inlinevirtual

Access annotation object (cons)

Definition at line 57 of file Generic2D.h.

57 { return m_annotation; }
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic2D.h:144
template<>
int Gaudi::Generic2D< AIDA::IProfile2D, TProfile2D >::binEntries ( int  idX,
int  idY 
) const

Definition at line 64 of file P2D.cpp.

64  {
65  int rBin = m_rep->GetBin(rIndexX(idX),rIndexY(idY));
66  return int(m_rep->GetBinEntries(rBin)+0.5);
67  }
virtual int rIndexX(int index) const
operator methods
Definition: Generic2D.h:64
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
virtual int rIndexY(int index) const
operator methods
Definition: Generic2D.h:66
template<class INTERFACE, class IMPLEMENTATION>
virtual int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binEntries ( int  indexX,
int  indexY 
) const
virtual

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

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

Definition at line 97 of file H2D.cpp.

97  {
98  if (binHeight(indexX, indexY)<=0) return 0;
99  double xx = binHeight(indexX, indexY)/binError(indexX, indexY);
100  return int(xx*xx+0.5);
101  }
virtual double binError(int indexX, int indexY) const
The error on this bin.
Definition: Generic2D.h:254
virtual double binHeight(int indexX, int indexY) const
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic2D.h:232
template<class INTERFACE , class IMPLEMENTATION >
int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binEntriesX ( int  indexX) const
virtual

Equivalent to projectionX().binEntries(indexX).

Definition at line 216 of file Generic2D.h.

216  {
217  int n = 0;
218  for (int iY = -2; iY < yAxis().bins(); ++iY)
219  n += binEntries(index,iY);
220  return n;
221  }
virtual int binEntries(int indexX, int indexY) const
The number of entries (ie the number of times fill was called for this bin).
virtual const AIDA::IAxis & yAxis() const
Return the Y axis.
Definition: Generic2D.h:62
template<class INTERFACE , class IMPLEMENTATION >
int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binEntriesY ( int  indexY) const
virtual

Equivalent to projectionY().binEntries(indexY).

Definition at line 224 of file Generic2D.h.

224  {
225  int n = 0;
226  for (int iX = -2; iX < xAxis().bins(); ++iX)
227  n += binEntries(iX,index);
228  return n;
229  }
virtual int binEntries(int indexX, int indexY) const
The number of entries (ie the number of times fill was called for this bin).
virtual const AIDA::IAxis & xAxis() const
Return the X axis.
Definition: Generic2D.h:60
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binError ( int  indexX,
int  indexY 
) const
virtual

The error on this bin.

Definition at line 254 of file Generic2D.h.

254  {
255  return m_rep->GetBinError ( rIndexX(indexX), rIndexY(indexY ) );
256  }
virtual int rIndexX(int index) const
operator methods
Definition: Generic2D.h:64
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
virtual int rIndexY(int index) const
operator methods
Definition: Generic2D.h:66
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binHeight ( int  indexX,
int  indexY 
) const
virtual

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

Definition at line 232 of file Generic2D.h.

232  {
233  return m_rep->GetBinContent ( rIndexX(indexX), rIndexY(indexY) );
234  }
virtual int rIndexX(int index) const
operator methods
Definition: Generic2D.h:64
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
virtual int rIndexY(int index) const
operator methods
Definition: Generic2D.h:66
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binHeightX ( int  indexX) const
virtual

Equivalent to projectionX().binHeight(indexX).

Definition at line 237 of file Generic2D.h.

237  {
238  double s = 0;
239  for (int iY = -2; iY < yAxis().bins(); ++iY) {
240  s += binHeight(index,iY);
241  }
242  return s;
243  }
virtual double binHeight(int indexX, int indexY) const
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic2D.h:232
string s
Definition: gaudirun.py:246
virtual const AIDA::IAxis & yAxis() const
Return the Y axis.
Definition: Generic2D.h:62
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binHeightY ( int  indexY) const
virtual

Equivalent to projectionY().binHeight(indexY).

Definition at line 246 of file Generic2D.h.

246  {
247  double s = 0;
248  for (int iX = -2; iX < xAxis().bins(); ++iX)
249  s += binHeight(iX,index);
250  return s;
251  }
virtual double binHeight(int indexX, int indexY) const
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic2D.h:232
string s
Definition: gaudirun.py:246
virtual const AIDA::IAxis & xAxis() const
Return the X axis.
Definition: Generic2D.h:60
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binMeanX ( int  indexX,
int  indexY 
) const
virtual

The weighted mean along x of a given bin.

Definition at line 206 of file Generic2D.h.

206  {
207  return m_rep->GetXaxis()->GetBinCenter( rIndexX(indexX) );
208  }
virtual int rIndexX(int index) const
operator methods
Definition: Generic2D.h:64
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::binMeanY ( int  indexX,
int  indexY 
) const
virtual

The weighted mean along y of a given bin.

Definition at line 211 of file Generic2D.h.

211  {
212  return m_rep->GetYaxis()->GetBinCenter( rIndexY(indexY) );
213  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
virtual int rIndexY(int index) const
operator methods
Definition: Generic2D.h:66
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 201 of file Generic2D.h.

201  {
202  return m_rep->GetBinError ( rIndexX(indexX), rIndexY(indexY) );
203  }
virtual int rIndexX(int index) const
operator methods
Definition: Generic2D.h:64
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
virtual int rIndexY(int index) const
operator methods
Definition: Generic2D.h:66
template<>
void * Gaudi::Generic2D< AIDA::IProfile2D, TProfile2D >::cast ( const std::string &  className) const

Definition at line 53 of file P2D.cpp.

53  {
54  if (className == "AIDA::IProfile2D")
55  return const_cast<AIDA::IProfile2D*>((AIDA::IProfile2D*)this);
56  else if (className == "AIDA::IProfile")
57  return const_cast<AIDA::IProfile*>((AIDA::IProfile*)this);
58  else if (className == "AIDA::IBaseHistogram")
59  return const_cast<AIDA::IBaseHistogram*>((AIDA::IBaseHistogram*)this);
60  return nullptr;
61  }
template<>
void * Gaudi::Generic2D< IHistogram2D, TH2D >::cast ( const std::string &  className) const

Definition at line 88 of file H2D.cpp.

88  {
89  if (className == "AIDA::IHistogram2D")
90  return (IHistogram2D*)this;
91  else if (className == "AIDA::IHistogram")
92  return (IHistogram*)this;
93  return nullptr;
94  }
template<class INTERFACE, class IMPLEMENTATION>
void* Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::cast ( const std::string &  className) const

Introspection method.

template<class INTERFACE , class IMPLEMENTATION >
int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::coordToIndexX ( double  coordX) const
virtual

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

Definition at line 279 of file Generic2D.h.

279  {
280  return xAxis().coordToIndex(coord);
281  }
virtual const AIDA::IAxis & xAxis() const
Return the X axis.
Definition: Generic2D.h:60
template<class INTERFACE , class IMPLEMENTATION >
int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::coordToIndexY ( double  coordY) const
virtual

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

Definition at line 284 of file Generic2D.h.

284  {
285  return yAxis().coordToIndex(coord);
286  }
virtual const AIDA::IAxis & yAxis() const
Return the Y axis.
Definition: Generic2D.h:62
template<class INTERFACE, class IMPLEMENTATION>
virtual int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::dimension ( ) const
inlinevirtual

Get the Histogram's dimension.

Definition at line 130 of file Generic2D.h.

130 { return 2; }
template<class INTERFACE , class IMPLEMENTATION >
int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::entries ( ) const
virtual

Get the number or all the entries.

Definition at line 171 of file Generic2D.h.

171  {
172  return m_rep->GetEntries();
173  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
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 306 of file Generic2D.h.

306  {
307  if (sumBinHeights() <= 0) return 0;
308  Stat_t stats[11]; // cover up to 3D...
309  m_rep->GetStats(stats);
310  return stats[0]*stats[0]/stats[1];
311  }
virtual double sumBinHeights() const
Get the sum of in range bin heights in the IProfile.
Definition: Generic2D.h:191
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE , class IMPLEMENTATION >
int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::extraEntries ( ) const
virtual

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

Definition at line 297 of file Generic2D.h.

297  {
298  return
299  binEntries(AIDA::IAxis::UNDERFLOW_BIN,AIDA::IAxis::UNDERFLOW_BIN) +
300  binEntries(AIDA::IAxis::UNDERFLOW_BIN,AIDA::IAxis::OVERFLOW_BIN) +
301  binEntries(AIDA::IAxis::OVERFLOW_BIN,AIDA::IAxis::UNDERFLOW_BIN) +
302  binEntries(AIDA::IAxis::OVERFLOW_BIN,AIDA::IAxis::OVERFLOW_BIN);
303  }
virtual int binEntries(int indexX, int indexY) const
The number of entries (ie the number of times fill was called for this bin).
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::maxBinHeight ( ) const
virtual

Get the maximum height of the in-range bins.

Definition at line 186 of file Generic2D.h.

186  {
187  return m_rep->GetMaximum();
188  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::meanX ( ) const
virtual

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

Definition at line 259 of file Generic2D.h.

259  {
260  return m_rep->GetMean(1);
261  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::meanY ( ) const
virtual

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

Definition at line 264 of file Generic2D.h.

264  {
265  return m_rep->GetMean(2);
266  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::minBinHeight ( ) const
virtual

Get the minimum height of the in-range bins.

Definition at line 181 of file Generic2D.h.

181  {
182  return m_rep->GetMinimum();
183  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE, class IMPLEMENTATION>
std::string Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::name ( ) const
inline

object name

Definition at line 51 of file Generic2D.h.

51 { return m_annotation.value("Name"); }
std::string value(const std::string &key) const
Retrieve the value for a given key.
Definition: Annotation.h:114
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic2D.h:144
template<class INTERFACE , class IMPLEMENTATION >
std::ostream & Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::print ( std::ostream &  s) const
overridevirtual

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

328  {
330  m_rep->Print("all");
331  return s;
332  }
string s
Definition: gaudirun.py:246
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE, class IMPLEMENTATION>
TObject* Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::representation ( ) const
inlineoverridevirtual

ROOT object implementation.

Implements Gaudi::HistogramBase.

Definition at line 43 of file Generic2D.h.

43 { return m_rep.get(); }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE , class IMPLEMENTATION >
bool Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::reset ( )

Definition at line 320 of file Generic2D.h.

320  {
321  m_sumEntries = 0;
322  m_rep->Reset ( );
323  return true;
324  }
int m_sumEntries
cache sumEntries (allEntries) when setting contents since Root can't compute by himself ...
Definition: Generic2D.h:150
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE, class IMPLEMENTATION>
virtual int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::rIndexX ( int  index) const
inlinevirtual

operator methods

Definition at line 64 of file Generic2D.h.

64 { return m_xAxis.rIndex(index); }
Axis m_xAxis
X axis member.
Definition: Generic2D.h:140
int rIndex(int index) const
Convert a AIDA bin number on the axis to the ROOT bin number.
Definition: Axis.h:55
template<class INTERFACE, class IMPLEMENTATION>
virtual int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::rIndexY ( int  index) const
inlinevirtual

operator methods

Definition at line 66 of file Generic2D.h.

66 { return m_yAxis.rIndex(index); }
Axis m_yAxis
Y axis member.
Definition: Generic2D.h:142
int rIndex(int index) const
Convert a AIDA bin number on the axis to the ROOT bin number.
Definition: Axis.h:55
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::rmsX ( ) const
virtual

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

Definition at line 269 of file Generic2D.h.

269  {
270  return m_rep->GetRMS(1);
271  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::rmsY ( ) const
virtual

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

Definition at line 274 of file Generic2D.h.

274  {
275  return m_rep->GetRMS(2);
276  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
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 314 of file Generic2D.h.

314  {
315  m_rep->Scale ( scaleFactor );
316  return true;
317  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE , class IMPLEMENTATION >
bool Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::setName ( const std::string &  newName)

Set the name of the object.

Definition at line 164 of file Generic2D.h.

164  {
165  m_rep->SetName(newName.c_str());
166  m_annotation.setValue( "Name", newName );
167  return true;
168  }
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic2D.h:144
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
void setValue(const std::string &key, const std::string &value)
Set value for a given key.
Definition: Annotation.h:121
template<class INTERFACE , class IMPLEMENTATION >
bool Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::setTitle ( const std::string &  title)
virtual

Set the title of the object.

Definition at line 154 of file Generic2D.h.

154  {
155  m_rep->SetTitle(title.c_str());
156  if ( !annotation().addItem( "Title", title ) )
157  m_annotation.setValue( "Title" , title );
158  if ( !annotation().addItem( "title", title ) )
159  annotation().setValue( "title", title );
160  return true;
161  }
virtual AIDA::IAnnotation & annotation()
Access annotation object.
Definition: Generic2D.h:55
virtual std::string title() const
Get the title of the object.
Definition: Generic2D.h:47
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic2D.h:144
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
void setValue(const std::string &key, const std::string &value)
Set value for a given key.
Definition: Annotation.h:121
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::sumAllBinHeights ( ) const
virtual

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

Definition at line 196 of file Generic2D.h.

196  {
197  return m_rep->GetSum();
198  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::sumBinHeights ( ) const
virtual

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

Definition at line 191 of file Generic2D.h.

191  {
192  return m_rep->GetSumOfWeights();
193  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE, class IMPLEMENTATION>
virtual double Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::sumExtraBinHeights ( ) const
inlinevirtual

Get the sum of the underflow and overflow bin height.

Definition at line 79 of file Generic2D.h.

79 { return sumAllBinHeights()-sumBinHeights(); }
virtual double sumBinHeights() const
Get the sum of in range bin heights in the IProfile.
Definition: Generic2D.h:191
virtual double sumAllBinHeights() const
Get the sum of all the bins heights (including underflow and overflow bin).
Definition: Generic2D.h:196
template<class INTERFACE, class IMPLEMENTATION>
virtual std::string Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::title ( ) const
inlinevirtual

Get the title of the object.

Definition at line 47 of file Generic2D.h.

47 { return m_annotation.value( "Title" ); }
std::string value(const std::string &key) const
Retrieve the value for a given key.
Definition: Annotation.h:114
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic2D.h:144
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 128 of file Generic2D.h.

128 { return m_classType; }
std::string m_classType
class type
Definition: Generic2D.h:148
template<class INTERFACE , class IMPLEMENTATION >
std::ostream & Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::write ( std::ostream &  s) const
overridevirtual

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

Implements Gaudi::HistogramBase.

Definition at line 336 of file Generic2D.h.

337  {
338  s << std::endl << "2D Histogram Table: " << std::endl;
339  s << "BinX, BinY, Height, Error " << std::endl;
340  for ( int i = 0; i < xAxis().bins(); ++i ) {
341  for ( int j = 0; j < yAxis().bins(); ++j ) {
342  s << binMeanX( i, j ) << ", "
343  << binMeanY( i, j ) << ", "
344  << binHeight( i, j ) << ", "
345  << binError ( i, j ) << std::endl;
346  }
347  }
348  s << std::endl;
349  return s;
350  }
virtual double binMeanX(int indexX, int indexY) const
The weighted mean along x of a given bin.
Definition: Generic2D.h:206
virtual double binError(int indexX, int indexY) const
The error on this bin.
Definition: Generic2D.h:254
virtual double binHeight(int indexX, int indexY) const
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic2D.h:232
string s
Definition: gaudirun.py:246
virtual const AIDA::IAxis & yAxis() const
Return the Y axis.
Definition: Generic2D.h:62
virtual double binMeanY(int indexX, int indexY) const
The weighted mean along y of a given bin.
Definition: Generic2D.h:211
list i
Definition: ana.py:128
virtual const AIDA::IAxis & xAxis() const
Return the X axis.
Definition: Generic2D.h:60
template<class INTERFACE , class IMPLEMENTATION >
int Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::write ( const char *  file_name) const
overridevirtual

Write (ASCII) the histogram table into a file.

Implements Gaudi::HistogramBase.

Definition at line 354 of file Generic2D.h.

355  {
356  TFile *f = TFile::Open(file_name,"RECREATE");
357  Int_t nbytes = m_rep->Write();
358  f->Close();
359  return nbytes;
360  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic2D.h:146
template<class INTERFACE, class IMPLEMENTATION>
virtual const AIDA::IAxis& Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::xAxis ( ) const
inlinevirtual

Return the X axis.

Definition at line 60 of file Generic2D.h.

60 { return m_xAxis; }
Axis m_xAxis
X axis member.
Definition: Generic2D.h:140
template<class INTERFACE, class IMPLEMENTATION>
virtual const AIDA::IAxis& Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::yAxis ( ) const
inlinevirtual

Return the Y axis.

Definition at line 62 of file Generic2D.h.

62 { return m_yAxis; }
Axis m_yAxis
Y axis member.
Definition: Generic2D.h:142

Member Data Documentation

template<class INTERFACE, class IMPLEMENTATION>
AIDA::Annotation Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::m_annotation
mutableprotected

Object annotations.

Definition at line 144 of file Generic2D.h.

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

class type

Definition at line 148 of file Generic2D.h.

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

Reference to underlying implementation.

Definition at line 146 of file Generic2D.h.

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

template<class INTERFACE, class IMPLEMENTATION>
Axis Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::m_xAxis
protected

X axis member.

Definition at line 140 of file Generic2D.h.

template<class INTERFACE, class IMPLEMENTATION>
Axis Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::m_yAxis
protected

Y axis member.

Definition at line 142 of file Generic2D.h.


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