Jpp 20.0.0-rc.2
the software that should make you happy
Loading...
Searching...
No Matches
JROOT::JHistogramHelper Class Reference

Auxiliary class for copying ROOT histograms to Jpp histograms. More...

#include <JToolsSupportkit.hh>

Public Member Functions

 JHistogramHelper ()
 Default constructor.
 
template<class JAbscissa_t , class JOrdinate_t , template< class, class > class JContainer_t, class JDistance_t = JDistance<JAbscissa_t>>
void operator() (const TH1 &from, JHistogram1D< JBin1D< JAbscissa_t, JOrdinate_t >, JContainer_t, JDistance_t > &to) const
 Copy histogram from from to to.
 
template<class JAbscissa_t , class JOrdinate_t , template< class, class > class JContainer_t, template< class, class, class > class JMap_t = JHistogramGridMap_t, class JDistance_t = JDistance<JAbscissa_t>>
void operator() (const TH2 &from, JMultiHistogram< JHistogram1D< JBin1D< JAbscissa_t, JOrdinate_t >, JContainer_t, JDistance_t >, JMapList< JMap_t >, JDistance_t > &to) const
 Copy histogram from from to to.
 
template<class JAbscissa_t , class JOrdinate_t , template< class, class > class JContainer_t, template< class, class, class > class JMap_t1 = JHistogramGridMap_t, template< class, class, class > class JMap_t2 = JHistogramGridMap_t, class JDistance_t = JDistance<JAbscissa_t>>
void operator() (const TH3 &from, JMultiHistogram< JHistogram1D< JBin1D< JAbscissa_t, JOrdinate_t >, JContainer_t, JDistance_t >, typename JMAPLIST< JMap_t1, JMap_t2 >::maplist, JDistance_t > &to) const
 Copy histogram from from to to.
 

Static Public Member Functions

template<class JAbscissa_t , class JOrdinate_t , template< class, class > class JContainer_t, class JDistance_t = JDistance<JAbscissa_t>>
static void copy (const TH1 &from, JHistogram1D< JBin1D< JAbscissa_t, JOrdinate_t >, JContainer_t, JDistance_t > &to)
 Copy histogram from from to to.
 
template<class JAbscissa_t , class JOrdinate_t , template< class, class > class JContainer_t, template< class, class, class > class JMap_t = JHistogramGridMap_t, class JDistance_t = JDistance<JAbscissa_t>>
static void copy (const TH2 &from, JMultiHistogram< JHistogram1D< JBin1D< JAbscissa_t, JOrdinate_t >, JContainer_t, JDistance_t >, JMapList< JMap_t >, JDistance_t > &to)
 Copy histogram from from to to.
 
template<class JAbscissa_t , class JOrdinate_t , template< class, class > class JContainer_t, template< class, class, class > class JMap_t1 = JHistogramGridMap_t, template< class, class, class > class JMap_t2 = JHistogramGridMap_t, class JDistance_t = JDistance<JAbscissa_t>>
static void copy (const TH3 &from, JMultiHistogram< JHistogram1D< JBin1D< JAbscissa_t, JOrdinate_t >, JContainer_t, JDistance_t >, typename JMAPLIST< JMap_t1, JMap_t2 >::maplist, JDistance_t > &to)
 Copy histogram from from to to.
 

Detailed Description

Auxiliary class for copying ROOT histograms to Jpp histograms.

Definition at line 37 of file JToolsSupportkit.hh.

Constructor & Destructor Documentation

◆ JHistogramHelper()

JROOT::JHistogramHelper::JHistogramHelper ( )
inline

Default constructor.

Definition at line 44 of file JToolsSupportkit.hh.

45 {}

Member Function Documentation

◆ copy() [1/3]

template<class JAbscissa_t , class JOrdinate_t , template< class, class > class JContainer_t, class JDistance_t = JDistance<JAbscissa_t>>
static void JROOT::JHistogramHelper::copy ( const TH1 & from,
JHistogram1D< JBin1D< JAbscissa_t, JOrdinate_t >, JContainer_t, JDistance_t > & to )
inlinestatic

Copy histogram from from to to.

Parameters
fromROOT histogram
toJpp histogram

Definition at line 58 of file JToolsSupportkit.hh.

59 {
60 to.clear();
61
62 const Int_t NbinsX = from.GetXaxis()->GetNbins();
63
64 to.underflow = from.GetBinContent(0);
65 to.overflow = from.GetBinContent(NbinsX+1);
66 to.integral = from.Integral(0, NbinsX+1);
67
68 for (Int_t i = 1; i <= NbinsX; ++i) {
69
70 const double x0 = from.GetXaxis()->GetBinLowEdge(i);
71 const double xc = from.GetXaxis()->GetBinCenter (i);
72
73 const double y = from.GetBinContent(i);
74 const double ye = from.GetBinError (i);
75
76 JBin1D<JAbscissa_t, JOrdinate_t> bin(x0, y, xc*y, ye*ye);
77
78 to.insert(bin);
79 }
80 }

◆ copy() [2/3]

template<class JAbscissa_t , class JOrdinate_t , template< class, class > class JContainer_t, template< class, class, class > class JMap_t = JHistogramGridMap_t, class JDistance_t = JDistance<JAbscissa_t>>
static void JROOT::JHistogramHelper::copy ( const TH2 & from,
JMultiHistogram< JHistogram1D< JBin1D< JAbscissa_t, JOrdinate_t >, JContainer_t, JDistance_t >, JMapList< JMap_t >, JDistance_t > & to )
inlinestatic

Copy histogram from from to to.

Parameters
fromROOT histogram
toJpp histogram

Definition at line 94 of file JToolsSupportkit.hh.

95 {
96 typedef JHistogram1D<JBin1D<JAbscissa_t, JOrdinate_t>, JContainer_t, JDistance_t> JHistogram1D_t;
97
98 const Int_t NbinsX = from.GetXaxis()->GetNbins();
99 const Int_t NbinsY = from.GetYaxis()->GetNbins();
100
101 for (Int_t i = 0; i <= NbinsX+1; ++i) {
102
103 JHistogram1D_t histogram;
104
105 const double xc = from.GetXaxis()->GetBinCenter(i);
106
107 for (Int_t j = 0; j <= NbinsY+1; ++j) {
108
109 const Int_t N = from.GetBin(i,j);
110
111 const double y0 = from.GetYaxis()->GetBinLowEdge(j);
112 const double yc = from.GetYaxis()->GetBinCenter (j);
113
114 const double z = from.GetBinContent(N);
115 const double ze = from.GetBinError (N);
116
117 histogram.integral += z;
118
119 if (from.IsBinUnderflow(N)) {
120 histogram.underflow += z;
121 } else if (from.IsBinOverflow(N)) {
122 histogram.overflow += z;
123 } else {
124 JBin1D<JAbscissa_t, JOrdinate_t> bin(y0, z, yc*z, ze*ze);
125 histogram.insert(bin);
126 }
127 }
128
129 if (histogram.getSize() > 0) {
130 to[xc] = histogram;
131 }
132 }
133 }
JHistogram1D< JElement2D< double, double >, JCollection > JHistogram1D_t
Type definition of a 1 dimensional histogram based on a JCollection.
int j
Definition JPolint.hh:801

◆ copy() [3/3]

template<class JAbscissa_t , class JOrdinate_t , template< class, class > class JContainer_t, template< class, class, class > class JMap_t1 = JHistogramGridMap_t, template< class, class, class > class JMap_t2 = JHistogramGridMap_t, class JDistance_t = JDistance<JAbscissa_t>>
static void JROOT::JHistogramHelper::copy ( const TH3 & from,
JMultiHistogram< JHistogram1D< JBin1D< JAbscissa_t, JOrdinate_t >, JContainer_t, JDistance_t >, typename JMAPLIST< JMap_t1, JMap_t2 >::maplist, JDistance_t > & to )
inlinestatic

Copy histogram from from to to.

Parameters
fromROOT histogram
toJpp histogram

Definition at line 148 of file JToolsSupportkit.hh.

149 {
150 typedef JHistogram1D<JBin1D<JAbscissa_t, JOrdinate_t>, JContainer_t, JDistance_t> JHistogram1D_t;
151
152 const Int_t NbinsX = from.GetXaxis()->GetNbins();
153 const Int_t NbinsY = from.GetYaxis()->GetNbins();
154 const Int_t NbinsZ = from.GetZaxis()->GetNbins();
155
156 for (Int_t i = 0; i <= NbinsX+1; ++i) {
157
158 const double xc = from.GetXaxis()->GetBinCenter(i);
159
160 for (Int_t j = 0; j <= NbinsY+1; ++j) {
161
162 JHistogram1D_t histogram;
163
164 const double yc = from.GetYaxis()->GetBinCenter(j);
165
166 for (Int_t k = 0; k <= NbinsZ+1; ++k) {
167
168 const Int_t N = from.GetBin(i,j,k);
169
170 const double z0 = from.GetYaxis()->GetBinLowEdge(j);
171 const double zc = from.GetYaxis()->GetBinCenter (j);
172
173 const double w = from.GetBinContent(N);
174 const double we = from.GetBinError (N);
175
176 histogram.integral += w;
177
178 if (from.IsBinUnderflow(N)) {
179 histogram.underflow += w;
180 } else if (from.IsBinOverflow(N)) {
181 histogram.overflow += w;
182 } else {
183 JBin1D<JAbscissa_t, JOrdinate_t> bin(z0, w, zc*w, we*we);
184 histogram.insert(bin);
185 }
186 }
187
188 if (histogram.getSize() > 0) {
189 to[xc][yc] = histogram;
190 }
191 }
192 }
193 }

◆ operator()() [1/3]

template<class JAbscissa_t , class JOrdinate_t , template< class, class > class JContainer_t, class JDistance_t = JDistance<JAbscissa_t>>
void JROOT::JHistogramHelper::operator() ( const TH1 & from,
JHistogram1D< JBin1D< JAbscissa_t, JOrdinate_t >, JContainer_t, JDistance_t > & to ) const
inline

Copy histogram from from to to.

Parameters
fromROOT histogram
toJpp histogram

Definition at line 206 of file JToolsSupportkit.hh.

207 {
208 return copy(from, to);
209 }
static void copy(const TH1 &from, JHistogram1D< JBin1D< JAbscissa_t, JOrdinate_t >, JContainer_t, JDistance_t > &to)
Copy histogram from from to to.

◆ operator()() [2/3]

template<class JAbscissa_t , class JOrdinate_t , template< class, class > class JContainer_t, template< class, class, class > class JMap_t = JHistogramGridMap_t, class JDistance_t = JDistance<JAbscissa_t>>
void JROOT::JHistogramHelper::operator() ( const TH2 & from,
JMultiHistogram< JHistogram1D< JBin1D< JAbscissa_t, JOrdinate_t >, JContainer_t, JDistance_t >, JMapList< JMap_t >, JDistance_t > & to ) const
inline

Copy histogram from from to to.

Parameters
fromROOT histogram
toJpp histogram

Definition at line 223 of file JToolsSupportkit.hh.

224 {
225 return copy(from, to);
226 }

◆ operator()() [3/3]

template<class JAbscissa_t , class JOrdinate_t , template< class, class > class JContainer_t, template< class, class, class > class JMap_t1 = JHistogramGridMap_t, template< class, class, class > class JMap_t2 = JHistogramGridMap_t, class JDistance_t = JDistance<JAbscissa_t>>
void JROOT::JHistogramHelper::operator() ( const TH3 & from,
JMultiHistogram< JHistogram1D< JBin1D< JAbscissa_t, JOrdinate_t >, JContainer_t, JDistance_t >, typename JMAPLIST< JMap_t1, JMap_t2 >::maplist, JDistance_t > & to ) const
inline

Copy histogram from from to to.

Parameters
fromROOT histogram
toJpp histogram

Definition at line 241 of file JToolsSupportkit.hh.

242 {
243 return copy(from, to);
244 }

The documentation for this class was generated from the following file: