In [1]:
import dmdd
import numpy as np
%matplotlib inline
In [2]:
# shortcut for scattering models corresponding to rates coded in rate_UV:
anapole_model = dmdd.UV_Model('Anapole', ['mass','sigma_anapole'])
SI_model = dmdd.UV_Model('SI', ['mass','sigma_si'])
print 'model: {}, parameters: {}.'.format(anapole_model.name, anapole_model.param_names)
print 'model: {}, parameters: {}.'.format(SI_model.name, SI_model.param_names)
In [3]:
# intialize an Experiment with XENON target, to be passed to Simulation_AM:
xe = dmdd.Experiment('1xe', 'xenon', 5, 80, 1000, dmdd.eff.efficiency_unit, energy_resolution=True)
In [4]:
xe_xsmallQ = dmdd.Experiment('1xe', 'xenon', 1, 3, 1000, dmdd.eff.efficiency_unit, energy_resolution=True)
In [5]:
si_xsmall = dmdd.Simulation_AM('SI', xe_xsmallQ, SI_model,
{'mass':50.,'sigma_si':1500.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_si = 1500.,
element = 'xenon', force_sim = True)
#make cross section particularly large to generate more events
#max pdf value is about 1.74
In [6]:
ana_xsmall = dmdd.Simulation_AM('Anapole', xe_xsmallQ, anapole_model,
{'mass':50.,'sigma_anapole':1000.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_anapole = 1000.,
element = 'xenon', force_sim = True)
#make cross section particularly large to generate more events
#max pdf value is 1.7
#for some reason slower to calculate each individual pdf value
In [7]:
si_xsmall = dmdd.Simulation_AM('SI', xe_xsmallQ, SI_model,
{'mass':50.,'sigma_si':1500.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_si = 1500.,
element = 'xenon', force_sim = True)
#make cross section particularly large to generate more events
#max pdf value is about 1.74
In [8]:
ana_xsmall = dmdd.Simulation_AM('Anapole', xe_xsmallQ, anapole_model,
{'mass':50.,'sigma_anapole':1000.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_anapole = 1000.,
element = 'xenon', force_sim = True)
#make cross section particularly large to generate more events
#max pdf value is 1.7
#for some reason slower to calculate each individual pdf value
In [7]:
si_xsmall = dmdd.Simulation_AM('SI', xe_xsmallQ, SI_model,
{'mass':50.,'sigma_si':1500.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_si = 1500.,
element = 'xenon', force_sim = True)
#make cross section particularly large to generate more events
#max pdf value is about 1.74
#30 bins instead of 50
In [8]:
ana_xsmall = dmdd.Simulation_AM('Anapole', xe_xsmallQ, anapole_model,
{'mass':50.,'sigma_anapole':1000.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_anapole = 1000.,
element = 'xenon', force_sim = True)
#make cross section particularly large to generate more events
#max pdf value is 1.7
#for some reason slower to calculate each individual pdf value
#30 bins instead of 50
In [6]:
si_xsmall = dmdd.Simulation_AM('SI', xe_xsmallQ, SI_model,
{'mass':50.,'sigma_si':3500.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_si = 3500.,
element = 'xenon', force_sim = True)
#make cross section particularly large to generate more events
#max pdf value is about 1.74
#30 bins instead of 50
In [6]:
si_xsmall = dmdd.Simulation_AM('SI', xe_xsmallQ, SI_model,
{'mass':50.,'sigma_si':17000.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_si = 17000.,
element = 'xenon', force_sim = True)
#make cross section particularly large to generate more events
#max pdf value is about 1.74
In [5]:
anapole_xsmall = dmdd.Simulation_AM('Anapole', xe_xsmallQ, anapole_model,
{'mass':50.,'sigma_anapole':10000.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_anapole = 10000.,
element = 'xenon', force_sim = True)
#make cross section particularly large to generate more events
#max pdf value is about 1.74
In [5]:
si_xsmall = dmdd.Simulation_AM('SI', xe_xsmallQ, SI_model,
{'mass':20.,'sigma_si':1000.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_si = 1000.,
element = 'xenon', force_sim = True)
#lower mass should have more modulation
In [5]:
si_xsmall = dmdd.Simulation_AM('SI', xe_xsmallQ, SI_model,
{'mass':20.,'sigma_si':1700.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_si = 1700.,
element = 'xenon', force_sim = True)
In [6]:
si_xsmall = dmdd.Simulation_AM('SI', xe_xsmallQ, SI_model,
{'mass':20.,'sigma_si':1700.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_si = 1700.,
element = 'xenon', force_sim = True)
In [7]:
si_xsmall = dmdd.Simulation_AM('SI', xe_xsmallQ, SI_model,
{'mass':20.,'sigma_si':1700.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_si = 1700.,
element = 'xenon', force_sim = True)
#2000 events
In [8]:
#1000 events
si_xsmall = dmdd.Simulation_AM('SI', xe_xsmallQ, SI_model,
{'mass':20.,'sigma_si':1000.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_si = 1000.,
element = 'xenon', force_sim = True)
In [9]:
si_xsmall = dmdd.Simulation_AM('SI', xe_xsmallQ, SI_model,
{'mass':20.,'sigma_si':1000.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_si = 1000.,
element = 'xenon', force_sim = True)
In [10]:
si_xsmall = dmdd.Simulation_AM('SI', xe_xsmallQ, SI_model,
{'mass':20.,'sigma_si':1000.}, Qmin = np.asarray([1.]),
Qmax = np.asarray([3.]),
Tmin = 0, Tmax = 365, sigma_si = 1000.,
element = 'xenon', force_sim = True)
In [ ]: