update of internal parameters after changing the external ones they depend on

Asked by Philipp Millet on 2016-07-13

Dear all,

I'm trying to generate signal samples using an UFO model with a restrict file.
It is a simplified model, where I want the width of my signal-particle which is resonantly produced, to be fixed depending on its mass (e.g. 0.001*mass). Thus I changed the width parameter in the UFO model from external to internal and set its value to 0.0001*MassParameter. I then want to produce a couple of samples for different mass points. In the restrict file loaded with the model, the mass is set to some dummy value 12345e00.

When I try to change the mass via the set command, it will change the mass correctly. However the width will stay at the value it got when loading the model & specifying the processes etc (meaning 0.001 * 12345).

Is this intended? Is there a way to make MG update the internal parameters once I changed the external ones they depend on?

Cheers,
Philipp

Question information

Language:
English Edit question
Status:
Solved
For:
MadGraph5_aMC@NLO Edit question
Assignee:
No assignee Edit question
Solved by:
Olivier Mattelaer
Solved:
2016-07-14
Last query:
2016-07-14
Last reply:
2016-07-14

Dear Philipp,

The computation of the internal parameter is done after the edition of the card.
If some internal parameter are anyway present in the card (due to convention, i.e. for mass and width) Madgraph will never use the value specify in the card
and will simply re-computes the associated value. (The value used are present in the log file of the computation of the cross-section —readable via the cross.html page—)

I have never consider to ensure such equality when using the set command. This is actually a good idea that I will implement someday.

Cheers and thanks,

Olivier

> On Jul 13, 2016, at 15:37, Philipp Millet <email address hidden> wrote:
>
> New question #296282 on MadGraph5_aMC@NLO:
> https://answers.launchpad.net/mg5amcnlo/+question/296282
>
> Dear all,
>
> I'm trying to generate signal samples using an UFO model with a restrict file.
> It is a simplified model, where I want the width of my signal-particle which is resonantly produced, to be fixed depending on its mass (e.g. 0.001*mass). Thus I changed the width parameter in the UFO model from external to internal and set its value to 0.0001*MassParameter. I then want to produce a couple of samples for different mass points. In the restrict file loaded with the model, the mass is set to some dummy value 12345e00.
>
> When I try to change the mass via the set command, it will change the mass correctly. However the width will stay at the value it got when loading the model & specifying the processes etc (meaning 0.001 * 12345).
>
> Is this intended? Is there a way to make MG update the internal parameters once I changed the external ones they depend on?
>
> Cheers,
> Philipp
>
>
>
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Philipp Millet (millet-u) said : #2

Dear Olivier,

thank you for your answer. The behaviour you describe is exactly the one I would like to have. However, I do observe a different one. To me, it looks like the internal values do not get recomputed after edition the parameter card. Maybe I am doing something wrong or I misunderstood your answer?

Here is what I got:

1) parameters in parameters.py
Msv2 = Parameter(name = 'Msv2',
  nature = 'external',
  type = 'real',
  value = 100.,
  texname = '\\text{Msv2}',
  lhablock = 'MASS',
  lhacode = [1000014])

Wsv2 = Parameter(name = 'Wsv2',
  nature = 'internal',
  type = 'real',
  value = '0.001*Msv2',
  texname = '\\text{Wsv2}')

2) initial values in the restrict file which are taken when setting up processes etc
BLOCK MASS
[..]
1000014 5.432100e+09 # Msv2
[..]

3) commandfile used with ./bin/madevent commandfile -f
generate_events sm2__mSneu_500__mChi_200__x_0p5__xqcut_30_run01
set param_card mass 1000014 500.0

4) values in banner of generated sample
BLOCK MASS
[..]
      1000014 5.000000e+02 # msv2
[..]
DECAY 1000014 5.432100e+06 # sv2 : 0.001*msv2

MG has correctly calculated the width from the initial value. Also the mass is changed to the correct value after using set.
However, it looks like it did not update the width. If I understood you correctly it should have updated it.

Any idea what could be going on here?

Cheers and thanks a lot,
Philipp

Hi,

No you did not understand me.
The value inside the param_card is NOT update automatically.
But the computation will be done anyway with the correct value of the width.
(But other program like MadSpin/Pythia might not the correct width since those program might use the one written in the card.

Cheers,

Olivier

> On Jul 14, 2016, at 14:08, Philipp Millet <email address hidden> wrote:
>
> Question #296282 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/296282
>
> Status: Answered => Open
>
> Philipp Millet is still having a problem:
> Dear Olivier,
>
> thank you for your answer. The behaviour you describe is exactly the one
> I would like to have. However, I do observe a different one. To me, it
> looks like the internal values do not get recomputed after edition the
> parameter card. Maybe I am doing something wrong or I misunderstood your
> answer?
>
> Here is what I got:
>
> 1) parameters in parameters.py
> Msv2 = Parameter(name = 'Msv2',
> nature = 'external',
> type = 'real',
> value = 100.,
> texname = '\\text{Msv2}',
> lhablock = 'MASS',
> lhacode = [1000014])
>
> Wsv2 = Parameter(name = 'Wsv2',
> nature = 'internal',
> type = 'real',
> value = '0.001*Msv2',
> texname = '\\text{Wsv2}')
>
>
> 2) initial values in the restrict file which are taken when setting up processes etc
> BLOCK MASS
> [..]
> 1000014 5.432100e+09 # Msv2
> [..]
>
> 3) commandfile used with ./bin/madevent commandfile -f
> generate_events sm2__mSneu_500__mChi_200__x_0p5__xqcut_30_run01
> set param_card mass 1000014 500.0
>
> 4) values in banner of generated sample
> BLOCK MASS
> [..]
> 1000014 5.000000e+02 # msv2
> [..]
> DECAY 1000014 5.432100e+06 # sv2 : 0.001*msv2
>
> MG has correctly calculated the width from the initial value. Also the mass is changed to the correct value after using set.
> However, it looks like it did not update the width. If I understood you correctly it should have updated it.
>
> Any idea what could be going on here?
>
> Cheers and thanks a lot,
> Philipp
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Philipp Millet (millet-u) said : #4

Dear Olivier,

thanks again. Just to be really sure about this:
You say that:

1) madgraph WILL update the internal parameter for its computation

but

2) the value written to the LHE header will NOT be updated

Cheers and thanks,
Philipp

That’s correct.

Cheers,

Olivier
> On Jul 14, 2016, at 14:32, Philipp Millet <email address hidden> wrote:
>
> Question #296282 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/296282
>
> Status: Answered => Open
>
> Philipp Millet is still having a problem:
> Dear Olivier,
>
> thanks again. Just to be really sure about this:
> You say that:
>
> 1) madgraph WILL update the internal parameter for its computation
>
> but
>
> 2) the value written to the LHE header will NOT be updated
>
> Cheers and thanks,
> Philipp
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Philipp Millet (millet-u) said : #6

Great. Thanks!

Philipp Millet (millet-u) said : #7

Thanks Olivier Mattelaer, that solved my question.