WimPyDD: an object-oriented Python code for the calculation of WIMP
  direct detection signals
  We introduce WimPyDD, a modular, object-oriented and customizable Python code
that calculates accurate predictions for the expected rates in Weakly
Interacting Massive Particle (WIMP) direct-detection experiments within the
framework of Galilean-invariant non-relativistic effective theory in virtually
any scenario, including inelastic scattering, an arbitrary WIMP spin and a
generic WIMP velocity distribution in the Galactic halo. WimPyDD exploits the
factorization of the three main components that enter in the calculation of
direct detection signals: i) the Wilson coefficients that encode the dependence
of the signals on the ultraviolet completion of the effective theory; ii) a
response function that depends on the nuclear physics and on the main features
of the experimental detector (acceptance, energy resolution, response to
nuclear recoils); iii) a halo function that depends on the WIMP velocity
distribution and that encodes the astrophysical inputs. In WimPyDD these three
components are calculated and stored separately for later interpolation and
combined together only as the last step of the signal evaluation procedure.
This makes the phenomenological study of the direct detection scattering rate
with WimPyDD transparent and fast also when the parameter space of the WIMP
model has a large dimensionality.
