6.4. Source spectrum (spectra.h)

DM annihilation/source spectra calculations are implemented in the library spectra.h.

6.4.1. Definitions and formulae

The elementary \(\gamma\)-ray (or neutrino) spectrum seen from a local observer can be generically written for:

  • Annihilating DM (gPP_DM_IS_ANNIHIL_OR_DECAY = True):

    (6.5)\[\frac{{\rm d} \Phi^{PP~\rm annihil.}_{\gamma,\nu}}{{\rm d} E}(E,z) = \frac{1}{4\pi}\, \frac{\langle \sigma_{\rm ann}v \rangle}{\delta m_{\rm DM}^{2}} \times \sum_{f}B_{f}\,\left.\frac{{\rm d}N^{f}_{\gamma,\nu}}{{\rm d}E_0}\right|_{E_0= (1+z)\,E}\times e^{-\tau(E,z)}\,.\]
  • Decaying DM (gPP_DM_IS_ANNIHIL_OR_DECAY = False):

    (6.6)\[\frac{{\rm d} \Phi^{PP~\rm decay}_{\gamma,\nu}}{{\rm d} E}(E,z) = \frac{1}{4\pi}\frac{1}{\tau_{\rm DM}\,m_{\rm DM}} \times \sum_{f}B_{f}\,\left.\frac{{\rm d}N^{f}_{\gamma,\nu}}{{\rm d}E_0}\right|_{E_0= (1+z)\,E}\times e^{-\tau(E,z)}\,.\]

The various terms are detailed in Table 6.1 below (see Section 6.4.2). Note that the differential γ-ray/ν yield per annihilation (or decay) is evaluated at \(E_0 = (1 + z)E\) to get a photon at \(E\) today. For local targets (Galaxy, close clusters), \(z\sim 0\), energies are not redshifted, and \(e^{-\tau(E,z)}\sim 1\) (no absorption).

Table 6.1 Parameters for the particle physics factor of annihilating or decaying DM and the corresponding CLUMPY parameter names.
Symbol Physical quantity CLUMPY parameter name
\(m_{\rm DM}\) Mass of the DM candidate, \([m_{\rm DM}]=\rm GeV\). gPP_DM_MASS_GEV
\(B_f\) Branching ratios into the final state \(f\) (see below). gPP_BR
\({\rm d}N^{f}_{\gamma,\nu}/{\rm d}E\) Model for the \(\gamma\)-ray or \(\nu\) yield of final state \(f\), see below and γ and ν particle spectra. gPP_FLAG_SPECTRUMMODEL
\(\langle\sigma_{\rm ann}v\rangle\), \(\delta\) Annihilation: velocity averaged annihilation cross section \([\langle\sigma_{\rm ann}v\rangle]={\rm cm}^3 {\rm s}^{-1}\), \(\delta=2\) for a Majorana and 4 for a Dirac fermion. gPP_DM_ANNIHIL_SIGMAV_CM3PERS and gPP_DM_ANNIHIL_DELTA
\(\tau_{\rm DM}\) Decay: decay lifetime, \([\tau_{\rm DM}]=\rm s\) gPP_DM_DECAY_LIFETIME_S
\(\tau(E,z)\) \(\gamma\)-ray attenuation factor (no absorption for \(\nu\)), tabulated in energy and redshift according to various models, see EBL γ-ray attenuation models. gEXTRAGAL_FLAG_ABSORPTIONPROFILE


  • CLUMPY only considers prompt emission at source (e.g., Cirelli et al., 2011), without taking into account effects like Inverse Compton scattering (see, e.g., Profumo & Jeltema, 2009 or Cirelli and Panci, 2009).

  • The location of the \(1/4\pi\) factor appearing in Eqs. (6.5) and (6.6) is arbitrary. We follow Pieri et al. (2009) and include it in the particle physics factor. In other works, it can appear in the astrophysical factor \(J\) (e.g., Bringmann et al., 2009).

  • For the particle physics factor, we use the units

    \[\left[ \frac{{\rm d} \Phi^{PP~\rm annihil.}_{\gamma,\nu}}{{\rm d} E}\right] = {\rm cm}^{3}{\rm ~s}^{-1} {\rm ~GeV}^{-3}\,, \quad\left[\frac{{\rm d} \Phi^{PP~\rm decay}_{\gamma,\nu}}{{\rm d} E}\right] = {\rm ~s}^{-1} {\rm ~GeV}^{-2}.\]

    According to the definition of the J-factor in the Section Integrations (integr_los.h), we discard writing the dimensionless solid angle in the above units. Some authors do however explicitly express the steradians, \(\rm sr\), in their units (for instance in Pieri et al., 2009). See also Appendix A of Charbonnier et al. (2011).

6.4.2. Absorption \(e^{-\tau(E,z)}\)

Absorption of the \(\gamma\)-ray photons are due to pair production after interaction with the extragalactic background light (EBL) and the cosmic microwave background (CMB). In this CLUMPY version, absorption on the CMB, which affects the signal from nearby (\(<1\,{\rm Mpc}\)) sources above several tens of TeV is not implemented.

Several types of models exist in the literature to describe the EBL:

  • Backward modelling, starts from the observed multi-wavelength properties of existing local galaxies and extrapolate to larger redshifts (e.g. Francescini et al., 2008, 2017).
  • Forward modelling relies on semi-analytical models of galaxy formation and evolution to compute the opacity at any redshift (e.g. Gilmore et al. 2012, and Inoue et al. 2013).
  • Other methods focus instead on the mechanisms responsible for the EBL, i.e. emission of stars and dust, and integrate over stellar properties and star formation rate (Finke et al., 2010), or rely on the direct observation of galaxies over the redshift range of interest (Dominguez et al., 2011).

Given the variety in the modelling approaches, the results for \(\tau(E,z)\) of each of the works cited above is implemented in CLUMPY (see EBL γ-ray attenuation models). At each redshift, we transform the tabulated data from these works into coefficients of a fitted \(11^{\rm th}\) order polynomial in energy. The optical depth \(\tau\) is then computed from the polynomial in energy and interpolated in redshift.

6.4.3. Branching ratios \(B_f\)

DM particles may annihilate or decay into various products with some model-dependent (unknown) branching fraction. While the models kBERGSTROM98, kTASITSIOMI02, and kBRINGMANN08 describe the average \(\gamma\)-ray yield for some specific SUSY model, for the spectra from kCIRELLI11_EW and kCIRELLI11_NOEW, the user can specify her/his own mixing out of 28 branching channels for 28 primary channels reported in PPPC 4 DM ID:

Table 6.2 Possible branching channels to select for the kCIRELLI11_EW and kCIRELLI11_NOEW final states.
[00] \(\;e_{L}^+e_L^-\) [01] \(\;e_R^+e_R^-\) [02] \(\;e^+e^-\)  
[03] \(\;\mu_L^+\mu_L^-\) [04] \(\;\mu_R^+\mu_R^-\) [05] \(\;\mu^+\mu^-\)  
[06] \(\;\tau_L^+\tau_L^-\) [07] \(\;\tau_R^+\tau_R^-\) [08] \(\;\tau^+\tau^-\)  
[09] \(\;q\bar{q}\) [10] \(\;c\bar{c}\) [11] \(\;b\bar{b}\) [12] \(\;t\bar{t}\)
[13] \(\;W_L^+W_L^-\) [14] \(\;W_T^+W_T^-\) [15] \(\;W^+W^-\)  
[16] \(\;Z_LZ_L\) [17] \(\;Z_TZ_T\) [18] \(\;ZZ\)  
[19] \(\;gg\) [20] \(\;\gamma\gamma\) [21] \(\;hh\)  
[22] \(\;\nu_e\nu_e\) [23] \(\;\nu_\mu\nu_\mu\) [24] \(\;\nu_\tau\nu_\tau\)  
[25] \(\;VV\rightarrow 4e\) [26] \(\;VV\rightarrow 4\mu\) [27] \(\;VV\rightarrow 4\tau\)  

Any linear combination of these channels can be selected via the gPP_BR input parameter set to a comma-separated list of 28 numbers specifying the relative contribution \(B_f\) of each channel. E.g.:


on the command line or (note the correct usage of spaces) in a parameter file:

gPP_BR = 0,0,0,0,0,0,0,0,0.5,0,0,0.5,0,0,0,0,0,0,0,0,1e-4,0,0,0,0,0,0,0

selects the case where 50% of the DM particles annihilate/decay into \(\tau^+\tau^-\), 50% into \(b\bar{b}\), and with a probability of \(10^{-4}\) directly into two \(\gamma\)-rays.


If the sum \(\sum B_f \neq 1\), like in the example above, the sum will be renormalised, but a warning is printed.

6.4.4. Enabled spectra \({\rm d}N/{\rm d}E\)

Various parametrisations can be selected with the gPP_FLAG_SPECTRUMMODEL, for the annihilation/decay of DM particles of mass parameter \(m_{\chi}\). An overview of these possible models and keywords for the gPP_FLAG_SPECTRUMMODEL variable is given in γ and ν particle spectra, detailed below, and illustrated from Fig. 6.7 (taken from Charbonnier et al., 2011).


Fig. 6.7 Average \(\gamma\)-ray yield according to Bergström et al. (1998) and Bringmann et al. (2008), and pure branching channels from Fornengo et al. (2004).

Average γ-ray production for annihilating DM

Defining the variable \(x = \frac{E_{\gamma}}{m_{\chi}}\) and \(\frac{{\rm d}N_{\gamma}}{{\rm d}E_{\gamma}} = \frac{1}{m_{\chi}} \times \frac{{\rm d}N_{\gamma}}{{\rm d}x}\), we have

  • kBERGSTROM98 (Bergström et al., 1998):

    \[\frac{{\rm d}N_{\gamma}}{{\rm d}x} = 0.73 \times \frac{\exp(-7.8x)}{x^{1.5}}\,,\]
  • kTASITSIOMI02 (Tasitsiomi et al., 2002):

    \[\frac{{\rm d}N_{\gamma}}{{\rm d}x} =\left[ \frac{10}{3} - \frac{5}{4} \, x^{0.5} - \frac{5}{2} \, x^{-0.5} + \frac{5}{12} \, x^{-1.5}\right]\]
  • kBRINGMANN08 (Eq.(8) of Bringmann et al., 2008):

    \[\frac{{\rm d}N_{\gamma}}{{\rm d}x}= \frac{\alpha_{em}}{\pi} \, \frac{4\left(1-x+x^{2} \right) ^{2}}{\left( 1-x+\epsilon/2 \right) x} \times \left[ \ln \left(2 \frac{1-x+\epsilon/2}{\epsilon} \right) - \frac{1}{2} + x - x^{3} \right]\]


    This parametrisation corresponds to the internal bremsstrahlung, which strongly depends on the nature of the neutralino (here, it corresponds to an heavy neutralino, pure Higgsino or Wino).

γ-ray and ν production accounting from specific channels

kCIRELLI11_EW and kCIRELLI11_NOEW (Cirelli et al., 2011+2012) provide tabulated spectra of recent PYTHIA simulations (PPPC 4 DM ID). These are included in CLUMPY and stored in the directory $CLUMPY/data/PPPC4DMID-spectra/. If kCIRELLI11_EW or kCIRELLI11_NOEW are chosen, the resulting spectrum is calculated by a 2D linear interpolation on \(\log(E)\) and \(\log(m)\) from the tabulated spectra. Note that both the results with (EW) or without (NOEW) electro-weak corrections are available. The final state (\(\gamma\)-ray or neutrinos) can be selected via the gSIM_FLUX_FLAG_FINALSTATE parameter, with the possible enumerator values given in Table 6.3:

Table 6.3 Possible keyword choices for the gSIM_FLUX_FLAG_FINALSTATE parameter.
Keyword Description
kGAMMA \(\gamma\)-rays
kNEUTRINO neutrinos
kANTIPROTON anti-protons, \(\bar{p}\)
kPOSITRON positrons, \(e^+\)
kELECTRON electrons, \(e^-\)


The charged particle final states (anti-protons, positrons, and electrons) are only implemented in CLUMPY for displaying the elementary energy spectrum at source with:

$ clumpy -z -i your_parameter_file.txt

Apart from this exception, CLUMPY is designed to deal only with neutral γ-ray and ν final states of dark matter annihilation/decay processes.

6.4.5. Neutrino flavour and mixing

For distant astrophysical sources, the journey in vacuum can be described by an average oscillation that must be accounted for.


CLUMPY provides the flux for \(\nu_{e}\), \(\nu_{\mu}\) or \(\nu_{\tau}\). DM detection with neutrino telescopes are sensitive to \(\nu_{\mu}+\bar{\nu}_{\mu}= 2\times \nu_{\mu}\). This factor 2 for anti-neutrino contribution is not accounted for in CLUMPY and must be set by hand by the user.

Flavour selection

If neutrino fluxes are selected as outputs:


the considered final state neutrino flavour must be selected by the parameter gSIM_FLUX_FLAG_NUFLAVOUR:

Table 6.4 Possible keyword choices for the gSIM_FLUX_FLAG_NUFLAVOUR parameter.
Keyword Description
kNUE \(\nu_e\), electron neutrinos
kNUMU \(\nu_\mu\), muon neutrinos
kNUTAU \(\nu_\tau\), tau neutrinos

Neutrino oscillation

For distant astrophysical sources, the travelling in vacuum and transition between the different flavour states can be described by average oscillations (Bilenky and Petcov, 1987):

\[P(\nu_l\rightarrow\nu_{l'})=P(\bar{\nu_l}\rightarrow\bar{\nu}_{l'})=\sum_{k=1}^3 |U_{l'k}|^2 |U_{lk}|^2.\]
  • \(U\) is the neutrino mixing matrix and \(k=1,2,3\) for the 3 mass eigenstates.

  • The mixing angles \(\{\theta_{12},\,\theta_{23},\,\theta_{13}\}\) correspond to the input parameters

    \[\begin{split}\tt gPP\_NUMIXING\_THETA12\_DEG\:,\\ \tt gPP\_NUMIXING\_THETA13\_DEG\:,\\ \tt gPP\_NUMIXING\_THETA23\_DEG\:,\end{split}\]
  • The \(CP\) phase is set to \(\delta=0\) as the default value (see, e.g., Forero et al., 2014 for recent values and a discussion).