Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  master (d98a2936)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
GaudiPI.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 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 <AIDA/IHistogram1D.h>
14 #include <AIDA/IHistogram2D.h>
15 #include <AIDA/IHistogram3D.h>
16 #include <AIDA/IProfile1D.h>
17 #include <AIDA/IProfile2D.h>
20 #include <utility>
21 #include <vector>
22 
23 class DataObject;
24 class TH2D;
25 
26 namespace Gaudi {
27  typedef std::vector<double> Edges;
28 
30  std::pair<DataObject*, AIDA::IHistogram1D*> createH1D( ISvcLocator* svcLocator, const std::string& path,
31  const AIDA::IHistogram1D& hist );
33  std::pair<DataObject*, AIDA::IHistogram1D*> createH1D( ISvcLocator* svcLocator, const std::string& path,
34  const std::string& title, int nBins = 10,
35  double lowerEdge = 0., double upperEdge = 1. );
37  std::pair<DataObject*, AIDA::IHistogram1D*> createH1D( ISvcLocator* svcLocator, const std::string& path,
38  const std::string& title, const Edges& e );
39 
41  std::pair<DataObject*, AIDA::IHistogram2D*> createH2D( ISvcLocator* svcLocator, const std::string& path,
42  const AIDA::IHistogram2D& hist );
44  std::pair<DataObject*, AIDA::IHistogram2D*> createH2D( ISvcLocator* svcLocator, const std::string& path, TH2D* rep );
46  std::pair<DataObject*, AIDA::IHistogram2D*> createH2D( ISvcLocator* svcLocator, const std::string& path,
47  const std::string& title, int binsX, double iminX,
48  double imaxX, int binsY, double iminY, double imaxY );
50  std::pair<DataObject*, AIDA::IHistogram2D*> createH2D( ISvcLocator* svcLocator, const std::string& path,
51  const std::string& title, const Edges& eX, const Edges& eY );
53  std::pair<DataObject*, AIDA::IHistogram1D*> slice1DX( const std::string& name, const AIDA::IHistogram2D& h,
54  int firstbin, int lastbin );
56  std::pair<DataObject*, AIDA::IProfile1D*> profile1DX( const std::string& name, const AIDA::IHistogram2D& h,
57  int firstbin, int lastbin );
59  std::pair<DataObject*, AIDA::IHistogram1D*> project1DX( const std::string& name, const AIDA::IHistogram2D& h,
60  int firstbin, int lastbin );
62  std::pair<DataObject*, AIDA::IHistogram1D*> slice1DY( const std::string& name, const AIDA::IHistogram2D& h,
63  int firstbin, int lastbin );
65  std::pair<DataObject*, AIDA::IProfile1D*> profile1DY( const std::string& name, const AIDA::IHistogram2D& h,
66  int firstbin, int lastbin );
68  std::pair<DataObject*, AIDA::IHistogram1D*> project1DY( const std::string& name, const AIDA::IHistogram2D& h,
69  int firstbin, int lastbin );
70 
72  std::pair<DataObject*, AIDA::IHistogram3D*> createH3D( ISvcLocator* svcLocator, const std::string& path,
73  const AIDA::IHistogram3D& hist );
75  std::pair<DataObject*, AIDA::IHistogram3D*> createH3D( ISvcLocator* svcLocator, const std::string& path,
76  const std::string& title, int nBinsX, double xlow, double xup,
77  int nBinsY, double ylow, double yup, int nBinsZ, double zlow,
78  double zup );
80  std::pair<DataObject*, AIDA::IHistogram3D*> createH3D( ISvcLocator* svcLocator, const std::string& path,
81  const std::string& title, const Edges& eX, const Edges& eY,
82  const Edges& eZ );
83 
85  std::pair<DataObject*, AIDA::IProfile1D*> createProf1D( ISvcLocator* svcLocator, const std::string& path,
86  const AIDA::IProfile1D& hist );
88  std::pair<DataObject*, AIDA::IProfile1D*> createProf1D( ISvcLocator* svcLocator, const std::string& path,
89  const std::string& title, int nBins, double xlow, double xup,
90  double ylow, double yup, const std::string& opt = "" );
92  std::pair<DataObject*, AIDA::IProfile1D*> createProf1D( ISvcLocator* svcLocator, const std::string& path,
93  const std::string& title, const Edges& e, double ylow,
94  double yup, const std::string& opt = "" );
95 
97  std::pair<DataObject*, AIDA::IProfile2D*> createProf2D( ISvcLocator* svcLocator, const std::string& path,
98  const AIDA::IProfile2D& hist );
100  std::pair<DataObject*, AIDA::IProfile2D*> createProf2D( ISvcLocator* svcLocator, const std::string& path,
101  const std::string& title, int binsX, double iminX,
102  double imaxX, int binsY, double iminY, double imaxY,
103  double lowerValue, double upperValue );
105  std::pair<DataObject*, AIDA::IProfile2D*> createProf2D( ISvcLocator* svcLocator, const std::string& path,
106  const std::string& title, const Edges& eX, const Edges& eY,
107  double lowerValue, double upperValue );
108 } // namespace Gaudi
Gaudi::profile1DX
std::pair< DataObject *, AIDA::IProfile1D * > profile1DX(const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
Create 1D profile in X from 2D histogram.
Gaudi::profile1DY
std::pair< DataObject *, AIDA::IProfile1D * > profile1DY(const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
Create 1D profile in Y from 2D histogram.
AtlasMCRecoFullPrecedenceDump.path
path
Definition: AtlasMCRecoFullPrecedenceDump.py:49
ISvcLocator
Definition: ISvcLocator.h:42
Gaudi::slice1DY
std::pair< DataObject *, AIDA::IHistogram1D * > slice1DY(const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
Create 1D slice from 2D histogram.
Gaudi::svcLocator
GAUDI_API ISvcLocator * svcLocator()
AlgSequencer.h
h
Definition: AlgSequencer.py:31
Gaudi::createH3D
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D(ISvcLocator *svcLocator, const std::string &path, const AIDA::IHistogram3D &hist)
Copy constructor.
HistogramBase.h
Gaudi::createProf1D
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(ISvcLocator *svcLocator, const std::string &path, const AIDA::IProfile1D &hist)
Copy constructor.
Gaudi
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition: __init__.py:1
ConditionsStallTest.name
name
Definition: ConditionsStallTest.py:77
Gaudi::Edges
std::vector< double > Edges
Definition: GaudiPI.h:27
Gaudi::slice1DX
std::pair< DataObject *, AIDA::IHistogram1D * > slice1DX(const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
Create 1D slice from 2D histogram.
DataObject
Definition: DataObject.h:37
Gaudi::project1DY
std::pair< DataObject *, AIDA::IHistogram1D * > project1DY(const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
Create 1D projection in Y from 2D histogram.
ISvcLocator.h
Gaudi::createH1D
std::pair< DataObject *, AIDA::IHistogram1D * > createH1D(ISvcLocator *svcLocator, const std::string &path, const AIDA::IHistogram1D &hist)
Copy constructor.
Gaudi::project1DX
std::pair< DataObject *, AIDA::IHistogram1D * > project1DX(const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
Create 1D projection in X from 2D histogram.
Gaudi::createH2D
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(ISvcLocator *svcLocator, const std::string &path, const AIDA::IHistogram2D &hist)
Copy constructor.
Gaudi::createProf2D
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(ISvcLocator *svcLocator, const std::string &path, const AIDA::IProfile2D &hist)
Copy constructor.