73 :
TH1(name,title,nbinsx,xlow,xup)
78 if (nbinsy <= 0) {
Warning(
"TH2",
"nbinsy is <=0 - set to nbinsy = 1"); nbinsy = 1; }
89 :
TH1(name,title,nbinsx,xbins)
94 if (nbinsy <= 0) {
Warning(
"TH2",
"nbinsy is <=0 - set to nbinsy = 1"); nbinsy = 1; }
105 :
TH1(name,title,nbinsx,xlow,xup)
110 if (nbinsy <= 0) {
Warning(
"TH2",
"nbinsy is <=0 - set to nbinsy = 1"); nbinsy = 1; }
122 :
TH1(name,title,nbinsx,xbins)
127 if (nbinsy <= 0) {
Warning(
"TH2",
"nbinsy is <=0 - set to nbinsy = 1"); nbinsy = 1; }
139 :
TH1(name,title,nbinsx,xbins)
144 if (nbinsy <= 0) {
Warning(
"TH2",
"nbinsy is <=0 - set to nbinsy = 1"); nbinsy = 1; }
185 if (nbentries == 0)
return 0;
186 if (nbentries < 0 && action == 0)
return 0;
190 nbentries = -nbentries;
205 for (
Int_t i=1;i<nbentries;i++) {
207 if (x < xmin) xmin =
x;
208 if (x > xmax) xmax =
x;
210 if (y < ymin) ymin =
y;
211 if (y > ymax) ymax =
y;
228 for (
Int_t i=0;i<nbentries;i++) {
229 Fill(buffer[3*i+2],buffer[3*i+3],buffer[3*i+1]);
256 nbentries = -nbentries;
294 Error(
"Fill",
"Invalid signature - do nothing");
318 Int_t binx, biny, bin;
322 if (binx <0 || biny <0)
return -1;
362 Int_t binx, biny, bin;
366 if (binx <0 || biny <0)
return -1;
406 Int_t binx, biny, bin;
410 if (binx <0 || biny <0)
return -1;
448 Int_t binx, biny, bin;
452 if (binx <0 || biny <0)
return -1;
491 Int_t binx, biny, bin;
495 if (binx <0 || biny <0)
return -1;
535 Int_t binx, biny, bin, i;
542 for (i=0;i<ntimes;i+=stride) {
555 for (i=ifirst;i<ntimes;i+=stride) {
559 if (binx <0 || biny <0)
continue;
599 Int_t bin, binx, biny, ibin, loop;
603 if (!fobj) {
Error(
"FillRandom",
"Unknown function: %s",fname);
return; }
604 TF2 *
f1 =
dynamic_cast<TF2*
>(fobj);
605 if (!f1) {
Error(
"FillRandom",
"Function: %s is not a TF2, is a %s",fname,fobj->IsA()->
GetName());
return; }
615 Info(
"FillRandom",
"Using function axis and range ([%g,%g],[%g,%g])",xmin, xmax,ymin,ymax);
624 Int_t nbins = nbinsx*nbinsy;
630 for (biny=1;biny<=nbinsy;biny++) {
631 for (binx=1;binx<=nbinsx;binx++) {
634 integral[ibin] = integral[ibin-1] + fint;
639 if (integral[nbins] == 0 ) {
641 Error(
"FillRandom",
"Integral = zero");
return;
643 for (bin=1;bin<=nbins;bin++) integral[bin] /= integral[nbins];
646 for (loop=0;loop<ntimes;loop++) {
650 binx = 1 + ibin - nbinsx*biny;
674 if (!h) {
Error(
"FillRandom",
"Null histogram");
return; }
676 Error(
"FillRandom",
"Histograms with different dimensions");
return;
684 for (loop=0;loop<ntimes;loop++) {
697 if (axis < 1 || axis > 2) {
698 Warning(
"FindFirstBinAbove",
"Invalid axis number : %d, axis x assumed\n",axis);
705 for (binx=1;binx<=nbinsx;binx++) {
706 for (biny=1;biny<=nbinsy;biny++) {
711 for (biny=1;biny<=nbinsy;biny++) {
712 for (binx=1;binx<=nbinsx;binx++) {
727 if (axis < 1 || axis > 2) {
728 Warning(
"FindLastBinAbove",
"Invalid axis number : %d, axis x assumed\n",axis);
735 for (binx=nbinsx;binx>=1;binx--) {
736 for (biny=1;biny<=nbinsy;biny++) {
741 for (biny=nbinsy;biny>=1;biny--) {
742 for (binx=1;binx<=nbinsx;binx++) {
760 if (firstbin < 0) firstbin = 0;
761 if (lastbin < 0 || lastbin > nbins + 1) lastbin = nbins + 1;
762 if (lastbin < firstbin) {firstbin = 0; lastbin = nbins + 1;}
772 Int_t nstep = ngroup;
777 f1 = (
TF1*)
gROOT->GetFunction(
"gaus");
778 if (f1 == 0) f1 =
new TF1(
"gaus",
"gaus",innerAxis.
GetXmin(),innerAxis.
GetXmax());
782 if (npar <= 0)
return;
794 char *
name =
new char[2000];
795 char *title =
new char[2000];
797 for (ipar=0;ipar<npar;ipar++) {
804 hlist[ipar] =
new TH1D(name,title, nbins,bins->
fArray);
808 (*arr)[ipar] = hlist[ipar];
816 hchi2 =
new TH1D(name,
"chisquare", nbins, bins->
fArray);
820 (*arr)[npar] = hchi2;
827 for (bin=firstbin;bin+ngroup-1<=lastbin;bin += nstep) {
833 if (hp == 0)
continue;
835 if (nentries == 0 || nentries < cut) {
delete hp;
continue;}
839 if (npfits > npar && npfits >= cut) {
840 Int_t binOn = bin + ngroup/2;
841 for (ipar=0;ipar<npar;ipar++) {
913 DoFitSlices(
true, f1, firstybin, lastybin, cut, option, arr);
978 DoFitSlices(
false, f1, firstxbin, lastxbin, cut, option, arr);
985 if (biny < 0) biny = 0;
986 if (biny > ofy) biny = ofy;
1018 Error(
"GetBinWithContent2",
"function is only valid for 2-D histograms");
1021 if (firstxbin < 0) firstxbin = 1;
1023 if (firstybin < 0) firstybin = 1;
1026 for (
Int_t j = firstybin; j <= lastybin; j++) {
1027 for (
Int_t i = firstxbin; i <= lastxbin; i++) {
1029 if (diff <= 0) {binx = i; biny=j;
return diff;}
1030 if (diff < curmax && diff <= maxdiff) {curmax = diff, binx=i; biny=j;}
1042 if (axis1 < 1 || axis2 < 1 || axis1 > 2 || axis2 > 2) {
1043 Error(
"GetCorrelationFactor",
"Wrong parameters");
1046 if (axis1 == axis2)
return 1;
1048 if (stddev1 == 0)
return 0;
1050 if (stddev2 == 0)
return 0;
1060 if (axis1 < 1 || axis2 < 1 || axis1 > 2 || axis2 > 2) {
1061 Error(
"GetCovariance",
"Wrong parameters");
1074 if (sumw == 0)
return 0;
1075 if (axis1 == 1 && axis2 == 1) {
1076 return TMath::Abs(sumwx2/sumw - sumwx/sumw*sumwx/sumw);
1078 if (axis1 == 2 && axis2 == 2) {
1079 return TMath::Abs(sumwy2/sumw - sumwy/sumw*sumwy/sumw);
1081 return sumwxy/sumw - sumwx/sumw*sumwy/sumw;
1094 Int_t nbins = nbinsx*nbinsy;
1103 if (integral == 0 ) { x = 0; y = 0;
return;}
1109 Int_t biny = ibin/nbinsx;
1110 Int_t binx = ibin - nbinsx*biny;
1157 if (firstBinX == 1) firstBinX = 0;
1161 if (firstBinY == 1) firstBinY = 0;
1165 for (
Int_t biny = firstBinY; biny <= lastBinY; ++biny) {
1167 for (
Int_t binx = firstBinX; binx <= lastBinX; ++binx) {
1219 return DoIntegral(firstxbin,lastxbin,firstybin,lastybin,-1,0,err,option);
1233 return DoIntegral(firstxbin,lastxbin,firstybin,lastybin,-1,0,error,option,
kTRUE);
1242 Error(
"Interpolate",
"This function must be called with 2 arguments for a TH2");
1262 Error(
"Interpolate",
"Cannot interpolate outside histogram domain.");
1304 if(bin_x1<1) bin_x1=1;
1308 if(bin_y1<1) bin_y1=1;
1320 f = 1.0*q11/d*(
x2-
x)*(y2-y)+1.0*q21/d*(x-
x1)*(y2-y)+1.0*q12/d*(
x2-
x)*(y-y1)+1.0*q22/d*(x-
x1)*(y-y1);
1330 Error(
"Interpolate",
"This function must be called with 2 arguments for a TH2");
1365 if (h2 == 0)
return 0;
1377 Error(
"KolmogorovTest",
"Histograms must be 2-D\n");
1383 Error(
"KolmogorovTest",
"Number of channels in X is different, %d and %d\n",ncx1,ncx2);
1387 Error(
"KolmogorovTest",
"Number of channels in Y is different, %d and %d\n",ncy1,ncy2);
1397 if (diff1 > difprec || diff2 > difprec) {
1398 Error(
"KolmogorovTest",
"histograms with different binning along X");
1403 if (diff1 > difprec || diff2 > difprec) {
1404 Error(
"KolmogorovTest",
"histograms with different binning along Y");
1409 Int_t ibeg = 1, jbeg = 1;
1410 Int_t iend = ncx1, jend = ncy1;
1411 if (opt.
Contains(
"U")) {ibeg = 0; jbeg = 0;}
1412 if (opt.
Contains(
"O")) {iend = ncx1+1; jend = ncy1+1;}
1419 for (i = ibeg; i <= iend; i++) {
1420 for (j = jbeg; j <= jend; j++) {
1433 Error(
"KolmogorovTest",
"Integral is zero for h1=%s\n",h1->
GetName());
1437 Error(
"KolmogorovTest",
"Integral is zero for h2=%s\n",h2->
GetName());
1445 esum1 = sum1 * sum1 / w1;
1450 esum2 = sum2 * sum2 / w2;
1454 if (afunc2 && afunc1) {
1455 Error(
"KolmogorovTest",
"Errors are zero for both histograms\n");
1464 for (i=ibeg;i<=iend;i++) {
1465 for (j=jbeg;j<=jend;j++) {
1475 for (j=jbeg;j<=jend;j++) {
1476 for (i=ibeg;i<=iend;i++) {
1487 else factnm =
TMath::Sqrt(esum1*sum2/(esum1+esum2));
1490 Double_t dfmax = 0.5*(dfmax1+dfmax2);
1497 if (opt.
Contains(
"N") && !(afunc1 || afunc2 ) ) {
1501 Double_t chi2 = d12*d12/(esum1+esum2);
1504 if (prb > 0 && prb2 > 0) prb = prb*prb2*(1-
TMath::Log(prb*prb2));
1510 printf(
" Kolmo Prob h1 = %s, sum1=%g\n",h1->
GetName(),sum1);
1511 printf(
" Kolmo Prob h2 = %s, sum2=%g\n",h2->
GetName(),sum2);
1512 printf(
" Kolmo Probabil = %f, Max Dist = %g\n",prb,dfmax);
1514 printf(
" Kolmo Probabil = %f for shape alone, =%f for normalisation alone\n",prb1,prb2);
1520 if(opt.
Contains(
"M"))
return dfmax;
1532 return Rebin2D(ngroup, 1, newname);
1542 return Rebin2D(1, ngroup, newname);
1553 if (xbins !=
nullptr) {
1554 Error(
"Rebin",
"Rebinning a 2-d histogram into variable bins is not supported (it is possible only for 1-d histograms). Return a nullptr");
1557 Info(
"Rebin",
"Rebinning only the x-axis. Use Rebin2D for rebinning both axes");
1558 return RebinX(ngroup, newname);
1590 Int_t nx = nxbins + 2;
1591 Int_t ny = nybins + 2;
1598 Error(
"Rebin2D",
"Histogram must be TH2. This histogram has %d dimensions.",
GetDimension());
1601 if ((nxgroup <= 0) || (nxgroup > nxbins)) {
1602 Error(
"Rebin2D",
"Illegal value of nxgroup=%d",nxgroup);
1605 if ((nygroup <= 0) || (nygroup > nybins)) {
1606 Error(
"Rebin2D",
"Illegal value of nygroup=%d",nygroup);
1610 Int_t newxbins = nxbins / nxgroup;
1611 Int_t newybins = nybins / nygroup;
1612 Int_t newnx = newxbins + 2;
1613 Int_t newny = newybins + 2;
1627 if (newname && strlen(newname)) {
1632 bool resetStat =
false;
1635 if(newxbins * nxgroup != nxbins) {
1639 if(newybins * nygroup != nybins) {
1671 if (nxgroup != 1 || nygroup != 1) {
1678 hnew->
SetBins(newxbins, xbins, newybins, ybins);
1682 hnew->
SetBins(newxbins, xmin, xmax, newybins, ymin, ymax);
1687 if (oldErrors) hnew->
fSumw2[0] = 0;
1690 for(
Int_t binx = 1, oldbinx = 1; binx < newnx; ++binx, oldbinx += nxgroup){
1691 Double_t binContent = 0.0, binErrorSq = 0.0;
1692 for (
Int_t i = 0; i < nxgroup && (oldbinx + i) < nx; ++i) {
1693 Int_t bin = oldbinx + i;
1694 binContent += oldBins[bin];
1695 if(oldErrors) binErrorSq += oldErrors[bin];
1697 Int_t newbin = binx;
1699 if (oldErrors) hnew->
fSumw2[newbin] = binErrorSq;
1703 for(
Int_t biny = 1, oldbiny = 1; biny < newny; ++biny, oldbiny += nygroup){
1704 Double_t binContent = 0.0, binErrorSq = 0.0;
1705 for (
Int_t j = 0; j < nygroup && (oldbiny + j) < ny; ++j) {
1706 Int_t bin = (oldbiny + j) * nx;
1707 binContent += oldBins[bin];
1708 if(oldErrors) binErrorSq += oldErrors[bin];
1710 Int_t newbin = biny * newnx;
1712 if (oldErrors) hnew->
fSumw2[newbin] = binErrorSq;
1716 for (
Int_t binx = 1, oldbinx = 1; binx < newnx; ++binx, oldbinx += nxgroup) {
1717 for (
Int_t biny = 1, oldbiny = 1; biny < newny; ++biny, oldbiny += nygroup) {
1718 Double_t binContent = 0.0, binErrorSq = 0.0;
1719 for (
Int_t i = 0; i < nxgroup && (oldbinx + i) < nx; ++i) {
1720 for (
Int_t j = 0; j < nygroup && (oldbiny + j) < ny; ++j) {
1721 Int_t bin = oldbinx + i + (oldbiny + j) * nx;
1722 binContent += oldBins[bin];
1723 if (oldErrors) binErrorSq += oldErrors[bin];
1726 Int_t newbin = binx + biny * newnx;
1728 if (oldErrors) hnew->
fSumw2[newbin] = binErrorSq;
1761 if (oldErrors)
delete [] oldErrors;
1776 cut = opt(i1,i2-i1+1);
1779 bool originalRange = opt.
Contains(
"o");
1784 const char *expectedName = ( onX ?
"_pfx" :
"_pfy" );
1797 if (firstbin == 0 && lastbin == 0)
1803 if (firstbin < 0) firstbin = 1;
1804 if (lastbin < 0) lastbin = inN;
1805 if (lastbin > inN+1) lastbin = inN;
1808 char *pname = (
char*)name;
1809 if (name && strcmp(name, expectedName) == 0) {
1811 pname =
new char[nch];
1820 Error(
"DoProfile",
"Histogram with name %s must be a TProfile and is a %s",name,h1obj->
ClassName());
1829 if (xbins->
fN == 0) {
1830 if ( originalRange )
1839 h1->
SetBins(lastOutBin-firstOutBin+1,&xbins->
fArray[firstOutBin-1]);
1845 ((
TH2 *)
this)->GetPainter();
1851 if (bins->
fN == 0) {
1852 if ( originalRange )
1866 if (pname != name)
delete [] pname;
1891 for (
Int_t outbin = 0; outbin <= outAxis.
GetNbins() + 1; ++outbin) {
1897 if (binOut <0)
continue;
1899 for (
Int_t inbin = firstbin ; inbin <= lastbin ; ++inbin) {
1901 if (onX) { binx = outbin; biny=inbin; }
1902 else { binx = inbin; biny=outbin; }
1914 if ( useWeights ) tmp = binSumw2.
fArray[binOut];
1937 if (!
gPad || !
gPad->FindObject(h1)) {
1942 if (padsav) padsav->
cd();
1993 return DoProfile(
true, name, firstybin, lastybin, option);
2043 return DoProfile(
false, name, firstxbin, lastxbin, option);
2053 const char *expectedName = 0;
2055 const TAxis* outAxis;
2056 const TAxis* inAxis;
2063 cut = opt(i1,i2-i1+1);
2066 bool originalRange = opt.
Contains(
"o");
2070 expectedName =
"_px";
2077 expectedName =
"_py";
2094 if (firstbin == 0 && lastbin == 0)
2100 if (firstbin < 0) firstbin = 0;
2101 if (lastbin < 0) lastbin = inNbin + 1;
2102 if (lastbin > inNbin+1) lastbin = inNbin + 1;
2105 char *pname = (
char*)name;
2106 if (name && strcmp(name,expectedName) == 0) {
2108 pname =
new char[nch];
2118 Error(
"DoProjection",
"Histogram with name %s must be a TH1D and is a %s",name,h1obj->
ClassName());
2127 if (xbins->
fN == 0) {
2128 if ( originalRange )
2137 h1->
SetBins(lastOutBin-firstOutBin+1,&xbins->
fArray[firstOutBin-1]);
2143 ((
TH2 *)
this)->GetPainter();
2149 if (bins->
fN == 0) {
2150 if ( originalRange )
2153 h1 =
new TH1D(pname,
GetTitle(),lastOutBin-firstOutBin+1,
2160 h1 =
new TH1D(pname,
GetTitle(),lastOutBin-firstOutBin+1,&bins->
fArray[firstOutBin-1]);
2164 if (pname != name)
delete [] pname;
2192 for (
Int_t outbin = 0; outbin <= outAxis->
GetNbins() + 1; ++outbin) {
2197 for (
Int_t inbin = firstbin ; inbin <= lastbin ; ++inbin) {
2199 if (onX) { binx = outbin; biny=inbin; }
2200 else { binx = inbin; biny=outbin; }
2207 if (computeErrors) {
2221 bool reuseStats =
false;
2227 double eps = 1.E-12;
2232 if (ncuts) reuseStats =
false;
2234 bool reuseEntries = reuseStats;
2236 reuseEntries &= (firstbin==0 && lastbin == inNbin+1);
2241 stats[2] = stats[4];
2242 stats[3] = stats[5];
2272 if (!
gPad || !
gPad->FindObject(h1)) {
2277 if (padsav) padsav->
cd();
2319 return DoProjection(
true, name, firstybin, lastybin, option);
2359 return DoProjection(
false, name, firstxbin, lastxbin, option);
2410 const TAxis *outAxis = 0;
2411 const TAxis *inAxis = 0;
2422 if (qname.
IsNull() || qname ==
"_qx" || qname ==
"_qy") {
2423 const char * qtype = (onX) ?
"qx" :
"qy";
2431 h1 =
dynamic_cast<TH1D*
>(h1obj);
2433 Error(
"DoQuantiles",
"Histogram with name %s must be a TH1D and is a %s",qname.
Data(),h1obj->
ClassName());
2450 h1->
SetBins(lastOutBin-firstOutBin+1,&xbins->fArray[firstOutBin-1]);
2457 for (
int ibin = inAxis->
GetFirst() ; ibin <= inAxis->
GetLast() ; ++ibin) {
2462 if (slice->
GetSum() == 0)
continue;
2473 error =
TMath::Sqrt( prob*(1.-prob)/ (n * f * f) );
2476 if (slice)
delete slice;
2504 if (bin < 0)
return;
2548 return (
TH1*)
gROOT->ProcessLineFast(
Form(
"TSpectrum2::StaticBackground((TH1*)0x%lx,%d,\"%s\")",
2549 (
ULong_t)
this, niter, option));
2564 return (
Int_t)
gROOT->ProcessLineFast(
Form(
"TSpectrum2::StaticSearch((TH1*)0x%lx,%g,\"%s\",%g)",
2565 (
ULong_t)
this, sigma, option, threshold));
2592 Double_t k5a[5][5] = { { 0, 0, 1, 0, 0 },
2596 { 0, 0, 1, 0, 0 } };
2597 Double_t k5b[5][5] = { { 0, 1, 2, 1, 0 },
2601 { 0, 1, 2, 1, 0 } };
2602 Double_t k3a[3][3] = { { 0, 1, 0 },
2607 Warning(
"Smooth",
"Currently only ntimes=1 is supported");
2614 if (opt.
Contains(
"k5b")) kernel = &k5b[0][0];
2616 kernel = &k3a[0][0];
2631 Int_t bufSize = (nx+2)*(ny+2);
2638 for (i=ifirst; i<=ilast; i++){
2639 for (j=jfirst; j<=jlast; j++){
2647 Int_t x_push = (ksize_x-1)/2;
2648 Int_t y_push = (ksize_y-1)/2;
2651 for (i=ifirst; i<=ilast; i++){
2652 for (j=jfirst; j<=jlast; j++) {
2661 if ( (xb >= 1) && (xb <= nx) && (yb >= 1) && (yb <= ny) ) {
2667 content += k*buf[bin];
2668 if (ebuf) error += k*k*ebuf[bin]*ebuf[bin];
2674 if ( norm != 0.0 ) {
2677 error /= (norm*norm);
2693 void TH2::Streamer(
TBuffer &R__b)
2703 TH1::Streamer(R__b);
2747 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ylow,yup)
2761 :
TH2(name,title,nbinsx,xbins,nbinsy,ylow,yup)
2773 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ybins)
2785 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
2797 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
2828 if (newval > -128 && newval < 128) {
fArray[bin] =
Char_t(newval);
return;}
2829 if (newval < -127)
fArray[bin] = -127;
2830 if (newval > 127)
fArray[bin] = 127;
2868 void TH2C::Streamer(
TBuffer &R__b)
2880 TH1::Streamer(R__b);
2881 TArrayC::Streamer(R__b);
2888 TH2::Streamer(R__b);
2889 TArrayC::Streamer(R__b);
2905 if (
this != &h1) ((
TH2C&)h1).
Copy(*
this);
3001 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ylow,yup)
3015 :
TH2(name,title,nbinsx,xbins,nbinsy,ylow,yup)
3027 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ybins)
3039 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3051 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3082 if (newval > -32768 && newval < 32768) {
fArray[bin] =
Short_t(newval);
return;}
3083 if (newval < -32767)
fArray[bin] = -32767;
3084 if (newval > 32767)
fArray[bin] = 32767;
3122 void TH2S::Streamer(
TBuffer &R__b)
3134 TH1::Streamer(R__b);
3135 TArrayS::Streamer(R__b);
3142 TH2::Streamer(R__b);
3143 TArrayS::Streamer(R__b);
3159 if (
this != &h1) ((
TH2S&)h1).
Copy(*
this);
3255 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ylow,yup)
3269 :
TH2(name,title,nbinsx,xbins,nbinsy,ylow,yup)
3281 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ybins)
3293 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3305 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3336 if (newval > -2147483647 && newval < 2147483647) {
fArray[bin] =
Int_t(newval);
return;}
3337 if (newval < -2147483647)
fArray[bin] = -2147483647;
3338 if (newval > 2147483647)
fArray[bin] = 2147483647;
3378 if (
this != &h1) ((
TH2I&)h1).
Copy(*
this);
3474 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ylow,yup)
3488 :
TH2(name,title,nbinsx,xbins,nbinsy,ylow,yup)
3500 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ybins)
3512 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3524 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3535 :
TH2(
"TMatrixFBase",
"",m.GetNcols(),m.GetColLwb(),1+m.GetColUpb(),m.GetNrows(),m.GetRowLwb(),1+m.GetRowUpb())
3542 for (
Int_t i=ilow;i<=iup;i++) {
3543 for (
Int_t j=jlow;j<=jup;j++) {
3593 void TH2F::Streamer(
TBuffer &R__b)
3605 TH1::Streamer(R__b);
3606 TArrayF::Streamer(R__b);
3613 TH2::Streamer(R__b);
3614 TArrayF::Streamer(R__b);
3630 if (
this != &h1) ((
TH2F&)h1).
Copy(*
this);
3738 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ylow,yup)
3752 :
TH2(name,title,nbinsx,xbins,nbinsy,ylow,yup)
3764 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ybins)
3776 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3788 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3799 :
TH2(
"TMatrixDBase",
"",m.GetNcols(),m.GetColLwb(),1+m.GetColUpb(),m.GetNrows(),m.GetRowLwb(),1+m.GetRowUpb())
3806 for (
Int_t i=ilow;i<=iup;i++) {
3807 for (
Int_t j=jlow;j<=jup;j++) {
3858 void TH2D::Streamer(
TBuffer &R__b)
3870 TH1::Streamer(R__b);
3871 TArrayD::Streamer(R__b);
3878 TH2::Streamer(R__b);
3879 TArrayD::Streamer(R__b);
3895 if (
this != &h1) ((
TH2D&)h1).
Copy(*
this);
virtual void SetBinsLength(Int_t n=-1)
Set total number of bins including under/overflow Reallocate bin contents array.
virtual void SetTitleOffset(Float_t offset=1)
Set distance between the axis and the axis title Offset is a correction factor with respect to the "s...
virtual const char * GetName() const
Returns name of object.
TH1D * QuantilesX(Double_t prob=0.5, const char *name="_qx") const
Compute the X distribution of quantiles in the other variable Y name is the name of the returned hist...
virtual Float_t GetTickLength() const
virtual Int_t GetNcells() const
virtual void Scale(Double_t c1=1, Option_t *option="")
Multiply this histogram by a constant c1.
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
virtual void AddBinContent(Int_t bin)
Increment bin content by 1.
virtual Double_t GetEffectiveEntries() const
Number of effective entries of the histogram.
virtual void Paint(Option_t *option="")
Control routine to paint any kind of histograms.
virtual void SetParameters(const Double_t *params)
virtual void FillRandom(const char *fname, Int_t ntimes=5000)
Fill histogram following distribution in function fname.
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
Double_t Floor(Double_t x)
void Set(Int_t n)
Set size of this array to n chars.
friend TH2D operator+(TH2D &h1, TH2D &h2)
Operator +.
Int_t GetFirst() const
Return first bin on the axis i.e.
virtual void GetRandom2(Double_t &x, Double_t &y)
Return 2 random numbers along axis x and y distributed according the cell-contents of a 2-dim histogr...
virtual Int_t BufferEmpty(Int_t action=0)
Fill histogram with all entries in the buffer.
void Copy(TArrayI &array) const
friend TH2F operator/(TH2F &h1, TH2F &h2)
Operator /.
virtual void PutStats(Double_t *stats)
Replace current statistics with the values in array stats.
static Bool_t fgDefaultSumw2
!flag to call TH1::Sumw2 automatically at histogram creation time
TVirtualHistPainter * GetPainter(Option_t *option="")
Return pointer to painter.
Collectable string class.
virtual void SetDirectory(TDirectory *dir)
By default when an histogram is created, it is added to the list of histogram objects in the current ...
friend TH2C operator/(TH2C &h1, TH2C &h2)
Operator /.
virtual Float_t GetLabelOffset() const
virtual Double_t GetBinLowEdge(Int_t bin) const
Return low edge of bin.
Double_t KolmogorovProb(Double_t z)
friend TH2C operator+(TH2C &h1, TH2C &h2)
Operator +.
Double_t QuietNaN()
Returns a quiet NaN as defined by IEEE 754
friend TH2D operator-(TH2D &h1, TH2D &h2)
Operator -.
TString & ReplaceAll(const TString &s1, const TString &s2)
TAxis fYaxis
Y axis descriptor.
TH1D * ProjectionY(const char *name="_py", Int_t firstxbin=0, Int_t lastxbin=-1, Option_t *option="") const
Project a 2-D histogram into a 1-D histogram along Y.
virtual void PutStats(Double_t *stats)
Replace current statistics with the values in array stats.
Bool_t GetStatOverflowsBehaviour() const
virtual TH2 * RebinY(Int_t ngroup=2, const char *newname="")
Rebin only the Y axis see Rebin2D.
virtual void SetBins(Int_t nx, Double_t xmin, Double_t xmax)
Redefine x axis parameters.
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
friend TH2I operator-(TH2I &h1, TH2I &h2)
Operator -.
virtual Color_t GetAxisColor() const
virtual void SetLabelColor(Color_t color=1, Float_t alpha=1.)
Set color of labels.
virtual Int_t BufferFill(Double_t x, Double_t y, Double_t w)
accumulate arguments in buffer.
virtual void SetBinsLength(Int_t n=-1)
Set total number of bins including under/overflow Reallocate bin contents array.
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
virtual void SetNdivisions(Int_t n=510, Bool_t optim=kTRUE)
Set the number of divisions for this axis.
virtual Int_t GetQuantiles(Int_t nprobSum, Double_t *q, const Double_t *probSum=0)
Compute Quantiles for this histogram Quantile x_q of a probability distribution Function F is defined...
virtual void SetRange(Double_t xmin, Double_t xmax)
Initialize the upper and lower bounds to draw the function.
void ToUpper()
Change string to upper case.
Buffer base class used for serializing objects.
TH1D * ProjectionX(const char *name="_px", Int_t firstybin=0, Int_t lastybin=-1, Option_t *option="") const
Project a 2-D histogram into a 1-D histogram along X.
virtual Int_t MakeCuts(char *cutsopt)=0
static THLimitsFinder * GetLimitsFinder()
Return pointer to the current finder.
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
virtual Double_t GetMean(Int_t axis=1) const
For axis = 1,2 or 3 returns the mean value of the histogram along X,Y or Z axis.
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
virtual ~TH2D()
Destructor.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual TH1D * DoQuantiles(bool onX, const char *name, Double_t prob) const
Implementation of quantiles for x or y.
virtual Double_t GetCorrelationFactor(Int_t axis1=1, Int_t axis2=2) const
Return correlation factor between axis1 and axis2.
virtual void GetRange(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const
Return range of a 2-D function.
2-D histogram with a byte per channel (see TH1 documentation)
Array of floats (32 bits per element).
virtual void SetTitleFont(Style_t font=62)
Set the title font.
virtual Double_t Integral(Option_t *option="") const
Return integral of bin contents.
void ToLower()
Change string to lower-case.
virtual ~TH2()
Destructor.
friend TH2C operator*(Float_t c1, TH2C &h1)
Operator *.
virtual Double_t GetParError(Int_t ipar) const
Return value of parameter number ipar.
TArrayD fSumw2
Array of sum of squares of weights.
friend TH2I operator/(TH2I &h1, TH2I &h2)
Operator /.
void Copy(TArrayC &array) const
virtual Float_t GetLabelSize() const
virtual Bool_t IsInside(Int_t x, Int_t y)=0
virtual Int_t FindGoodLimits(TH1 *h, Double_t xmin, Double_t xmax)
Compute the best axis limits for the X axis.
virtual void Copy(TObject &hnew) const
Copy.
virtual void SetShowProjectionY(Int_t nbins=1)
When the mouse is moved in a pad containing a 2-d view of this histogram a second canvas shows the pr...
virtual void SetLabelOffset(Float_t offset=0.005)
Set distance between the axis and the labels The distance is expressed in per cent of the pad width...
virtual Double_t Integral(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t epsrel=1.e-6)
Return Integral of a 2d function in range [ax,bx],[ay,by] with desired relative accuracy (default val...
friend TH2I operator*(Float_t c1, TH2I &h1)
Operator *.
virtual TVirtualPad * cd(Int_t subpadnumber=0)=0
virtual void SetBinsLength(Int_t n=-1)
Set total number of bins including under/overflow Reallocate bin contents array.
friend TH2D operator/(TH2D &h1, TH2D &h2)
Operator /.
Double_t Prob(Double_t chi2, Int_t ndf)
friend TH2I operator+(TH2I &h1, TH2I &h2)
Operator +.
Array of integers (32 bits per element).
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void SetBuffer(Int_t buffersize, Option_t *option="")
Set the maximum number of entries to be kept in the buffer.
Double_t fTsumwx2
Total Sum of weight*X*X.
virtual Bool_t CanExtendAllAxes() const
Returns true if all axes are extendable.
virtual void Reset(Option_t *option="")
Reset this histogram: contents, errors, etc.
virtual Double_t GetBinUpEdge(Int_t bin) const
Return up edge of bin.
virtual void SetLabelFont(Style_t font=62)
Set labels' font.
friend TH2S operator/(TH2S &h1, TH2S &h2)
Operator /.
virtual Style_t GetMarkerStyle() const
Return the marker style.
virtual Style_t GetTitleFont() const
virtual Int_t GetDimension() const
friend TH2C operator-(TH2C &h1, TH2C &h2)
Operator -.
static const double x2[5]
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual void Reset(Option_t *option="")
Reset contents of a Profile histogram.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString...
TH2F & operator=(const TH2F &h1)
Operator =.
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
virtual Int_t ShowPeaks(Double_t sigma=2, Option_t *option="", Double_t threshold=0.05)
Interface to TSpectrum2::Search the function finds peaks in this histogram where the width is > sigma...
THashList * GetLabels() const
virtual void Copy(TObject &hnew) const
Copy.
virtual TArrayD * GetBinSumw2()
virtual void SetShowProjectionX(Int_t nbins=1)
When the mouse is moved in a pad containing a 2-d view of this histogram a second canvas shows the pr...
virtual Double_t GetBinCenter(Int_t bin) const
Return center of bin.
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
TH2S & operator=(const TH2S &h1)
Operator =.
friend TH2F operator-(TH2F &h1, TH2F &h2)
Operator -.
Ssiz_t First(char c) const
Find first occurrence of a character c.
virtual void AddBinContent(Int_t bin)
Increment bin content by 1.
virtual void ResetStats()
Reset the statistics including the number of entries and replace with values calculates from bin cont...
TVirtualPad is an abstract base class for the Pad and Canvas classes.
void Set(Int_t n)
Set size of this array to n ints.
virtual void Reset(Option_t *option="")
Reset.
virtual void SetBinError(Int_t bin, Double_t error)
Set the bin Error Note that this resets the bin eror option to be of Normal Type and for the non-empt...
virtual Double_t ComputeIntegral(Bool_t onlyPositive=false)
Compute integral (cumulative sum of bins) The result stored in fIntegral is used by the GetRandom fun...
virtual Color_t GetLabelColor() const
virtual void AddBinContent(Int_t bin)
Increment bin content by 1.
Double_t fTsumwx
Total Sum of weight*X.
virtual Bool_t Divide(TF1 *f1, Double_t c1=1)
Performs the operation: this = this/(c1*f1) if errors are defined (see TH1::Sumw2), errors are also recalculated.
virtual Int_t GetNdivisions() const
virtual void Copy(TObject &hnew) const
Copy.
void Set(Int_t n)
Set size of this array to n shorts.
virtual Double_t Rndm()
Machine independent random number generator.
virtual void ImportAttributes(const TAxis *axis)
Copy axis attributes to this.
virtual void Smooth(Int_t ntimes=1, Option_t *option="")
Smooth bin contents of this 2-d histogram using kernel algorithms similar to the ones used in the ras...
virtual Int_t FindFirstBinAbove(Double_t threshold=0, Int_t axis=1) const
Find first bin with content > threshold for axis (1=x, 2=y, 3=z) if no bins with content > threshold ...
virtual const char * GetParName(Int_t ipar) const
virtual void ExtendAxis(Double_t x, TAxis *axis)
Histogram is resized along axis such that x is in the axis range.
virtual Double_t GetBinWithContent2(Double_t c, Int_t &binx, Int_t &biny, Int_t firstxbin=1, Int_t lastxbin=-1, Int_t firstybin=1, Int_t lastybin=-1, Double_t maxdiff=0) const
compute first cell (binx,biny) in the range [firstxbin,lastxbin][firstybin,lastybin] for which diff =...
virtual void Reset(Option_t *option="")
Reset this histogram: contents, errors, etc.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual void Copy(TObject &hnew) const
Copy.
void Copy(TArrayF &array) const
virtual ~TH2C()
Destructor.
virtual void AddBinContent(Int_t bin)
Increment bin content by 1.
Int_t GetLast() const
Return last bin on the axis i.e.
const char * GetTitle() const
Returns title of object.
Service class for 2-Dim histogram classes.
Class to manage histogram axis.
virtual void GetStats(Double_t *stats) const
Fill the array stats from the contents of this histogram The array stats must be correctly dimensione...
virtual void Draw(Option_t *option="")
Draw this histogram with options.
Array of shorts (16 bits per element).
TH2C & operator=(const TH2C &h1)
Operator =.
virtual void FitSlicesX(TF1 *f1=0, Int_t firstybin=0, Int_t lastybin=-1, Int_t cut=0, Option_t *option="QNR", TObjArray *arr=0)
Project slices along X in case of a 2-D histogram, then fit each slice with function f1 and make a hi...
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual Int_t GetNumberFitPoints() const
2-D histogram with a float per channel (see TH1 documentation)}
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
virtual void SetBinContent(Int_t bin, Double_t content)
Set bin content see convention for numbering bins in TH1::GetBin In case the bin number is greater th...
static Int_t fgBufferSize
!default buffer size for automatic histograms
virtual Bool_t Multiply(TF1 *f1, Double_t c1=1)
Performs the operation:
virtual void Copy(TObject &hnew) const
Copy.
Double_t fEntries
Number of entries.
virtual Float_t GetTitleOffset() const
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
char * Form(const char *fmt,...)
virtual void Copy(TObject &hnew) const
Copy this histogram structure to newth1.
Int_t Fill(const Double_t *v)
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
virtual Color_t GetTitleColor() const
Double_t * fIntegral
!Integral of bins used by GetRandom
virtual Double_t IntegralAndError(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Double_t &err, Option_t *option="") const
Return integral of bin contents in range [firstxbin,lastxbin],[firstybin,lastybin] for a 2-D histogra...
A 2-Dim function with parameters.
R__EXTERN TRandom * gRandom
1-D histogram with a double per channel (see TH1 documentation)}
virtual Int_t GetBin(Int_t binx, Int_t biny=0, Int_t binz=0) const
Return Global bin number corresponding to binx,y,z.
virtual void SetAxisColor(Color_t color=1, Float_t alpha=1.)
Set color of the line axis and tick marks.
virtual void SetLabelSize(Float_t size=0.04)
Set size of axis labels The size is expressed in per cent of the pad width.
virtual void SetTitleColor(Color_t color=1)
Set color of axis title.
virtual void SetTitleSize(Float_t size=0.04)
Set size of axis title The size is expressed in per cent of the pad width.
virtual Double_t RetrieveBinContent(Int_t bin) const
Raw retrieval of bin content on internal data structure see convention for numbering bins in TH1::Get...
Double_t Gaus(Double_t x, Double_t mean=0, Double_t sigma=1, Bool_t norm=kFALSE)
Calculate a gaussian function with mean and sigma.
virtual Color_t GetLineColor() const
Return the line color.
TH1D * QuantilesY(Double_t prob=0.5, const char *name="_qy") const
Compute the Y distribution of quantiles in the other variable X name is the name of the returned hist...
virtual Int_t FindBin(Double_t x)
Find bin number corresponding to abscissa x.
friend TH2D operator*(Float_t c1, TH2D &h1)
Operator *.
virtual void SetName(const char *name)
Change the name of this histogram.
TString & Remove(Ssiz_t pos)
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=0)=0
virtual Int_t GetSumw2N() const
Double_t GetChisquare() const
Double_t fTsumw2
Total Sum of squares of weights.
friend TH2F operator+(TH2F &h1, TH2F &h2)
Operator +.
friend TH2S operator*(Float_t c1, TH2S &h1)
Operator *.
virtual TH2 * RebinX(Int_t ngroup=2, const char *newname="")
Rebin only the X axis see Rebin2D.
static const double x1[5]
TProfile * ProfileY(const char *name="_pfy", Int_t firstxbin=1, Int_t lastxbin=-1, Option_t *option="") const
Project a 2-D histogram into a profile histogram along Y.
TProfile * ProfileX(const char *name="_pfx", Int_t firstybin=1, Int_t lastybin=-1, Option_t *option="") const
Project a 2-D histogram into a profile histogram along X.
TH2I & operator=(const TH2I &h1)
Operator =.
virtual void DoFitSlices(bool onX, TF1 *f1, Int_t firstbin, Int_t lastbin, Int_t cut, Option_t *option, TObjArray *arr)
Double_t fTsumw
Total Sum of weights.
virtual void SetShowProjection(const char *option, Int_t nbins)=0
virtual void FitSlicesY(TF1 *f1=0, Int_t firstxbin=0, Int_t lastxbin=-1, Int_t cut=0, Option_t *option="QNR", TObjArray *arr=0)
Project slices along Y in case of a 2-D histogram, then fit each slice with function f1 and make a hi...
Histogram is forced to be not weighted even when the histogram is filled with weighted different than...
virtual void Expand(Int_t newSize)
Expand or shrink the array to newSize elements.
virtual Color_t GetFillColor() const
Return the fill area color.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
virtual Double_t GetEntries() const
Return the current number of entries.
2-D histogram with a short per channel (see TH1 documentation)
virtual void SetBinLabel(Int_t bin, const char *label)
Set label for bin.
virtual Float_t GetTitleSize() const
virtual Int_t FindLastBinAbove(Double_t threshold=0, Int_t axis=1) const
Find last bin with content > threshold for axis (1=x, 2=y, 3=z) if no bins with content > threshold i...
Array of doubles (64 bits per element).
friend TH2F operator*(Float_t c1, TH2F &h1)
Operator *.
virtual Bool_t Add(TF1 *h1, Double_t c1=1, Option_t *option="")
Performs the operation: this = this + c1*f1 if errors are defined (see TH1::Sumw2), errors are also recalculated.
void SetBins(const Int_t *nbins, const Double_t *range)
Mother of all ROOT objects.
you should not use this method at all Int_t Int_t z
virtual TH1 * ShowBackground(Int_t niter=20, Option_t *option="same")
This function calculates the background spectrum in this histogram.
virtual ~TH2F()
Destructor.
virtual Int_t GetNpar() const
virtual Double_t GetBinWidth(Int_t bin) const
Return bin width.
virtual Double_t Interpolate(Double_t x)
illegal for a TH2
TVirtualHistPainter * fPainter
!pointer to histogram painter
virtual void SetBinsLength(Int_t n=-1)
Set total number of bins including under/overflow Reallocate bin contents array.
virtual ~TH2I()
Destructor.
Int_t fBufferSize
fBuffer size
virtual Double_t GetParameter(Int_t ipar) const
virtual Double_t GetBinErrorSqUnchecked(Int_t bin) const
virtual Double_t DoIntegral(Int_t ix1, Int_t ix2, Int_t iy1, Int_t iy2, Int_t iz1, Int_t iz2, Double_t &err, Option_t *opt, Bool_t doerr=kFALSE) const
Internal function compute integral and optionally the error between the limits specified by the bin n...
virtual void Copy(TObject &hnew) const
Copy.
Short_t Max(Short_t a, Short_t b)
virtual void Sumw2(Bool_t flag=kTRUE)
Create structure to store sum of squares of weights.
TObject * Clone(const char *newname=0) const
Make a complete copy of the underlying object.
Int_t fDimension
!Histogram dimension (1, 2 or 3 dim)
THist< 1, double, THistStatContent, THistStatUncertainty > TH1D
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
virtual void SetTickLength(Float_t length=0.03)
Set tick mark length The length is expressed in per cent of the pad width.
virtual void SetBinsLength(Int_t n=-1)
Set total number of bins including under/overflow Reallocate bin contents array.
virtual Double_t * GetParameters() const
void Set(Int_t n)
Set size of this array to n floats.
virtual void SetEntries(Double_t n)
TAxis fXaxis
X axis descriptor.
virtual TH1 * GetHistogram() const
Return a pointer to the histogram used to visualise the function.
friend TH2S operator+(TH2S &h1, TH2S &h2)
Operator +.
virtual void SetBinContent(Int_t bin, Double_t content)
Set bin content.
virtual Color_t GetMarkerColor() const
Return the marker color.
virtual Int_t GetNbinsX() const
Double_t Sqrt(Double_t x)
virtual void Reset(Option_t *option="")
Reset this histogram: contents, errors, etc.
2-D histogram with an int per channel (see TH1 documentation)}
virtual void Sumw2(Bool_t flag=kTRUE)
Create/delete structure to store sum of squares of weights per bin.
virtual const char * GetName() const
Returns name of object.
virtual void Set(Int_t nbins, Double_t xmin, Double_t xmax)
Initialize axis with fix bins.
virtual Int_t GetBin(Int_t binx, Int_t biny, Int_t binz=0) const
Return Global bin number corresponding to binx,y,z.
Int_t Fill(Double_t)
Invalid Fill method.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
Double_t * fBuffer
[fBufferSize] entry buffer
virtual ~TH2S()
Destructor.
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Double_t xmin=0, Double_t xmax=0)
Fit histogram with function fname.
friend TH2S operator-(TH2S &h1, TH2S &h2)
Operator -.
virtual void UpdateBinContent(Int_t bin, Double_t content)
Raw update of bin content on internal data structure see convention for numbering bins in TH1::GetBin...
virtual Double_t GetStdDev(Int_t axis=1) const
Returns the Standard Deviation (Sigma).
void Set(Int_t n)
Set size of this array to n doubles.
void Copy(TArrayD &array) const
virtual TProfile * DoProfile(bool onX, const char *name, Int_t firstbin, Int_t lastbin, Option_t *option) const
Long64_t BinarySearch(Long64_t n, const T *array, T value)
Binary search in an array of n values to locate value.
const TArrayD * GetXbins() const
virtual void FillN(Int_t, const Double_t *, const Double_t *, Int_t)
Fill this histogram with an array x and weights w.
virtual TH2 * Rebin(Int_t ngroup=2, const char *newname="", const Double_t *xbins=0)
Override TH1::Rebin as TH2::RebinX Rebinning in variable binning as for TH1 is not allowed If a non-n...
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
TAxis * GetXaxis()
Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more informat...
virtual Style_t GetLabelFont() const
virtual TH2 * Rebin2D(Int_t nxgroup=2, Int_t nygroup=2, const char *newname="")
Rebin this histogram grouping nxgroup/nygroup bins along the xaxis/yaxis together.
void Copy(TArrayS &array) const
virtual Double_t KolmogorovTest(const TH1 *h2, Option_t *option="") const
Statistical test of compatibility in shape between THIS histogram and h2, using Kolmogorov test...
virtual Version_t ReadVersion(UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0
virtual const char * GetTitle() const
Returns title of object.
virtual Int_t GetNbinsY() const
virtual Double_t GetBinError(Int_t bin) const
Return value of error associated to bin number bin.
virtual TH1D * DoProjection(bool onX, const char *name, Int_t firstbin, Int_t lastbin, Option_t *option) const
Internal (protected) method for performing projection on the X or Y axis called by ProjectionX or Pro...
TH2D & operator=(const TH2D &h1)
Operator =.
Int_t fNcells
number of bins(1D), cells (2D) +U/Overflows
virtual Double_t GetCovariance(Int_t axis1=1, Int_t axis2=2) const
Return covariance between axis1 and axis2.
2-D histogram with a double per channel (see TH1 documentation)}
const char * Data() const
Array of chars or bytes (8 bits per element).