Modifiers and parameter drivers in multiplexed measurements

Hello Everyone,

When I gather several measurements in a multiplexedMeasurement, I usually do it BEFORE adding some modifiers to each separate measurement, for convenience reasons in my code. But while doing that the parameter drivers to be estimated in the modifiers are not transmitted to the MultiplexedMeasurement, and thus are not seen by the Least Square estimator.
Is there a way to transfer the parameter drivers to the MultiplexedMeasurement to solve the issue ?

Thanks !

Hi @bruno,

Sorry for the delay.
Could you provide a small example (preferably Junit) that would reproduce the problem?

I’ve looked into MultiplexedMeasurement class, it seems that if the modifiers aren’t registered at the MultiplexedMeasurement level, they are indeed not properly used.
Does it work when the you add the modifier to the measurements before creating the MultiplexedMeasurement ?

I think if you loop on the parameter drivers of the MultiplexedMeasurement itself (with getParameterDrivers()) and select them from there they should be estimated.
But again, I’m not sure that the modifiers are handled very well inside the MultiplexedMeasurement class…

Hope this helps,
Maxime

Hi @MaximeJ,
Thanks for your reply !
I don’t really see how I could reduce my case to a short enough code to be useful, but anyway I think you got the problem right !

  • The modifiers are not registered at the Multiplex level
  • It works perfectly well when adding the modifiers before creating the Multiplex
  • Indeed I can select an already existing parameter driver with getParameterDrivers(), but I cannot add a new one coming from the modifiers. So I think that is the problem.

I think that, as a solution, the addModifiers of MultiplexedMeasurement should be overridden to store the modifiers parameter drivers and pass the modifiers to the relevant underlying measurements.
Does that solution seem relevant ?

Thanks !