I’m not sure now what TF1::GetParError really returns, but assuming that it’s simply the “sigma” of the distribution (if it’s not the “sigma”, then you need to “scale” it to “sigma” in the equation below), I would try something like: covMatrix[i][j] = (i == j ? (parErrors[i] * parErrors[i]) : 0.0);
Note that for a “gaussian” you should expect a STRONG (anti-)correlation between its fitted “amplitude” and its fitted “width” (which means that some off-diagonal “covMatrix” elements should be BIG, too).
See:
Wolfram MathWorld - Covariance
Wolfram MathWorld - Variance