Correlation between width of two variables

Dear Expert,

I have the two variables in the tree. I want to check the correlation between the width of two variables.
I was using TProfile histogram like below:

Int_t nentries = (Int_t)tree->GetEntries();
  for (Int_t i=0; i<nentries; i++)
      h1->Fill(vari1, vari2);
      hprofxy->Fill(vari1, vari2);
  TProfile * hprofx = h1->ProfileX();	
  TProfile * hprofy = h1->ProfileY();

But it gives the correlation between the mean of these variables.
Is there any way to check the correlation between the width of these two variables?


Maybe: TH2::GetCorrelationFactor

Dear Chanchai,
Maybe clarify a bit your question:

  • It is not clear how you calculate correlations using profile projections.
  • Did you mean the correlation between the variables instead of the correlation
    between the means ?
  • You want the correlation between the width of the variables. Please define width.

In general, correlation between f(x1) and f(x2) could be obtained by performing an error propagation in which things will appear like stdev(x1), stdev(x2) and core(,x1,x2).


Dear @Eddy_Offermann,

Thanks for your reply.

As far as I know, the profile histogram gives the mean value of Y and its error for each bin in X (link).
Therefore I want to ask if is there any way to get the std dev of Y for each bin in X.


You can specify the profile error type (e.g., see the option = "s" description):

ohk, Thanks.

In case you are interested in the correlation between Y values for bin x_{i} and x_{i+1} just scan the tree gathering the sets { Y(x_{i}) } and { Y(x_{i+1}) } and calculate the correlation coefficient