Skip to content
Snippets Groups Projects
Commit 51d4d0f0 authored by Bertram Kopf's avatar Bertram Kopf
Browse files

minor improvements for fitting the pole positions

parent 267b3c1e
No related branches found
No related tags found
No related merge requests found
......@@ -213,23 +213,26 @@ std::complex<double> TMatrixErrorExtr::CalcMassWidth(std::shared_ptr<AbsPawianPa
InfoMsg <<"Start Migrad "<< endmsg;
FunctionMinimum min = migrad();
InfoMsg <<"refit with current parameters"<< endmsg;
MnUserParameters upar1a;
upar1a.Add("eReal", min.UserState().Value("eReal"), 0.001, _energyMin.real(), _energyMax.real());
upar1a.Add("eImag", min.UserState().Value("eImag"), 0.001, _energyMin.imag(), _energyMax.imag());
MnMigrad migrad1a(fitFcn, upar1a);
min = migrad1a();
if(!min.IsValid()) {
// Try with higher strategy
InfoMsg <<"FM is invalid, try with strategy = 2."<< endmsg;
MnMigrad migrad2(fitFcn, min.UserState(), MnStrategy(2));
min = migrad2();
// Try again with current params = start params
// InfoMsg <<"FM is invalid, try again with strategy = 1. and current parameters"<< endmsg;
// MnMigrad migrad1a(fitFcn, min.UserState(), MnStrategy(1));
// min = migrad1a();
// if(!min.IsValid()) {
// Try with higher strategy
InfoMsg <<"FM is still invalid, try now with strategy = 2."<< endmsg;
MnMigrad migrad2(fitFcn, min.UserState(), MnStrategy(2));
min = migrad2();
// }
}
//start second iteration
// MnMigrad migrad1a(fitFcn, min.UserState(), MnStrategy(1));
// min = migrad1a();
// if(!min.IsValid()) {
// // Try with higher strategy
// InfoMsg <<"FM is invalid, try with strategy = 2."<< endmsg;
// MnMigrad migrad2a(fitFcn, min.UserState(), MnStrategy(2));
// min = migrad2a();
// }
// Save final fit parameters and their errors in variables
double final_eReal = min.UserState().Value("eReal");
double final_eImag = min.UserState().Value("eImag");
......
......@@ -56,6 +56,7 @@ double TMatrixExtrFcn::operator()(const std::vector<double>& par) const
double TMatrixExtrFcn::Up() const
{
return 1.;
// return 1.;
return 0.5;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment