Skip to content

ROOT::Fit::FitResult fixed / bound parameter states not updated #20703

@AntoniMarcinek

Description

@AntoniMarcinek

Check duplicate issues.

  • Checked for duplicates

Description

If one runs fitting several times fixing/releasing parameters with the same Fitter object and each time prints the FitResult, at some point all parameters are printed as "fixed", even though they are free. This did not happen in ROOT 5, because the result object was recreated on each fitting run, so maps holding the information were recreated. In ROOT 6 the object is updated, but the fFixedParams, fBoundParams are not updated in the process. Furthermore, fFixedParams and fBoundParams are maps, while it seems it would be simpler and more correct if these were std::vector<bool> with the size of the number of parameters, with values updated in FitResult::FillResult() and FitResult::Update() (not sure when one or the other function is called).

Reproducer

I guess Description is sufficient in this case.

ROOT version

at least 6.28 to 6.38

Installation method

irrelevant

Operating system

irrelevant

Additional context

No response

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions