Dear all.
There’s a function f=f(i,j), i,j integers. For a j fixed value in a set { j }, I have TProfile histograms of f vs i, let’s call it hprof_j.
The binning is the same for all hprof_j: same number of bins, nBins_i, and same extreme values in i-axis, i_min and i_max, so we have the same bin number associated with the same value in i-axis for all hprof_j.
Those hprof_j is the information I have.
Now, if we imagine an j-axis perperdicular to i-axis, we can vizualise a TProfile2d, with f vs (i,j). I would like to do two things:
-
a) Define a TProfile2d, hprof2d, with the same number of bins in i-axis, nBins_i, and same extreme values in i-axis, i_min and i_max, and with nBins_j and j_min, j_max in j-axis.
b) In a loop over j, get the BinEntries, BinContents and BinErrors (in this order) from hprof_j at a given i value in i-axis (another internal loop here over bins in i-axis), and then set the same content, entries and errors for the bin at the coordinate (i,j) ----> f vs (i,j)
c) At the end of the routine, there should be a TProfile2d that for j fixed, gives an identical TProfile as the hprof_j.
- This is the most important thing I’d like to do: I’d like to obtain a set of hprof_i, so that for a i fixed value, I have a TProfile, f vs j.
a) Define a TProfile, hprof_i, i fixed value, with nBins_j and j_min, j_max.
b) Something like this: to have a vector of all hprof_j. Loop over j, take a hprof_j and get BinEntries, BinContents and BinErrors at i value in i-axis of hprof_j, and then set those values for bin at value j in j-axis of hprof_i just defined.
c) End up with set of hprof_i, f vs j.
Now, the PROBLEM:
Just to try out the TProfile::GetBinEntries(), TProfile::GetBinContent(), TProfile::GetBinError(), TProfile::SetBinEntries(), TProfile::SetBinContent(), TProfile::SetBinError(), I created a TProfile hprof which I filled and then created an empty one, hprof2.
The idea is to make hprof2 the exact profile hist. than hprof by using the SetBin* and GetBin* methods. However, it does not work.
The problem here, is that I just have as information the BinContent, BinError and BinEntries from the hprof_j’s, but I do not have the actual entries values with which hprof_j were filled, so I cannot use TProfile::Fill() to fill hprof_i just respecting coordinates.
Any ideas?
I attach a macro that illustrates the problem.
Thanks in advance!!!
Daniel
example.C (2.36 KB)