ATLAS Offline Software
TProfile2D_LW.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Implementation of class TProfile2D_LW //
9 // //
10 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
11 // Initial version: March 2009 //
12 // //
14 
15 #include "LWHists/TProfile2D_LW.h"
16 #include "LWHists/LWHistControls.h"
17 #include "Flex2DProfileHisto.h"
18 #include "LWHistRootUtils.h"
19 #include "TProfile2D.h"
20 #include <utility>
21 
22 #define CALL(x,y) m_rootHisto ? m_rootHisto-> x : m_flexHisto-> y
23 #ifdef LW_DEBUG_HEAVY_USERS
24 #define LWCOUNTCALL {if (m_flexHisto) m_flexHisto->countCall(LWHistTraceUtils::getAdresses());};
25 #define LWREPORT {if (m_flexHisto) m_flexHisto->produceReport(GetName());};
26 #else
27 #define LWCOUNTCALL {};
28 #define LWREPORT {};
29 #endif
30 
31 //____________________________________________________________________
32 TProfile2D_LW * TProfile2D_LW::create( const char* name, const char* title,
33  unsigned nbinsx, const double& xlow, const double& xup,
34  unsigned nbinsy, const double& ylow, const double& yup, const char* option )
35 {
36  return actualcreate(name,title,
37  nbinsx,xlow,xup,0,
38  nbinsy,ylow,yup,0,
39  0.0,0.0,option);
40 }
41 
42 //____________________________________________________________________
43 TProfile2D_LW * TProfile2D_LW::create( const char* name, const char* title,
44  unsigned nbinsx, const double& xlow, const double& xup,
45  unsigned nbinsy, const double& ylow, const double& yup,
46  const double& zlow, const double& zup, const char* option )
47 {
48  return actualcreate(name,title,
49  nbinsx,xlow,xup,0,
50  nbinsy,ylow,yup,0,
51  zlow,zup,option);
52 }
53 
54 //____________________________________________________________________
55 TProfile2D_LW * TProfile2D_LW::create( const char* name, const char* title,
56  unsigned nbinsx, const double* xbins,
57  unsigned nbinsy, const double& ylow, const double& yup, const char* option )
58 {
59  return actualcreate(name,title,
60  nbinsx,xbins[0],xbins[nbinsx],xbins,
61  nbinsy,ylow,yup,0,
62  0.0,0.0,option);
63 }
64 
65 //____________________________________________________________________
66 TProfile2D_LW * TProfile2D_LW::create( const char* name, const char* title,
67  unsigned nbinsx, const double& xlow, const double& xup,
68  unsigned nbinsy, const double* ybins, const char* option )
69 {
70  return actualcreate(name,title,
71  nbinsx,xlow,xup,0,
72  nbinsy,ybins[0],ybins[nbinsy],ybins,
73  0.0,0.0,option);
74 
75 }
76 
77 //____________________________________________________________________
78 TProfile2D_LW * TProfile2D_LW::create( const char* name, const char* title,
79  unsigned nbinsx, const double* xbins,
80  unsigned nbinsy, const double* ybins, const char* option )
81 {
82  return actualcreate(name,title,
83  nbinsx,xbins[0],xbins[nbinsx],xbins,
84  nbinsy,ybins[0],ybins[nbinsy],ybins,
85  0.0,0.0,option);
86 }
87 
88 //____________________________________________________________________
90  unsigned nbinsx, const double& xlow, const double& xup, const double* xbins,
91  unsigned nbinsy, const double& ylow, const double& yup, const double* ybins,
92  const double& zlow, const double& zup, const char* option )
93 {
94  bool rootbackend(LWHistControls::hasROOTBackend());
95  TProfile2D_LW * h;
96  if (rootbackend) {
97  h = new TProfile2D_LW(name,title,nbinsx,xlow,xup,xbins,nbinsy,ylow,yup,ybins,zlow,zup,option,rootbackend);
98  } else {
99  h = MP_NEW(TProfile2D_LW)(name,title,nbinsx,xlow,xup,xbins,nbinsy,ylow,yup,ybins,zlow,zup,option,rootbackend);
100  h->m_nBytesFromPool = sizeof(TProfile2D_LW);
101  }
102  return h;
103 }
104 
105 //____________________________________________________________________
106 TProfile2D_LW::TProfile2D_LW( const char* name, const char* title,
107  unsigned nbinsx, const double& xmin,const double& xmax, const double* xbins,
108  unsigned nbinsy, const double& ymin,const double& ymax, const double* ybins,
109  const double& zlow, const double& zup,const char* option,bool rootbackend )
110  : LWHist(name,title,rootbackend),
111  m_flexHisto(0),
112  m_rootHisto(0)
113 {
114  //Fixme: these asserts could be in common for all binnings... [+nan
115  //checking) (check input and revert to dummy range in case of
116  //problems +emit warning).
117  assert(!xbins||(xbins[0]==xmin&&xbins[nbinsx]==xmax));
118  assert(!ybins||(ybins[0]==ymin&&ybins[nbinsy]==ymax));
119  assert(xmax>xmin);
120  assert(ymax>ymin);
121  assert(nbinsx>0);
122  assert(nbinsy>0);
123 
124  //fixme
125  if (rootbackend) {
126  if (xbins) {
127  if (ybins)
128  m_rootHisto = new TProfile2D(name,title,nbinsx,xbins,nbinsy,ybins,option);
129  else
130  m_rootHisto = new TProfile2D(name,title,nbinsx,xbins,nbinsy,ymin,ymax,option);
131  } else {
132  if (ybins)
133  m_rootHisto = new TProfile2D(name,title,nbinsx,xmin,xmax,nbinsy,ybins,option);
134  else
135  m_rootHisto = new TProfile2D(name,title,nbinsx,xmin,xmax,nbinsy,ymin,ymax,zlow,zup,option);
136  }
137  } else {
140  }
141 }
142 
143 //____________________________________________________________________
145 {
147  clear();
148  if (ownsROOTHisto())
149  delete m_rootHisto;//for root backend
150 }
151 
152 //____________________________________________________________________
154 {
155  return m_rootHisto;
156 }
158 {
159  return m_rootHisto;
160 }
163 {
164  if (!m_rootHisto) {
166  if (!apply(h))
167  assert(false);
168  double stats[9];
169  getSums(stats[0],stats[1],stats[2],stats[3],stats[4],stats[5],stats[6],stats[7],stats[8]);
170  h->PutStats(stats);
172  clear();
173  m_rootHisto = h;
174  }
175  return m_rootHisto;
176 }
177 
178 //____________________________________________________________________
180 {
181  LWREPORT
182  LWHist::clear();
184  m_flexHisto = 0;
185 }
186 
187 //____________________________________________________________________
189 {
191  return;
192 
193  if (m_rootHisto) {
194  if (usingROOTBackend())
195  delete m_rootHisto;
196  else
198 
199  m_rootHisto = 0;
200  }
201 }
202 
203 //____________________________________________________________________
205 {
206  if (m_rootHisto) {
207  m_rootHisto->Reset();
208  return;
209  }
210  if (m_flexHisto) {
211  LWREPORT
212  m_flexHisto->reset();
213  }
214 }
215 
216 void TProfile2D_LW::SetErrorOption(Option_t *option) { CALL(SetErrorOption(option),setErrorOptionFromString(option)); }
217 const char* TProfile2D_LW::GetErrorOption() const { return CALL(GetErrorOption(),getErrorOptionAsString()); }
218 
220 {
221  if (m_rootHisto)
222  return std::as_const(m_rootHisto)->GetXaxis()->GetXmin();
223  return m_flexHisto->getXMin();
224 }
225 
227 {
228  if (m_rootHisto)
229  return std::as_const(m_rootHisto)->GetXaxis()->GetXmax();
230  return m_flexHisto->getXMax();
231 }
233 {
234  if (m_rootHisto)
235  return std::as_const(m_rootHisto)->GetYaxis()->GetXmin();
236  return m_flexHisto->getYMin();
237 }
238 
240 {
241  if (m_rootHisto)
242  return std::as_const(m_rootHisto)->GetYaxis()->GetXmax();
243  return m_flexHisto->getYMax();
244 }
245 
246 void TProfile2D_LW::Fill(const double& x, const double& y, const double& z)
247 {
249  if (m_rootHisto)
250  m_rootHisto->Fill(x,y,z);
251  else
252  m_flexHisto->fill(x,y,z);
253 }
254 
255 void TProfile2D_LW::Fill(const double& x, const double& y,const double& z,const double& w)
256 {
258  if (m_rootHisto)
259  m_rootHisto->Fill(x,y,z,w);
260  else
261  m_flexHisto->fill(x,y,z,w);
262 }
263 
264 unsigned TProfile2D_LW::GetNbinsX() const { return CALL(GetNbinsX(),getNBinsX()); }
265 unsigned TProfile2D_LW::GetNbinsY() const { return CALL(GetNbinsY(),getNBinsY()); }
266 //double TProfile2D_LW::GetBinEntries(unsigned binx, unsigned biny) const { LWCOUNTCALL;return CALL(GetBinEntries(binx,biny),getBinEntries(binx,biny)); }
267 double TProfile2D_LW::GetBinContent(unsigned binx, unsigned biny) const { LWCOUNTCALL;return CALL(GetBinContent(binx,biny),getBinContent(binx,biny)); }
268 double TProfile2D_LW::GetBinError(unsigned binx, unsigned biny) const { LWCOUNTCALL;return CALL(GetBinError(binx,biny),getBinError(binx,biny)); }
269 //void TProfile2D_LW::SetBinEntries(unsigned binx, unsigned biny, const double& c) { LWCOUNTCALL;CALL(SetBinEntries(binx,biny,c),setBinEntries(binx,biny,c)); }
270 void TProfile2D_LW::SetBinContent(unsigned binx, unsigned biny, const double& c) { LWCOUNTCALL;CALL(SetBinContent(binx,biny,c),setBinContent(binx,biny,c)); }
271 void TProfile2D_LW::SetBinError(unsigned binx, unsigned biny, const double& e ) { LWCOUNTCALL;CALL(SetBinError(binx,biny,e),setBinError(binx,biny,e)); }
273 {
274  if (m_rootHisto)
275  return static_cast<unsigned>(m_rootHisto->GetEntries());
276  else
277  return m_flexHisto->getEntries();
278 }
279 void TProfile2D_LW::SetEntries(unsigned n) { CALL(SetEntries(n),setEntries(n)); }
280 
281 void TProfile2D_LW::getSums( double& sumW, double& sumW2,
282  double& sumWX,double& sumWX2,
283  double& sumWY, double& sumWY2,
284  double& sumWXY,
285  double& sumWZ, double&sumWZ2 ) const
286 {
287  if (m_rootHisto) {
288  sumW = LWHistRootUtils::getSumW(m_rootHisto);
289  sumW2 = LWHistRootUtils::getSumW2(m_rootHisto);
290  sumWX = LWHistRootUtils::getSumWX(m_rootHisto);
291  sumWX2 = LWHistRootUtils::getSumWX2(m_rootHisto);
292  sumWY = LWHistRootUtils::getSumWY(m_rootHisto);
293  sumWY2 = LWHistRootUtils::getSumWY2(m_rootHisto);
294  sumWXY = LWHistRootUtils::getSumWXY(m_rootHisto);
295  sumWZ = LWHistRootUtils::getSumWZ(m_rootHisto);
296  sumWZ2 = LWHistRootUtils::getSumWZ2(m_rootHisto);
297  } else {
298  sumW = m_flexHisto->getSumW(); sumW2 = m_flexHisto->getSumW2();
299  sumWX = m_flexHisto->getSumWX(); sumWX2 = m_flexHisto->getSumWX2();
300  sumWY = m_flexHisto->getSumWY(); sumWY2 = m_flexHisto->getSumWY2();
301  sumWXY = m_flexHisto->getSumWXY();
302  sumWZ = m_flexHisto->getSumWProfPar(); sumWZ2 = m_flexHisto->getSumWProfPar2();
303  }
304 }
305 
306 void TProfile2D_LW::setSums( const double& sumW, const double&sumW2,
307  const double& sumWX, const double& sumWX2,
308  const double& sumWY, const double& sumWY2,
309  const double& sumWXY,
310  const double& sumWZ, const double&sumWZ2 )
311 {
312  assert(false);
313  if (m_rootHisto) {
314  LWHistRootUtils::setSumW(m_rootHisto,sumW);
315  LWHistRootUtils::setSumW2(m_rootHisto,sumW2);
316  LWHistRootUtils::setSumWX(m_rootHisto,sumWX);
317  LWHistRootUtils::setSumWX2(m_rootHisto,sumWX2);
318  LWHistRootUtils::setSumWY(m_rootHisto,sumWY);
319  LWHistRootUtils::setSumWY2(m_rootHisto,sumWY2);
320  LWHistRootUtils::setSumWXY(m_rootHisto,sumWXY);
321  assert(false);
322  LWHistRootUtils::setSumWZ(m_rootHisto,sumWZ);
323  LWHistRootUtils::setSumWZ2(m_rootHisto,sumWZ2);
324  } else {
325  m_flexHisto->setSums(sumW,sumW2,sumWX,sumWX2,sumWY,sumWY2,sumWXY,sumWZ,sumWZ2);
326  }
327 }
328 double TProfile2D_LW::Integral() const { return CALL(Integral(),integral()); }
329 void TProfile2D_LW::GetBinInfo(unsigned binx, unsigned biny,double& entries, double& content, double&error) const
330 {
331  LWCOUNTCALL;
332  if (m_rootHisto) {
333  entries = m_rootHisto->GetBinEntries( biny * (m_rootHisto->GetNbinsX()+2) + binx);
334  content = m_rootHisto->GetBinContent(binx,biny);
335  error = m_rootHisto->GetBinError(binx,biny);
336  } else {
338  }
339 }
340 
341 void TProfile2D_LW::SetBinInfo(unsigned binx, unsigned biny,const double& entries, const double& content, const double& error)
342 {
343  LWCOUNTCALL;
344  if (m_rootHisto) {
345  m_rootHisto->SetBinEntries(biny * (m_rootHisto->GetNbinsX()+2) + binx,entries);
346  m_rootHisto->SetBinContent(binx,biny,content);
347  m_rootHisto->SetBinError(binx,biny,error);
348  } else {
350  }
351 }
352 
353 unsigned TProfile2D_LW::actualFindBinX(const double&x) const
354 {
355  assert(!m_rootHisto);//Should have called the TAxis method
356  return m_flexHisto->valueToXBin(x);
357 }
358 
359 unsigned TProfile2D_LW::actualFindBinY(const double&y) const
360 {
361  assert(!m_rootHisto);//Should have called the TAxis method
362  return m_flexHisto->valueToYBin(y);
363 }
364 
366 {
367  assert(!m_rootHisto);//Should have called the TAxis method
368  return m_flexHisto->getBinCenterX(bin);
369 }
370 
372 {
373  assert(!m_rootHisto);//Should have called the TAxis method
374  return m_flexHisto->getBinCenterY(bin);
375 }
376 
377 const float * TProfile2D_LW::getVarBinsX() const
378 {
379  assert(!m_rootHisto);
380  return m_flexHisto->getVarBinsX();
381 }
382 
383 const float * TProfile2D_LW::getVarBinsY() const
384 {
385  assert(!m_rootHisto);
386  return m_flexHisto->getVarBinsY();
387 }
LWHist
Definition: LWHist.h:26
LWCOUNTCALL
#define LWCOUNTCALL
Definition: TProfile2D_LW.cxx:27
TProfile2D_LW::GetBinError
double GetBinError(unsigned binx, unsigned biny) const
Definition: TProfile2D_LW.cxx:268
TProfile2D_LW::getYMax
double getYMax() const
Definition: TProfile2D_LW.cxx:239
ymin
double ymin
Definition: listroot.cxx:63
TProfile2D_LW::GetEntries
virtual unsigned GetEntries() const override
Definition: TProfile2D_LW.cxx:272
integral
double integral(TH1 *h)
Definition: computils.cxx:57
Flex2DProfileHisto::getSumWY
double getSumWY() const
Definition: Flex2DProfileHisto.h:74
TProfile2D_LW::SetBinInfo
void SetBinInfo(unsigned binx, unsigned biny, const double &entries, const double &content, const double &error)
Definition: TProfile2D_LW.cxx:341
Flex2DProfileHisto::valueToYBin
unsigned valueToYBin(const double &y) const
TProfile2D_LW::actualGetBinCenterX
virtual double actualGetBinCenterX(int bin) const override
Definition: TProfile2D_LW.cxx:365
TProfile2D_LW::getXMax
double getXMax() const
Definition: TProfile2D_LW.cxx:226
Flex2DProfileHisto::getSumW2
double getSumW2() const
Definition: Flex2DProfileHisto.h:71
Flex2DProfileHisto::getXMax
double getXMax() const
Definition: Flex2DProfileHisto.h:39
TProfile2D_LW::actualFindBinX
virtual unsigned actualFindBinX(const double &) const override
Definition: TProfile2D_LW.cxx:353
TProfile2D
Definition: rootspy.cxx:531
TProfile2D_LW::TProfile2D_LW
TProfile2D_LW(const char *name, const char *title, unsigned nbinsx, const double &xlow, const double &xup, const double *xbins, unsigned nbinsy, const double &ylow, const double &yup, const double *ybins, const double &zlow, const double &zup, const char *option, bool rootbackend)
Definition: TProfile2D_LW.cxx:106
TProfile2D_LW::GetBinContent
double GetBinContent(unsigned binx, unsigned biny) const
Definition: TProfile2D_LW.cxx:267
PixelAthClusterMonAlgCfg.ybins
ybins
Definition: PixelAthClusterMonAlgCfg.py:163
Flex2DProfileHisto::getSumWX2
double getSumWX2() const
Definition: Flex2DProfileHisto.h:73
bin
Definition: BinsDiffFromStripMedian.h:43
TProfile2D_LW::~TProfile2D_LW
virtual ~TProfile2D_LW()
Definition: TProfile2D_LW.cxx:144
TProfile2D_LW::Integral
virtual double Integral() const override
Definition: TProfile2D_LW.cxx:328
LWHist::ownsROOTHisto
bool ownsROOTHisto() const
Definition: LWHist.h:74
Flex2DProfileHisto::getSumWProfPar2
double getSumWProfPar2() const
Definition: Flex2DProfileHisto.h:78
TProfile2D_LW::actualcreate
static TProfile2D_LW * actualcreate(const char *name, const char *title, unsigned nbinsx, const double &xlow, const double &xup, const double *xbins, unsigned nbinsy, const double &ylow, const double &yup, const double *ybins, const double &zlow, const double &zup, const char *option)
Definition: TProfile2D_LW.cxx:89
TProfile2D_LW::create
static TProfile2D_LW * create(const char *name, const char *title, unsigned nbinsx, const double &xlow, const double &xup, unsigned nbinsy, const double &ylow, const double &yup, const char *option=" ")
Definition: TProfile2D_LW.cxx:32
trigbs_dumpHLTContentInBS.stats
stats
Definition: trigbs_dumpHLTContentInBS.py:91
TProfile2D_LW::SetEntries
virtual void SetEntries(unsigned) override
Definition: TProfile2D_LW.cxx:279
x
#define x
Flex2DProfileHisto::getSumWProfPar
double getSumWProfPar() const
Definition: Flex2DProfileHisto.h:77
Flex2DProfileHisto::getXMin
double getXMin() const
Definition: Flex2DProfileHisto.h:38
TProfile2D_LW::getVarBinsX
const float * getVarBinsX() const
Definition: TProfile2D_LW.cxx:377
Flex2DProfileHisto::getVarBinsX
const float * getVarBinsX() const
Definition: Flex2DProfileHisto.h:43
TProfile2D_LW::Fill
void Fill(const double &x, const double &y, const double &z)
Definition: TProfile2D_LW.cxx:246
TProfile2D_LW::Reset
virtual void Reset() override
Definition: TProfile2D_LW.cxx:204
TProfile2D_LW::m_flexHisto
Flex2DProfileHisto * m_flexHisto
Definition: TProfile2D_LW.h:111
grepfile.content
string content
Definition: grepfile.py:56
LWHist::usingROOTBackend
bool usingROOTBackend() const
Definition: LWHist.h:73
CALL
#define CALL(x, y)
Definition: TProfile2D_LW.cxx:22
TProfile2D_LW::actualFindBinY
virtual unsigned actualFindBinY(const double &) const override
Definition: TProfile2D_LW.cxx:359
Flex2DProfileHisto::getSumWX
double getSumWX() const
Definition: Flex2DProfileHisto.h:72
MP_NEW
#define MP_NEW(Class)
Definition: LWPools.h:26
Flex2DProfileHisto::valueToXBin
unsigned valueToXBin(const double &x) const
TProfile2D_LW::getROOTHistBaseNoAlloc
virtual const TH1 * getROOTHistBaseNoAlloc() const override
Definition: TProfile2D_LW.cxx:153
xmin
double xmin
Definition: listroot.cxx:60
z
#define z
Flex2DProfileHisto::getSumWXY
double getSumWXY() const
Definition: Flex2DProfileHisto.h:76
beamspotman.n
n
Definition: beamspotman.py:731
extractSporadic.h
list h
Definition: extractSporadic.py:97
covarianceTool.title
title
Definition: covarianceTool.py:542
TProfile2D_LW::getXMin
double getXMin() const
Definition: TProfile2D_LW.cxx:219
TProfile2D::Fill
int Fill(double, double, double)
Definition: rootspy.cxx:541
TProfile2D_LW::clear
virtual void clear() override
Definition: TProfile2D_LW.cxx:179
LWREPORT
#define LWREPORT
Definition: TProfile2D_LW.cxx:28
TProfile2D_LW::SetBinError
void SetBinError(unsigned binx, unsigned biny, const double &)
Definition: TProfile2D_LW.cxx:271
LWHistControls::hasROOTBackend
static bool hasROOTBackend()
Definition: LWHistControls.cxx:47
TProfile2D_LW::m_rootHisto
TProfile2D * m_rootHisto
Definition: TProfile2D_LW.h:112
TProfile2D_LW::actualGetBinCenterY
virtual double actualGetBinCenterY(int) const override
Definition: TProfile2D_LW.cxx:371
Flex2DProfileHisto::reset
void reset()
TProfile2D_LW::setSums
void setSums(const double &sumW, const double &sumW2, const double &sumWX, const double &sumWX2, const double &sumWY, const double &sumWY2, const double &sumWXY, const double &sumWZ, const double &sumWZ2)
Definition: TProfile2D_LW.cxx:306
TProfile2D_LW::getSums
void getSums(double &sumW, double &sumW2, double &sumWX, double &sumWX2, double &sumWY, double &sumWY2, double &sumWXY, double &sumWZ, double &sumWZ2) const
Definition: TProfile2D_LW.cxx:281
Flex2DProfileHisto::getSumWY2
double getSumWY2() const
Definition: Flex2DProfileHisto.h:75
TProfile2D_LW::GetNbinsY
unsigned GetNbinsY() const
Definition: TProfile2D_LW.cxx:265
LWHistControls::cleanupOnGetROOT
static bool cleanupOnGetROOT()
Definition: LWHistControls.cxx:35
TProfile2D_LW::GetBinInfo
void GetBinInfo(unsigned binx, unsigned biny, double &entries, double &content, double &error) const
Definition: TProfile2D_LW.cxx:329
TProfile2D_LW::GetErrorOption
const char * GetErrorOption() const
Definition: TProfile2D_LW.cxx:217
Flex2DProfileHisto::getYMin
double getYMin() const
Definition: Flex2DProfileHisto.h:40
TProfile2D_LW::getROOTHistBase
virtual TH1 * getROOTHistBase() override
Definition: TProfile2D_LW.cxx:161
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TProfile2D_LW::clearKeptROOTHist
virtual void clearKeptROOTHist() override
Definition: TProfile2D_LW.cxx:188
TProfile2D_LW::getVarBinsY
const float * getVarBinsY() const
Definition: TProfile2D_LW.cxx:383
Flex2DProfileHisto::getSumW
double getSumW() const
Definition: Flex2DProfileHisto.h:70
LWHist::clear
virtual void clear()
Definition: LWHist.cxx:474
TProfile2D_LW.h
TProfile2D::GetBinContent
double GetBinContent(int) const
Definition: rootspy.cxx:546
TProfile2D_LW
Definition: TProfile2D_LW.h:24
Flex2DProfileHisto::setSums
void setSums(const double &sumW, const double &sumW2, const double &sumWX, const double &sumWX2, const double &sumWY, const double &sumWY2, const double &sumWXY, const double &sumWProfPar, const double &sumWProfPar2)
TProfile2D_LW::SetErrorOption
void SetErrorOption(const char *option)
Definition: TProfile2D_LW.cxx:216
LArCellBinning.xbins
int xbins
Definition: LArCellBinning.py:163
TProfile2D_LW::GetNbinsX
unsigned GetNbinsX() const
Definition: TProfile2D_LW.cxx:264
TProfile2D_LW::SetBinContent
void SetBinContent(unsigned binx, unsigned biny, const double &)
Definition: TProfile2D_LW.cxx:270
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
Flex2DProfileHisto::getBinInfo
void getBinInfo(unsigned binx, unsigned biny, double &entries, double &content, double &error) const
y
#define y
h
Flex2DProfileHisto::getEntries
unsigned getEntries() const
LWHist::apply
virtual bool apply(TH1 *) const
Definition: LWHist.cxx:256
Flex2DProfileHisto::getBinCenterX
double getBinCenterX(int bin) const
TH1
Definition: rootspy.cxx:268
Flex2DProfileHisto::getYMax
double getYMax() const
Definition: Flex2DProfileHisto.h:41
xmax
double xmax
Definition: listroot.cxx:61
entries
double entries
Definition: listroot.cxx:49
Flex2DProfileHisto.h
LWHistRootUtils.h
Flex2DProfileHisto::setBinInfo
void setBinInfo(unsigned binx, unsigned biny, const double &entries, const double &content, const double &error)
LWHistControls.h
Flex2DProfileHisto::getVarBinsY
const float * getVarBinsY() const
Definition: Flex2DProfileHisto.h:44
Flex2DProfileHisto::fill
void fill(const double &x, const double &y, const double &profiledpar)
LWHistRootUtils::deleteProfileHisto
void deleteProfileHisto(TProfileX *rootHist)
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
TProfile2D_LW::getROOTHist
TProfile2D * getROOTHist()
Definition: TProfile2D_LW.cxx:162
LWHistRootUtils::createRoot2DProfileHisto
TProfile2D * createRoot2DProfileHisto(TProfile2D_LW *lwhist, Flex2DProfileHisto *flexHist)
Flex2DProfileHisto::getBinCenterY
double getBinCenterY(int bin) const
error
Definition: IImpactPoint3dEstimator.h:70
python.compressB64.c
def c
Definition: compressB64.py:93
TProfile2D_LW::getYMin
double getYMin() const
Definition: TProfile2D_LW.cxx:232
Flex2DProfileHisto::create
static Flex2DProfileHisto * create(unsigned nbinsx, const double &xmin, const double &xmax, const double *xbins, unsigned nbinsy, const double &ymin, const double &ymax, const double *ybins, const double &profparmin, const double &profparmax)
ymax
double ymax
Definition: listroot.cxx:64
Flex2DProfileHisto::setErrorOptionFromString
void setErrorOptionFromString(const char *option)
Definition: Flex2DProfileHisto.h:65
Flex2DProfileHisto::destroy
static void destroy(Flex2DProfileHisto *)