7#ifndef G4ATLASTESTS_SIMTESTHISTO_H
8#define G4ATLASTESTS_SIMTESTHISTO_H
15#include "GaudiKernel/ITHistSvc.h"
16#include "GaudiKernel/ServiceHandle.h"
39#define _TPROFILE(var,name,nbin,xmin,xmax) \
40 if (!m_histSvc->exists(m_path+name)) { \
41 var = new TProfile(name,name,nbin,xmin,xmax); \
42 CHECK(m_histSvc->regHist(m_path+name,var)); \
44 CHECK(m_histSvc->getHist(m_path+name, var)); \
47#define _TH1D(var,name,nbin,xmin,xmax) \
48 if (!m_histSvc->exists(m_path+name)) { \
49 var = new TH1D(name,name,nbin,xmin,xmax); \
50 var->StatOverflows(); \
51 CHECK(m_histSvc->regHist(m_path+name,var)); \
53 CHECK(m_histSvc->getHist(m_path+name,var)); \
56#define _TH1D_NOCHECK(var,name,nbin,xmin,xmax) \
57 if (!m_histSvc->exists(m_path+name)) { \
58 var = new TH1D(name,name,nbin,xmin,xmax); \
59 var->StatOverflows(); \
60 if(m_histSvc->regHist(m_path+name,var).isFailure()) \
61 std::cout<<"Cannot register histogram "<<name<<std::endl; \
63 if(m_histSvc->getHist(m_path+name,var).isFailure()) \
64 std::cout<<"Cannot get histogram "<<name<<std::endl; \
67#define _TH1D_WEIGHTED(var,name,nbin,xmin,xmax) \
68 _TH1D(var,name,nbin,xmin,xmax); \
71#define _TH2D_NOCHECK(var,name,nbinx,xmin,xmax,nbiny,ymin,ymax) \
72 if (!m_histSvc->exists(m_path+name)) { \
73 var = new TH2D(name,name,nbinx,xmin,xmax,nbiny,ymin,ymax); \
74 if(m_histSvc->regHist(m_path+name,var).isFailure()) \
75 std::cout<<"Cannot register histogram "<<name<<std::endl;\
77 if(m_histSvc->getHist(m_path+name,var).isFailure()) \
78 std::cout<<"Cannot get histogram "<<name<<std::endl; \
81#define _TH2D(var,name,nbinx,xmin,xmax,nbiny,ymin,ymax) \
82 if (!m_histSvc->exists(m_path+name)) { \
83 var = new TH2D(name,name,nbinx,xmin,xmax,nbiny,ymin,ymax); \
84 CHECK(m_histSvc->regHist(m_path+name,var)); \
86 CHECK(m_histSvc->getHist(m_path+name,var)); \
89#define _TH2D_WEIGHTED(var,name,nbinx,xmin,xmax,nbiny,ymin,ymax) \
90 _TH2D(var,name,nbinx,xmin,xmax,nbiny,ymin,ymax); \
93#define _SET_TITLE(var,title,xaxis,yaxis) \
94 var->SetXTitle(xaxis); \
95 var->SetYTitle(yaxis); \
96 var->SetTitle((std::string(var->GetName())+" : "+title).c_str());
Helpers for checking error return status codes and reporting errors.
ServiceHandle< ITHistSvc > m_histSvc