-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmodelDefinitions.py
62 lines (43 loc) · 1.47 KB
/
modelDefinitions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/usr/bin/env python
"""
.. module:: modelParameters
:synopsis: This module defines all relevant input parameters for the model and some methods to obtain \
other relevant information
:synopsis: This module defines all relevant input parameters for the model and some methods to obtain \
other relevant information (spectrum, decays, sigma.v, etc)
:author: Andre Lessa <lessa.a.p@gmail.com>
"""
from pyCode.AuxDecays import DecayList, Decay
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
mDM = 100.
mMediator = 500.
yCoupling = (1.5e-13)
alpha = 1./137.
def MediatorDecays(T):
"""
Defines the mediator decays.
:param T: temperature
:return: DecayList object with the mediator decays and width
"""
decays = DecayList()
decayToDM = Decay(instate='Mediator',fstates=['DM','radiation'],br=1.)
decays.addDecay(decayToDM)
decays.Xfraction = 0.5 #
decays.width = yCoupling**2*mMediator/(8.*3.14)
return decays
def MediatorSigmaV(T):
"""
Defines the mediator annihilation cross-section as a function of temperature.
:param T: temperature
:return: thermally averaged cross-section
"""
return alpha/mMediator**2
def DMSigmaV(T):
"""
Defines the dark matter annihilation cross-section as a function of temperature.
:param T: temperature
:return: thermally averaged cross-section
"""
return yCoupling**4/mDM**2