package org.freehep.math.minuit;
/**
*
* @version $Id: MnGlobalCorrelationCoeff.java 8584 2006-08-10 23:06:37Z duns $
*/
public class MnGlobalCorrelationCoeff
{
MnGlobalCorrelationCoeff()
{
theGlobalCC = new double[0];
}
MnGlobalCorrelationCoeff(MnAlgebraicSymMatrix cov)
{
try
{
MnAlgebraicSymMatrix inv = cov.clone();
inv.invert();
theGlobalCC = new double[cov.nrow()];
for(int i = 0; i < cov.nrow(); i++)
{
double denom = inv.get(i,i)*cov.get(i,i);
if(denom < 1. && denom > 0.) theGlobalCC[i] = 0;
else theGlobalCC[i] = Math.sqrt(1. - 1./denom);
}
theValid = true;
}
catch (MatrixInversionException x)
{
theValid = false;
theGlobalCC = new double[0];
}
}
public double[] globalCC()
{
return theGlobalCC;
}
public boolean isValid()
{
return theValid;
}
public String toString()
{
return MnPrint.toString(this);
}
private double[] theGlobalCC;
private boolean theValid;
}