64 fTsumwy = fTsumwy2 = fTsumwxy = 0;
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",fname);
return; }
615 for (biny=1;biny<=nbinsy;biny++) {
616 for (binx=1;binx<=nbinsx;binx++) {
619 integral[ibin] = integral[ibin-1] + fint;
624 if (integral[nbins] == 0 ) {
626 Error(
"FillRandom",
"Integral = zero");
return;
628 for (bin=1;bin<=
nbins;bin++) integral[bin] /= integral[nbins];
631 for (loop=0;loop<ntimes;loop++) {
635 binx = 1 + ibin - nbinsx*biny;
659 if (!h) {
Error(
"FillRandom",
"Null histogram");
return; }
661 Error(
"FillRandom",
"Histograms with different dimensions");
return;
669 for (loop=0;loop<ntimes;loop++) {
682 if (axis < 1 || axis > 2) {
683 Warning(
"FindFirstBinAbove",
"Invalid axis number : %d, axis x assumed\n",axis);
690 for (binx=1;binx<=nbinsx;binx++) {
691 for (biny=1;biny<=nbinsy;biny++) {
696 for (biny=1;biny<=nbinsy;biny++) {
697 for (binx=1;binx<=nbinsx;binx++) {
712 if (axis < 1 || axis > 2) {
713 Warning(
"FindLastBinAbove",
"Invalid axis number : %d, axis x assumed\n",axis);
720 for (binx=nbinsx;binx>=1;binx--) {
721 for (biny=1;biny<=nbinsy;biny++) {
726 for (biny=nbinsy;biny>=1;biny--) {
727 for (binx=1;binx<=nbinsx;binx++) {
745 if (firstbin < 0) firstbin = 0;
746 if (lastbin < 0 || lastbin > nbins + 1) lastbin = nbins + 1;
747 if (lastbin < firstbin) {firstbin = 0; lastbin = nbins + 1;}
757 Int_t nstep = ngroup;
762 f1 = (
TF1*)
gROOT->GetFunction(
"gaus");
763 if (f1 == 0) f1 =
new TF1(
"gaus",
"gaus",innerAxis.
GetXmin(),innerAxis.
GetXmax());
767 if (npar <= 0)
return;
779 char *
name =
new char[2000];
780 char *title =
new char[2000];
782 for (ipar=0;ipar<npar;ipar++) {
789 hlist[ipar] =
new TH1D(name,title, nbins,bins->
fArray);
793 (*arr)[ipar] = hlist[ipar];
801 hchi2 =
new TH1D(name,
"chisquare", nbins, bins->
fArray);
805 (*arr)[npar] = hchi2;
812 for (bin=firstbin;bin+ngroup-1<=lastbin;bin += nstep) {
818 if (hp == 0)
continue;
820 if (nentries == 0 || nentries < cut) {
delete hp;
continue;}
824 if (npfits > npar && npfits >= cut) {
825 Int_t binOn = bin + ngroup/2;
826 for (ipar=0;ipar<npar;ipar++) {
898 DoFitSlices(
true, f1, firstybin, lastybin, cut, option, arr);
963 DoFitSlices(
false, f1, firstxbin, lastxbin, cut, option, arr);
970 if (biny < 0) biny = 0;
971 if (biny > ofy) biny = ofy;
1003 Error(
"GetBinWithContent2",
"function is only valid for 2-D histograms");
1006 if (firstxbin < 0) firstxbin = 1;
1008 if (firstybin < 0) firstybin = 1;
1011 for (
Int_t j = firstybin; j <= lastybin; j++) {
1012 for (
Int_t i = firstxbin; i <= lastxbin; i++) {
1014 if (diff <= 0) {binx = i; biny=j;
return diff;}
1015 if (diff < curmax && diff <= maxdiff) {curmax = diff, binx=i; biny=j;}
1027 if (axis1 < 1 || axis2 < 1 || axis1 > 2 || axis2 > 2) {
1028 Error(
"GetCorrelationFactor",
"Wrong parameters");
1031 if (axis1 == axis2)
return 1;
1033 if (stddev1 == 0)
return 0;
1035 if (stddev2 == 0)
return 0;
1045 if (axis1 < 1 || axis2 < 1 || axis1 > 2 || axis2 > 2) {
1046 Error(
"GetCovariance",
"Wrong parameters");
1059 if (sumw == 0)
return 0;
1060 if (axis1 == 1 && axis2 == 1) {
1061 return TMath::Abs(sumwx2/sumw - sumwx/sumw*sumwx/sumw);
1063 if (axis1 == 2 && axis2 == 2) {
1064 return TMath::Abs(sumwy2/sumw - sumwy/sumw*sumwy/sumw);
1066 return sumwxy/sumw - sumwx/sumw*sumwy/sumw;
1088 if (integral == 0 ) { x = 0; y = 0;
return;}
1094 Int_t biny = ibin/nbinsx;
1095 Int_t binx = ibin - nbinsx*biny;
1142 if (firstBinX == 1) firstBinX = 0;
1146 if (firstBinY == 1) firstBinY = 0;
1150 for (
Int_t biny = firstBinY; biny <= lastBinY; ++biny) {
1152 for (
Int_t binx = firstBinX; binx <= lastBinX; ++binx) {
1204 return DoIntegral(firstxbin,lastxbin,firstybin,lastybin,-1,0,err,option);
1218 return DoIntegral(firstxbin,lastxbin,firstybin,lastybin,-1,0,error,option,
kTRUE);
1227 Error(
"Interpolate",
"This function must be called with 2 arguments for a TH2");
1247 Error(
"Interpolate",
"Cannot interpolate outside histogram domain.");
1289 if(bin_x1<1) bin_x1=1;
1293 if(bin_y1<1) bin_y1=1;
1305 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);
1315 Error(
"Interpolate",
"This function must be called with 2 arguments for a TH2");
1350 if (h2 == 0)
return 0;
1362 Error(
"KolmogorovTest",
"Histograms must be 2-D\n");
1368 Error(
"KolmogorovTest",
"Number of channels in X is different, %d and %d\n",ncx1,ncx2);
1372 Error(
"KolmogorovTest",
"Number of channels in Y is different, %d and %d\n",ncy1,ncy2);
1382 if (diff1 > difprec || diff2 > difprec) {
1383 Error(
"KolmogorovTest",
"histograms with different binning along X");
1388 if (diff1 > difprec || diff2 > difprec) {
1389 Error(
"KolmogorovTest",
"histograms with different binning along Y");
1394 Int_t ibeg = 1, jbeg = 1;
1395 Int_t iend = ncx1, jend = ncy1;
1396 if (opt.
Contains(
"U")) {ibeg = 0; jbeg = 0;}
1397 if (opt.
Contains(
"O")) {iend = ncx1+1; jend = ncy1+1;}
1404 for (i = ibeg; i <= iend; i++) {
1405 for (j = jbeg; j <= jend; j++) {
1418 Error(
"KolmogorovTest",
"Integral is zero for h1=%s\n",h1->
GetName());
1422 Error(
"KolmogorovTest",
"Integral is zero for h2=%s\n",h2->
GetName());
1430 esum1 = sum1 * sum1 / w1;
1435 esum2 = sum2 * sum2 / w2;
1439 if (afunc2 && afunc1) {
1440 Error(
"KolmogorovTest",
"Errors are zero for both histograms\n");
1449 for (i=ibeg;i<=iend;i++) {
1450 for (j=jbeg;j<=jend;j++) {
1460 for (j=jbeg;j<=jend;j++) {
1461 for (i=ibeg;i<=iend;i++) {
1472 else factnm =
TMath::Sqrt(esum1*sum2/(esum1+esum2));
1475 Double_t dfmax = 0.5*(dfmax1+dfmax2);
1482 if (opt.
Contains(
"N") && !(afunc1 || afunc2 ) ) {
1486 Double_t chi2 = d12*d12/(esum1+esum2);
1489 if (prb > 0 && prb2 > 0) prb = prb*prb2*(1-
TMath::Log(prb*prb2));
1495 printf(
" Kolmo Prob h1 = %s, sum1=%g\n",h1->
GetName(),sum1);
1496 printf(
" Kolmo Prob h2 = %s, sum2=%g\n",h2->
GetName(),sum2);
1497 printf(
" Kolmo Probabil = %f, Max Dist = %g\n",prb,dfmax);
1499 printf(
" Kolmo Probabil = %f for shape alone, =%f for normalisation alone\n",prb1,prb2);
1505 if(opt.
Contains(
"M"))
return dfmax;
1517 return Rebin2D(ngroup, 1, newname);
1527 return Rebin2D(1, ngroup, newname);
1569 Error(
"Rebin2D",
"Histogram must be TH2. This histogram has %d dimensions.",
GetDimension());
1572 if ((nxgroup <= 0) || (nxgroup > nxbins)) {
1573 Error(
"Rebin2D",
"Illegal value of nxgroup=%d",nxgroup);
1576 if ((nygroup <= 0) || (nygroup > nybins)) {
1577 Error(
"Rebin2D",
"Illegal value of nygroup=%d",nygroup);
1581 Int_t newxbins = nxbins / nxgroup;
1582 Int_t newybins = nybins / nygroup;
1583 Int_t newnx = newxbins + 2;
1584 Int_t newny = newybins + 2;
1598 if (newname && strlen(newname)) {
1603 bool resetStat =
false;
1606 if(newxbins * nxgroup != nxbins) {
1610 if(newybins * nygroup != nybins) {
1642 if (nxgroup != 1 || nygroup != 1) {
1649 hnew->
SetBins(newxbins, xbins, newybins, ybins);
1653 hnew->
SetBins(newxbins, xmin, xmax, newybins, ymin, ymax);
1658 if (oldErrors) hnew->
fSumw2[0] = 0;
1661 for(
Int_t binx = 1, oldbinx = 1; binx < newnx; ++binx, oldbinx += nxgroup){
1662 Double_t binContent = 0.0, binErrorSq = 0.0;
1663 for (
Int_t i = 0; i < nxgroup && (oldbinx + i) < nx; ++i) {
1664 Int_t bin = oldbinx + i;
1665 binContent += oldBins[bin];
1666 if(oldErrors) binErrorSq += oldErrors[bin];
1668 Int_t newbin = binx;
1670 if (oldErrors) hnew->
fSumw2[newbin] = binErrorSq;
1674 for(
Int_t biny = 1, oldbiny = 1; biny < newny; ++biny, oldbiny += nygroup){
1675 Double_t binContent = 0.0, binErrorSq = 0.0;
1676 for (
Int_t j = 0; j < nygroup && (oldbiny + j) < ny; ++j) {
1677 Int_t bin = (oldbiny + j) * nx;
1678 binContent += oldBins[bin];
1679 if(oldErrors) binErrorSq += oldErrors[bin];
1681 Int_t newbin = biny * newnx;
1683 if (oldErrors) hnew->
fSumw2[newbin] = binErrorSq;
1687 for (
Int_t binx = 1, oldbinx = 1; binx < newnx; ++binx, oldbinx += nxgroup) {
1688 for (
Int_t biny = 1, oldbiny = 1; biny < newny; ++biny, oldbiny += nygroup) {
1689 Double_t binContent = 0.0, binErrorSq = 0.0;
1690 for (
Int_t i = 0; i < nxgroup && (oldbinx + i) < nx; ++i) {
1691 for (
Int_t j = 0; j < nygroup && (oldbiny + j) < ny; ++j) {
1692 Int_t bin = oldbinx + i + (oldbiny + j) * nx;
1693 binContent += oldBins[bin];
1694 if (oldErrors) binErrorSq += oldErrors[bin];
1697 Int_t newbin = binx + biny * newnx;
1699 if (oldErrors) hnew->
fSumw2[newbin] = binErrorSq;
1732 if (oldErrors)
delete [] oldErrors;
1747 cut = opt(i1,i2-i1+1);
1750 bool originalRange = opt.
Contains(
"o");
1755 const char *expectedName = ( onX ?
"_pfx" :
"_pfy" );
1757 Int_t firstOutBin, lastOutBin;
1759 lastOutBin = outAxis.
GetLast();
1760 if (firstOutBin == 0 && lastOutBin == 0) {
1761 firstOutBin = 1; lastOutBin = outAxis.
GetNbins();
1770 if (firstbin == 0 && lastbin == 0)
1776 if (firstbin < 0) firstbin = 1;
1777 if (lastbin < 0) lastbin = inN;
1778 if (lastbin > inN+1) lastbin = inN;
1781 char *pname = (
char*)name;
1782 if (name && strcmp(name, expectedName) == 0) {
1784 pname =
new char[nch];
1793 Error(
"DoProfile",
"Histogram with name %s must be a TProfile and is a %s",name,h1obj->
ClassName());
1802 if (xbins->
fN == 0) {
1803 if ( originalRange )
1812 h1->
SetBins(lastOutBin-firstOutBin+1,&xbins->
fArray[firstOutBin-1]);
1818 ((
TH2 *)
this)->GetPainter();
1824 if (bins->
fN == 0) {
1825 if ( originalRange )
1839 if (pname != name)
delete [] pname;
1851 if (useWeights) h1->
Sumw2();
1864 for (
Int_t outbin = 0; outbin <= outAxis.
GetNbins() + 1; ++outbin) {
1870 if (binOut <0)
continue;
1872 for (
Int_t inbin = firstbin ; inbin <= lastbin ; ++inbin) {
1874 if (onX) { binx = outbin; biny=inbin; }
1875 else { binx = inbin; biny=outbin; }
1887 if ( useWeights ) tmp = binSumw2.
fArray[binOut];
1910 if (!
gPad || !
gPad->FindObject(h1)) {
1915 if (padsav) padsav->
cd();
1966 return DoProfile(
true, name, firstybin, lastybin, option);
2016 return DoProfile(
false, name, firstxbin, lastxbin, option);
2026 const char *expectedName = 0;
2028 Int_t firstOutBin, lastOutBin;
2029 const TAxis* outAxis;
2030 const TAxis* inAxis;
2037 cut = opt(i1,i2-i1+1);
2040 bool originalRange = opt.
Contains(
"o");
2044 expectedName =
"_px";
2051 expectedName =
"_py";
2058 lastOutBin = outAxis->
GetLast();
2059 if (firstOutBin == 0 && lastOutBin == 0) {
2060 firstOutBin = 1; lastOutBin = outAxis->
GetNbins();
2069 if (firstbin == 0 && lastbin == 0)
2075 if (firstbin < 0) firstbin = 0;
2076 if (lastbin < 0) lastbin = inNbin + 1;
2077 if (lastbin > inNbin+1) lastbin = inNbin + 1;
2080 char *pname = (
char*)name;
2081 if (name && strcmp(name,expectedName) == 0) {
2083 pname =
new char[nch];
2093 Error(
"DoProjection",
"Histogram with name %s must be a TH1D and is a %s",name,h1obj->
ClassName());
2102 if (xbins->
fN == 0) {
2103 if ( originalRange )
2112 h1->
SetBins(lastOutBin-firstOutBin+1,&xbins->
fArray[firstOutBin-1]);
2118 ((
TH2 *)
this)->GetPainter();
2124 if (bins->
fN == 0) {
2125 if ( originalRange )
2128 h1 =
new TH1D(pname,
GetTitle(),lastOutBin-firstOutBin+1,
2135 h1 =
new TH1D(pname,
GetTitle(),lastOutBin-firstOutBin+1,&bins->
fArray[firstOutBin-1]);
2139 if (pname != name)
delete [] pname;
2167 for (
Int_t outbin = 0; outbin <= outAxis->
GetNbins() + 1; ++outbin) {
2172 for (
Int_t inbin = firstbin ; inbin <= lastbin ; ++inbin) {
2174 if (onX) { binx = outbin; biny=inbin; }
2175 else { binx = inbin; biny=outbin; }
2182 if (computeErrors) {
2196 bool reuseStats =
false;
2197 if ( (
fgStatOverflows ==
false && firstbin == 1 && lastbin == inNbin ) ||
2198 (
fgStatOverflows ==
true && firstbin == 0 && lastbin == inNbin + 1 ) )
2202 double eps = 1.E-12;
2207 if (ncuts) reuseStats =
false;
2209 bool reuseEntries = reuseStats;
2211 reuseEntries &= (firstbin==0 && lastbin == inNbin+1);
2216 stats[2] = stats[4];
2217 stats[3] = stats[5];
2247 if (!
gPad || !
gPad->FindObject(h1)) {
2252 if (padsav) padsav->
cd();
2294 return DoProjection(
true, name, firstybin, lastybin, option);
2334 return DoProjection(
false, name, firstxbin, lastxbin, option);
2385 const TAxis *outAxis = 0;
2386 const TAxis *inAxis = 0;
2397 if (qname.
IsNull() || qname ==
"_qx" || qname ==
"_qy") {
2398 const char * qtype = (onX) ?
"qx" :
"qy";
2406 h1 =
dynamic_cast<TH1D*
>(h1obj);
2408 Error(
"DoQuantiles",
"Histogram with name %s must be a TH1D and is a %s",qname.
Data(),h1obj->
ClassName());
2425 h1->
SetBins(lastOutBin-firstOutBin+1,&xbins->
fArray[firstOutBin-1]);
2432 for (
int ibin = inAxis->
GetFirst() ; ibin <= inAxis->
GetLast() ; ++ibin) {
2437 if (slice->
GetSum() == 0)
continue;
2448 error =
TMath::Sqrt( prob*(1.-prob)/ (n * f * f) );
2451 if (slice)
delete slice;
2479 if (bin < 0)
return;
2523 return (
TH1*)
gROOT->ProcessLineFast(
Form(
"TSpectrum2::StaticBackground((TH1*)0x%lx,%d,\"%s\")",
2524 (
ULong_t)
this, niter, option));
2539 return (
Int_t)
gROOT->ProcessLineFast(
Form(
"TSpectrum2::StaticSearch((TH1*)0x%lx,%g,\"%s\",%g)",
2540 (
ULong_t)
this, sigma, option, threshold));
2567 Double_t k5a[5][5] = { { 0, 0, 1, 0, 0 },
2571 { 0, 0, 1, 0, 0 } };
2572 Double_t k5b[5][5] = { { 0, 1, 2, 1, 0 },
2576 { 0, 1, 2, 1, 0 } };
2577 Double_t k3a[3][3] = { { 0, 1, 0 },
2582 Warning(
"Smooth",
"Currently only ntimes=1 is supported");
2589 if (opt.
Contains(
"k5b")) kernel = &k5b[0][0];
2591 kernel = &k3a[0][0];
2606 Int_t bufSize = (nx+2)*(ny+2);
2613 for (i=ifirst; i<=ilast; i++){
2614 for (j=jfirst; j<=jlast; j++){
2622 Int_t x_push = (ksize_x-1)/2;
2623 Int_t y_push = (ksize_y-1)/2;
2626 for (i=ifirst; i<=ilast; i++){
2627 for (j=jfirst; j<=jlast; j++) {
2636 if ( (xb >= 1) && (xb <= nx) && (yb >= 1) && (yb <= ny) ) {
2642 content += k*buf[bin];
2643 if (ebuf) error += k*k*ebuf[bin]*ebuf[bin];
2649 if ( norm != 0.0 ) {
2652 error /= (norm*
norm);
2668 void TH2::Streamer(
TBuffer &R__b)
2678 TH1::Streamer(R__b);
2722 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ylow,yup)
2736 :
TH2(name,title,nbinsx,xbins,nbinsy,ylow,yup)
2748 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ybins)
2760 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
2772 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
2803 if (newval > -128 && newval < 128) {
fArray[bin] =
Char_t(newval);
return;}
2804 if (newval < -127)
fArray[bin] = -127;
2805 if (newval > 127)
fArray[bin] = 127;
2843 void TH2C::Streamer(
TBuffer &R__b)
2855 TH1::Streamer(R__b);
2856 TArrayC::Streamer(R__b);
2863 TH2::Streamer(R__b);
2864 TArrayC::Streamer(R__b);
2880 if (
this != &h1) ((
TH2C&)h1).
Copy(*
this);
2976 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ylow,yup)
2990 :
TH2(name,title,nbinsx,xbins,nbinsy,ylow,yup)
3002 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ybins)
3014 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3026 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3057 if (newval > -32768 && newval < 32768) {
fArray[bin] =
Short_t(newval);
return;}
3058 if (newval < -32767)
fArray[bin] = -32767;
3059 if (newval > 32767)
fArray[bin] = 32767;
3097 void TH2S::Streamer(
TBuffer &R__b)
3109 TH1::Streamer(R__b);
3110 TArrayS::Streamer(R__b);
3117 TH2::Streamer(R__b);
3118 TArrayS::Streamer(R__b);
3134 if (
this != &h1) ((
TH2S&)h1).
Copy(*
this);
3230 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ylow,yup)
3244 :
TH2(name,title,nbinsx,xbins,nbinsy,ylow,yup)
3256 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ybins)
3268 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3280 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3311 if (newval > -2147483647 && newval < 2147483647) {
fArray[bin] =
Int_t(newval);
return;}
3312 if (newval < -2147483647)
fArray[bin] = -2147483647;
3313 if (newval > 2147483647)
fArray[bin] = 2147483647;
3353 if (
this != &h1) ((
TH2I&)h1).
Copy(*
this);
3449 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ylow,yup)
3463 :
TH2(name,title,nbinsx,xbins,nbinsy,ylow,yup)
3475 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ybins)
3487 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3499 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3510 :
TH2(
"TMatrixFBase",
"",m.GetNcols(),m.GetColLwb(),1+m.GetColUpb(),m.GetNrows(),m.GetRowLwb(),1+m.GetRowUpb())
3517 for (
Int_t i=ilow;i<=iup;i++) {
3518 for (
Int_t j=jlow;j<=jup;j++) {
3568 void TH2F::Streamer(
TBuffer &R__b)
3580 TH1::Streamer(R__b);
3581 TArrayF::Streamer(R__b);
3588 TH2::Streamer(R__b);
3589 TArrayF::Streamer(R__b);
3605 if (
this != &h1) ((
TH2F&)h1).
Copy(*
this);
3713 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ylow,yup)
3727 :
TH2(name,title,nbinsx,xbins,nbinsy,ylow,yup)
3739 :
TH2(name,title,nbinsx,xlow,xup,nbinsy,ybins)
3751 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3763 :
TH2(name,title,nbinsx,xbins,nbinsy,ybins)
3774 :
TH2(
"TMatrixDBase",
"",m.GetNcols(),m.GetColLwb(),1+m.GetColUpb(),m.GetNrows(),m.GetRowLwb(),1+m.GetRowUpb())
3781 for (
Int_t i=ilow;i<=iup;i++) {
3782 for (
Int_t j=jlow;j<=jup;j++) {
3833 void TH2D::Streamer(
TBuffer &R__b)
3845 TH1::Streamer(R__b);
3846 TArrayD::Streamer(R__b);
3853 TH2::Streamer(R__b);
3854 TArrayD::Streamer(R__b);
3870 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 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
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 cellcontents of a 2-dim histogra...
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)
Calculates the Kolmogorov distribution function,.
friend TH2C operator+(TH2C &h1, TH2C &h2)
Operator +.
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 TestBit(UInt_t f) 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
static Bool_t fgStatOverflows
!flag to use under/overflows in statistics
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.
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.
tomato 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 Bool_t Multiply(TF1 *h1, Double_t c1=1)
Performs the operation: this = this*c1*f1 if errors are defined (see TH1::Sumw2), errors are also rec...
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)
Computation of the probability for a certain Chi-squared (chi2) and number of degrees of freedom (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.
Histogram is forced to be not weighted even when the histogram is filled with weighted different than...
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)
See convention for numbering bins in TH1::GetBin.
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 dimensionn...
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
tomato 2-D histogram with a float per channel (see TH1 documentation)}
unsigned int r1[N_CITIES]
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 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
tomato 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...
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.
tomato 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 SetBinsLength(Int_t=-1)
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.
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.
tomato 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 — This is needed to compute the c...
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 -.
double norm(double *x, double *p)
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)
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 void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
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.
tomato 2-D histogram with a double per channel (see TH1 documentation)}
const char * Data() const
Array of chars or bytes (8 bits per element).