Printing Covariance Matrix with fixed parameters

Please provide the following information:

ROOT Version: 5.34.36
Platform, compiler: 5.4.0

When accessing the covariance matrix from MINUIT via:
Double_t cova[8][8];
minuit->mnemat(&cova[0][0], 8);
the matrix only has the size of the non-fixed parameters and does not respect the parameter ordering.
For example, if I have 8 parameters and parameter with index 5 is fixed, I will get a 7x7 matrix where index five (cova[5][5] in my example) has the values that belong to parameter with index 6. Is there a way to force MINUIT to give the matrix back with in a more logical way? Am I doing something wrong?


bool ROOT::Minuit2::Minuit2Minimizer::GetCovMatrix ( double * cov ) const
bool TMinuitMinimizer::GetCovMatrix ( double * cov ) const
virtual bool ROOT::Math::Minimizer::GetCovMatrix ( double * covMat ) const

The ROOT Mathematical Libraries -> Minuit2
The ROOT Mathematical Libraries -> Minuit
The ROOT Mathematical Libraries

Thanks for the help. I should probably have mentioned that I am not using TMinuit2 but TMinuit.
Is there a similar function that could be used for TMinuit? (I am working on a large code for which a change to TMinuit2 would not be so straight forward.)
It seems like there is a
virtual bool ROOT::Math::Minimizer::GetCovMatrix ( double * covMat ) const
function but I am not sure how to use it. Is it possible?


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.