246   profile.TProfile::Copy(*
this);
 
 
  251   if (
this != &profile)
 
  252      profile.TProfile::Copy(*
this);
 
 
  261   Error(
"Add",
"Function not implemented for TProfile");
 
 
  272      Error(
"Add",
"Attempt to add a non-existing profile");
 
  276      Error(
"Add",
"Attempt to add a non-profile object");
 
 
  294      Error(
"Add",
"Attempt to add a non-existing profile");
 
  298      Error(
"Add",
"Attempt to add a non-profile object");
 
  302      Error(
"Add",
"Attempt to add a non-profile object");
 
  306   if (
c1 < 0 || 
c2 < 0)
 
 
  346      if (
action == 0) 
return 0;
 
  376      Fill(buffer[3*i+2],buffer[3*i+3],buffer[3*i+1]);
 
 
  430      for (
int bin=0;bin<
fNcells;bin++) {
 
  443      Fatal(
"Copy",
"Cannot copy a TProfile in a %s",obj.
IsA()->GetName());
 
 
  455   Error(
"Divide",
"Function not implemented for TProfile");
 
 
  471      Error(
"Divide",
"Attempt to divide a non-existing profile");
 
  475      Error(
"Divide",
"Attempt to divide by a non-profile or non-histogram object");
 
  487      Error(
"Divide",
"Attempt to divide profiles with different number of bins");
 
  504   for (bin=0;bin<=
nbinsx+1;bin++) {
 
  533      Warning(
"Divide",
"Cannot preserve during the division of profiles the sum of bin weight square");
 
 
  554      Error(
"Divide",
"Attempt to divide a non-existing profile");
 
  558      Error(
"Divide",
"Attempt to divide a non-profile object");
 
  563      Error(
"Divide",
"Attempt to divide by a non-profile object");
 
  574      Error(
"Divide",
"Attempt to divide profiles with different number of bins");
 
  578      Error(
"Divide",
"Coefficient of dividing profile cannot be zero");
 
  583   printf(
"WARNING!!: The algorithm in TProfile::Divide computing the errors is not accurate\n");
 
  584   printf(
" Instead of Divide(TProfile *h1, TProfile *h2), do:\n");
 
  585   printf(
"   TH1D *p1 = h1->ProjectionX();\n");
 
  586   printf(
"   TH1D *p2 = h2->ProjectionX();\n");
 
  587   printf(
"   p1->Divide(p2);\n");
 
  605   for (bin=0;bin<=
nbinsx+1;bin++) {
 
  608      if (b2) 
w = 
c1*b1/(
c2*b2);
 
  640      Warning(
"Divide",
"Cannot preserve during the division of profiles the sum of bin weight square");
 
 
  932      for (bin=0;bin<6;bin++) 
stats[bin] = 0;
 
 
 1005      Warning(
"LabelsOption",
"Cannot sort. No labels");
 
 1038   if (sort < 0) 
return;
 
 1048      for (
Int_t i = 0; i < 
n; ++i) {
 
 1056         Error(
"LabelsOption",
 
 1057               "%s of TProfile %s contains bins without labels. Sorting will not work correctly - return",
 
 1064         "axis %s of TProfile %s has extra following bins without labels. Sorting will work only for first label bins",
 
 1067   std::vector<Int_t> 
a(
n);
 
 1069   std::vector<Double_t> 
cont(
n);
 
 1070   std::vector<Double_t> 
sumw(
n);
 
 1071   std::vector<Double_t> 
errors(
n);
 
 1072   std::vector<Double_t> 
ent(
n);
 
 1073   std::vector<Double_t> 
binsw2;
 
 1082   std::vector<TObject *> 
labold(
n);
 
 1083   for (i = 0; i < 
n; i++)
 
 1097      for (i=1;i<=
n;i++) {
 
 1110      for (i=1;i<=
n;i++) {
 
 1117      for (i=0 ;i < 
n; i++) {
 
 1128      for (i = 0; i < 
n; i++) {
 
 1140      for (i = 0; i < 
n; i++) {
 
 1146            std::cout << 
"bin " << i + 1 << 
" setting new labels for axis " << 
labold.at(
a[i])->GetName() << 
" from " 
 1147                      << 
a[i] << std::endl;
 
 1150      for (i=0; i < 
n; i++) {
 
 1161   for (i = 0; i < 
n; ++i) {
 
 
 1206      Error(
"Multiply",
"Attempt to multiply by a null function");
 
 1216   for (i=0;i<10;i++) {
s1[i] = 0;}
 
 1224   for (bin=0;bin<=
nbinsx+1;bin++) {
 
 
 1246   Error(
"Multiply",
"Multiplication of profile histograms not implemented");
 
 
 1258   Error(
"Multiply",
"Multiplication of profile histograms not implemented");
 
 
 1292   if (
pname == 
"_px") {
 
 1294      pname.Append(
"_px");
 
 1298   if (bins->
fN == 0) {
 
 1315   for (
Int_t bin =0;bin<=
nx+1;bin++) {
 
 
 1416      Error(
"Rebin", 
"Illegal value of ngroup=%d",
ngroup);
 
 1420      Error(
"Rebin",
"if xbins is specified, newname must be given");
 
 1428         Warning(
"Rebin", 
"ngroup=%d must be an exact divider of nbins=%d",
ngroup,nbins);
 
 1451   for (bin=0;bin<=nbins+1;bin++) {
 
 1501   for (bin = 1;bin<=
newbins;bin++) {
 
 1552   for(i=
oldbin;i<=nbins+1;i++)
 
 
 1630      out << 
sxaxis << 
".data()";
 
 1657            out << 
"   " << 
hname << 
"->SetBinEntries(" << bin << 
"," << entries[bin] << 
");\n";
 
 1661            out << 
"   " << 
hname << 
"->SetBinContent(" << bin << 
"," << 
content[bin] << 
");\n";
 
 1666               out << 
"   " << 
hname << 
"->SetBinError(" << bin << 
"," << 
errors[bin] << 
");\n";
 
 1671         out << 
"   for (Int_t bin = 0; bin < " << 
fNcells << 
"; bin++)\n";
 
 1672         out << 
"      if (" << 
vect << 
"[bin])\n";
 
 1673         out << 
"         " << 
hname << 
"->SetBinEntries(bin, " << 
vect << 
"[bin]);\n";
 
 1677         out << 
"   for (Int_t bin = 0; bin < " << 
fNcells << 
"; bin++)\n";
 
 1678         out << 
"      if (" << 
vect << 
"[bin])\n";
 
 1679         out << 
"         " << 
hname << 
"->SetBinContent(bin, " << 
vect << 
"[bin]);\n";
 
 1683         out << 
"   for (Int_t bin = 0; bin < " << 
fNcells << 
"; bin++)\n";
 
 1684         out << 
"      if (" << 
vect << 
"[bin])\n";
 
 1685         out << 
"         " << 
hname << 
"->SetBinError(bin, " << 
vect << 
"[bin]);\n";
 
 
 1794   if (
R__b.IsReading()) {
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
#define R__ASSERT(e)
Checks condition e and reports a fatal error if it's false.
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
Array of doubles (64 bits per element).
 
void Streamer(TBuffer &) override
Stream a TArrayD object.
 
void Copy(TArrayD &array) const
 
TArrayD()
Default TArrayD ctor.
 
Class to manage histogram axis.
 
virtual void SetBinLabel(Int_t bin, const char *label)
Set label for bin.
 
Bool_t IsAlphanumeric() const
 
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.
 
virtual void Set(Int_t nbins, Double_t xmin, Double_t xmax)
Initialize axis with fix bins.
 
Int_t GetLast() const
Return last bin on the axis i.e.
 
virtual void ImportAttributes(const TAxis *axis)
Copy axis attributes to this.
 
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.
 
Collection abstract base class.
 
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
 
static void RejectPoint(Bool_t reject=kTRUE)
Static function to set the global flag to reject points the fgRejectPoint global flag is tested by al...
 
virtual Double_t EvalPar(const Double_t *x, const Double_t *params=nullptr)
Evaluate function with given coordinates and parameters.
 
static Bool_t RejectedPoint()
See TF1::RejectPoint above.
 
virtual Bool_t IsInside(const Double_t *x) const
return kTRUE if the point is inside the function range
 
1-D histogram with a double per channel (see TH1 documentation)
 
void SetBinsLength(Int_t n=-1) override
Set total number of bins including under/overflow Reallocate bin contents array.
 
void Copy(TObject &hnew) const override
Copy this to newth1.
 
void Streamer(TBuffer &) override
Stream a class object.
 
void AddBinContent(Int_t bin) override
Increment bin content by 1.
 
TH1 is the base class of all histogram classes in ROOT.
 
Double_t * fBuffer
[fBufferSize] entry buffer
 
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 Double_t GetBinError(Int_t bin) const
Return value of error associated to bin number bin.
 
@ kIsNotW
Histogram is forced to be not weighted even when the histogram is filled with weighted.
 
virtual Bool_t CanExtendAllAxes() const
Returns true if all axes are extendable.
 
virtual Int_t GetNbinsX() const
 
virtual void SetMaximum(Double_t maximum=-1111)
 
Int_t fBufferSize
fBuffer size
 
TString ProvideSaveName(Option_t *option, Bool_t testfdir=kFALSE)
Provide variable name for histogram for saving as primitive Histogram pointer has by default the hist...
 
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 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 SetMinimum(Double_t minimum=-1111)
 
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...
 
virtual void ResetStats()
Reset the statistics including the number of entries and replace with values calculated from bin cont...
 
@ kNstat
Size of statistics data (up to TProfile3D)
 
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
 
TObject * Clone(const char *newname="") const override
Make a complete copy of the underlying object.
 
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.
 
static THLimitsFinder * GetLimitsFinder()
Return pointer to the current finder.
 
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
 
void Clear(Option_t *option="") override
Remove all objects from the list.
 
void Add(TObject *obj) override
 
TObject * At(Int_t idx) const override
Returns the object at position idx. Returns 0 if idx is out of range.
 
const char * GetName() const override
Returns name of object.
 
const char * GetTitle() const override
Returns title of object.
 
Collectable string class.
 
Mother of all ROOT objects.
 
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
 
virtual UInt_t GetUniqueID() const
Return the unique object id.
 
static TString SavePrimitiveVector(std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Bool_t empty_line=kFALSE)
Save array in the output stream "out" as vector.
 
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.
 
virtual TClass * IsA() const
 
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 *)
 
Double_t GetBinContent(Int_t bin) const override
Return bin content of a Profile histogram.
 
virtual Double_t GetBinEffectiveEntries(Int_t bin) const
Return bin effective entries for a weighted filled Profile histogram.
 
Bool_t Divide(TF1 *h1, Double_t c1=1) override
Performs the operation: this = this/(c1*f1).
 
TH1 * Rebin(Int_t ngroup=2, const char *newname="", const Double_t *xbins=nullptr) override
Rebin this profile grouping ngroup bins together.
 
static Bool_t fgApproximate
bin error approximation option
 
void ExtendAxis(Double_t x, TAxis *axis) override
Profile histogram is resized along x axis such that x is in the axis range.
 
void PutStats(Double_t *stats) override
Replace current statistics with the values in array stats.
 
void BuildOptions(Double_t ymin, Double_t ymax, Option_t *option)
Set Profile histogram structure and options.
 
EErrorType fErrorMode
Option to compute errors.
 
Long64_t Merge(TCollection *list) override
Merge all histograms in the collection in this histogram.
 
void Copy(TObject &hnew) const override
Copy a Profile histogram to a new profile histogram.
 
Double_t fYmax
Upper limit in Y (if set)
 
virtual void SetBinEntries(Int_t bin, Double_t w)
Set the number of entries in bin.
 
TH1D * ProjectionX(const char *name="_px", Option_t *option="e") const
Project this profile into a 1-D histogram along X.
 
virtual void SetErrorOption(Option_t *option="")
Set option to compute profile errors.
 
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save primitive as a C++ statement(s) on output stream out.
 
virtual Double_t GetBinEntries(Int_t bin) const
Return bin entries of a Profile histogram.
 
void LabelsDeflate(Option_t *axis="X") override
Reduce the number of bins for this axis to the number of bins having a label.
 
void Streamer(TBuffer &) override
Stream an object of class TProfile.
 
void SetBinsLength(Int_t n=-1) override
Set total number of bins including under/overflow.
 
void Scale(Double_t c1=1, Option_t *option="") override
Multiply this profile by a constant c1.
 
void SetBuffer(Int_t bufsize, Option_t *option="") override
Set the buffer size in units of 8 bytes (double).
 
TProfile()
Default constructor for Profile histograms.
 
Int_t BufferEmpty(Int_t action=0) override
Fill histogram with all entries in the buffer.
 
void FillN(Int_t, const Double_t *, const Double_t *, Int_t) override
Fill this histogram with an array x and weights w.
 
TProfile & operator=(const TProfile &profile)
 
void Sumw2(Bool_t flag=kTRUE) override
Create/delete structure to store sum of squares of weights per bin.
 
void LabelsInflate(Option_t *axis="X") override
Double the number of bins for axis.
 
Double_t fTsumwy2
Total Sum of weight*Y*Y.
 
Bool_t Multiply(TF1 *h1, Double_t c1=1) override
Performs the operation: this = this*c1*f1.
 
TArrayD fBinSumw2
Array of sum of squares of weights per bin.
 
Double_t GetBinError(Int_t bin) const override
Return bin error of a Profile histogram.
 
Bool_t Add(TF1 *h1, Double_t c1=1, Option_t *option="") override
Performs the operation: this = this + c1*f1.
 
Int_t Fill(const Double_t *v)
 
Double_t fTsumwy
Total Sum of weight*Y.
 
Int_t BufferFill(Double_t, Double_t) override
accumulate arguments in buffer.
 
~TProfile() override
Default destructor for Profile histograms.
 
void SetBins(const Int_t *nbins, const Double_t *range)
 
Double_t fYmin
Lower limit in Y (if set)
 
TArrayD fBinEntries
number of entries per bin
 
static void Approximate(Bool_t approx=kTRUE)
Static function to set the fgApproximate flag.
 
Bool_t fScaling
! True when TProfile::Scale is called
 
void GetStats(Double_t *stats) const override
fill the array stats from the contents of this profile.
 
TClass * IsA() const override
 
Option_t * GetErrorOption() const
Return option to compute profile errors.
 
void LabelsOption(Option_t *option="h", Option_t *axis="X") override
Set option(s) to draw axis with labels.
 
void ToLower()
Change string to lower-case.
 
TString & ReplaceSpecialCppChars()
Find special characters which are typically used in printf() calls and replace them by appropriate es...
 
void ToUpper()
Change string to upper case.
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
Double_t Sqrt(Double_t x)
Returns the square root of x.
 
void Sort(Index n, const Element *a, Index *index, Bool_t down=kTRUE)
Sort the n elements of the array a of generic templated type Element.
 
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.