The Gaudi Framework  v33r0 (d5ea422b)
GaudiPI.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 #ifndef GAUDISVC_GAUDIPI_H
12 #define GAUDISVC_GAUDIPI_H
13 
14 #include <AIDA/IHistogram1D.h>
15 #include <AIDA/IHistogram2D.h>
16 #include <AIDA/IHistogram3D.h>
17 #include <AIDA/IProfile1D.h>
18 #include <AIDA/IProfile2D.h>
20 #include <utility>
21 #include <vector>
22 
23 class DataObject;
24 class TH2D;
25 
26 namespace Gaudi {
28 
30  std::pair<DataObject*, AIDA::IHistogram1D*> createH1D( const AIDA::IHistogram1D& hist );
33  double lowerEdge = 0., double upperEdge = 1. );
36 
38  std::pair<DataObject*, AIDA::IHistogram2D*> createH2D( const AIDA::IHistogram2D& hist );
42  std::pair<DataObject*, AIDA::IHistogram2D*> createH2D( const std::string& title, int binsX, double iminX,
43  double imaxX, int binsY, double iminY, double imaxY );
45  std::pair<DataObject*, AIDA::IHistogram2D*> createH2D( const std::string& title, const Edges& eX, const Edges& eY );
47  std::pair<DataObject*, AIDA::IHistogram1D*> slice1DX( const std::string& name, const AIDA::IHistogram2D& h,
48  int firstbin, int lastbin );
50  std::pair<DataObject*, AIDA::IProfile1D*> profile1DX( const std::string& name, const AIDA::IHistogram2D& h,
51  int firstbin, int lastbin );
53  std::pair<DataObject*, AIDA::IHistogram1D*> project1DX( const std::string& name, const AIDA::IHistogram2D& h,
54  int firstbin, int lastbin );
56  std::pair<DataObject*, AIDA::IHistogram1D*> slice1DY( const std::string& name, const AIDA::IHistogram2D& h,
57  int firstbin, int lastbin );
59  std::pair<DataObject*, AIDA::IProfile1D*> profile1DY( const std::string& name, const AIDA::IHistogram2D& h,
60  int firstbin, int lastbin );
62  std::pair<DataObject*, AIDA::IHistogram1D*> project1DY( const std::string& name, const AIDA::IHistogram2D& h,
63  int firstbin, int lastbin );
64 
66  std::pair<DataObject*, AIDA::IHistogram3D*> createH3D( const AIDA::IHistogram3D& hist );
68  std::pair<DataObject*, AIDA::IHistogram3D*> createH3D( const std::string& title, int nBinsX, double xlow, double xup,
69  int nBinsY, double ylow, double yup, int nBinsZ, double zlow,
70  double zup );
73  const Edges& eZ );
74 
76  std::pair<DataObject*, AIDA::IProfile1D*> createProf1D( const AIDA::IProfile1D& hist );
78  std::pair<DataObject*, AIDA::IProfile1D*> createProf1D( const std::string& title, int nBins, double xlow, double xup,
79  double ylow, double yup, const std::string& opt = "" );
81  std::pair<DataObject*, AIDA::IProfile1D*> createProf1D( const std::string& title, const Edges& e, double ylow,
82  double yup, const std::string& opt = "" );
83 
85  std::pair<DataObject*, AIDA::IProfile2D*> createProf2D( const AIDA::IProfile2D& hist );
87  std::pair<DataObject*, AIDA::IProfile2D*> createProf2D( const std::string& title, int binsX, double iminX,
88  double imaxX, int binsY, double iminY, double imaxY,
89  double lowerValue, double upperValue );
92  double lowerValue, double upperValue );
93 } // namespace Gaudi
94 #endif // GAUDIPI_GAUDIPI_H
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(const AIDA::IHistogram2D &hist)
Copy constructor.
std::pair< DataObject *, AIDA::IHistogram1D * > slice1DY(const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
Create 1D slice from 2D histogram.
std::vector< double > Edges
Definition: GaudiPI.h:27
STL class.
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D(const AIDA::IHistogram3D &hist)
Copy constructor.
std::pair< DataObject *, AIDA::IHistogram1D * > slice1DX(const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
Create 1D slice from 2D histogram.
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.
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.
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.
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.
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:40
Header file for std:chrono::duration-based Counters.
Definition: __init__.py:1
std::pair< DataObject *, AIDA::IHistogram1D * > createH1D(const AIDA::IHistogram1D &hist)
Copy constructor.
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.
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.