Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
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 #ifndef GAUDIPYTHON_HISTODECORATOR_H
3 #define GAUDIPYTHON_HISTODECORATOR_H 1
4 // ============================================================================
5 // Include files
6 // ============================================================================
7 // GaudiAlg
8 // ============================================================================
10 // ============================================================================
11 // GaudiPython
12 // ============================================================================
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 } // end of namespace GaudiPython
418 // ============================================================================
419 // The END
420 // ============================================================================
421 #endif // GAUDIPYTHON_HISTODECORATOR_H
Simple class to extend the functionality of class GaudiAlgorithm.
Definition: GaudiHistoAlg.h:37
std::vector< AIDA::IHistogram2D * > Histos2D
Simple class to extend the functionality of class GaudiTool.
std::vector< GaudiAlg::ID > IDs
STL class.
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:28
GaudiPython.h GaudiPython/GaudiPython.h.
Definition: AlgDecorators.h:37
STL class.
std::vector< AIDA::IProfile2D * > Profiles2D
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
std::vector< AIDA::IHistogram1D * > Histos1D
std::vector< AIDA::IHistogram3D * > Histos3D
Simple decorator class to allow to reuse the functionality of GaudiHistos<TYPE> class in pythin...
#define GAUDI_API
Definition: Kernel.h:71
std::vector< AIDA::IProfile1D * > Profiles1D
ID class for Histogram and Ntuples.
Definition: GaudiHistoID.h:43