Version 3 (modified by omatt, 5 years ago) (diff)






You want to set a mass to ZERO/ REMOVE PART of the model for speed point of view/...


you have to define a file

restrict_XXXX.dat in the UFO model this file should be a valid param_card.dat (so you can create this file by doing: python in the UFO directory, then rename the output file) from this file.

  1. All zero/one value are fixed in the model and can't be changed anymore
  2. If a Block has two identical value. Those two value are merged to a single one (but for the width specification)
  3. All couplings which are zero for this param_card are removed from the model.
  4. If two couplings have hte same value, they will be merge into a single coupling.
  5. Two value are "special": 9.999999e-1 and 1e-99. Those allow to apply the restriction of the zero coupling but still allowing to modify the associate parameter.

To load this restricted model in mg5. you have to do: import model MODELNAME-XXXX

if XXXX is default, then the import import model MODELNAME load automatically the restriction restrict_default.dat. The original model can then be retrieve by the command import model MODELNAME-full.

Any generation using a restriction model have his own default param_card, corresponding to the card use for the restriction (minus the parameter whcih can not be changed anymore). if a file "default_XXX.dat" exists then this file will be the default param_card for the XXX restricted model (since 2.1.0).





ADD MODEL NAME [--recreate] [--output=XXX]


  • It create a new model named: NAME1NAME2 (where NAME1 is the name of the current loaded model and NAME2 is the plugin one).
  • The new model contains the union of all interactions of both model! If an interaction exists on both model, it is in principle removed correctly. But we advise to check carefully this point.
  • if the options "--recreate" is present and a model NAME1_NAME2 already exists then the code remove that model.
  • if the options "--recreate" is NOT present and a model NAME1_NAME2 already exists then code just import NAME1NAME2 model.
  • The options output allows to specify the name of the resulting model (can then be imported via "import model XXX")


1) ALL external parameter which correspond to the same block/id are expected to be identical between the two model. Be careful if you use this with some "frblock" since they are likely to have different physical meaning betwen different model.

2) ALL particles are identified by their PDG_CODE. If a particles of the plugin model has a pdg_code of one particle of the original model then we assume the two particles to be identical and to have the same mass/same width. IF one of the two model has that particle defined with a ZERO mass and not the other, the resulting mass will ALWAYS be the non zero one.

3) If two parameters have the same name for different physical quantity, then the plugin variable will be renamed automatically.

4) The coupling order takes the minimal value of the coupling order found in both model. This might not be what you want => Probably need to modify that file manually!

5) model restriction (see above) of the original model will be propagate to the merged model. No model restriction of the added model will be taken into account.