The Gaudi Framework  v38r0 (2143aa4c)
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-2023 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 #pragma once
12 
13 #include <GaudiAlg/GaudiHistoAlg.h>
14 #include <GaudiPython/Vector.h>
15 
16 struct GaudiHistoTool;
17 
18 namespace GaudiPython {
26  public:
27  // ========================================================================
34  // ========================================================================
35  public:
36  // ========================================================================
46  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const double data, const std::string& title,
47  const double low, const double high, const unsigned long bins = 100 );
48  // ========================================================================
59  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const double data, const GaudiAlg::HistoID& ID,
60  const std::string& title, const double low, const double high,
61  const unsigned long bins = 100 );
62  // ========================================================================
73  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const double data, const long ID,
74  const std::string& title, const double low, const double high,
75  const unsigned long bins = 100 );
76  // ========================================================================
87  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const double data, const std::string& ID,
88  const std::string& title, const double low, const double high,
89  const unsigned long bins = 100 );
90  // ========================================================================
100  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
101  const std::string& title, const double low, const double high,
102  const unsigned long bins = 100 );
103  // ========================================================================
114  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
115  const GaudiAlg::HistoID& ID, const std::string& title, const double low,
116  const double high, const unsigned long bins = 100 );
117  // ========================================================================
128  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data, const long ID,
129  const std::string& title, const double low, const double high,
130  const unsigned long bins = 100 );
131  // ========================================================================
142  static AIDA::IHistogram1D* plot1D( const GaudiHistoAlg& algo, const GaudiPython::Vector& data,
143  const std::string& ID, const std::string& title, const double low,
144  const double high, const unsigned long bins = 100 );
145  // ========================================================================
159  static AIDA::IHistogram2D* plot2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
160  const std::string& title, const double lowX, const double highX,
161  const double lowY, const double highY, const unsigned long binsX = 50,
162  const unsigned long binsY = 50, const double weight = 1.0 );
163  // ========================================================================
178  static AIDA::IHistogram2D* plot2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
179  const GaudiAlg::HistoID& ID, const std::string& title, const double lowX,
180  const double highX, const double lowY, const double highY,
181  const unsigned long binsX = 50, const unsigned long binsY = 50,
182  const double weight = 1.0 );
183  // ========================================================================
198  static AIDA::IHistogram2D* plot2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
199  const long ID, const std::string& title, const double lowX, const double highX,
200  const double lowY, const double highY, const unsigned long binsX = 50,
201  const unsigned long binsY = 50, const double weight = 1.0 );
202  // ========================================================================
217  static AIDA::IHistogram2D* plot2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
218  const std::string& ID, const std::string& title, const double lowX,
219  const double highX, const double lowY, const double highY,
220  const unsigned long binsX = 50, const unsigned long binsY = 50,
221  const double weight = 1.0 );
222  // ========================================================================
240  static AIDA::IHistogram3D* plot3D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
241  const double valueZ, const std::string& title, const double lowX,
242  const double highX, const double lowY, const double highY, const double lowZ,
243  const double highZ, const unsigned long binsX = 10,
244  const unsigned long binsY = 10, const unsigned long binsZ = 10,
245  const double weight = 1.0 );
246  // ========================================================================
265  static AIDA::IHistogram3D* plot3D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
266  const double valueZ, const GaudiAlg::HistoID& ID, const std::string& title,
267  const double lowX, const double highX, const double lowY, const double highY,
268  const double lowZ, const double highZ, const unsigned long binsX = 10,
269  const unsigned long binsY = 10, const unsigned long binsZ = 10,
270  const double weight = 1.0 );
271  // ========================================================================
290  static AIDA::IHistogram3D* plot3D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
291  const double valueZ, const long ID, const std::string& title, const double lowX,
292  const double highX, const double lowY, const double highY, const double lowZ,
293  const double highZ, const unsigned long binsX = 10,
294  const unsigned long binsY = 10, const unsigned long binsZ = 10,
295  const double weight = 1.0 );
296  // ========================================================================
315  static AIDA::IHistogram3D* plot3D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
316  const double valueZ, const std::string& ID, const std::string& title,
317  const double lowX, const double highX, const double lowY, const double highY,
318  const double lowZ, const double highZ, const unsigned long binsX = 10,
319  const unsigned long binsY = 10, const unsigned long binsZ = 10,
320  const double weight = 1.0 );
321  // ========================================================================
322  // 1D-profiles: by title
323  // ========================================================================
324  static AIDA::IProfile1D* profile1D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
325  const std::string& title, const double lowX, const double highX,
326  const unsigned long binsX = 100, const std::string& opt = "",
327  const double lowY = -std::numeric_limits<double>::max(),
328  const double highY = std::numeric_limits<double>::max(),
329  const double weight = 1.0 );
330  // ========================================================================
331  // 1D-profiles: by generic ID
332  // ========================================================================
333  static AIDA::IProfile1D*
334  profile1D( const GaudiHistoAlg& algo, const double valueX, const double valueY, const GaudiAlg::HistoID& ID,
335  const std::string& title, const double lowX, const double highX, const unsigned long binsX = 100,
336  const std::string& opt = "", const double lowY = -std::numeric_limits<double>::max(),
337  const double highY = std::numeric_limits<double>::max(), const double weight = 1.0 );
338  // ========================================================================
339  // 1D-profiles: by numeric ID
340  // ========================================================================
341  static AIDA::IProfile1D* profile1D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
342  const long ID, const std::string& title, const double lowX, const double highX,
343  const unsigned long binsX = 100, const std::string& opt = "",
344  const double lowY = -std::numeric_limits<double>::max(),
345  const double highY = std::numeric_limits<double>::max(),
346  const double weight = 1.0 );
347  // ========================================================================
348  // 1D-profiles: by string ID
349  // ========================================================================
350  static AIDA::IProfile1D*
351  profile1D( const GaudiHistoAlg& algo, const double valueX, const double valueY, const std::string& ID,
352  const std::string& title, const double lowX, const double highX, const unsigned long binsX = 100,
353  const std::string& opt = "", const double lowY = -std::numeric_limits<double>::max(),
354  const double highY = std::numeric_limits<double>::max(), const double weight = 1.0 );
355  // ========================================================================
356  // 2D-profiles: by title
357  // ========================================================================
358  static AIDA::IProfile2D* profile2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
359  const double valueZ, const std::string& title, const double lowX,
360  const double highX, const double lowY, const double highY,
361  const unsigned long binsX = 50, const unsigned long binsY = 50,
362  const double weight = 1.0 );
363  // ========================================================================
364  // 2D-profiles: by generic ID
365  // ========================================================================
366  static AIDA::IProfile2D* profile2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
367  const double valueZ, const GaudiAlg::HistoID& ID, const std::string& title,
368  const double lowX, const double highX, const double lowY, const double highY,
369  const unsigned long binsX = 50, const unsigned long binsY = 50,
370  const double weight = 1.0 );
371  // ========================================================================
372  // 2D-profiles: by numeric ID
373  // ========================================================================
374  static AIDA::IProfile2D* profile2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
375  const double valueZ, const long ID, const std::string& title, const double lowX,
376  const double highX, const double lowY, const double highY,
377  const unsigned long binsX = 50, const unsigned long binsY = 50,
378  const double weight = 1.0 );
379  // ========================================================================
380  // 2D-profiles: by string ID
381  // ========================================================================
382  static AIDA::IProfile2D* profile2D( const GaudiHistoAlg& algo, const double valueX, const double valueY,
383  const double valueZ, const std::string& ID, const std::string& title,
384  const double lowX, const double highX, const double lowY, const double highY,
385  const unsigned long binsX = 50, const unsigned long binsY = 50,
386  const double weight = 1.0 );
387  // ========================================================================
388  public:
389  // ========================================================================
390  static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Histos1D& histos );
391  static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Histos1D& histos );
392  static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Histos1D& histos );
393  static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Histos1D& histos );
394  // ========================================================================
395  static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Histos2D& histos );
396  static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Histos2D& histos );
397  static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Histos2D& histos );
398  static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Histos2D& histos );
399  // ========================================================================
400  static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Histos3D& histos );
401  static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Histos3D& histos );
402  static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Histos3D& histos );
403  static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Histos3D& histos );
404  // ========================================================================
405  static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Profiles1D& histos );
406  static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Profiles1D& histos );
407  static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Profiles1D& histos );
408  static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Profiles1D& histos );
409  // ========================================================================
410  static size_t _histos_a_( const GaudiHistoAlg* cmp, IDs& ids, Profiles2D& histos );
411  static size_t _histos_t_( const GaudiHistoTool* cmp, IDs& ids, Profiles2D& histos );
412  static size_t _histos_a_( const IAlgorithm* cmp, IDs& ids, Profiles2D& histos );
413  static size_t _histos_t_( const IAlgTool* cmp, IDs& ids, Profiles2D& histos );
414  // ========================================================================
415  };
416  // ==========================================================================
417 } // namespace GaudiPython
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:31
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:30
std::vector
STL class.
GaudiPython::HistoDecorator::Profiles1D
std::vector< AIDA::IProfile1D * > Profiles1D
Definition: HistoDecorator.h:32
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:33
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:28
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:29
GaudiPython::HistoDecorator::_histos_a_
static size_t _histos_a_(const GaudiHistoAlg *cmp, IDs &ids, Profiles2D &histos)
compareRootHistos.histos
histos
Definition: compareRootHistos.py:26
GaudiHistoAlg
Definition: GaudiHistoAlg.h:47
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:33
GaudiPython::HistoDecorator
Definition: HistoDecorator.h:25
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)