![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
22 #define FLEXHIST() ((reinterpret_cast<Flex2DHisto<int>*>(m_flexHisto)))
23 #define CALL(x,y) m_rootHisto ? m_rootHisto-> x : reinterpret_cast<Flex2DHisto<int>*>(m_flexHisto)-> y
24 #ifdef LW_DEBUG_HEAVY_USERS
25 #define LWCOUNTCALL {if (m_flexHisto) FLEXHIST()->countCall(LWHistTraceUtils::getAdresses());};
26 #define LWREPORT {if (m_flexHisto) FLEXHIST()->produceReport(GetName());};
28 #define LWCOUNTCALL {};
34 unsigned nbinsx,
const double&
xmin,
const double&
xmax,
35 unsigned nbinsy,
const double&
ymin,
const double&
ymax )
43 h->m_nBytesFromPool =
sizeof(
TH2I_LW);
50 unsigned nbinsx,
const double*
xbins,
51 unsigned nbinsy,
const double&
ymin,
const double&
ymax )
59 h->m_nBytesFromPool =
sizeof(
TH2I_LW);
66 unsigned nbinsx,
const double&
xmin,
const double&
xmax,
67 unsigned nbinsy,
const double*
ybins )
75 h->m_nBytesFromPool =
sizeof(
TH2I_LW);
82 unsigned nbinsx,
const double*
xbins,
83 unsigned nbinsy,
const double*
ybins )
91 h->m_nBytesFromPool =
sizeof(
TH2I_LW);
98 unsigned nbinsx,
const float*
xbins,
99 unsigned nbinsy,
const float*
ybins )
107 h->m_nBytesFromPool =
sizeof(
TH2I_LW);
114 unsigned nbinsx,
const double&
xmin,
const double&
xmax,
115 unsigned nbinsy,
const double&
ymin,
const double&
ymax,
bool rootbackend )
119 m_rootbackend_fastloopbin(0),
120 m_ownsRootSumw2(false)
131 unsigned nbinsx,
const double*
xbins,
132 unsigned nbinsy,
const double&
ymin,
const double&
ymax,
bool rootbackend )
136 m_rootbackend_fastloopbin(0),
137 m_ownsRootSumw2(false)
148 unsigned nbinsx,
const double&
xmin,
const double&
xmax,
149 unsigned nbinsy,
const double*
ybins,
bool rootbackend )
153 m_rootbackend_fastloopbin(0),
154 m_ownsRootSumw2(false)
165 unsigned nbinsx,
const double*
xbins,
166 unsigned nbinsy,
const double*
ybins,
bool rootbackend )
170 m_rootbackend_fastloopbin(0),
171 m_ownsRootSumw2(false)
182 unsigned nbinsx,
const float*
xbins,
183 unsigned nbinsy,
const float*
ybins,
bool rootbackend )
187 m_rootbackend_fastloopbin(0),
188 m_ownsRootSumw2(false)
275 unsigned nbinsy,
double ymin,
double ymax)
278 std::cout<<
"TH2I_LW Warning: SetBins(..) called on non-empty histogram."
279 <<
" Bin contents lost/reshuffled! (histogram name: \""<<
GetName()<<
"\")"<<std::endl;
303 return std::as_const(*m_rootHisto).GetXaxis()->GetXmin();
310 return std::as_const(*m_rootHisto).GetXaxis()->GetXmax();
317 return std::as_const(*m_rootHisto).GetYaxis()->GetXmin();
324 return std::as_const(*m_rootHisto).GetYaxis()->GetXmax();
392 return static_cast<unsigned>(
m_rootHisto->GetEntries());
400 double& sumWX,
double& sumWX2,
401 double& sumWY,
double& sumWY2,
402 double& sumWXY)
const
419 void TH2I_LW::setSums(
const double& sumW,
const double&sumW2,
const double& sumWX,
const double& sumWX2,
420 const double& sumWY,
const double& sumWY2,
const double& sumWXY)
431 FLEXHIST()->setSums(sumW,sumW2,sumWX,sumWX2,sumWY,sumWY2,sumWXY);
517 double sumW, sumW2, sumWX,sumWX2,sumWY, sumWY2,sumWXY;
518 getSums(sumW, sumW2, sumWX,sumWX2,sumWY, sumWY2,sumWXY);
519 setSums(sumW*fact, sumW2*fact*fact, sumWX*fact,sumWX2*fact,
520 sumWY*fact, sumWY2*fact,sumWXY*fact);
523 FLEXHIST()->scaleContentsAndErrors(fact);
virtual const TH1 * getROOTHistBaseNoAlloc() const override
void scaleContentsAndErrors(THX *, const double &fact)
const float * getVarBinsY() const
virtual void scaleContentsAndErrors(const double &fact) override
virtual double getYMax() const override
virtual double getXMin() const override
virtual void getSums(double &sumW, double &sumW2, double &sumWX, double &sumWX2, double &sumWY, double &sumWY2, double &sumWXY) const override
virtual void setSums(const double &sumW, const double &sumW2, const double &sumWX, const double &sumWX2, const double &sumWY, const double &sumWY2, const double &sumWXY) override
void SetBinContent(int, double)
virtual double Integral() const override
virtual void resetActiveBinLoop() override
virtual double actualGetBinCenterX(int bin) const override
virtual void SetEntries(unsigned) override
virtual void Fill(const double &x, const double &y) override
bool ownsROOTHisto() const
virtual double GetBinContent(unsigned binx, unsigned biny) const override
virtual void clear() override
bool usingROOTBackend() const
virtual unsigned GetNbinsY() const override
static Flex2DHisto * create(unsigned nbinsx, const double &xmin, const double &xmax, unsigned nbinsy, const double &ymin, const double &ymax)
static TH2I_LW * create(const char *name, const char *title, unsigned nbinsx, const double &xmin, const double &xmax, unsigned nbinsy, const double &ymin, const double &ymax)
double GetBinContent(int) const
virtual double getYMin() const override
static void destroy(Flex2DHisto *)
const char * GetName() const
virtual unsigned actualFindBinX(const double &) const override
static bool hasROOTBackend()
virtual double getXMax() const override
const float * getVarBinsX() const
unsigned m_rootbackend_fastloopbin
virtual double actualGetBinCenterY(int bin) const override
virtual double GetBinError(unsigned binx, unsigned biny) const override
static bool cleanupOnGetROOT()
virtual unsigned GetNbinsX() const override
virtual void GetBinContentAndError(unsigned binx, unsigned biny, double &content, double &error) const override
virtual unsigned GetEntries() const override
virtual unsigned actualFindBinY(const double &) const override
void deleteRootHisto(THX *rootHist, bool &sumW2IsFromPools)
virtual void Reset() override
TH2I_LW(const char *name, const char *title, unsigned nbinsx, const double &xmin, const double &xmax, unsigned nbinsy, const double &ymin, const double &ymax, bool rootbackend)
virtual TH1 * getROOTHistBase() override
virtual void SetBins(unsigned nbinsx, double xmin, double xmax, unsigned nbinsy, double ymin, double ymax) override
virtual void clearKeptROOTHist() override
virtual void SetBinContentAndError(unsigned binx, unsigned biny, const double &content, const double &error) override
virtual void SetBinError(unsigned binx, unsigned biny, const double &) override
virtual bool getNextActiveBin(unsigned &binx, unsigned &biny, double &content, double &error) override
virtual bool apply(TH1 *) const
virtual void SetBinContent(unsigned binx, unsigned biny, const double &) override