Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v36r16 (ea80daf8)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
HistoDecorator.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 // ============================================================================
12 #ifndef GAUDIPYTHON_HISTODECORATOR_H
13 #define GAUDIPYTHON_HISTODECORATOR_H 1
14 // ============================================================================
15 // Include files
16 // ============================================================================
17 // GaudiAlg
18 // ============================================================================
19 #include "GaudiAlg/GaudiHistoAlg.h"
20 // ============================================================================
21 // GaudiPython
22 // ============================================================================
24 #include "GaudiPython/Vector.h"
25 // ============================================================================
26 struct GaudiHistoTool;
27 // ============================================================================
28 namespace GaudiPython {
36  public:
37  // ========================================================================
44  // ========================================================================
45  public:
46  // ========================================================================
56  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const double data, const std::string& title,
57  const double low, const double high, const unsigned long bins = 100 );
58  // ========================================================================
69  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const double data, const GaudiAlg::HistoID& ID,
70  const std::string& title, const double low, const double high,
71  const unsigned long bins = 100 );
72  // ========================================================================
83  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const double data, const long ID,
84  const std::string& title, const double low, const double high,
85  const unsigned long bins = 100 );
86  // ========================================================================
97  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const double data, const std::string& ID,
98  const std::string& title, const double low, const double high,
99  const unsigned long bins = 100 );
100  // ========================================================================
110  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
111  const std::string& title, const double low, const double high,
112  const unsigned long bins = 100 );
113  // ========================================================================
124  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
125  const GaudiAlg::HistoID& ID, const std::string& title, const double low,
126  const double high, const unsigned long bins = 100 );
127  // ========================================================================
138  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data, const long ID,
139  const std::string& title, const double low, const double high,
140  const unsigned long bins = 100 );
141  // ========================================================================
152  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
153  const std::string& ID, const std::string& title, const double low,
154  const double high, const unsigned long bins = 100 );
155  // ========================================================================
169  static AIDA::IHistogram2D* plot2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
170  const std::string& title, const double lowX, const double highX,
171  const double lowY, const double highY, const unsigned long binsX = 50,
172  const unsigned long binsY = 50, const double weight = 1.0 );
173  // ========================================================================
188  static AIDA::IHistogram2D* plot2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
189  const GaudiAlg::HistoID& ID, const std::string& title, const double lowX,
190  const double highX, const double lowY, const double highY,
191  const unsigned long binsX = 50, const unsigned long binsY = 50,
192  const double weight = 1.0 );
193  // ========================================================================
208  static AIDA::IHistogram2D* plot2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
209  const long ID, const std::string& title, const double lowX, const double highX,
210  const double lowY, const double highY, const unsigned long binsX = 50,
211  const unsigned long binsY = 50, const double weight = 1.0 );
212  // ========================================================================
227  static AIDA::IHistogram2D* plot2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
228  const std::string& ID, const std::string& title, const double lowX,
229  const double highX, const double lowY, const double highY,
230  const unsigned long binsX = 50, const unsigned long binsY = 50,
231  const double weight = 1.0 );
232  // ========================================================================
250  static AIDA::IHistogram3D* plot3D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
251  const double valueZ, const std::string& title, const double lowX,
252  const double highX, const double lowY, const double highY, const double lowZ,
253  const double highZ, const unsigned long binsX = 10,
254  const unsigned long binsY = 10, const unsigned long binsZ = 10,
255  const double weight = 1.0 );
256  // ========================================================================
275  static AIDA::IHistogram3D* plot3D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
276  const double valueZ, const GaudiAlg::HistoID& ID, const std::string& title,
277  const double lowX, const double highX, const double lowY, const double highY,
278  const double lowZ, const double highZ, const unsigned long binsX = 10,
279  const unsigned long binsY = 10, const unsigned long binsZ = 10,
280  const double weight = 1.0 );
281  // ========================================================================
300  static AIDA::IHistogram3D* plot3D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
301  const double valueZ, const long ID, const std::string& title, const double lowX,
302  const double highX, const double lowY, const double highY, const double lowZ,
303  const double highZ, const unsigned long binsX = 10,
304  const unsigned long binsY = 10, const unsigned long binsZ = 10,
305  const double weight = 1.0 );
306  // ========================================================================
325  static AIDA::IHistogram3D* plot3D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
326  const double valueZ, const std::string& ID, const std::string& title,
327  const double lowX, const double highX, const double lowY, const double highY,
328  const double lowZ, const double highZ, const unsigned long binsX = 10,
329  const unsigned long binsY = 10, const unsigned long binsZ = 10,
330  const double weight = 1.0 );
331  // ========================================================================
332  // 1D-profiles: by title
333  // ========================================================================
334  static AIDA::IProfile1D* profile1D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
335  const std::string& title, const double lowX, const double highX,
336  const unsigned long binsX = 100, const std::string& opt = "",
337  const double lowY = -std::numeric_limits<double>::max(),
338  const double highY = std::numeric_limits<double>::max(),
339  const double weight = 1.0 );
340  // ========================================================================
341  // 1D-profiles: by generic ID
342  // ========================================================================
343  static AIDA::IProfile1D*
344  profile1D( const GaudiHistoAlg& algo, const double valueX, const double valueY, const GaudiAlg::HistoID& ID,
345  const std::string& title, const double lowX, const double highX, const unsigned long binsX = 100,
346  const std::string& opt = "", const double lowY = -std::numeric_limits<double>::max(),
347  const double highY = std::numeric_limits<double>::max(), const double weight = 1.0 );
348  // ========================================================================
349  // 1D-profiles: by numeric ID
350  // ========================================================================
351  static AIDA::IProfile1D* profile1D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
352  const long ID, const std::string& title, const double lowX, const double highX,
353  const unsigned long binsX = 100, const std::string& opt = "",
354  const double lowY = -std::numeric_limits<double>::max(),
355  const double highY = std::numeric_limits<double>::max(),
356  const double weight = 1.0 );
357  // ========================================================================
358  // 1D-profiles: by string ID
359  // ========================================================================
360  static AIDA::IProfile1D*
361  profile1D( const GaudiHistoAlg& algo, const double valueX, const double valueY, const std::string& ID,
362  const std::string& title, const double lowX, const double highX, const unsigned long binsX = 100,
363  const std::string& opt = "", const double lowY = -std::numeric_limits<double>::max(),
364  const double highY = std::numeric_limits<double>::max(), const double weight = 1.0 );
365  // ========================================================================
366  // 2D-profiles: by title
367  // ========================================================================
368  static AIDA::IProfile2D* profile2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
369  const double valueZ, const std::string& title, const double lowX,
370  const double highX, const double lowY, const double highY,
371  const unsigned long binsX = 50, const unsigned long binsY = 50,
372  const double weight = 1.0 );
373  // ========================================================================
374  // 2D-profiles: by generic ID
375  // ========================================================================
376  static AIDA::IProfile2D* profile2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
377  const double valueZ, const GaudiAlg::HistoID& ID, const std::string& title,
378  const double lowX, const double highX, const double lowY, const double highY,
379  const unsigned long binsX = 50, const unsigned long binsY = 50,
380  const double weight = 1.0 );
381  // ========================================================================
382  // 2D-profiles: by numeric ID
383  // ========================================================================
384  static AIDA::IProfile2D* profile2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
385  const double valueZ, const long ID, const std::string& title, const double lowX,
386  const double highX, const double lowY, const double highY,
387  const unsigned long binsX = 50, const unsigned long binsY = 50,
388  const double weight = 1.0 );
389  // ========================================================================
390  // 2D-profiles: by string ID
391  // ========================================================================
392  static AIDA::IProfile2D* profile2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
393  const double valueZ, const std::string& ID, const std::string& title,
394  const double lowX, const double highX, const double lowY, const double highY,
395  const unsigned long binsX = 50, const unsigned long binsY = 50,
396  const double weight = 1.0 );
397  // ========================================================================
398  public:
399  // ========================================================================
400  static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Histos1D& histos );
401  static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Histos1D& histos );
402  static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Histos1D& histos );
403  static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Histos1D& histos );
404  // ========================================================================
405  static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Histos2D& histos );
406  static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Histos2D& histos );
407  static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Histos2D& histos );
408  static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Histos2D& histos );
409  // ========================================================================
410  static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Histos3D& histos );
411  static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Histos3D& histos );
412  static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Histos3D& histos );
413  static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Histos3D& histos );
414  // ========================================================================
415  static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Profiles1D& histos );
416  static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Profiles1D& histos );
417  static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Profiles1D& histos );
418  static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Profiles1D& histos );
419  // ========================================================================
420  static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Profiles2D& histos );
421  static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Profiles2D& histos );
422  static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Profiles2D& histos );
423  static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Profiles2D& histos );
424  // ========================================================================
425  };
426  // ==========================================================================
427 } // end of namespace GaudiPython
428 // ============================================================================
429 // The END
430 // ============================================================================
431 #endif // GAUDIPYTHON_HISTODECORATOR_H
GaudiHistoTool
Definition: GaudiHistoTool.h:49
std::string
STL class.
IAlgTool
Definition: IAlgTool.h:33
GaudiPython::HistoDecorator::_histos_a_
static size_t _histos_a_(const GaudiHistoAlg *cmp, IDs &ids, Histos3D &histos)
GaudiPython::HistoDecorator::Histos3D
std::vector< AIDA::IHistogram3D * > Histos3D
Definition: HistoDecorator.h:41
GaudiAlg::ID
Definition: GaudiHistoID.h:53
GaudiPython::HistoDecorator::_histos_t_
static size_t _histos_t_(const IAlgTool *cmp, IDs &ids, Histos3D &histos)
GaudiPython::HistoDecorator::Histos2D
std::vector< AIDA::IHistogram2D * > Histos2D
Definition: HistoDecorator.h:40
std::vector
STL class.
GaudiPython::HistoDecorator::Profiles1D
std::vector< AIDA::IProfile1D * > Profiles1D
Definition: HistoDecorator.h:42
GaudiPython::HistoDecorator::_histos_t_
static size_t _histos_t_(const GaudiHistoTool *cmp, IDs &ids, Histos3D &histos)
GaudiPython::HistoDecorator::_histos_t_
static size_t _histos_t_(const IAlgTool *cmp, IDs &ids, Profiles1D &histos)
GaudiPython::HistoDecorator::Profiles2D
std::vector< AIDA::IProfile2D * > Profiles2D
Definition: HistoDecorator.h:43
GaudiPython::HistoDecorator::_histos_t_
static size_t _histos_t_(const GaudiHistoTool *cmp, IDs &ids, Profiles2D &histos)
GaudiPython::HistoDecorator::_histos_a_
static size_t _histos_a_(const GaudiHistoAlg *cmp, IDs &ids, Histos2D &histos)
GaudiHistoAlg.h
Vector.h
GaudiPython::HistoDecorator::_histos_t_
static size_t _histos_t_(const GaudiHistoTool *cmp, IDs &ids, Profiles1D &histos)
IAlgorithm
Definition: IAlgorithm.h:38
GaudiPython::HistoDecorator::_histos_t_
static size_t _histos_t_(const IAlgTool *cmp, IDs &ids, Profiles2D &histos)
GaudiPython::HistoDecorator::_histos_a_
static size_t _histos_a_(const GaudiHistoAlg *cmp, IDs &ids, Profiles1D &histos)
GaudiPython::HistoDecorator::IDs
std::vector< GaudiAlg::ID > IDs
Definition: HistoDecorator.h:38
GaudiPython.h
GaudiPython::HistoDecorator::_histos_a_
static size_t _histos_a_(const IAlgorithm *cmp, IDs &ids, Profiles2D &histos)
GaudiPython::HistoDecorator::Histos1D
std::vector< AIDA::IHistogram1D * > Histos1D
Definition: HistoDecorator.h:39
GaudiPython::HistoDecorator::_histos_a_
static size_t _histos_a_(const GaudiHistoAlg *cmp, IDs &ids, Profiles2D &histos)
GaudiHistoAlg
Definition: GaudiHistoAlg.h:47
HistoEx.histos
histos
Definition: HistoEx.py:101
GaudiPython::HistoDecorator::_histos_a_
static size_t _histos_a_(const IAlgorithm *cmp, IDs &ids, Histos2D &histos)
GaudiPython
Namespace for all classes interfacing Gaudi to Python.
Definition: AlgDecorators.h:47
GaudiPython::HistoDecorator
Definition: HistoDecorator.h:35
GaudiPython::HistoDecorator::_histos_t_
static size_t _histos_t_(const GaudiHistoTool *cmp, IDs &ids, Histos2D &histos)
GaudiPython::HistoDecorator::_histos_t_
static size_t _histos_t_(const IAlgTool *cmp, IDs &ids, Histos2D &histos)
std::numeric_limits
GaudiPython::HistoDecorator::_histos_a_
static size_t _histos_a_(const IAlgorithm *cmp, IDs &ids, Profiles1D &histos)
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81
GaudiPython::HistoDecorator::_histos_a_
static size_t _histos_a_(const IAlgorithm *cmp, IDs &ids, Histos3D &histos)