Fill multiple histograms with different functions and automatic binning.
Illustrates merging with the power-of-two autobin algorithm
OBJ: TStatistic min Mean = -0.19085 +- 0.1072 RMS = 0.33908 Count = 10 Min = -0.66323 Max = 0.29233
OBJ: TStatistic max Mean = 6.2333 +- 0.1942 RMS = 0.61424 Count = 10 Min = 5.5614 Max = 7.6223
OBJ: TStatistic dif Mean = 6.4241 +- 0.1857 RMS = 0.58714 Count = 10 Min = 5.3576 Max = 7.5832
OBJ: TStatistic mean Mean = 3.0119 +- 0.006168 RMS = 0.019504 Count = 10 Min = 2.9827 Max = 3.0426
OBJ: TStatistic rms Mean = 0.99315 +- 0.006448 RMS = 0.020391 Count = 10 Min = 0.95757 Max = 1.0212
ent: 10010
TH1.Print Name = myh0, Entries= 10010, Total sum= 9999
TH1.Print Name = myhref, Entries= 10010, Total sum= 10009
TF1 *
gam =
new TF1(
"gam",
"1/(1+0.1*x*0.1*x)", -100., 100.);
TF1 *
gam1 =
new TF1(
"gam",
"1/(1+0.1*x*0.1*x)", -1., .25);
TF1 *
iga =
new TF1(
"inv gam",
"1.-1/(1+0.1*x*0.1*x)", -100., 100.);
TF1 *
iga1 =
new TF1(
"inv gam",
"1.-1/(1+0.1*x*0.1*x)", -.5, 1.);
kGaus = 1,
kLinear = 2,
};
{
auto href = std::make_unique<TH1D>(
"myhref",
"current", nbins, 0., -1.);
auto href2 = std::make_unique<TH1D>(
"myhref",
"Auto P2, sequential", nbins, 0., -1.);
for (
int j = 0;
j < 10; ++
j) {
const std::string
hname =
"myh" + std::to_string(
j);
auto hw =
new TH1D(
hname.c_str(),
"Auto P2, merged", nbins, 0., -1.);
switch (function) {
case EHist101_Func::kGaus:
xx =
rndm.Gaus(3, 1);
break;
case EHist101_Func::kLinear:
xx =
rndm.Rndm() * 100. - 50.;
break;
case EHist101_Func::kGamma:
xx =
gam->GetRandom();
break;
case EHist101_Func::kGamma1:
xx =
gam1->GetRandom();
break;
case EHist101_Func::kInvGamma:
xx =
iga->GetRandom();
break;
case EHist101_Func::kInvGamma1:
xx =
iga1->GetRandom();
break;
default:
xx =
rndm.Gaus(0, 1);
}
}
}
}
}
return;
if (
gROOT->GetListOfCanvases()->FindObject(
"c3"))
delete gROOT->GetListOfCanvases()->FindObject(
"c3");
std::cout <<
" ent: " <<
h0->GetEntries() <<
"\n";
}
int Int_t
Signed integer 4 bytes (int)
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int)
long long Long64_t
Portable signed long integer 8 bytes.
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
R__EXTERN TStyle * gStyle
1-D histogram with a double per channel (see TH1 documentation)
@ kAutoBinPTwo
different than 1.
static void SetDefaultBufferSize(Int_t bufsize=1000)
Static function to set the default buffer size for automatic histograms.
Random number generator class based on M.
Statistical variable, defined by its mean and variance (RMS).
void SetOptStat(Int_t stat=1)
The type of information printed in the histogram statistics box can be selected via the parameter mod...
- Date
- November 2017
- Author
- Gerardo Ganis
Definition in file hist101_TH1_autobinning.C.