alex-mcdaniel / RX-DMFIT

A tool used for calculating the expected secondary emission from DM annihilation and placing constraints on dark matter properties, incorporating important astrophysics including the diffusion of charged particles, relevant radiative energy losses, and magnetic field modelling.
12 stars 5 forks source link

About WW channel #3

Open Wentinn opened 4 years ago

Wentinn commented 4 years ago

hey, i am going to repeat your work arXiv:1705.09384, but facing some problems. In the example2, there are zero value when i used the channel WW, e.g., d.p.BR_WW = 1; All the output files the second line is zero, so what should i do next?

thank you

alex-mcdaniel commented 4 years ago

In the example2.cpp file, you changed the annihilation channel so that it's d.p.BR_WW = 1. The next few lines run the emissivity profiles (e.g. runjsynch) and SED (runSED). Did you change the input parameters for these functions? The runjsynch and runjIC_CMB take the DM mass and observing frequency as inputs, whereas runSED just needs the DM mass. If you left the input mass at 40 GeV (as in the original file) then I would expect errors because the W boson has a mass of ~80 GeV, so a 40 GeV DM mass is much too low. if you haven't adjusted this, try inputting a DM mass of say 100 GeV instead and see if that works.

Wentinn commented 4 years ago

due to the national holiday i was not response you immediately, sorry for that. And i have changed the mass of dark matter to 100 GeV already, because of that in your work is 100 GeV, such as runjsynch(100, 1.4e9), runjIC_CMB(100, 1e18), and runSED(100), so are there any other possible causes for this?

alex-mcdaniel commented 4 years ago

Perhaps you could send me the exact code snippet youre using in the main file (e.g. example2.cpp). Can't think of any other reason off the top of my head it would be giving that result. And to be clear, the code is running, just the output is all zero?

Wentinn commented 4 years ago

`#include "Run.h"

main(){ Target d; d.name = "Draco";

    d.z = 0; 
    d.distance = 80;
    d.rh = 2.5;
    d.rcore = 0.22;

    d.BB = 0;
    d.B0 = 5;

    d.DM = 0;
    d.rhos_NFW = 1.4;
    d.rs_NFW = 1;
    d.alpha_NFW = 1;

    d.nele = 1e-6; 

    d.SD = 1;

    d.DD = 0;
    d.gamma = 0.3;
    d.D0 = 3e28;

    d.imNum = 100;
    d.p.BR_WW = 1;

    runjsynch(100, 1.4e9);
    runjIC_CMB(100, 1e18);
    runSED(100);

} ` the code is listed above, and in the output files the second line is all zero, for example, in Draco_SED_synch_Mx.100, 5 0 5.2 0 5.4 0 5.6 0 5.8 0 6 0 6.2 0 6.4 0 6.6 0 6.8 0 7 0 .. .. 24 0 24.2 0 24.4 0 24.6 0 24.8 0 25 0 moreover, running the example2 to obtain the SED of pion, below the log[v(Hz)] = 22.4, the value is also zero, the image is uploaded. Figure2

Wentinn commented 4 years ago

well, i know the reason finally, in the diffusion.cpp file, the ID of W is not 25, but 24. for example in issues 1, replace 25 with 24, then it works now.

Wentinn commented 4 years ago

if possible, i want to know the reasons why the Annihilation channel ch_XX is not int ch_WW = 13; int ch_ee = 15; int ch_mumu = 17; int ch_tautau = 19; int ch_bb = 25; rather than, int ch_WW = 25; int ch_mumu = 13; int ch_tautau = 15; int ch_bb = 5; so could you provide the channel list or reference for me? Further, if i make mistakes, please tell me. Thank you

alex-mcdaniel commented 4 years ago

Ah great thanks for the update, I was having a hard time finding what was going wrong. So it sounds like you're using DarkSUSY 6 rather than DarkSUSY 5 then correct? The original code was written for Dark SUSY 5 so that can make a big difference in that specific function call, as discussed in issue #1. The functions and channel ID were changed during the update from version 5 to 6 (though I cant tell you the reasoning as I wasn't involved in that project). For DarkSUSY 6 the IDs for the channels can be found in in the documentation on the darksusy website (darksusy.org). Go to documentation, then the Manual-long.pdf and look for the routine dsanyield_sim.f where you can find the channel list. And yes it looks like the WW channel should be 24 so I'll go and edit that into issue #1