spin-3/2 in maddm

Asked by Mukesh Kumar

Hi,

I don't know is this a right place to ask or not. My question is about MadDM version in the latest version of MG5: MG5_aMC_v2_6_4.
When I use a UFO model with spin - 3/2 particle as "darkmatter", its giving me following error:

Defined multiparticle all = g u c d s b u~ c~ d~ s~ b~ a ve vm vt e- mu- ve~ vm~ vt~ e+ mu+ t t~ z w+ h y2 w- ta- xs ta+ xs~
MadDM>define darkmatter xs
Command "define darkmatter xs" interrupted with error:
KeyError : 4
Please report this bug on https://bugs.launchpad.net/mg5amcnlo
More information is found in 'MG5_debug'.
Please attach this file to your report.
MadDM>

I'm wondering, if maddm is compatible with spin-3/2 DM?

Thanks a lot.

Cheers,

Mukesh

Question information

Language:
English Edit question
Status:
Answered
For:
MadDM Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#1

Hi,

Indeed it seems that the direct detection module is not compatible with spin3/2, the others ones (relic density and indirect) should not have any issue.

However at the current time, the presence of the direct detection module makes the code to crash.
I have put below a patch to avoid such issue. But you can not run direct detection for spin3/2 with that patch.
I have tested the relic density but the default benchmark for your model seems not very good:
Freezeout occurs too early! Relic density too big to comprehend. Seeting Omegah^2 = -1.0 \n
But this means that the code is running correctly as far as I can tell.

Now obviously, I would advise you to be prudent with the result since it indicates that such type of model have not been tested in years.

Cheers,

Olivier

=== modified file 'maddm_interface.py'
--- maddm_interface.py 2018-05-16 14:21:25 +0000
+++ maddm_interface.py 2018-12-05 10:17:01 +0000
@@ -1140,21 +1140,26 @@
         else:
             EFT = 'COMPLEX'

- eff_dm_name = eff_model_dm_names[int(DM['spin'])]
- mg5_command = 'add model %s %s=%s --recreate --keep_decay' % (pjoin(MDMDIR, 'EffOperators', EFT),
+ spin = int(DM['spin'])
+ if spin not in eff_model_dm_names:
+ logger.warning('This type of spin is NOT supported for direct-detection')
+ else:
+ eff_dm_name = eff_model_dm_names[int(DM['spin'])]
+ mg5_command = 'add model %s %s=%s --recreate --keep_decay' % (pjoin(MDMDIR, 'EffOperators', EFT),
                                                      eff_dm_name,DM.get('name'))

- # We want to preserve the following variable while updating the model
- backup_amp = self._curr_amps
- backup_param_card = self._param_card
- backup_dm_candidate = self._dm_candidate
- backup_coannihilation = self._coannihilation
-
- self.exec_cmd(mg5_command, postcmd=False)
- self._curr_amps = backup_amp
- self._param_card = backup_param_card
- self._dm_candidate = backup_dm_candidate
- self._coannihilation = backup_coannihilation
+ # We want to preserve the following variable while updating the model
+ backup_amp = self._curr_amps
+ backup_param_card = self._param_card
+ backup_dm_candidate = self._dm_candidate
+ backup_coannihilation = self._coannihilation
+
+
+ self.exec_cmd(mg5_command, postcmd=False)
+ self._curr_amps = backup_amp
+ self._param_card = backup_param_card
+ self._dm_candidate = backup_dm_candidate
+ self._coannihilation = backup_coannihilation

         # update the param_card value
         txt = self._curr_model.write_param_card()
@@ -1173,7 +1178,7 @@

         self._param_card = param_card
         if not isinstance(self._curr_model, model_reader.ModelReader):
- self._curr_model = model_reader.ModelReader(self._curr_model)
+ self._curr_model = model_reader.ModelReader(self._curr_model)
         self._curr_model.set_parameters_and_couplings(self._param_card)

 import madgraph.interface.common_run_interface as common_run

Revision history for this message
Mukesh Kumar (thakoor-mookesh) said :
#2

Thanks Olivier for the reply.
But what I found after defining DM and generate relic_density is :

Command "generate relic_density " interrupted in sub-command:
"generate relic_density" with error:
InvalidCmd : Duplicate process Process: ~xs ~xs~ > g g DMT<=2 QED<=4 SDEFFF=0 SDEFFV=0 SIEFFF=0 SIEFFS=0 SIEFFV=0 @1999 found. Please check your processes.

then I just did
add indirect_detection runs successfully. Though after output spin32_test, I got following error:
Command "output spin32_test" interrupted with error:
AttributeError : 'Model' object has no attribute 'get_mass'
Please report this bug on https://bugs.launchpad.net/mg5amcnlo
More information is found in 'MG5_debug'.
Please attach this file to your report.

The MG5_debug output:

Traceback (most recent call last):
  File "/media/mukhesh/DATa/maddm/MG5_aMC_v2_6_4/madgraph/interface/extended_cmd.py", line 1501, in onecmd
    return self.onecmd_orig(line, **opt)
  File "/media/mukhesh/DATa/maddm/MG5_aMC_v2_6_4/madgraph/interface/extended_cmd.py", line 1450, in onecmd_orig
    return func(arg, **opt)
  File "/media/mukhesh/DATa/maddm/MG5_aMC_v2_6_4/PLUGIN/maddm/maddm_interface.py", line 676, in do_output
    super(MadDM_interface, self).do_output(line)
  File "/media/mukhesh/DATa/maddm/MG5_aMC_v2_6_4/madgraph/interface/master_interface.py", line 292, in do_output
    self.cmd.do_output(self, line, *args, **opts)
  File "/media/mukhesh/DATa/maddm/MG5_aMC_v2_6_4/madgraph/interface/madgraph_interface.py", line 7644, in do_output
    self.finalize(nojpeg, flaglist=flaglist)
  File "/media/mukhesh/DATa/maddm/MG5_aMC_v2_6_4/madgraph/interface/madgraph_interface.py", line 7965, in finalize
    flaglist)
  File "/media/mukhesh/DATa/maddm/MG5_aMC_v2_6_4/PLUGIN/maddm/MGoutput.py", line 342, in finalize
    self.WriteModelInfo()
  File "/media/mukhesh/DATa/maddm/MG5_aMC_v2_6_4/PLUGIN/maddm/MGoutput.py", line 472, in WriteModelInfo
    mass = str(self.model.get_mass(bsm_particle['pdg_code']))
AttributeError: 'Model' object has no attribute 'get_mass'

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#3

Hi,

I guess that you did not apply correctly the patch since it is working for me.
I have created a bug report and attach the patch to it. This should help you to apply the patch correctly.

Cheers,

Olivier

Can you help with this problem?

Provide an answer of your own, or ask Mukesh Kumar for more information if necessary.

To post a message you must log in.