57 unsigned long oldEntries;
58 unsigned long newEntries;
62 oldEntries = (
unsigned long)
static_cast<BDSBH4DBase*
>(mean)->GetEntries_BDSBH4D();
63 newEntries = (
unsigned long)
static_cast<BDSBH4DBase*
>(newValue)->GetEntries_BDSBH4D();
67 oldEntries = (
unsigned long)mean->GetEntries();
68 newEntries = (
unsigned long)newValue->GetEntries();
71 unsigned long newTotalEntries = oldEntries + newEntries;
72 const double nD = (double)newEntries;
73 const double factor = nD * (nD - 1);
79 TH1D* h1 =
dynamic_cast<TH1D*
>(mean);
80 TH1D* h1e =
dynamic_cast<TH1D*
>(variance);
81 TH1D* ht =
dynamic_cast<TH1D*
>(newValue);
82 for (
int j = 0; j <= h1->GetNbinsX() + 1; ++j)
84 var = std::pow(ht->GetBinError(j), 2) * factor;
86 h1e->GetBinContent(j),
89 oldEntries, newEntries,
91 h1->SetBinContent(j, newMean);
92 h1e->SetBinContent(j, newVari);
98 TH2D* h1 =
dynamic_cast<TH2D*
>(mean);
99 TH2D* h1e =
dynamic_cast<TH2D*
>(variance);
100 TH2D* ht =
dynamic_cast<TH2D*
>(newValue);
101 for (
int j = 0; j <= h1->GetNbinsX() + 1; ++j)
103 for (
int k = 0; k <= h1->GetNbinsY() + 1; ++k)
105 var = std::pow(ht->GetBinError(j,k), 2) * factor;
107 h1e->GetBinContent(j,k),
108 ht->GetBinContent(j,k),
110 oldEntries, newEntries,
112 h1->SetBinContent(j, k, newMean);
113 h1e->SetBinContent(j, k, newVari);
120 TH3D* h1 =
dynamic_cast<TH3D*
>(mean);
121 TH3D* h1e =
dynamic_cast<TH3D*
>(variance);
122 TH3D* ht =
dynamic_cast<TH3D*
>(newValue);
123 for (
int j = 0; j <= h1->GetNbinsX() + 1; ++j)
125 for (
int k = 0; k <= h1->GetNbinsY() + 1; ++k)
127 for (
int l = 0; l <= h1->GetNbinsZ() + 1; ++l)
129 var = std::pow(ht->GetBinError(j,k,l), 2) * factor;
131 h1e->GetBinContent(j,k,l),
132 ht->GetBinContent(j,k,l),
134 oldEntries, newEntries,
136 h1->SetBinContent(j, k, l, newMean);
137 h1e->SetBinContent(j, k, l, newVari);
149 for (
int j = -1; j <= h1->GetNbinsX(); ++j)
151 for (
int k = -1; k <= h1->GetNbinsY(); ++k)
153 for (
int l = -1; l <= h1->GetNbinsZ(); ++l)
155 for (
int e = -1; e <= h1->GetNbinsE(); ++e)
157 var = std::pow(ht->AtError(j,k,l,e), 2) * factor;
162 oldEntries, newEntries,
164 h1->Set_BDSBH4D(j, k, l, e, newMean);
165 h1e->Set_BDSBH4D(j, k, l, e, newVari);
178 dynamic_cast<BDSBH4DBase*
>(mean)->SetEntries_BDSBH4D(newTotalEntries);
179 dynamic_cast<BDSBH4DBase*
>(variance)->SetEntries_BDSBH4D(newTotalEntries);
183 mean->SetEntries(newTotalEntries);
184 variance->SetEntries(newTotalEntries);