110: 
TH2D(
name,title,nx,xlow,xup,ny,ylow,yup)
 
  120: 
TH2D(
name,title,nx,xbins,ny,ylow,yup)
 
  129: 
TH2D(
name,title,nx,xlow,xup,ny,ybins)
 
  153TProfile2D::TProfile2D(
const char *
name,
const char *title,
Int_t nx,
Double_t xlow,
Double_t xup,
Int_t ny, 
Double_t ylow,
Double_t yup,
Double_t zlow,
Double_t zup,
Option_t *option)
 
  154: 
TH2D(
name,title,nx,xlow,xup,ny,ylow,yup)
 
  206   Error(
"Add",
"Function not implemented for TProfile2D");
 
  216      Error(
"Add",
"Attempt to add a non-existing profile");
 
  220      Error(
"Add",
"Attempt to add a non-profile2D object");
 
  235      Error(
"Add",
"Attempt to add a non-existing profile");
 
  239      Error(
"Add",
"Attempt to add a non-profile2D object");
 
  243      Error(
"Add",
"Attempt to add a non-profile2D object");
 
  279   if (!nbentries) 
return 0;
 
  282      if (action == 0) 
return 0;
 
  283      nbentries  = -nbentries;
 
  294      for (
Int_t i=1;i<nbentries;i++) {
 
  317   for (
Int_t i=0;i<nbentries;i++) {
 
  318      Fill(buffer[4*i+2],buffer[4*i+3],buffer[4*i+4],buffer[4*i+1]);
 
  346      nbentries  = -nbentries;
 
  377      for (
int bin=0;bin<
fNcells;bin++) {
 
  389      Fatal(
"Copy",
"Cannot copy a TProfile2D in a %s",obj.IsA()->
GetName());
 
  400   Error(
"Divide",
"Function not implemented for TProfile2D");
 
  415      Error(
"Divide",
"Attempt to divide a non-existing profile2D");
 
  419      Error(
"Divide",
"Attempt to divide a non-profile2D object");
 
  430      Error(
"Divide",
"Attempt to divide profiles with different number of bins");
 
  435      Error(
"Divide",
"Attempt to divide profiles with different number of bins");
 
  448   for (binx =0;binx<=nx+1;binx++) {
 
  449      for (biny =0;biny<=ny+1;biny++) {
 
  481      Warning(
"Divide",
"Cannot preserve during the division of profiles the sum of bin weight square");
 
  501      Error(
"Divide",
"Attempt to divide a non-existing profile2D");
 
  505      Error(
"Divide",
"Attempt to divide a non-profile2D object");
 
  510      Error(
"Divide",
"Attempt to divide a non-profile2D object");
 
  521      Error(
"Divide",
"Attempt to divide profiles with different number of bins");
 
  526      Error(
"Divide",
"Attempt to divide profiles with different number of bins");
 
  530      Error(
"Divide",
"Coefficient of dividing profile cannot be zero");
 
  548   for (binx =0;binx<=nx+1;binx++) {
 
  549      for (biny =0;biny<=ny+1;biny++) {
 
  553         if (b2) w = 
c1*b1/(
c2*b2);
 
  578               fSumw2.
fArray[bin] = ac1*ac2*(e1*b2*b2 + e2*b1*b1)/(b22*b22);
 
  604   if (binx <0 || biny <0) 
return -1;
 
  642   if (binx <0 || biny <0) 
return -1;
 
  679   if (binx <0 || biny <0) 
return -1;
 
  715   if (binx <0 || biny <0) 
return -1;
 
  755   if (binx <0 || biny <0) 
return -1;
 
  787   if (bin < 0 || bin >= 
fNcells) 
return 0;
 
  800   if (bin < 0 || bin >= 
fNcells) 
return 0;
 
  876      Int_t bin, binx, biny;
 
  879      for (bin=0;bin<9;bin++) stats[bin] = 0;
 
  888            if (firstBinX == 1) firstBinX = 0;
 
  892            if (firstBinY == 1) firstBinY = 0;
 
  896      for (biny = firstBinY; biny <= lastBinY; biny++) {
 
  898         for (binx = firstBinX; binx <= lastBinX; binx++) {
 
  962   if (ax[0] == 
'y' || ax[0] == 
'Y') axis = 
GetYaxis();
 
  965      Warning(
"LabelsOption",
"Cannot sort. No labels");
 
  998   if (sort < 0) 
return;
 
 1009   TIter nextold(labels);
 
 1011   while ((obj=nextold())) {
 
 1018      for (i=0;i<=
n;i++) pcont[i] = 0;
 
 1019      for (i=1;i<nx;i++) {
 
 1020         for (j=1;j<ny;j++) {
 
 1034         obj = labold->
At(
a[i]);
 
 1038      for (i=1;i<nx;i++) {
 
 1039         for (j=1;j<ny;j++) {
 
 1042               fArray[bin] = sumw[
a[i-1]+1+nx*j];
 
 1046               fArray[bin] = sumw[i+nx*(
a[j-1]+1)];
 
 1054      const UInt_t kUsed = 1<<18;
 
 1058      for (i=1;i<=
n;i++) {
 
 1059         const char *label = 
"zzzzzzzzzzzz";
 
 1060         for (j=1;j<=
n;j++) {
 
 1061            obj = labold->
At(j-1);
 
 1063            if (obj->
TestBit(kUsed)) 
continue;
 
 1065            if (strcmp(label,obj->
GetName()) < 0) 
continue;
 
 1076      for (i=1;i<=
n;i++) {
 
 1077         obj = labels->
At(i-1);
 
 1081      for (i=0;i<nx;i++) {
 
 1082         for (j=0;j<ny;j++) {
 
 1089      for (i=0;i<nx;i++) {
 
 1090         for (j=0;j<ny;j++) {
 
 1093               fArray[bin] = sumw[
a[i]+nx*j];
 
 1097               fArray[bin] = sumw[i+nx*
a[j]];
 
 1106   if (sumw)   
delete [] sumw;
 
 1107   if (errors) 
delete [] errors;
 
 1108   if (ent)    
delete [] ent;
 
 1135   Error(
"Multiply",
"Function not implemented for TProfile2D");
 
 1146   Error(
"Multiply",
"Multiplication of profile2D histograms not implemented");
 
 1157   Error(
"Multiply",
"Multiplication of profile2D histograms not implemented");
 
 1194   if (pname.
IsNull() || pname == 
"_pxy")
 
 1203   if (xbins->
fN == 0 && ybins->
fN == 0) {
 
 1205   } 
else if (xbins->
fN == 0) {
 
 1207   } 
else if (ybins->
fN == 0) {
 
 1223   Int_t bin,binx, biny;
 
 1225   for (binx =0;binx<=nx+1;binx++) {
 
 1226      for (biny =0;biny<=ny+1;biny++) {
 
 1298   bool originalRange = opt.
Contains(
"o");
 
 1300   TString expectedName = ( onX ? 
"_pfx" : 
"_pfy" );
 
 1313   if (bins->
fN == 0) {
 
 1337   TString opt1 = (originalRange) ? 
"o" : 
"";
 
 1338   TH1D * h1W = (onX) ? h2dW->
ProjectionX(
"h1temp-W",firstbin,lastbin,opt1) : h2dW->
ProjectionY(
"h1temp-W",firstbin,lastbin,opt1);
 
 1339   TH1D * h1N = (onX) ? h2dN->
ProjectionX(
"h1temp-N",firstbin,lastbin,opt1) : h2dN->
ProjectionY(
"h1temp-N",firstbin,lastbin,opt1);
 
 1347   for (
int i = 0; i < p1->
fN ; ++i) {
 
 1450   if((nxgroup != 1) || (nygroup != 1)){
 
 1457      if ((nxgroup <= 0) || (nxgroup > nxbins)) {
 
 1458         Error(
"Rebin", 
"Illegal value of nxgroup=%d",nxgroup);
 
 1461      if ((nygroup <= 0) || (nygroup > nybins)) {
 
 1462         Error(
"Rebin", 
"Illegal value of nygroup=%d",nygroup);
 
 1466      Int_t newxbins = nxbins/nxgroup;
 
 1467      Int_t newybins = nybins/nygroup;
 
 1470      if(newxbins*nxgroup != nxbins) {
 
 1471         Warning(
"Rebin", 
"nxgroup=%d should be an exact divider of nxbins=%d",nxgroup,nxbins);
 
 1473      if(newybins*nygroup != nybins) {
 
 1474         Warning(
"Rebin", 
"nygroup=%d should be an exact divider of nybins=%d",nygroup,nybins);
 
 1486      for(
Int_t ibin=0; ibin < (nxbins+2)*(nybins+2); ibin++){
 
 1487         oldBins[ibin]   = cu1[ibin];
 
 1488         oldCount[ibin]  = en1[ibin];
 
 1489         oldErrors[ibin] = er1[ibin];
 
 1490         if (ew1 && 
fBinSumw2.
fN) oldBinw2[ibin]  = ew1[ibin];
 
 1495      if(newname && strlen(newname) > 0) {
 
 1501      if(newxbins*nxgroup != nxbins) {
 
 1505      if(newybins*nygroup != nybins) {
 
 1514         for(
Int_t i=0; i < newxbins+1; i++)
 
 1516         for(
Int_t j=0; j < newybins+1; j++)
 
 1518         hnew->
SetBins(newxbins,xbins,newybins,ybins);
 
 1532      Double_t binContent, binCount, binError, binSumw2;
 
 1539      for(
Int_t xbin = 1; xbin <= newxbins; xbin++){
 
 1541         for(
Int_t ybin = 1; ybin <= newybins; ybin++){
 
 1546            for(
Int_t i=0; i < nxgroup; i++){
 
 1547               if(oldxbin + i > nxbins) 
break;
 
 1548               for(
Int_t j=0; j < nygroup; j++){
 
 1549                  if(oldybin + j > nybins) 
break;
 
 1550                  bin = oldxbin + i + (nxbins+2)*(oldybin+j);
 
 1551                  binContent += oldBins[bin];
 
 1552                  binCount += oldCount[bin];
 
 1553                  binError += oldErrors[bin];
 
 1557            bin = xbin + (newxbins + 2)*ybin;
 
 1558            cu2[bin] = binContent;
 
 1559            er2[bin] = binError;
 
 1560            en2[bin] = binCount;
 
 1568      cu2[0] = oldBins[0];
 
 1569      er2[0] = oldErrors[0];
 
 1570      en2[0] = oldCount[0];
 
 1578      for(
Int_t i=oldxbin; i <= nxbins+1; i++){
 
 1579         for(
Int_t j=oldybin; j <= nybins+1; j++){
 
 1581            bin = i + (nxbins+2)*j;
 
 1582            binContent += oldBins[bin];
 
 1583            binCount += oldCount[bin];
 
 1584            binError += oldErrors[bin];
 
 1588      bin = (newxbins+2)*(newybins+2)-1;
 
 1589      cu2[bin] = binContent;
 
 1590      er2[bin] = binError;
 
 1591      en2[bin] = binCount;
 
 1598      for(
Int_t i=oldxbin; i <= nxbins+1; i++){
 
 1600         binContent += oldBins[bin];
 
 1601         binCount += oldCount[bin];
 
 1602         binError += oldErrors[bin];
 
 1606      cu2[bin] = binContent;
 
 1607      er2[bin] = binError;
 
 1608      en2[bin] = binCount;
 
 1615      for(
Int_t i=oldybin; i <= nybins+1; i++){
 
 1616         bin = i*(nxbins + 2);
 
 1617         binContent += oldBins[bin];
 
 1618         binCount += oldCount[bin];
 
 1619         binError += oldErrors[bin];
 
 1622      bin = (newxbins + 2)*(newybins + 1);
 
 1623      cu2[bin] = binContent;
 
 1624      er2[bin] = binError;
 
 1625      en2[bin] = binCount;
 
 1628      Double_t binContentuf, binCountuf, binErroruf, binSumw2uf;
 
 1629      Double_t binContentof, binCountof, binErrorof, binSumw2of;
 
 1632      for(
Int_t xbin = 1; xbin <= newxbins; xbin++){
 
 1641         for(
Int_t i = 0; i < nxgroup; i++){
 
 1643            ufbin = (oldxbin2 + i);
 
 1644            binContentuf += oldBins[ufbin];
 
 1645            binCountuf   += oldCount[ufbin];
 
 1646            binErroruf   += oldErrors[ufbin];
 
 1648            for(
Int_t j = oldybin; j <= nybins+1; j++)
 
 1650               ofbin = ufbin + j*(nxbins + 2);
 
 1651               binContentof += oldBins[ofbin];
 
 1652               binCountof   += oldCount[ofbin];
 
 1653               binErrorof   += oldErrors[ofbin];
 
 1659         ofbin = ufbin + (newybins + 1)*(newxbins + 2);
 
 1660         cu2[ufbin] = binContentuf;
 
 1661         er2[ufbin] = binErroruf;
 
 1662         en2[ufbin] = binCountuf;
 
 1664         cu2[ofbin] = binContentof;
 
 1665         er2[ofbin] = binErrorof;
 
 1666         en2[ofbin] = binCountof;
 
 1669         oldxbin2 += nxgroup;
 
 1673      for(
Int_t ybin = 1; ybin <= newybins; ybin++){
 
 1682         for(
Int_t i = 0; i < nygroup; i++){
 
 1684            ufbin = (oldybin2 + i)*(nxbins+2);
 
 1685            binContentuf += oldBins[ufbin];
 
 1686            binCountuf   += oldCount[ufbin];
 
 1687            binErroruf   += oldErrors[ufbin];
 
 1689            for(
Int_t j = oldxbin; j <= nxbins+1; j++)
 
 1692               binContentof += oldBins[ofbin];
 
 1693               binCountof   += oldCount[ofbin];
 
 1694               binErrorof   += oldErrors[ofbin];
 
 1699         ufbin = ybin * (newxbins + 2);
 
 1700         ofbin = newxbins + 1 + ufbin;
 
 1701         cu2[ufbin] = binContentuf;
 
 1702         er2[ufbin] = binErroruf;
 
 1703         en2[ufbin] = binCountuf;
 
 1705         cu2[ofbin] = binContentof;
 
 1706         er2[ofbin] = binErrorof;
 
 1707         en2[ofbin] = binCountof;
 
 1710         oldybin2 += nygroup;
 
 1715      delete [] oldErrors;
 
 1716      if (oldBinw2) 
delete [] oldBinw2;
 
 1722      if((newname) && (strlen(newname) > 0))
 
 1734   return Rebin2D(ngroup,1,newname);
 
 1742   return Rebin2D(1,ngroup,newname);
 
 1755   out <<
"   "<<std::endl;
 
 1768   out << 
");" << std::endl;
 
 1773   for (bin=0;bin<
fNcells;bin++) {
 
 1776         out<<
"   "<<
GetName()<<
"->SetBinEntries("<<bin<<
","<<bi<<
");"<<std::endl;
 
 1780   for (bin=0;bin<
fNcells;bin++) {
 
 1783         out<<
"   "<<
GetName()<<
"->SetBinContent("<<bin<<
","<<bc<<
");"<<std::endl;
 
 1788      for (bin=0;bin<
fNcells;bin++) {
 
 1791            out<<
"   "<<
GetName()<<
"->SetBinError("<<bin<<
","<<be<<
");"<<std::endl;
 
 1859   if (buffersize <= 0) {
 
 1863   if (buffersize < 100) buffersize = 100;
 
 1898void TProfile2D::Streamer(
TBuffer &R__b)
 
 1908      TH2D::Streamer(R__b);
 
 1915         R__b >> zmin; 
fZmin = zmin;
 
 1916         R__b >> zmax; 
fZmax = zmax;
 
Array of doubles (64 bits per element).
 
void Copy(TArrayD &array) const
 
void Set(Int_t n)
Set size of this array to n doubles.
 
TArrayD()
Default TArrayD ctor.
 
const Double_t * GetArray() const
 
Class to manage histogram axis.
 
virtual Double_t GetBinCenter(Int_t bin) const
Return center of bin.
 
const TArrayD * GetXbins() const
 
virtual Int_t FindBin(Double_t x)
Find bin number corresponding to abscissa x.
 
virtual Double_t GetBinLowEdge(Int_t bin) const
Return low edge of bin.
 
Int_t GetLast() const
Return last bin on the axis i.e.
 
virtual Double_t GetBinUpEdge(Int_t bin) const
Return up edge of bin.
 
Int_t GetFirst() const
Return first bin on the axis i.e.
 
THashList * GetLabels() const
 
Buffer base class used for serializing objects.
 
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=0)=0
 
virtual Version_t ReadVersion(UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0
 
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
 
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
 
Collection abstract base class.
 
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
 
1-D histogram with a double per channel (see TH1 documentation)}
 
virtual void SetDirectory(TDirectory *dir)
By default when an histogram is created, it is added to the list of histogram objects in the current ...
 
Double_t * fBuffer
[fBufferSize] entry buffer
 
virtual Double_t GetEffectiveEntries() const
Number of effective entries of the histogram.
 
Int_t fNcells
number of bins(1D), cells (2D) +U/Overflows
 
Double_t fTsumw
Total Sum of weights.
 
Double_t fTsumw2
Total Sum of squares of weights.
 
Double_t fTsumwx2
Total Sum of weight*X*X.
 
virtual Int_t GetNbinsY() const
 
@ kIsNotW
Histogram is forced to be not weighted even when the histogram is filled with weighted different than...
 
virtual Bool_t CanExtendAllAxes() const
Returns true if all axes are extendable.
 
TAxis * GetXaxis()
Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more informat...
 
TObject * Clone(const char *newname=0) const
Make a complete copy of the underlying object.
 
virtual Int_t GetNbinsX() const
 
Int_t fBufferSize
fBuffer size
 
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...
 
static Int_t fgBufferSize
!default buffer size for automatic histograms
 
virtual void SavePrimitiveHelp(std::ostream &out, const char *hname, Option_t *option="")
Helper function for the SavePrimitive functions from TH1 or classes derived from TH1,...
 
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...
 
Double_t fEntries
Number of entries.
 
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
 
virtual TArrayD * GetSumw2()
 
TAxis fXaxis
X axis descriptor.
 
TArrayD fSumw2
Array of sum of squares of weights.
 
Bool_t GetStatOverflowsBehaviour() const
 
TAxis fYaxis
Y axis descriptor.
 
virtual void SetBins(Int_t nx, Double_t xmin, Double_t xmax)
Redefine x axis parameters.
 
virtual void Sumw2(Bool_t flag=kTRUE)
Create structure to store sum of squares of weights.
 
virtual void SetEntries(Double_t n)
 
Double_t fTsumwx
Total Sum of weight*X.
 
2-D histogram with a double per channel (see TH1 documentation)}
 
virtual void SetBinsLength(Int_t n=-1)
Set total number of bins including under/overflow Reallocate bin contents array.
 
virtual void AddBinContent(Int_t bin)
Increment bin content by 1.
 
virtual void Copy(TObject &hnew) const
Copy.
 
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.
 
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 GetBin(Int_t binx, Int_t biny, Int_t binz=0) const
Return Global bin number corresponding to binx,y,z.
 
static THLimitsFinder * GetLimitsFinder()
Return pointer to the current finder.
 
virtual Int_t FindGoodLimits(TH1 *h, Double_t xmin, Double_t xmax)
Compute the best axis limits for the X axis.
 
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
 
void Clear(Option_t *option="")
Remove all objects from the list.
 
virtual void Add(TObject *obj)
 
virtual TObject * At(Int_t idx) const
Returns the object at position idx. Returns 0 if idx is out of range.
 
virtual const char * GetTitle() const
Returns title of object.
 
virtual const char * GetName() const
Returns name of object.
 
Mother of all ROOT objects.
 
virtual const char * GetName() const
Returns name of object.
 
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
 
virtual const char * ClassName() const
Returns name of class to which the object belongs.
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
 
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
virtual void Fatal(const char *method, const char *msgfmt,...) const
Issue fatal error message.
 
virtual void SetUniqueID(UInt_t uid)
Set the unique object id.
 
Profile2D histograms are used to display the mean value of Z and its RMS for each cell in X,...
 
virtual Double_t GetBinError(Int_t bin) const
Return bin error of a Profile2D histogram.
 
virtual TProfile2D * RebinX(Int_t ngroup=2, const char *newname="")
Rebin only the X axis.
 
virtual ~TProfile2D()
Default destructor for Profile2D histograms.
 
Double_t fTsumwz
True when TProfile2D::Scale is called.
 
virtual void GetStats(Double_t *stats) const
Fill the array stats from the contents of this profile.
 
Int_t Fill(const Double_t *v)
 
TH2D * ProjectionXY(const char *name="_pxy", Option_t *option="e") const
Project this profile2D into a 2-D histogram along X,Y.
 
virtual Bool_t Divide(TF1 *h1, Double_t c1=1)
Performs the operation: this = this/(c1*f1) .
 
static void Approximate(Bool_t approx=kTRUE)
Static function, set the fgApproximate flag.
 
virtual void SetBuffer(Int_t buffersize, Option_t *option="")
Set the buffer size in units of 8 bytes (double).
 
virtual void Copy(TObject &hnew) const
Copy a Profile2D histogram to a new profile2D histogram.
 
virtual Double_t GetBinEffectiveEntries(Int_t bin)
Return bin effective entries for a weighted filled Profile histogram.
 
Option_t * GetErrorOption() const
Return option to compute profile2D errors.
 
virtual void Scale(Double_t c1=1, Option_t *option="")
Multiply this profile2D by a constant c1.
 
virtual TProfile * DoProfile(bool onX, const char *name, Int_t firstbin, Int_t lastbin, Option_t *option) const
Implementation of ProfileX or ProfileY for a TProfile2D.
 
virtual Int_t BufferFill(Double_t, Double_t)
accumulate arguments in buffer.
 
virtual void LabelsDeflate(Option_t *axis="X")
Reduce the number of bins for this axis to the number of bins having a label.
 
TProfile * ProfileY(const char *name="_pfy", Int_t firstxbin=0, Int_t lastxbin=-1, Option_t *option="") const
Project a 2-D histogram into a profile histogram along X.
 
virtual Double_t GetBinContent(Int_t bin) const
Return bin content of a Profile2D histogram.
 
virtual void SetBinEntries(Int_t bin, Double_t w)
Set the number of entries in bin.
 
TProfile * ProfileX(const char *name="_pfx", Int_t firstybin=0, Int_t lastybin=-1, Option_t *option="") const
Project a 2-D histogram into a profile histogram along X.
 
TProfile2D()
Default constructor for Profile2D histograms.
 
void SetBins(const Int_t *nbins, const Double_t *range)
 
virtual void Sumw2(Bool_t flag=kTRUE)
Create/Delete structure to store sum of squares of weights per bin.
 
virtual Bool_t Multiply(TF1 *h1, Double_t c1=1)
Performs the operation: this = this*c1*f1.
 
virtual void LabelsInflate(Option_t *axis="X")
Double the number of bins for axis.
 
virtual void PutStats(Double_t *stats)
Replace current statistics with the values in array stats.
 
static Bool_t fgApproximate
 
virtual Double_t GetBinEntries(Int_t bin) const
Return bin entries of a Profile2D histogram.
 
virtual Long64_t Merge(TCollection *list)
Merge all histograms in the collection in this histogram.
 
virtual void ExtendAxis(Double_t x, TAxis *axis)
Profile histogram is resized along axis such that x is in the axis range.
 
virtual TProfile2D * Rebin2D(Int_t nxgroup=2, Int_t nygroup=2, const char *newname="")
Rebin this histogram grouping nxgroup/nygroup bins along the xaxis/yaxis together.
 
virtual Int_t BufferEmpty(Int_t action=0)
Fill histogram with all entries in the buffer.
 
virtual TProfile2D * RebinY(Int_t ngroup=2, const char *newname="")
Rebin only the Y axis.
 
void BuildOptions(Double_t zmin, Double_t zmax, Option_t *option)
Set Profile2D histogram structure and options.
 
virtual Bool_t Add(TF1 *h1, Double_t c1=1, Option_t *option="")
Performs the operation: this = this + c1*f1 .
 
TProfile2D & operator=(const TProfile2D &profile)
 
virtual void SetErrorOption(Option_t *option="")
Set option to compute profile2D errors.
 
virtual void LabelsOption(Option_t *option="h", Option_t *axis="X")
Set option(s) to draw axis with labels.
 
virtual void SetBinsLength(Int_t n=-1)
Set total number of bins including under/overflow.
 
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save primitive as a C++ statement(s) on output stream out.
 
static void LabelsInflate(T *p, Option_t *)
 
static Double_t GetBinError(T *p, Int_t bin)
 
static T * ExtendAxis(T *p, Double_t x, TAxis *axis)
 
static void Sumw2(T *p, Bool_t flag)
 
static void SetBinEntries(T *p, Int_t bin, Double_t w)
 
static void Scale(T *p, Double_t c1, Option_t *option)
 
static void SetErrorOption(T *p, Option_t *opt)
 
static Long64_t Merge(T *p, TCollection *list)
 
static void BuildArray(T *p)
 
static Bool_t Add(T *p, const TH1 *h1, const TH1 *h2, Double_t c1, Double_t c2=1)
 
static Double_t GetBinEffectiveEntries(T *p, Int_t bin)
 
static void LabelsDeflate(T *p, Option_t *)
 
virtual TArrayD * GetBinSumw2()
 
virtual void SetBinEntries(Int_t bin, Double_t w)
Set the number of entries in bin.
 
virtual void Sumw2(Bool_t flag=kTRUE)
Create/delete structure to store sum of squares of weights per bin.
 
void ToLower()
Change string to lower-case.
 
void ToUpper()
Change string to upper case.
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
Double_t Sqrt(Double_t x)
 
Short_t Min(Short_t a, Short_t b)
 
void Sort(Index n, const Element *a, Index *index, Bool_t down=kTRUE)