3 #include "TProfile2D.h" 11 sprintf(
name,
"%s_proj",prof2d->GetName());
12 res =
new TH1D(
name,prof2d->GetTitle(),prof2d->GetNbinsY(),prof2d->GetYaxis()->GetXmin(),prof2d->GetYaxis()->GetXmax());
13 res->SetDirectory(
nullptr);
15 for(
int iy=1;
iy<prof2d->GetNbinsY()+1;++
iy) {
19 for(
int ix=1;
ix<prof2d->GetNbinsX()+1;++
ix) {
20 const int ibin = prof2d->GetBin(
ix,
iy);
21 sum += prof2d->GetBinContent(ibin)*prof2d->GetBinEntries(ibin);
22 sumsq += prof2d->GetBinError(ibin)*prof2d->GetBinError(ibin)*prof2d->GetBinEntries(ibin)*prof2d->GetBinEntries(ibin)+
23 prof2d->GetBinContent(ibin)*prof2d->GetBinContent(ibin)*prof2d->GetBinEntries(ibin);
24 nevt += prof2d->GetBinEntries(ibin);
27 double meansq =
nevt==0 ? 0: sumsq/
nevt;
44 sprintf(
name,
"%s_proj",prof2d->GetName());
45 res =
new TH1D(
name,prof2d->GetTitle(),prof2d->GetNbinsX(),prof2d->GetXaxis()->GetXmin(),prof2d->GetXaxis()->GetXmax());
46 res->SetDirectory(
nullptr);
48 for(
int ix=1;
ix<prof2d->GetNbinsX()+1;++
ix) {
52 for(
int iy=1;
iy<prof2d->GetNbinsY()+1;++
iy) {
53 const int ibin = prof2d->GetBin(
ix,
iy);
54 sum += prof2d->GetBinContent(ibin)*prof2d->GetBinEntries(ibin);
55 sumsq += prof2d->GetBinError(ibin)*prof2d->GetBinError(ibin)*prof2d->GetBinEntries(ibin)*prof2d->GetBinEntries(ibin)+
56 prof2d->GetBinContent(ibin)*prof2d->GetBinContent(ibin)*prof2d->GetBinEntries(ibin);
57 nevt += prof2d->GetBinEntries(ibin);
60 double meansq =
nevt==0 ? 0: sumsq/
nevt;
TH1D * projectProfile2DAlongY(TProfile2D *prof2d)
ALPAKA_FN_ACC ALPAKA_FN_INLINE uint32_t ix(uint32_t id)
ALPAKA_FN_ACC ALPAKA_FN_INLINE uint32_t iy(uint32_t id)
TH1D * projectProfile2DAlongX(TProfile2D *prof2d)