text:
\@startsection{section}{1}{\z@{\@startsection{section}{1}{\z@}
              {3ex plus-1ex minus-.2ex}{1pt plus1pt}
              {\large\sf\bfseries\boldmath}}
\def\@startsection{subsection}{2}{\z@{\@startsection{subsection}{2}{\z@}
              {1.5ex plus-1ex minus-.2ex}{0.01pt plus1pt}{\sf\slshape}}
\def\@startsection{subsubsection}{3}{\z@{\@startsection{subsubsection}{3}{\z@}
              {1.5ex plus-1ex minus-.2ex}{0.01pt plus0.2pt}{\sf\boldmath}}
\def\@startsection{paragraph}{4}{\z@{\@startsection{paragraph}{4}{\z@}
              {.75ex \@plus.5ex \@minus.2ex}{-2mm}{\sf\bfseries\boldmath}}
\makeatother

\def\baselinestretch{1.1}   \parskip\medskipamount     \lineskip=0pt
\topmargin=-.25in      \textheight=9.5in               \hsize=7in
\oddsidemargin=-.25in  \evensidemargin=\oddsidemargin  \textwidth=\hsize
\abovedisplayskip=1em plus.3em minus.5em               \headsep=0in
\belowdisplayskip=1em plus.3em minus.5em               \headheight=0in
\abovedisplayshortskip=.5em plus.2em minus.4em         \footskip=4ex
\belowdisplayshortskip=.5em plus.2em minus.4em
\thicklines
\setlength{\unitlength}{1mm}

\newcommand{\lj}[1]{\textcolor{magenta}{[LJ: #1]}}
\newcommand{\EM}[1]{\textcolor{blue}{[EM: #1]}}

\begin{document}
\thispagestyle{empty}
\noindent{\small
\vspace*{6mm}
\begin{center}
{\large \bf
Towards A Direct Detection of the  Spin of Dark Matter
\vspace{3ex}
} \\   [9mm] {\large {
Leah Jenks\footnote{ljenks@uchicago.edu}$^{a}$,
K.\ Koutrolikos\footnote{koutrol@umd.edu}$^{b}$
 Evan McDonough\footnote{e.mcdonough@uwinnipeg.ca}$^{c}$,
Stephon Alexander\footnote{stephon\_alexander@brown.edu}$^{d}$,\\
and S.\ James Gates Jr.\footnote{gatess@umd.edu}$^{b}$
}
}
\\*
 \emph{
 \centering
  \\[6pt]
 $^{a}$  Kavli Institute for Cosmological Physics,
 \\[1pt]
  University of Chicago, Chicago, IL 60637, USA\\[6pt]
  $^{b}$ Department of Physics, University of Maryland,\\[1pt]
College Park, MD 20742-4111, USA
 \\[6pt]
   $^{c}$ {Department of Physics, University of Winnipeg, \\[1pt] Winnipeg, MB R3B 2E9 Canada}
 \\[6pt]
 $^{d}$Brown Theoretical Physics Center and Department of Physics,\\[1pt] Brown University, Providence, RI 02912, USA
 }

$$~~$$
  $$~~$$
 \\*[-8mm]
{ ABSTRACT}\\[4mm]
\parbox{142mm}{\parindent=2pc\indent\baselineskip=14pt plus1pt
We investigate the contribution of higher spin particles in the signal of direct detection
experiments searching for dark matter. We consider a bosonic or fermionic higher spin dark matter (HSDM) candidate
which interacts with the Standard Model via a dark U(1) mediator.  For a particular
subclass of interactions, spin-polarized targets may be used for spin determination: The angular
dependence of scatterings can distinguish integer (spin-$s$) vs. half-integer (spin-$s + 1/2$), while
the recoil energy dependence of the signal determines $s$.
We consider also the signal of a supersymmetric higher
spin dark sector, which suggests a characteristic signal ("SUSY Rilles") for directional direct detection.
}
\end{center}
$$~~$$
\vfill
Keywords: Dark Matter, higher spin, supersymmetry
\vfill
\clearpage

\tableofcontents

\@startsection{section}{1}{\z@{Introduction}
\label{intro}
The existence of dark matter as the predominant form of matter in our universe is established to an incredible degree of certainty \cite{Aghanim:2018eyx}. However, the fundamental properties of the dark matter particle(s), such as the mass and spin, remain unknown. The mass of dark matter could range from $10^{-22}~ {\rm eV}$ to $10^{15}$ grams, while the spin, far from being limited to $s=0, 1/2$, or $1$ as in the Standard Model, could be 3/2 \cite{Ding:2012sm, Chang:2017dvm, Garcia:2020hyo}, 2 \cite{Aoki:2017cnz, Marzola:2017lbt, Armaleo:2019gil, Armaleo:2020yml}, 3 \cite{Asorey:2010zz, Asorey:2015hrz}, or yet higher spin $s$ \cite{Alexander:2020gmv,Criado:2020jkp,Gondolo:2021fqo}.

A prominent search strategy for dark matter is that of direct detection (see e.g., \cite{Lin:2019uvt}). As the name would suggest,  direct detection aims to capture a signature of the dark matter particle as it passes through the experimental apparatus. A variant on this is {\it directional } direct detection \cite{Spergel:1987kx,Mayet:2016zxu}, which additionally captures the angular dependence of scattering events, in part generated by the Earth's motion in the ambient dark matter halo. A further variant is to consider directional direct detection with polarized targets \cite{Chiang:2012ze,Catena:2017wzu}. A small but growing body of work \cite{Catena:2017wzu, Catena:2018uae, Bozorgnia:2011vc} has studied the extent to which direct detection experiments can measure the spin of dark matter, e.g., distinguish a spin-1/2 fermion from a spin-1 boson.

The topic of signatures of particle spin has undergone a renaissance in the context of cosmology, in the form of cosmological collider physics \cite{Arkani-Hamed:2015bza, Chen:2009we, Chen:2015lza,Lee:2016vti} and the closely related cosmological bootstrap \cite{Arkani-Hamed:2018kmz,Baumann:2019oyu,Baumann:2020dch}. The target observables in this context are correlation functions of the primordial curvature perturbation as inferred from the cosmic microwave background anisotropies.
While most work also in this context has focused on spin-$0$, spin-$1/2$, and spin-$1$, exciting results have been found for spin-$s >1$ , see \cite{Arkani-Hamed:2015bza,Lee:2016vti,Alexander:2019vtb}. In parallel, higher-spin particles as a dark matter candidate has been proposed in \cite{Alexander:2020gmv,Criado:2020jkp} and studied in detail in e.g.~\cite{Gondolo:2021fqo,Criado:2021itq,Dong:2021yak}. The dark matter in this context can be produced gravitationally \cite{Alexander:2020gmv}, or by either freeze-out or freeze-in processes \cite{Criado:2020jkp}.

 In this work we develop directional direct detection as a probe of higher-spin dark matter. Guided by Ref.~\cite{Catena:2017wzu}, we focus our efforts on spin-polarized targets, for which the physical quantity of interest is,
\begin{equation}
\frac{d\Delta R }{dE_Rd\Omega}= \frac{1}{2}\left(\frac{dR(\vec{s}_N)}{dE_R d\Omega} - \frac{dR(-\vec{s}_N)}{dE_R d\Omega}\right),
\end{equation}
where $dR/(dE_R d\Omega)$ is the double-differential cross section and $\vec{s}_N$ is the polarization vector of the target nuclei. We consider a massive spin-$s$ bosonic and spin-$s+1/2$ fermionic dark matter candidate that is coupled to the standard model through a massive spin-1 mediator. We find that the angular dependence $\frac{d\Delta R }{dE_Rd\Omega}$ is a powerful discriminator of bosonic vs. fermionic higher-spins, though limited in its ability to select out a single value of the spin. However, additional information comes from the recoil energy-dependence: we find that scattering rate of a nuclie with a spin-$s$ or spin-$(s+1/2)$ dark matter particle scales with recoil energy as $E^{2s}$, implying to a steep $s$-dependent fall-off of the rate at low energies. Thus, by combining the angular dependence with the energy spectrum, the (higher) spin of dark matter may be identified.

We then proceed to extend this scenario to study {\it supersymmetric} higher spins \cite{Curtright:1979uz,Kuzenko:1993jp,Kuzenko:1993jq,Gates:2013ska,Gates:2013rka,Gates:2013tka,Koutrolikos:2015lqa,Buchbinder:2015kca,Gates:2017hmb,
Buchbinder:2019esz,Buchbinder:2020yip,Koutrolikos:2020tel}.
 Supersymmetric higher spins are motivated by superstring theory, wherein higher spin states corresponding to massive string excitations are organized into supersymmetric multiplets. In \cite{Alexander:2019vtb} the authors found characteristic signals of supersymmetric higher spins, so-called SUSY Rilles \cite{Alexander:2019vtb}, in the form of a tetrad of angular dependences of the 3-point correlation function, with each component of the tetrad encoding one field in a higher-spin supermultiplet. On the dark matter side, an interesting possibility studied in detail \cite{Burgess:2021obw,Burgess:2021juk} is that dark matter, being comprised of multiple fields all very weakly coupled to the standard model, may be supersymmetric. Motivated by this, we construct SUSY Rilles from supersymmetric higher-spin dark matter at directional direct detection experiments.  We again find a tetrad of signals; SUSY Rilles for dark matter directional direct detection.

The structure of the paper is as follows. In Section \ref{review} we review the higher spin dark matter paradigm and the physics of dark matter directional direct detection. In Section \ref{DDD} we construct interactions of higher spin bosons and fermions with standard model nuclei and analytically calculate the double differential recoil rates. We present numerical results in Section \ref{Results} and the extension to supersymmetric higher spins in Section \ref{sec:SUSY}. We conclude with a discussion and point towards future work in Section \ref{sec:discussion}.

\@startsection{section}{1}{\z@{Review}
\label{review}

\@startsection{subsection}{2}{\z@{Higher Spin Dark Matter}
\label{HSDM-review}

Despite the role of higher spins in modern theoretical physics (e.g., in nuclear physics, condensed matter physics, string theory and holography), relatively little work ---with exception of \cite{Alexander:2020gmv,Criado:2020jkp,Gondolo:2021fqo,Criado:2021itq,Dong:2021yak, Jain:2021pnk, Jain:2022kwq, Zhang:2021xxa}--- has been done regarding their role in explaining the observed abundance of dark matter. In part this reflects our reliance on the tremendous success of the Standard Model and GR at
explaining a huge amount of phenomena in nature, but mostly it is an indication of the historical challenges on
constructing consistent interactions of higher spin particles. These challenges are often captured by famous no-go results (see \cite{Bekaert:2010hw}). However all of these results rely on a set of assumptions which may prove to be to restrictive. For example, constraining physics at infinity by having a trivial S-matrix ($S=1$) in the presence of massless higher spin particles does not exclude local interactions of higher spins. From this viewpoint the candidacy of higher spins particles as dark matter particles is natural because it immediately explains the \emph{dark} nature of dark matter and the stability of the dark matter particle.
Moreover, none of these no-go results apply to massive higher spins hence they can be used to construct models that produce such dark matter particles.

In \cite{Alexander:2020gmv} it was shown that massive higher spin particles can be produced {\it gravitationally} in sufficient number to explain the observed dark matter abundance.  This scenario gives rise to a large parameter space in both mass and spin that is characterized by the Hubble parameter at the end of cosmic inflation. A characteristic feature of gravitational production of bosonic higher-spins is the dominance of the longitudinal (helicity-0) mode, analogous to the longitudinal component of a massive spin-1 particle. Consistent with this, previous analyses of gravitational production of massive spin-1 (e.g. Refs.~\cite{Ahmed:2020fhc,Kolb:2020fwh}) have found that production of the longitudinal component is parametrically enhanced relative to the transverse components. In the fermionic case, the the production is again dominated by the longitudinal (spin-$1/2$ component), see e.g. \cite{Kolb:2021xfn,Kolb:2021nob} for the spin-$3/2$ case.  Guided by this, we focus primarily on DM scattering involving the longitudinal component of the higher-spins, though the extension to transverse components is straightforward.  We note that contemporaneous work \cite{Falkowski:2020fsu} demonstrated that the freeze-in and freeze-out mechanisms can similarly be ported to a higher-spin dark matter candidate. In all cases, the higher-spin particle is massive, and the theory is understood as a low-energy effective field theory of a broken higher-spin symmetry.

The study of observational signatures of higher-spin dark matter is still in it infancy. In the case of gravitational production of HSDM during inflation \cite{Alexander:2020gmv}, there is a known tell-tale signature of higher-spins in the non-Gaussianity of the Cosmic Microwave Background radiation, in the form of an angular dependence of the three-point correlation function \cite{Lee:2016vti} . While \cite{Alexander:2020gmv} focused on bosons, this can be extended (see Ref.~\cite{Alexander:2019vtb}) to include higher-spin fermions or even to {\it supersymmetric} higher spins, leading to what \cite{Alexander:2019vtb} referred to as ``SUSY Rilles". Motivated by this, in what follows we focus on an analog search strategy for higher spin dark matter, namely directional direct detection searches for dark matter.
\@startsection{subsection}{2}{\z@{Directional Direct Detection of Dark Matter}
\label{DDD-review}
A main hope for detecting dark matter particles lies in direct detection experiments. These experiments aim to observe nuclear recoil events from a dark matter particle scattering off a standard model nucleus. Thus far, no direct detection experiment has observed any such event, however there is hope that new and upgraded experiments such as LZ and XENON will be able to confirm their existence using these methods. Directional direct detection is an approach which comes from the observation that the earth moving through the galactic DM halo in a particular direction will induce a preferred direction for nuclear recoil events  \cite{Spergel:1987kx,Mayet:2016zxu}. This suggests that in addition to looking at the differential recoil rate as a function of energy, valuable information can be obtained via the double differential recoil rate, which takes into account the angular dependence of the scattering. Previous studies have shown that it is possible to distinguish the signatures of spin-1/2, spin-0 and spin-1 dark matter using directional direct detection methods \cite{Chiang:2012ze,Catena:2017wzu, Catena:2018uae, Bozorgnia:2011vc}. We will apply the same methods to our study of higher spin dark matter (HSDM). We follow the notation described in \cite{Catena:2018uae}.

For directional direct detection, the observable quantity of interest is the double differential recoil rate, which is given by \cite{Catena:2018uae}
\begin{align}
\frac{dR}{dE_Rd\Omega} = \frac{\rho_\chi}{m_\chi m_N}\int d^3v v f(\vec{v}) \frac{d\sigma}{dE_Rd\Omega}.
\label{eq:generaldef}
\end{align}
Here $\rho_\chi$ is the density of dark matter ($\rho_{\rm{DM}} \simeq0.3$ GeV/cm$^3$) \cite{Baxter:2021pqo}, $m_\chi$ the dark matter mass, $m_N$ the nucleon mass, $v$ is the relative velocity of the incoming DM particle relative to the target nucleus, $f(\vec{v})$ is the velocity distribution of DM in the galactic halo, and $\frac{\rm{d}\sigma}{\rm{d}E_R\rm{d}\Omega}$ is the double differential cross section of the dark matter-nucleus scattering. The double differential cross section can be written as
\begin{equation}
\frac{d\sigma}{d E_Rd\Omega} = \frac{v}{2\pi}\frac{d\sigma}{dE_R}\delta\left(\vec{v}\cdot\vec{q} - \frac{q}{2\mu}\right),
\end{equation}
where $d\sigma/dE_R$ is the differential cross section related to the scattering amplitude, $|\mathcal{M}|^2$
via
\begin{equation}
\frac{d\sigma}{dE_R} = \frac{1}{32\pi}\frac{1}{m_\chi^2m_N v^2}|\mathcal{M}|^2,
\label{eq:crosssection}
\end{equation}
and $\vec q$ is the momentum along the direction of nuclear recoil, related to the recoil energy $E_R$ by $q = \sqrt{2 m_N E_R}$. We assume a Maxwell-Boltzmann velocity distribution function truncated at $v_{esc} = 544$ km/s, with the most probable speed $v_0 = 220$ km/s. For simplicity, we take  $\Vec{v}_e$, the Earth velocity in the galactic rest frame to be $v_e = 232$ km/s \footnote{See \cite{Baxter:2021pqo} for slightly updated numbers.}. We define a set of angular variables via
\begin{eqnarray}
 \hat{q} = (\mathrm{sin}\alpha \mathrm{cos}\beta, \mathrm{sin}\alpha \mathrm{sin}\beta, \mathrm{cos}\alpha), \\
\hat{v} = (\mathrm{sin}\theta \mathrm{cos}\phi, \mathrm{sin}\theta \mathrm{sin}\phi, \mathrm{cos}\theta),
\end{eqnarray}
where $\hat{v}$ is the direction of the incoming dark matter particle and $\hat{q}$ is the recoil direction of the standard model nucleus. We also define the outgoing DM direction as
\begin{equation}
\hat{v}^\prime = \frac{v}{v^\prime}\hat{v} + \frac{q}{m_\chi v^\prime}\hat{q}.
\end{equation}
The geometry of this system is illustrated in Fig.~\ref{fig:drawings}.

\begin{figure}[ht]
\centering
\begin{minipage}{.49\linewidth}
\centering
       \def1.0\textwidth{1.0\textwidth}
       \input{drawing4.pdf_tex}
\end{minipage}
\begin{minipage}{.49\linewidth}
\centering
       \def1.0\textwidth{1.0\textwidth}
       \input{drawing3.pdf_tex}
\end{minipage}
\caption{Geometry of the dark matter-nucleon scattering. The incoming dark matter (left panel) has momentum $m_\chi{\vec{v}}$ with direction specified by the angles $(\theta,\phi)$, and the outgoing nucleon has momentum ${\vec{q}}$ with direction specified by the angles $(\alpha,\beta)$}.
   \label{fig:drawings}
\end{figure}

Using these definitions, we can write the recoil rate as \cite{Catena:2018uae}
\begin{align}
\frac{d^2R}{dE_R d\Omega} &= \frac{\rho_{\rm{DM}}}{2N\pi m m_N}\int_{-1}^{1}
\mathrm{dcos}\theta \int_0^{2\pi}\mathrm{d}\phi \frac{ \bar{v}^4}{|\hat{v}\cdot \hat{q}|} e^{-(\bar{v} + v_e)^2/v_0^2} \frac{d\sigma}{dE_R}(\bar{v})\Big[\Theta(\bar{v} - v_{min})\nonumber \\ &\Theta((v_{esc} - v_e) - \bar{v}) \Theta((v_{esc}^2 - \bar{v}^2 - v_e^2)/(2\bar{v}v_e)-\cos\theta)\Theta(\bar{v} - (v_{esc}- v_e))\Theta((v_{esc} + v_e) - \bar{v})\Big],
\label{eq:R1}
\end{align}
where N is a constant given by
\begin{equation}
N = \pi v_0^2\left[\sqrt{\pi}v_0\,\mathrm{erf}\left(\frac{v_{esc}}{v_0}\right) - 2 v_{esc}e^{-v_{esc}^2/v_0^2}\right].
\end{equation}
and
\begin{equation}
\bar{v} = \frac{q}{2\mu(\hat{v}\cdot\hat{q})}.
\end{equation}
To obtain this expression, we have split the integral in Eq.~\eqref{eq:generaldef} into two distinct parts, one from $v_{min} - (v_{esc} - v_e)$ and one from $(v_{esc} - v_e) - (v_{esc} + v_e) $, where $v_{min}$ is the minimum velocity for the dark matter to lead to a recoil event. We then performed the integral over $v$ using
\begin{equation}
\delta\left(\vec{v}\cdot \hat{q} - \frac{q}{2\mu}\right) = \frac{\delta(v-\bar{v})}{|\hat{v}\cdot\hat{q}|}.
\end{equation}

In order to maximize the sensitivity of the angular recoils to the spin of the dark matter particle, we focus on the particular experimental setup that utilizes a polarized target (see e.g. Refs.~\cite{Chiang:2012ze,Catena:2018uae}). Thus, rather than just calculating the recoil rate, Eq.~\eqref{eq:R1}, we will consider the spin-difference recoil rate, given by,
\begin{equation}
\frac{d\Delta R }{dE_Rd\Omega}= \frac{1}{2}\left(\frac{dR(\vec{s})}{dE_R d\Omega} - \frac{dR(-\vec{s})}{dE_R d\Omega}\right),
\end{equation}
where $\vec{s}$ is the polarization vector of the target nuclei defined by
\begin{equation}
\vec{s} = 2\vec{S}_N,
\end{equation}
where $S_N = \Vec{\sigma}_N/2$, with $\sigma_N$ the Pauli matrices, and $
\hat{s} = (\sin\vartheta, 0, \cos\vartheta). $

\@startsection{section}{1}{\z@{The Angular Dependence of Higher-Spin - Standard Model nucleon scattering}
\label{DDD}

We will consider the scenario in which a HSDM particle interacts with a standard model nucleus via a spin-1 mediator. To this end, we consider a complex higher spin field, which we compose out of two real spin-$s$ fields, e.g.
\begin{equation}
\sigma_{\mu_1...\mu_s} = \sigma^1_{\mu_1...\mu_s} + i\sigma^2_{\mu_1...\mu_s}.
\end{equation}
There are several classes of interactions one can write. In what follows we focus on a particular type of interaction in
which all Lorentz indices of the higher-spin fields are contracted with derivatives acting on the mediator. We emphasize that the interactions we present below are particular examples out of the set of all possible interactions, chosen such that we can compare with existing results
regarding the directional direct detection of spin-1 and spin-1/2 dark matter found in \cite{Catena:2018uae}. We further focus on the scenario in which the dark matter is gravitationally produced, as discussed in \cite{Alexander:2020gmv}. Note that the discussion in \cite{Alexander:2020gmv} focused soley on bosons, due to the lack of knowledge of fermionic higher spins in de Sitter space and inflationary spacetimes. However, complete knowledge of the primordial production in de Sitter space is not required to compute simple Feynman diagrams. We will proceed here with the fermionic case in analogy to \cite{Alexander:2019vtb}, motivated by higher spin supersymmetry and `SUSY Rilles.'

\@startsection{subsection}{2}{\z@{Higher Spin Bosons}\label{hsb}
First, let us consider a bosonic spin-$s$ HSDM particle which interact with a standard model nucleus via a vector mediator. We will consider the interaction:
 \begin{align}
 \label{eq:LintBoson}
\mathcal{L}^{(s)}_{int} &= -\frac{1}{\Lambda^{2s}}\left[(\partial_{\nu}\sigma^{\mu_1...\mu_s} )\sigma^{\dagger \mu_{s+1}...\mu_{2s}}- (\partial_{\nu}\sigma^{\dagger\mu_{s+1}...\mu_{2s}}(p'))\sigma^{\mu_1...\mu_s}\right]\partial_{\mu_1...\mu_{2s}}G^\nu \nonumber \\
& - h_3 G_\mu \bar{N}\gamma^\mu N - h_4G_\mu \bar{N}\gamma^\mu\gamma_5 N,
\end{align}
where $\Lambda, h_3$, and $h_4$ are coupling constants, $\sigma$ is a complex spin-$s$ field, $N$ is a standard model nucleus  and $G$ is the vector mediator. A higher spin bosonic field, $\sigma$, can be decomposed in constant time slices in the following way \cite{Lee:2016vti}:
\begin{equation}
\sigma_{i_1...i_n0...0} = \sum_\lambda \sigma^\lambda_{n,s}\varepsilon^\lambda_{i_1...i_n},
\end{equation}
where $\sigma^\lambda_{n,s}$ are the HS mode functions, $\varepsilon$ are the spin-$s$ polarization tensors. Here, $s$ refers to the spin, $n$ is the `spatial spin' and $\lambda$ is the helicity of the field. Note that there are $(n-s)$ number of temporal $(0)$ indices. Previous work has shown that the $\sigma^0_{s,s}$ component is the dominant helicity state from gravitationally produced HSDM \cite{Alexander:2020gmv}. In what follows we focus solely on the $\lambda = 0$ component of $\sigma$, and note the numerical results are unchanged when the other helicity states are included.

A key property of the spin-$s$ polarization tensors is that when they are contracted with factors of momenta, one obtains a characteristic Legendre polynomial dependence:
\begin{equation}
p^{\mu_1...\mu_s}\varepsilon_{\mu_1...\mu_s}(k) = |p|^{s}P_s(\hat{p}\cdot\hat{k}),
\end{equation}
where $P_s$ is a Legendre polynomial. For further details regarding this decomposition and the spin-$s$ polarization tensors, see Appendix \ref{spinsPol} or \cite{Lee:2016vti}. With this knowledge, we can write down the matrix element for this interaction as:
\begin{equation}
i\mathcal{M} = -i\frac{ |q|^{2s}}{\Lambda^{2s}m_G^2}P_s(\hat{p}\cdot \hat{q})P_s(\hat{p}'\cdot \hat{q})\left(p^\mu  + p'^\mu \right) \bar{u}_N\gamma_\mu (h_3 + \gamma_5h_4)u_N),
\end{equation}
where $p$ and $p'$ are the ingoing and outgoing HSDM momenta, respectively, defined with $\vec{p} = m_\chi\vec{v}$ and $\vec{p}' = m_\chi\vec{v}'$. From this expression, we take the non-relativistic limit to obtain:
\begin{equation}
|\bar{\mathcal{M}}|^2 = \frac{16m_N^2 m_\chi^2}{m_G^4}\frac{|q|^{4s}}{\Lambda^{4s}} P_s(\hat{v}\cdot \hat{q})^2 P_s(\hat{v}'\cdot\hat{q})^2 \left[h_3^2 - h_3h_4 \left(1 - \frac{m_\chi}{m_N}\right)\vec{v}\cdot\vec{s} - h_3h_4\left(1 + \frac{m_\chi}{m_N}\right)\vec{v}'\cdot\vec{s}\right].
\end{equation}
For technical details of this computation, see Appendix \ref{Mcalc} . Then, using Eqs.~\eqref{eq:crosssection} and~\eqref{eq:R1}, we find the
spin-differenced double differential recoil rate to be
\begin{align}
\frac{d\Delta R}{dE_rd\Omega} &= \mathcal{F}_b\int_{-1}^{1}d\cos\theta \int_0^{2\pi}d\phi
P_s(\hat{v}\cdot\hat{q})^2P_s(\hat{v}'\cdot\hat{q})^2
\frac{\bar{v}^2}{|\hat{v}\cdot\hat{q}|}e^{-(\bar{v}^2 + v_e^2 + 2\bar{v}v_e\cos\theta)/v_0^2}\nonumber\\
&\times \left[-h_3h_4\left(1 - \frac{m_\chi}{m_N}\right)\Vec{v}\cdot\Vec{s} - h_3h_4\left(1 + \frac{m_\chi}{m_N}\right)\Vec{v}'\cdot\Vec{s}\right]\Big\{\Theta(\bar{v} - v_{min})\Theta\Big[(v_{esc} - v_{e}) - \bar{v}\Big] \nonumber\\
&\times\Theta\Big[(v_{esc}^2 - \bar{v}^2 - v_e^2)/(2\bar{v}v_e) - \cos\theta\Big]
\Theta\Big[\bar{v} - (v_{esc} - v_e)\Big]\Theta\Big[(v_{esc} + v_e) - \bar{v}\Big]\Big\},
\label{eq:recoilB}
\end{align}
where $\mathcal{F}_b$ is an overall prefactor given by
\begin{equation}
\mathcal{F}_b = \frac{\rho_\chi}{64\pi^2 N m_\chi m_G^4}\left(\frac{q}{\Lambda}\right)^{4s} .
\end{equation}
We note that $q$ is related to the recoil energy by $q = \sqrt{2 m_N E_R}$, thus the above indicates a strong dependence of the rate on recoil energy.
The expressions above are analogous to that found in \cite{Catena:2018uae} for spin-$1$ dark matter, with an additional spin dependence arises via the Legendre polynomials, $P_s$, as well as in the overall prefactor and momentum dependence.

The advantage of interaction \eqref{eq:LintBoson} is that it provides
the clearest spin dependent effects, in both the angular dependence and momentum dependence.
This becomes apparent if one considers other types of interaction. For example
a higher spin mass-like term such as:
\begin{equation}
\mathcal{L}_{int} \propto  \sigma_{\mu_1...\mu_s}\sigma^{\dagger \mu_1...\mu_s}\partial_\nu G^\nu.
\end{equation}
due to the self-contraction identities of the spin-$s$ polarization tensors (see Appendix \ref{spinsPol}), leads to an overall $s$-dependent pre-factor in the recoil rate, but not the $P_s$ angular dependence or $s$-dependent momentum falloff. More generally, the set of all cubic interaction terms will have some of the indices contracted among the fields and the remaining indices will be contracted with derivatives that can be distributed in many ways among the three fields. Hence, the recoil rate would have a combination of momentum and angular dependences
governed by a distribution of effective spin values which are all less than the true spin value of the dark matter particle.

\@startsection{subsection}{2}{\z@{Higher Spin Fermions}\label{hsf}

We now turn our attention to fermionic higher spin dark matter, following the same procedure as in the previous section. We consider an interaction of the form:
\begin{equation}
\label{eq:LintFermion}
\mathcal{L}^{(s+1/2)}_{int}= -\lambda_3\bar{N}\gamma^\mu N G_\mu - \lambda_4\bar{N}\gamma^\mu\gamma_5N G_\mu - \bar{\psi}^{\mu_1...\mu_s}\gamma^\nu\left(\frac{1}{\Lambda_3^{2s}} + \gamma_5\frac{1}{\Lambda_4^{2s}}\right)\psi^{\mu_{s+1}...\mu_{2s}}\partial_{\mu_1...\mu_{2s}}G_\nu,
\end{equation}
where once again we consider a HS particle, in this case a fermion, interacting with a standard model nucleus via a spin-1 mediator. Here $\lambda_3, \lambda_4, \Lambda_3$, and $\Lambda_4$ are all coupling constants, $\psi$ is a spin-$(s+1/2)$ fermion, and $N$ and $G_\mu$ are once again the standard model nucleus and mediator, respectively. Now, to proceed as before, we must consider a decomposition of the HS fermion. In analogy to the decomposition of a bosonic higher spin in terms of the polarization tensor, we can can decompose the HS fermion in the following way
\begin{equation}
\psi_{\mu_1...\mu_n0...0} = \displaystyle \sum _ {\lambda=-s} ^{+s} c_{\lambda} u^\lambda(p)\epsilon^\lambda_{\mu_1...\mu_n},
\label{fermiondecomp}
\end{equation}
where $\epsilon^\lambda_{\mu_1...\mu_n}$ is the usual spin-$s$ polarization tensor, $u(p)^\lambda$ is a spin-$1/2$ eigenspinor, and $c_\lambda$ is a  Clebsch-Gordan coefficient (see e.g.\cite{Moroi:1995fs}).  Once again, we consider only the $\lambda=0$ dominant helicity mode from gravitational production as the dark matter and rescale to absorb $c_\lambda$; as with the bosons, the numerical results are insensitive to including the additional helicity states. With this decomposition, the matrix element is
\begin{equation}
-i\mathcal{M} = -\frac{i}{m_G^2} P_s(\hat{p}\cdot\hat{q})P_s(\hat{p}'\cdot\hat{q}) |q|^{2s} \bar{u}(p)\gamma^\nu \left(\frac{1}{\Lambda_3^{2s}} + \gamma_5\frac{1}{\Lambda_4^{2s}}\right)u(p').
\end{equation}
Proceeding as before and taking the non-relativistic limit, we find
\begin{align}
    |\bar{\mathcal{M}}|^2 &= \frac{16m_\chi^2m_N^2}{m_G^2}|q|^{4s}P_s(\hat{p}\cdot\hat{q})^2 P_s(\hat{p}'\cdot\hat{q})^2\Bigg\{\Lambda_3^{4s} h_3^2 + 3\Lambda_4^{4s}h_4^2 \nonumber \\
    &- \left[\Lambda_3^{4s}h_3h_4\left(1- \frac{m_\chi}{m_N}\right) + \Lambda_4^{4s}h_3h_4\left(1+ \frac{m_\chi}{m_N}\right) + 2\Lambda_3^{2s}\Lambda_4^{2s}h_4^2\right]\vec{v}\cdot\vec{s}\nonumber \\
    &- \left[\Lambda_3^{4s}h_3h_4\left(1+ \frac{m_\chi}{m_N}\right) + \Lambda_4^{4s}h_3h_4\left(1- \frac{m_\chi}{m_N}\right) - 2\Lambda_3^{2s}\Lambda_4^{2s}h_4^2\right]\vec{v}'\cdot\vec{s}\Bigg\},
\end{align}
which allows us to write the double differential recoil rate as
\begin{align}
\frac{d\Delta R}{dE_rd\Omega} &= \mathcal{F}_f\int_{-1}^{1}d\cos\theta \int_0^{2\pi}d\phi
P_s(\hat{q}\cdot\hat{v})^2P_s(\hat{q}\cdot\hat{v}')^2
\frac{\bar{v}^2}{|\hat{v}\cdot\hat{q}|}e^{-(\bar{v}^2 + v_e^2 + 2\bar{v}v_e\cos\theta)/v_0^2}\nonumber\\
&\times-\Bigg\{ \left[\Lambda_3^{4s}h_3h_4\left(1- \frac{m_\chi}{m_N}\right) + \Lambda_4^{4s}h_3h_4\left(1+ \frac{m_\chi}{m_N}\right) + 2\Lambda_3^{2s}\Lambda_4^{2s}h_4^2\right]\vec{v}\cdot\vec{s}\nonumber \\
    &- \left[\Lambda_3^{4s}h_3h_4\left(1+ \frac{m_\chi}{m_N}\right) + \Lambda_4^{4s}h_3h_4\left(1- \frac{m_\chi}{m_N}\right) - 2\Lambda_3^{2s}\Lambda_4^{2s}h_4^2\right]\vec{v}'\cdot\vec{s}\Bigg\}\Big\{\Theta(\bar{v} - v_{min})\Theta[(v_{esc} - v_{e}) - \bar{v}] \nonumber\\
&\times\Theta[(v_{esc}^2 - \bar{v}^2 - v_e^2)/(2\bar{v}v_e) - \cos\theta]
\Theta[\bar{v} - (v_{esc} - v_e)]\Theta[(v_{esc} + v_e) - \bar{v}]\Big\},
\label{eq:recoilF}
\end{align}
where , $\mathcal{F}_f$ is a numerical prefactor defined as
\begin{equation}
\mathcal{F}_f = \frac{\rho_\chi}{64\pi^2 N m_\chi m_G^4}q^{4s}.
\end{equation}

\@startsection{subsection}{2}{\z@{Imprint of Higher-Spin}
At this point we may already identify the imprint of higher-spin dark matter on the scattering with nuclei, in particular on the double differential recoil rate. We note the following features:
\begin{enumerate}
    \item {\bf Angular Dependence:} The angular dependence distinguishes integer and half-integer spin. The higher spin case enhances this distinction in comparison with the spin-$1$ and spin-$1/2$ results of \cite{Catena:2018uae} due to the measure of angular integration, which now involves Legendre polynomials. The measure is $d\Omega
P_s(\hat{q}\cdot\hat{v})^2P_s(\hat{q}\cdot\hat{v}')^2$, where $\hat{q}\cdot\hat{v}$ is the angle between the outgoing nucleus and ingoing DM, respectively, and $\hat{q}\cdot\hat{v}'$ is the angle between the outgoing nucleus and outgoing DM.
    \item {\bf Recoil Energy Dependence:} The bosonic and fermionic cases both exhibit an $s$-dependent fall-off of the rate at low recoil energy as $\frac{d\Delta R}{dE_rd\Omega} \propto q^{4s}$, where $q$ is the momentum of the outgoing nuclei, related to the recoil energy $E_R$ by $q = \sqrt{2 m_N E_R}$,
\end{enumerate}
Based on these features we conclude that the angular and energy dependence of the recoil rate yield complementary information which can be used to determine the spin of massive dark matter particles.
Moreover, we note that the inclusion of the transverse components of higher-spin fields, i.e., components other than the $\lambda=0$ longitudinal mode, will introduce further spin-dependent modifications to the measure of the angular integration. However these modifications will be identical for bosons and fermions and thus would not add to the overall ability to discriminate spin.
\@startsection{section}{1}{\z@{(Higher) Spin Determination with Directional Direct Detection}
\label{Results}
We can now numerically investigate the spin-dependent recoil behavior discussed in the previous section. Using Mathematica, we numericallly integrate the expressions in Eqs.~\eqref{eq:recoilB} and~\eqref{eq:recoilF} to obtain the double differential recoil rate as a function of the recoil angles $\alpha$ and $\beta$. For the masses, we take $m_\chi = 1000$ GeV, $m_N= m_G = 100$ GeV. For the couplings, we take $h_3 = -h_4 = 1/2$, and $\Lambda_3 = -\Lambda_4 = \frac{\Lambda}{\sqrt{2}}$, which we leave as a free parameter in the overall scaling of the signal amplitude. We also take $|\vec{s}| = 1$ and $\vartheta = \pi/2$. In what follows, we scale all plots to their maximum amplitude such that the range of differences in the double differential recoil rate goes from -1 to 1, and further normalize to the rate at a reference momentum $q_0$. We define the rate normalized in this way as
\begin{equation}
\left(\frac{\Delta dR}{dE_Rd\Omega}\right)_{norm} = \frac{\Delta dR/dE_Rd\Omega|_q}{\Delta dR/dE_Rd\Omega|_{q_0}},
\end{equation}
where $q_0$ is a reference momentum. In the figures below we choose $q_0$ such that the maximum value of $\left(\frac{\Delta dR}{dE_Rd\Omega}\right)_{norm} $ for $s = 5/2$ is normalized to one.
We show our results in this way in order to highlight the angular and energy dependence of the nuclear recoils.

First, let us consider the angular dependence of the difference in the double differential recoil rate. In Figure \ref{fig:recoilmain}  we show the spin-polarized difference in the recoil rate in the space of recoil angles $(\alpha,\beta)$. We take the recoil energy to be $E_R = 5$ KeV. We show the result for the both a higher-spin boson ($s=3$) and higher-spin fermion ($s = 5/2$).
From Fig.~\ref{fig:recoilmain} one may appreciate a clear distinction between the bosonic and fermionic cases. For $s = 3$ there is a characteristic  angular feature near $\alpha = \pi/3$. For the fermionic $s=5/2$ case, this same angular dependence exists, but there is now an additional feature on the right hand side that clearly delineates the two cases. This distinction is in agreement with with \cite{Catena:2018uae} for the difference between spin-$1$ and spin-$1/2$ dark matter.

\begin{figure}[h!]
    \centering
    \includegraphics[scale=0.35]{s3abNEW.png}
    \includegraphics[scale=0.35]{s52abNEW.png}
    \caption{The spin-polarized difference in the differential recoil rate for a spin-3 HSDM boson and a spin-5/2 HSDM fermion shown in the $\alpha,\beta$ plane. The recoil energy is set to $5$ KeV. Note that we enhance the $s=3$ rate by a factor of ten to better show the angular features in comparison to the $s=5/2$ case.}
    \label{fig:recoilmain}
\end{figure}

Remarkably, the angular dependence is unchanged when one generalizes from spin-$3$ and spin-$5/2$ to arbitrary integer spin $s$ and half-integer spin $s+1/2$; i.e., the angular dependence shown in Fig.~\ref{fig:recoilmain} is {\it universal} for higher spin bosons and fermions. We demonstrate this in Fig.~\ref{fig:recoilmainSlice}, where we consider a representative case and compare the angular dependence of $s=3$ to $s=4,8,12$. We display the root mean squared difference of $s=4,8,12$ relative to $s=3$. Away from the zero crossings (which are common across all $s$), we find fractional differences of ${\cal O}(0.01\%)$, which is of order the numerical precision with which the numerical integrations have been performed. This indicates that the angular features are indeed unchanged as one increases the spin. The same result holds for the fermionic case.

\begin{figure}[h!]
    \centering
 \includegraphics[width=0.49\textwidth]{s3Plot.pdf}
    \includegraphics[width=.49\textwidth]{FracDiffPlot.pdf}
\caption{The angular ($\beta$) dependence at fixed $\alpha=\pi/3$ for a higher spin boson with $s=3$ (left panel) and the root-mean-squared fractional difference with respect to $s=3$ in the case of $s=4,8,12$ (right panel). For each spin we normalize to the value of the rate at $\beta=\pi$, in order to extract the angular dependence. From the small fractional difference (which is ${\cal O}(.01\%)$ away from the zero crossings, on par with the numerical precision of the results) one may  appreciate that the angular-dependence of bosons is {\it universal} across spin. Similar conclusions apply to higher spin fermions.  }
    \label{fig:recoilmainSlice}
\end{figure}

The distinction between fermions and bosons is also manifest when scanning over recoil energy. In Figure \ref{fig:RateEnergy} we plot the recoil rate as a function of energy and recoil angle $\alpha$ for both $s=3$ and $s=5/2$, taking $\beta = \pi$. We can see again that there is a clear deviation between the two, particularly at low energies. This marks another distinction between the spin-$s$ and spin-$(s+1/2)$ dark matter recoils in energy space.

From these results one may infer, that regardless of the spin, one differentiate between bosonic and fermionic dark matter using directional detection with polarized targets. This extends the result found in \cite{Catena:2018uae} from spin-$1$ and spin-$1/2$ to arbitrary spin-$s$ and spin-$(s+1/2)$.

\begin{figure}[h!]
    \centering
    \includegraphics[scale=0.35]{s3Energy.png}
\includegraphics[scale=0.35]{s52ENEW2.png}
    \caption{The spin-polarized difference in the differential recoil rate for a spin-3 HSDM boson and a spin-5/2 HSDM fermion as a function of energy and the recoil angle $\alpha$. We take $\beta = \pi$.}
    \label{fig:RateEnergy}
\end{figure}

To extract the particular spin $s$, and not just the bosonic or fermionic nature of the HSDM, one may utilize the energy dependence.
In Figure \ref{fig:recoilbetapi}  we show a slice of the $\alpha, \beta$ parameter space and set $\beta = \pi$. We show the recoil rate as a function of $\alpha$ in Figure \ref{fig:recoilbetapi} for various values of the outgoing momentum $q$, related to the recoil energy as $q = \sqrt{2 m_N E_R}$, normalized to a reference value $q_0$.  We recall that the rate is proportional to $q^{4s}$ so we expect that the overall rate will be highly sensitive to the recoil energy.
Here, we can clearly see the distinction in features between the bosonic and fermionic cases. We also see that there is a difference in amplitude of the recoil rate, which encodes the $s$ dependence. Formally, the $s$-dependence and exact scaling encoded in the recoil rate is also dependent on the coupling, $\Lambda$. However, from the above we see that for any given spin, one can determine the value of $s$ by making measurements at at least two different reference momenta. Then, one can compare the amplitudes of the rate of each in order to extract $s$.  %

\begin{figure}[htb]
    \centering
    \includegraphics[scale=.4]{s3qNEW.pdf}
    \includegraphics[scale=.4]{s52qNEW.pdf}
    \caption{The spin-polarized difference in the differential recoil rate for a spin-3 HSDM boson and a spin-5/2 HSDM fermion at $\beta=\pi$ for various values of the outgoing nuclei momentum $q$, related to the recoil energy as $q = \sqrt{2 m_N E_R}$, normalized to a reference momentum $q_0$.
    }
    \label{fig:recoilbetapi}
\end{figure}
Lastly, one might wonder how the dark matter mass might influence the above discussion. We find that considering heavier masses in the superheavy range ($10^3 \lesssim \frac{m_\chi}{\rm{GeV}} \lesssim 10^{13}$) does not alter the characteristic angular dependence that we find for the example of $m_\chi = 10^3$ GeV, shown above. The value of the mass will impact the overall amplitude of the signal, which one can appreciate from the overall mass scaling which appears in Eqs.~\eqref{eq:recoilB} and~\eqref{eq:recoilF}, but the angular dependence remains the same.
\@startsection{section}{1}{\z@{The Signal of Supersymmetry: ``SUSY Rilles'' from supersymmetric Higher Spins}
\label{sec:SUSY}
Thus far, we have considered scatterings involving separately massive spin-$s$ bosons or
massive spin-$s+1/2$ fermions.
Nevertheless, one can consider models where higher spin particles of both types participate.
Supersymmetry provides a natural framework to study such models, especially at
high energy scales where it is well motivated and becomes a symmetry of the underlying theory. In the context of dark matter, the possibility that a hidden sector dark matter candidate may realize supersymmetry on-shell, i.e., at tree-level in interactions, has recently been studied in  \cite{Burgess:2021juk,Burgess:2021obw}.

Under the assumption of supersymmetry,
bosonic and fermionic higher spin particles organize in supersymmetric higher spin multiplets.
The Lagrangian description of manifestly supersymmetric, massless, higher spin multiplets
(see \cite{Gates:2013rka,Buchbinder:2015kca,Buchbinder:2020yip,Koutrolikos:2022chj} and references therein) has been
developed and several types of interactions
\cite{Buchbinder:2017nuc,Koutrolikos:2017qkx,Buchbinder:2018wwg,Buchbinder:2018gle,Buchbinder:2018wzq,Gates:2019cnl} have been constructed. For massive higher spin supermultiplets, which are relevant for our
discussion, their off-shell description has been  discovered recently \cite{Koutrolikos:2020tel}. The
off-shell spectrum of such theories is very complicated as it includes towers of auxiliary
superfields with decreasing rank. However on-shell, the only propagating degrees of freedom are
massive bosonic and fermionic higher spin particles like the ones we considered in Sections \ref{hsb}
and \ref{hsf}.

Specifically, there are two types of massive higher spin supermultiplets,
labelled by their superspin value (${\textsf{Y}}$), which corresponds to the eigenvalue
of the supersymmetric spin Casimir operator of the $4D, {\mathcal{N}}=1$ super-Poincar\'{e} algebra.
The first one is the half-integer superspin (${\textsf{Y}}=s+1/2$) multiplet which includes a spin-(s+1) boson,
two spin-$(s+1/2)$ fermions and one spin-$s$ boson. The second one is the integer superspin (${\textsf{Y}}=s$) multiplet
with has the following physical degrees of freedom: one spin-$(s+1/2)$ fermion and two spin-$s$ bosons and a
spin-(s-1/2) fermion. The on-shell spectrum is easily understood from the viewpoint of the supersymmetric algebra.
For a massive particle, the supersymmetry algebra defines two non-trivial, fermionic,
creation operators
$Q_1,~Q_2$ which increase spin by $1/2$ units. Therefore acting on a vacuum state with spin-j ($|j\rangle$)
they generate the states: $Q_1|j\rangle,~Q_2|\rangle,~Q_2Q_1|j\rangle$ which carry spins $j+1/2, j+1/2$ and
$j+1$. Depending on the spin value of the vacuum state (integer $j=s$ or half-integer $j=s+1/2$) we find the two
supermultiplets mentioned above.

This simple fact, that supersymmetry allows very specific combinations of bosonic and fermionic
higher spin particles in the spectrum of a theory, will lead to a very characteristic (SUSY Rilles)
angular dependence and momentum fall-off. Using \eqref{eq:LintBoson} and
\eqref{eq:LintFermion} we get the following interactions for the supersymmetric theory\footnote{Notice that \eqref{eq:LintBoson} includes both spin-$s$ particles of the supermultiplet.}:
\begin{equation}
\mathcal{L}^{susy}_{int}\sim\mathcal{L}^{(s-1/2)}_{int}+\mathcal{L}^{(s)}_{int}
+\mathcal{L}^{(s+1/2)}_{int}
\end{equation}
Interactions of this type are generated by considering the manifestly supersymmetric interactions between the various superfields that carry the corresponding degrees of freedom. An example is the following superspace action:
\begin{IEEEeqnarray*}{ll}
\mathcal{S}_{int}\sim\int~d^8z~ \Big\{&g_1~\bar{\Phi}~V~\Phi +
g_2~{\rm D}^{{\alpha}_s}\bar{\Psi}^{{\alpha}(s-1){\dot{\alpha}}(s)}~{\bar{\rm D}}^{{\dot{\beta}}_s}\Psi^{{\beta}(s){\dot{\beta}}(s-1)}~\partial_{{\alpha}_1{\dot{\alpha}}_1}\dots\partial_{{\alpha}_s{\dot{\alpha}}_s}\partial_{{\beta}_1{\dot{\beta}}_1}\dots\partial_{{\beta}_s{\dot{\beta}}_s}V\IEEEyesnumber\label{ssa}\\
&+~g_3~\bar{\Psi}^{{\alpha}(s-1){\dot{\alpha}}(s)}~\Psi^{{\beta}(s){\dot{\beta}}(s-1)}~\partial_{{\alpha}_1{\dot{\alpha}}_1}\dots\partial_{{\alpha}_{s-1}{\dot{\alpha}}_{s-1}}\partial_{{\beta}_1{\dot{\beta}}_1}\dots
\partial_{{\beta}_{s-1}{\dot{\beta}}_{s-1}}[{\bar{\rm D}}_{{\dot{\alpha}}_s},{\rm D}_{{\beta}_s}]V~\Big\}
\end{IEEEeqnarray*}
where ${\rm D}_{\alpha}, {\bar{\rm D}}_{{\dot{\alpha}}}$ are the superspace spinorial derivatives, $\Phi$ is a chiral superfield that describes the Weyl spinor field $N_{\alpha}$ which plays the role of
matter \big(${\rm D}_a\Phi|=N_{\alpha}$\big), $V$ is a real scalar superfield that describes the spin-1 mediator
\big(~$[{\rm D}_a,{\bar{\rm D}}_{\dot{\alpha}}]V|=G_{{\alpha}{\dot{\alpha}}}$~\big) in two-component spinor notation and $\Psi_{{\alpha}(s){\dot{\alpha}}(s-1)}$ is a fermionic superfield that carries the higher spin bosons and fermions in two-component spinor notation:
\begin{IEEEeqnarray*}{l}\IEEEyesnumber
\frac{1}{(s+1)!~s!}~[{\rm D}_{({\alpha}_{s+1}},{\bar{\rm D}}_{({\dot{\alpha}}_s}]\Psi_{{\alpha}(s)){\dot{\alpha}}(s-1))}|=\psi_{{\alpha}(s+1){\dot{\alpha}}(s)}~,\IEEEyessubnumber\\
\Psi_{{\alpha}(s){\dot{\alpha}}(s-1)}|=\tfrac{1}{M}~\psi_{{\alpha}(s){\dot{\alpha}}(s-1)}~,\IEEEyessubnumber\\
\frac{1}{s!}~{\bar{\rm D}}_{({\dot{\alpha}}_s}\Psi_{{\alpha}(s){\dot{\alpha}}(s-1))}|=\sigma^{1}_{{\alpha}(s){\dot{\alpha}}(s)}+i\sigma^{2}_{{\alpha}(s){\dot{\alpha}}(s)}~.\IEEEyessubnumber
\end{IEEEeqnarray*}
The coupling constants $g_1,~g_2,~g_3$ unify the coupling constants that appear in \eqref{eq:LintBoson} and \eqref{eq:LintFermion}
and the mass parameter $M$ unifies the mass of the higher spin bosons and fermions.

Putting the puzzle pieces together, we arrive at the prediction of higher-spin supersymmetry for directional direct detection with polarized targets. We find,
\begin{equation}
\left(\frac{\Delta dR}{dE_Rd\Omega}\right)_{\rm SUSY} =
\left(\frac{\Delta dR}{dE_Rd\Omega}\right)_s + \left(\frac{\Delta dR}{dE_Rd\Omega}\right)_{s+1/2} +\left(\frac{\Delta dR}{dE_Rd\Omega}\right)_{s-1/2}
\end{equation}
for the integer superspin (${\textsf{Y}}=s$) multiplet, and similarly for the half-integer superspin (${\textsf{Y}}=s+1/2$) multiplet. The individual components of the signal are simply those derived in the previous sections, each distinguished by their momentum and angular dependence. This suggests that detector measurements across energy and angles will not only be able to test the spin of a higher-spin dark matter candidate, but also whether they can fit in a supersymmetric multiplet.

Finally, we note that the superspace interaction terms \eqref{ssa} will generate additional interactions besides the ones we
discussed in Secs.~\ref{hsb} and \ref{hsf}.
These are mixed interactions where the spin-1 mediator interacts with two higher spin particles of different spins. Interesting examples proposed by supersymmetry are the following cubic interactions: (\emph{i}) $(s+1/2) - (s-1/2) - 1$ and (\emph{ii}) $(s+1) - (s-1) - 1$.
\@startsection{section}{1}{\z@{Discussion}
\label{sec:discussion}

In this work we have proposed spin-polarized directional direct detection as a probe of the spin of dark matter, generalizing past results of spin-$1/2$ and spin-$1$ to arbitrary spin-$s$ and spin-$(s+1/2)$, and by straightforward extension, to a supersymmetric multiplet of higher-spin fields. From these analyses, we conclude that the polarized double-differential cross section provides a probe the (higher) spin of dark matter through a combination of angular and energy dependence. In summary, for the class of interactions we consider,
\begin{enumerate}
    \item[] {\bf Angular Dependence $\leftrightarrow$ Bosonic vs. Fermionic :} The angular dependence distinguishes integer spin-$s$ and half-integer spin-$(s+1/2)$, independent of $s$.
    \item[] {\bf Recoil Energy Dependence $\leftrightarrow s$:} The bosonic and fermionic cases both exhibit an $s$-dependent fall-off of the rate at low recoil energy as $\frac{d\Delta R}{dE_rd\Omega} \propto E^{2s}$, where $E$ is the recoil energy .
\end{enumerate}
Based on these features we conclude that the angular and energy dependence of the recoil rate yield complementary information which can be used to determine the spin of massive dark matter particles.

The aim of this work is a modest one, namely to develop the underlying theory of spin-determination applied to higher-spins. We have not touched at all upon the observational prospects for making these measurements. Guided by past work  \cite{Chiang:2012ze,Catena:2018uae} we expect that the exposure times needed for a discovery to be within reach of next generation experiments.  We defer a concrete assessment of experimental prospects and a sensitivity forecast to future work.

In addition to the important work to be done on the detector side, there is much work to be done on the theory side. We have not performed a comprehensive analysis of the set of all possible interactions that can be probed by directional direct detection with spin-polarized targets. An obvious possibility is to take the effective field theory approach and enumerate all possible interactions, as performed in \cite{Dong:2022mcv}, and from this identify those of possible interest. Alternatively, supersymmetry may be taken as a guide, and, as discussed in Sec.~\ref{sec:SUSY} used as a tool to generate new interactions. In particular, one could consider interactions that mix higher-spin fields of differing spin, including the mixing of bosons and fermions, or wherein the spin-$1$ mediator considered here is replaced with a higher spin mediator. We leave the analysis of new interactions to future work.

An additional possibility is to consider the signal of a {\it tower} of higher-spin fields, with each field acting as a sub-dominant component of the observed dark matter. Given the universality of the angular dependence across varying integer and half-integer spins, searching for a tower of fields will require detailed measurements of the energy dependence of the signal, in order to parse the underlying spectrum of the theory. Under certain assumptions about the mass and spin, e.g., if the fields saturate the Higuchi bound, one might hope for a characteristic signal, or that certain experimental probes become sensitive to particular values of the spin. We leave these interesting possibilities to future work.

Finally, we make a broad comment that this work demonstrates the complementary nature of early universe probes of higher-spin particles, such as the cosmic microwave background, with more traditional particle physics approaches, such as direct detection. This provides a path towards the measurement of the (higher) spin of dark matter.

\vspace{1cm}

{\bf Acknowledgments}\\[.1in] \indent
The authors thank Riccardo Catena, Kare Fridell, Austin Joyce, Wayne Hu, Gordan Krnjaic, Hayden Lee, Wenzer Qin, and Yiming Zhong, for helpful discussions and insightful comments. The work of L.J. is
supported in part by the Kavli Foundation by a Kavli Fellowship. The work of E.M. is supported in part by
a Discovery Grant from the National Science and Engineering Research Council of Canada. The work of S.A.
is supported in part by the Simons Foundation.
S.J.G. was supported in this research in part by the endowment of the Ford Foundation Professorship of Physics at Brown University and the Brown Theoretical Physics Center.  Moreover, he also is grateful to acknowledge the support from the endowment of the Clark Leadership Chair in Science at the University of Maryland - College Park. The work of K.K. is supported in part by the endowment of the Clark Leadership Chair in Science at the University of Maryland, College Park. K.K gratefully acknowledge the hospitality of the Physics Department at the University of Maryland, College Park.
\newpage

redpajama_set_name: RedPajamaArXiv


text:
Agitation Free 2nd is het tweede studioalbum van Agitation Free. De band had er alweer een personeelswisseling achter de rug en ook de muziek is gewijzigd, veel meer richting instrumentale rock. Het album is opgenomen in de Studio 70 te München. De band moest nog steeds apparatuur lenen om hun album op te kunnen nemen, die apparatuur werd beleend bij Studio Hofschneider in Berlijn. Het album was vooral populair in Frankrijk.

In Haunted island wordt tekst voorgedragen uit Dreamland van Edgar Allan Poe.

Musici
Stefan Diez – gitaar
Michael Günter – basgitaar
Michael Hoenig – toetsinstrumenten
Burghard Rausch – slagwerk, percussie, mellotron, zang
Lütz Ulbrich – gitaar, bouzouki
met
Jackie en Frank Diez voor zang op A quiet walk
Joschi (Jörg Schwenke) - Laila

Muziek

Muziekalbum uit 1973
Muziekalbum van Agitation Free

redpajama_set_name: RedPajamaWikipedia


text:
Q: immutable artifactory PyPI: prevent re-uploads and deletes Currently I have a problem where if a package is accidentally re-uploaded at the same version the hashes change, and so packages pinned with --generate-hashes will fail to install.
Is there a way to prevent re-uploads to the same version, just like pypi.org?
Also a way to prevent deletes?

redpajama_set_name: RedPajamaStackExchange


We are committed to helping our clients look and feel their best.
Ready for your own "after"? At Nabiyah we specialize in beautiful transformations. Our team of board-certified medical professionals are ready to help you reach your goals and achieve the look you've been waiting for.
Nabiyah (pronounced "NAH-bee-ah") means butterfly in Korean, and the butterfly symbolizes our goal: to create beautiful transformations. Our providers are experienced, board-certified medical professionals who prioritize your health and safety. At Nabiyah, you can trust that you will receive services optimized for your unique needs in a safe, medically-supervised, state-of-the-art environment.
Come in for a free consultation! Our staff is ready to guide you to the services that are the best match for your needs.
Yes! We participate with CareCredit.
I've never had cosmetic treatments before, and I'm nervous. What should I expect?
Our aesthetic nurse, Kelly, has years of experience in the medical field and she is skilled at putting our clients at ease. Whatever your concern, Kelly has a solution.
I can't stop staring at them! Love! You inject in a different way than my other doctor did and it comes out so much nicer.
800 West Cummings Park, Suite 4030, Woburn, MA, 01801. Conveniently located near the intersection of I-93 and I-95.


text:
package com.sequenceiq.it.cloudbreak.testcase.e2e.freeipa;

import static com.sequenceiq.freeipa.api.v1.operation.model.OperationState.COMPLETED;
import static com.sequenceiq.freeipa.api.v1.operation.model.OperationState.RUNNING;
import static com.sequenceiq.it.cloudbreak.context.RunningParameter.key;
import static com.sequenceiq.it.cloudbreak.context.RunningParameter.waitForFlow;

import java.util.List;
import java.util.Map;
import java.util.Set;

import javax.inject.Inject;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.junit.jupiter.api.Assertions;
import org.testng.annotations.Test;

import com.sequenceiq.cloudbreak.api.endpoint.v4.stacks.response.instancegroup.instancemetadata.InstanceMetaDataV4Response;
import com.sequenceiq.cloudbreak.auth.crn.Crn;
import com.sequenceiq.cloudbreak.polling.AbsolutTimeBasedTimeoutChecker;
import com.sequenceiq.freeipa.api.v1.dns.model.AddDnsARecordRequest;
import com.sequenceiq.freeipa.api.v1.dns.model.AddDnsCnameRecordRequest;
import com.sequenceiq.freeipa.api.v1.dns.model.AddDnsZoneForSubnetsRequest;
import com.sequenceiq.freeipa.api.v1.freeipa.cleanup.CleanupRequest;
import com.sequenceiq.freeipa.api.v1.freeipa.stack.model.binduser.BindUserCreateRequest;
import com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.Status;
import com.sequenceiq.freeipa.api.v1.freeipa.user.model.SyncOperationStatus;
import com.sequenceiq.freeipa.api.v1.freeipa.user.model.SynchronizationStatus;
import com.sequenceiq.freeipa.api.v1.freeipa.user.model.SynchronizeAllUsersRequest;
import com.sequenceiq.freeipa.api.v1.freeipa.user.model.WorkloadCredentialsUpdateType;
import com.sequenceiq.freeipa.api.v1.kerberosmgmt.model.HostKeytabRequest;
import com.sequenceiq.freeipa.api.v1.kerberosmgmt.model.ServiceKeytabRequest;
import com.sequenceiq.freeipa.api.v1.operation.model.OperationStatus;
import com.sequenceiq.it.cloudbreak.FreeIpaClient;
import com.sequenceiq.it.cloudbreak.SdxClient;
import com.sequenceiq.it.cloudbreak.client.FreeIpaTestClient;
import com.sequenceiq.it.cloudbreak.client.SdxTestClient;
import com.sequenceiq.it.cloudbreak.cloud.HostGroupType;
import com.sequenceiq.it.cloudbreak.context.Description;
import com.sequenceiq.it.cloudbreak.context.TestContext;
import com.sequenceiq.it.cloudbreak.dto.freeipa.FreeIpaOperationStatusTestDto;
import com.sequenceiq.it.cloudbreak.dto.freeipa.FreeIpaTestDto;
import com.sequenceiq.it.cloudbreak.dto.sdx.SdxTestDto;
import com.sequenceiq.it.cloudbreak.dto.telemetry.TelemetryTestDto;
import com.sequenceiq.it.cloudbreak.exception.TestFailException;
import com.sequenceiq.it.cloudbreak.testcase.e2e.AbstractE2ETest;
import com.sequenceiq.it.cloudbreak.util.ssh.action.SshJClientActions;
import com.sequenceiq.sdx.api.model.SdxClusterStatusResponse;
import com.sequenceiq.sdx.api.model.SdxDatabaseAvailabilityType;
import com.sequenceiq.sdx.api.model.SdxDatabaseRequest;

public class FreeIpaUpgradeTests extends AbstractE2ETest {

    protected static final Status FREEIPA_AVAILABLE = Status.AVAILABLE;

    protected static final Status FREEIPA_DELETE_COMPLETED = Status.DELETE_COMPLETED;

    private static final long TWO_HOURS_IN_SEC = 2L * 60 * 60;

    private static final long FIVE_MINUTES_IN_SEC = 5L * 60;

    private static final String CHECK_DNS_LOOKUPS_CMD = "ping -c 2 %s | grep -q '%s'";

    @Inject
    private SdxTestClient sdxTestClient;

    @Inject
    private FreeIpaTestClient freeIpaTestClient;

    @Inject
    private SshJClientActions sshJClientActions;

    @Test(dataProvider = TEST_CONTEXT)
    @Description(
            given = "there is a running cloudbreak",
            when = "a valid stack create request is sent with 1 FreeIPA instances " +
                    "AND the stack is upgraded one node at a time",
            then = "the stack should be available AND deletable")
    public void testSingleFreeIpaInstanceUpgrade(TestContext testContext) {
        String freeIpa = resourcePropertyProvider().getName();
        SdxDatabaseRequest sdxDatabaseRequest = new SdxDatabaseRequest();
        sdxDatabaseRequest.setAvailabilityType(SdxDatabaseAvailabilityType.NONE);
        sdxDatabaseRequest.setCreate(false);

        testContext
                .given("telemetry", TelemetryTestDto.class)
                .withLogging()
                .withReportClusterLogs()
                .given(freeIpa, FreeIpaTestDto.class)
                .withTelemetry("telemetry")
                .withUpgradeCatalogAndImage()
                .when(freeIpaTestClient.create(), key(freeIpa))
                .await(FREEIPA_AVAILABLE)
                .given(SdxTestDto.class)
                .withCloudStorage()
                .withExternalDatabase(sdxDatabaseRequest)
                .when(sdxTestClient.create())
                .await(SdxClusterStatusResponse.RUNNING)
                .given(freeIpa, FreeIpaTestDto.class)
                .when(freeIpaTestClient.upgrade())
                .await(Status.UPDATE_IN_PROGRESS, waitForFlow().withWaitForFlow(Boolean.FALSE))
                .given(FreeIpaOperationStatusTestDto.class)
                .withOperationId(((FreeIpaTestDto) testContext.get(freeIpa)).getOperationId())
                .then((tc, testDto, freeIpaClient) -> testFreeIpaAvailabilityDuringUpgrade(tc, testDto, freeIpaClient, freeIpa))
                .await(COMPLETED)
                .given(freeIpa, FreeIpaTestDto.class)
                .await(FREEIPA_AVAILABLE, waitForFlow().withWaitForFlow(Boolean.FALSE))
                .then((tc, testDto, client) -> freeIpaTestClient.delete().action(tc, testDto, client))
                .await(FREEIPA_DELETE_COMPLETED, waitForFlow().withWaitForFlow(Boolean.FALSE))
                .validate();
    }

    @Test(dataProvider = TEST_CONTEXT)
    @Description(
            given = "there is a running cloudbreak",
            when = "a valid stack create request is sent with 3 FreeIPA instances " +
                    "AND the stack is upgraded one node at a time",
            then = "the stack should be available AND deletable")
    public void testHAFreeIpaInstanceUpgrade(TestContext testContext) {
        String freeIpa = resourcePropertyProvider().getName();
        SdxDatabaseRequest sdxDatabaseRequest = new SdxDatabaseRequest();
        sdxDatabaseRequest.setAvailabilityType(SdxDatabaseAvailabilityType.NONE);
        sdxDatabaseRequest.setCreate(false);

        testContext
                .given("telemetry", TelemetryTestDto.class)
                .withLogging()
                .withReportClusterLogs()
                .given(freeIpa, FreeIpaTestDto.class)
                .withFreeIpaHa(1, 3)
                .withTelemetry("telemetry")
                .withUpgradeCatalogAndImage()
                .when(freeIpaTestClient.create(), key(freeIpa))
                .await(FREEIPA_AVAILABLE)
                .given(SdxTestDto.class)
                .withCloudStorage()
                .withExternalDatabase(sdxDatabaseRequest)
                .when(sdxTestClient.create())
                .await(SdxClusterStatusResponse.RUNNING)
                .given(freeIpa, FreeIpaTestDto.class)
                .when(freeIpaTestClient.upgrade())
                .await(Status.UPDATE_IN_PROGRESS, waitForFlow().withWaitForFlow(Boolean.FALSE))
                .given(FreeIpaOperationStatusTestDto.class)
                .withOperationId(((FreeIpaTestDto) testContext.get(freeIpa)).getOperationId())
                .then((tc, testDto, freeIpaClient) -> testFreeIpaAvailabilityDuringUpgrade(tc, testDto, freeIpaClient, freeIpa))
                .await(COMPLETED, waitForFlow().withWaitForFlow(Boolean.FALSE).withTimeoutChecker(new AbsolutTimeBasedTimeoutChecker(TWO_HOURS_IN_SEC)))
                .given(freeIpa, FreeIpaTestDto.class)
                .await(FREEIPA_AVAILABLE, waitForFlow().withWaitForFlow(Boolean.FALSE))
                .then((tc, testDto, client) -> freeIpaTestClient.delete().action(tc, testDto, client))
                .await(FREEIPA_DELETE_COMPLETED, waitForFlow().withWaitForFlow(Boolean.FALSE))
                .validate();
    }

    private FreeIpaOperationStatusTestDto testFreeIpaAvailabilityDuringUpgrade(TestContext testContext, FreeIpaOperationStatusTestDto testDto,
            FreeIpaClient freeIpaClient, String freeIpa) {
        try {
            com.sequenceiq.freeipa.api.client.FreeIpaClient ipaClient = freeIpaClient.getDefaultClient();
            FreeIpaTestDto freeIpaTestDto = testContext.get(freeIpa);
            String environmentCrn = freeIpaTestDto.getResponse().getEnvironmentCrn();
            String accountId = Crn.safeFromString(environmentCrn).getAccountId();
            boolean firstTestFailure = true;
            while (ipaClient.getOperationV1Endpoint().getOperationStatus(testDto.getOperationId(), accountId).getStatus() == RUNNING) {
                try {
                    addAndDeleteDnsARecord(ipaClient, environmentCrn);
                    addAndDeleteDnsCnameRecord(ipaClient, environmentCrn);
                    addListDeleteDnsZonesBySubnet(ipaClient, environmentCrn);
                    createBindUser(testContext, ipaClient, environmentCrn);
                    generateHostKeyTab(ipaClient, environmentCrn);
                    generateServiceKeytab(ipaClient, environmentCrn);
                    dnsLookups(testContext.given(SdxTestDto.class), testContext.getSdxClient());
                    cleanUp(testContext, ipaClient, environmentCrn);
                    kinit(testContext.given(SdxTestDto.class), testContext.getSdxClient(), ipaClient, environmentCrn);
                    syncUsers(testContext, ipaClient, environmentCrn, accountId);
                } catch (TestFailException e) {
                    if (firstTestFailure) {
                        logger.info("First test failure is ignored until CB-15454 is fixed");
                        firstTestFailure = false;
                    } else {
                        throw e;
                    }
                }
            }
        } catch (TestFailException e) {
            throw e;
        } catch (Exception e) {
            logger.error("Unexpected error during FreeIPA upgrade availability test", e);
            throw new TestFailException("Unexpected error during FreeIPA upgrade availability test: " + e.getMessage(), e);
        }
        return testDto;
    }

    private void syncUsers(TestContext testContext, com.sequenceiq.freeipa.api.client.FreeIpaClient ipaClient, String environmentCrn, String accountId) {
        try {
            SyncOperationStatus lastSyncOperationStatus = ipaClient.getUserV1Endpoint().getLastSyncOperationStatus(environmentCrn);
            if (lastSyncOperationStatus.getStatus() == SynchronizationStatus.RUNNING) {
                waitToCompleted(testContext, lastSyncOperationStatus.getOperationId(), "Initial or periodic usersync");
            }
            SynchronizeAllUsersRequest request = new SynchronizeAllUsersRequest();
            request.setAccountId(accountId);
            request.setEnvironments(Set.of(environmentCrn));
            request.setWorkloadCredentialsUpdateType(WorkloadCredentialsUpdateType.FORCE_UPDATE);
            try {
                SyncOperationStatus syncOperationStatus = ipaClient.getUserV1Endpoint().synchronizeAllUsers(request);
                waitToCompleted(testContext, syncOperationStatus.getOperationId(), "Full forced usersync");
            } catch (WebApplicationException e) {
                if (e.getResponse() != null && Response.Status.CONFLICT.getStatusCode() == e.getResponse().getStatus()) {
                    logger.info("Usersync is already running");
                } else {
                    throw e;
                }
            }
        } catch (Exception e) {
            logger.error("Full forced usersync test failed during upgrade", e);
            throw new TestFailException("Full forced usersync test failed during upgrade with: " + e.getMessage(), e);
        }
    }

    private void addAndDeleteDnsARecord(com.sequenceiq.freeipa.api.client.FreeIpaClient ipaClient, String environmentCrn) {
        try {
            AddDnsARecordRequest aRecordRequest = new AddDnsARecordRequest();
            aRecordRequest.setHostname("test-a-record");
            aRecordRequest.setCreateReverse(true);
            aRecordRequest.setEnvironmentCrn(environmentCrn);
            aRecordRequest.setIp("1.2.3.4");
            ipaClient.getDnsV1Endpoint().addDnsARecord(aRecordRequest);
            ipaClient.getDnsV1Endpoint().deleteDnsARecord(environmentCrn, null, aRecordRequest.getHostname());
        } catch (Exception e) {
            logger.error("DNS A record test failed during upgrade", e);
            throw new TestFailException("DNS A record test failed during upgrade with: " + e.getMessage(), e);
        }
    }

    private void addAndDeleteDnsCnameRecord(com.sequenceiq.freeipa.api.client.FreeIpaClient ipaClient, String environmentCrn) {
        try {
            AddDnsCnameRecordRequest request = new AddDnsCnameRecordRequest();
            request.setCname("test-cname-record");
            request.setTargetFqdn("cloudera.com");
            request.setEnvironmentCrn(environmentCrn);
            ipaClient.getDnsV1Endpoint().addDnsCnameRecord(request);
            ipaClient.getDnsV1Endpoint().deleteDnsCnameRecord(environmentCrn, null, request.getCname());
        } catch (Exception e) {
            logger.error("DNS CNAME record test failed during upgrade", e);
            throw new TestFailException("DNS CNAME record test failed during upgrade with: " + e.getMessage(), e);
        }
    }

    private void addListDeleteDnsZonesBySubnet(com.sequenceiq.freeipa.api.client.FreeIpaClient ipaClient, String environmentCrn) {
        try {
            AddDnsZoneForSubnetsRequest request = new AddDnsZoneForSubnetsRequest();
            request.setSubnets(List.of("10.0.1.0/24", "192.168.1.0/24"));
            request.setEnvironmentCrn(environmentCrn);
            ipaClient.getDnsV1Endpoint().addDnsZoneForSubnets(request);
/*          Until CB-15454 is fixed
            Set<String> dnsZones = ipaClient.getDnsV1Endpoint().listDnsZones(environmentCrn);
            Assertions.assertTrue(dnsZones.stream().anyMatch(dnsZone -> dnsZone.startsWith("1.0.10")));
            Assertions.assertTrue(dnsZones.stream().anyMatch(dnsZone -> dnsZone.startsWith("1.168.192")));*/

            ipaClient.getDnsV1Endpoint().deleteDnsZoneBySubnet(environmentCrn, "192.168.1.0/24");
            ipaClient.getDnsV1Endpoint().deleteDnsZoneBySubnet(environmentCrn, "10.0.1.0/24");
/*            dnsZones = ipaClient.getDnsV1Endpoint().listDnsZones(environmentCrn);
            Assertions.assertFalse(dnsZones.stream().anyMatch(dnsZone -> dnsZone.startsWith("1.0.10")));
            Assertions.assertFalse(dnsZones.stream().anyMatch(dnsZone -> dnsZone.startsWith("1.168.192")));*/
        } catch (Exception e) {
            logger.error("DNS ZONE test failed during upgrade", e);
            throw new TestFailException("DNS ZONE test failed during upgrade with: " + e.getMessage(), e);
        }
    }

    private void createBindUser(TestContext testContext, com.sequenceiq.freeipa.api.client.FreeIpaClient ipaClient, String environmentCrn) {
        try {
            BindUserCreateRequest bindUserCreateRequest = new BindUserCreateRequest();
            bindUserCreateRequest.setEnvironmentCrn(environmentCrn);
            bindUserCreateRequest.setBindUserNameSuffix("testuser");
            String initiatorUserCrn = "__internal__actor__";
            OperationStatus operationStatus = ipaClient.getFreeIpaV1Endpoint().createE2ETestBindUser(bindUserCreateRequest, initiatorUserCrn);
            waitToCompleted(testContext, operationStatus.getOperationId(), "createBindUserOperation");
        } catch (Exception e) {
            logger.error("CREATE BIND USER test failed during upgrade", e);
            throw new TestFailException("CREATE BIND USER test failed during upgrade with: " + e.getMessage(), e);
        }
    }

    private void generateHostKeyTab(com.sequenceiq.freeipa.api.client.FreeIpaClient ipaClient, String environmentCrn) {
        try {
            HostKeytabRequest hostKeytabRequest = new HostKeytabRequest();
            hostKeytabRequest.setEnvironmentCrn(environmentCrn);
            hostKeytabRequest.setServerHostName("test.local");
            hostKeytabRequest.setDoNotRecreateKeytab(Boolean.FALSE);
            ipaClient.getKerberosMgmtV1Endpoint().generateHostKeytab(hostKeytabRequest);
        } catch (Exception e) {
            logger.error("Generate Host keytab test failed during upgrade", e);
            throw new TestFailException("Generate Host keytab test failed during upgrade with: " + e.getMessage(), e);
        }
    }

    private void generateServiceKeytab(com.sequenceiq.freeipa.api.client.FreeIpaClient ipaClient, String environmentCrn) {
        try {
            ServiceKeytabRequest serviceKeytabRequest = new ServiceKeytabRequest();
            serviceKeytabRequest.setEnvironmentCrn(environmentCrn);
            serviceKeytabRequest.setServiceName("test");
            serviceKeytabRequest.setServerHostName("test.local");
            serviceKeytabRequest.setDoNotRecreateKeytab(Boolean.FALSE);
            ipaClient.getKerberosMgmtV1Endpoint().generateServiceKeytab(serviceKeytabRequest, null);
        } catch (Exception e) {
            logger.error("Generate Service keytab test failed during upgrade", e);
            throw new TestFailException("Generate Service keytab test failed during upgrade with: " + e.getMessage(), e);
        }
    }

    private void cleanUp(TestContext testContext, com.sequenceiq.freeipa.api.client.FreeIpaClient ipaClient, String environmentCrn) {
        try {
            CleanupRequest cleanupRequest = new CleanupRequest();
            cleanupRequest.setEnvironmentCrn(environmentCrn);
            cleanupRequest.setClusterName("testuser");
            cleanupRequest.setUsers(Set.of("kerberosbind-testuser", "ldapbind-testuser"));
            OperationStatus operationStatus = ipaClient.getFreeIpaV1Endpoint().cleanup(cleanupRequest);
            waitToCompleted(testContext, operationStatus.getOperationId(), "cleanupOperation");
        } catch (Exception e) {
            logger.error("CLEANUP test failed during upgrade", e);
//            throw new TestFailException("CLEANUP test failed during upgrade with: " + e.getMessage(), e);
        }
    }

    private void waitToCompleted(TestContext testContext, String operationId, String operationName) {
        testContext
                .given(operationName, FreeIpaOperationStatusTestDto.class)
                .withOperationId(operationId)
                .await(COMPLETED, waitForFlow().withWaitForFlow(Boolean.FALSE).withTimeoutChecker(new AbsolutTimeBasedTimeoutChecker(FIVE_MINUTES_IN_SEC)));
    }

    private void kinit(SdxTestDto sdxTestDto, SdxClient sdxClient, com.sequenceiq.freeipa.api.client.FreeIpaClient ipaClient, String environmentCrn) {
        try {
            SyncOperationStatus lastSyncOperationStatus = ipaClient.getUserV1Endpoint().getLastSyncOperationStatus(environmentCrn);
            if (lastSyncOperationStatus.getStatus() == SynchronizationStatus.COMPLETED) {
                sshJClientActions.checkKinitDuringFreeipaUpgrade(sdxTestDto, sdxTestDto.getResponse().getStackV4Response().getInstanceGroups(),
                        List.of(HostGroupType.MASTER.getName()));
            } else {
                logger.debug("Skipping kinit test because usersync state is not COMPLETED: " + lastSyncOperationStatus);
            }
        } catch (TestFailException e) {
            throw e;
        } catch (Exception e) {
            logger.error("FreeIPA upgrade kinit test failed with unexpected error", e);
            throw new TestFailException("FreeIPA upgrade kinit test failed with unexpected error: " + e.getMessage(), e);
        }
    }

    private void dnsLookups(SdxTestDto sdxTestDto, SdxClient sdxClient) {
        InstanceMetaDataV4Response instanceGroupMetadata = sdxTestDto.getResponse().getStackV4Response().getInstanceGroups().stream()
                .flatMap(instanceGroup -> instanceGroup.getMetadata().stream())
                .filter(metadata -> metadata.getInstanceGroup().equals("idbroker"))
                .filter(metadata -> StringUtils.isNoneBlank(metadata.getDiscoveryFQDN(), metadata.getPrivateIp()))
                .findFirst().orElseThrow(() -> new TestFailException("FreeIPA upgrade DNS lookups test failed, idbroker instance group was not found."));
        try {
            String cmd = String.format(CHECK_DNS_LOOKUPS_CMD, instanceGroupMetadata.getDiscoveryFQDN(), instanceGroupMetadata.getPrivateIp());
            Map<String, Pair<Integer, String>> results = sshJClientActions.executeSshCommandOnHost(
                    sdxTestDto.getResponse().getStackV4Response().getInstanceGroups(), List.of(HostGroupType.MASTER.getName()), cmd, false);
            results.values().forEach(result -> Assertions.assertEquals(0, result.getLeft()));
        } catch (Exception e) {
            logger.error("FreeIPA upgrade DNS lookups test failed with unexpected error", e);
            throw new TestFailException("FreeIPA upgrade DNS lookups test failed with unexpected error: " + e.getMessage(), e);
        }
    }
}

redpajama_set_name: RedPajamaGithub


Hartford, Conn. - The No. 3-ranked Trinity College women's squash team crushed the Yale University Bulldogs, 8-1, on Wednesday night at the Kellner Squash Center in Hartford. Trinity wins its fourth in a row to improve to 10-1 while Yale, ranked No. 4 in the country, falls to 5-3 overall.
Trinity won just two matches via sweep as junior Salma Alam El Din (Cairo, Egpyt) and first-year Nadiia Usenko (Kiev, Ukraine) both won 3-0, at the No. 3 and No. 7 spots in the lineup, respectively. The Bantams swept the first wave to take an early 3-0 lead before cruising the rest of the way. Yale picked up its lone point at the No. 8 spot as Nikita Joshi (Mumbai, India) came away with a 3-0 victory.


text:
Gain Insights with Health and Wellness Dashboard
The Health & Wellness dashboard shows you, at a glance, how Ready Education's Contact Trace platform is facilitating your school's safe return to campus.
With it, you can visualize trends in COVID-19 cases on campus, learn how students are engaging with Health & Wellness forms, and see what locations on campus are getting high amounts of student traffic. Plus, get an overview of critical data, and shortcuts to easily drill in for details.
** Contact your Campus Success Consultant to enable Contact Trace Plus: cs@readyeducation.com
The features described in this article are for Contact Trace and Contact Trace Plus customers.
This article focuses on:
Case Overview
Form Completion
At the top of the Health and Wellness Dashboard, the Today's Summary section shows a series of cards with data for the present day. There are shortcuts to view detailed data or download it for further analysis.
Figure 1: Today's Summary, showing the Audiences filter (top right), the Overview section, and the Daily Completion section with the Forms filter.
The Audiences filter (at the top of Today's Summary) lets you see a subset of Health and Wellness data. You can filter by any audience (list of users) to show data only for students who are part of that audience. Or, you can filter by app experience to show only data for people using the app, such as students, staff, faculty, etc.
Within the Overview section:
Students Protected: This is the number of cases with Clear status in the database
New Reports: The number of cases that are currently self-reported. The Review Reports button redirects you to Manage Cases, with a filter pre-selected to show Self-Reported cases
New Exposures: The number of cases that are currently Exposed. The Send Message button launches the Exposure Notification feature, with the Exposed message template pre-populated. With one click, you can send this message to all users whose case status is Exposed
Within the Daily Completion section:
Daily Form Not Completed: This is the number of unique app users who have not completed any form today
Daily Form Completed: The number of users who have completed a form today
Never Completed Form: The number of users who have never used the campus app to complete any form
Further down the Health & Wellness dashboard, the Health Trends graphs provide information about COVID-19 cases over time, as well as information about who is completing forms, and who is checking into locations using the app's QR code scanner.
Two filters at the top of Health Trends let you see a subset of data:
Filter by date range to show trends within a specific period of time
Filter by audience to show data only for students who are part of that audience. Or, filter by app experience to show only data for people who are using the app as students, staff, faculty, etc.
The filters work together, so if you set a value in both filters, both will be applied to the data displayed. Values you select in these filters affect all the graphs and data displayed in Health Trends
Case Overview is a graph showing the total number of cases in the Contact Trace system. If you have created custom case statuses (see Create a Case Status), they will appear on this graph.
The graph shows the number of cases, for each case status, in the date range you select, limited to the audience you select. By pointing the cursor at different points on the graph, you can see details of the number of cases on any date. A pop-up shows the case count for each of the different statuses.
Figure 2: The Case Overview, showing the Date and Audience filter (top right)
A legend to the left of the graph shows the list of active cases. Only active case statuses are shown on this graph. If a case status is deleted, it does not show on the graph. By pointing at a case status in the legend, you can highlight the line on the graph and follow the trend.
A download button lets you download a comma-separated value (CSV) file with details of the cases currently shown on the graph. Personal information in the downloaded file can be protected by the Privacy setting. For more information, see Privacy, below.
Form Completion shows the number of students who have engaged with a form (created in Manage Forms, and shared in the app or on the web). This section of the dashboard is affected by the Date and Audience filters at the top of Health Trends.
One more filter, the Forms filter, lets you further refine the data shown in the graph: you can show data for one, many, or all forms. The forms filter affects the data shown in Form Completion.
Figure 3: The Form Completion section of the dashboard. Note the Forms filter (top right).
After applying filters, the Trends graph shows the number of users who have engaged with forms, either by viewing (opening the form and not submitting a result), or by completing (viewing the form right through the end, and submitting a result). As with the Case Overview graph, by pointing the cursor at different points on the graph, you can see the number of form views and completions on any date.
A download button next to "Form Completion" lets you download a CSV file showing all users who have accessed forms, either in the Campus Guide or by web. The CSV file contains names, email addresses, and student IDs of the students who have accessed forms. The user's case ID is shown as well.
The Sources section of this graph gives information about how users are accessing forms you have shared:
Campus Guide tile: This is the total count of users who access a form using Campus Guide
Web Form: This is the total count of users who access a form using the shareable web link
These numbers are broken down into how many students have viewed a form, and how many have completed and submitted a form. The number to the left (not in parentheses) is the number of form views. The number to the right (in parentheses) is the number of form completions.
Figure 4: The Sources section of Form Completion shows how many users have accessed a form using the Campus Guide or a web link. The number to the left (not in parentheses) is the number of form views. The number to the right (in parentheses) is the number of form completions.
Two more buttons allow you to download data about forms, specifically broken down by source. Any personal information accessible in this section of the dashboard can be protected by the Privacy setting. For more information, see Privacy, below.
At the bottom of the dashboard, the QR Code section shows how many users have scanned a QR code to check in at locations around campus.
Figure 5: The QR Code section, showing the Status filter and QR Code filter (both top right)
As discussed above, this section of the dashboard is affected by the Date and Audience filters at the top of Health Trends. Two more filters allow you to further refine the data shown in QR Codes:
QR Code filter: You can show data for one or many QR Codes
Status filter: You can show data for users having only a particular case status
These filters affect the data shown in the graph and in the section labeled "Top Traffic."
After applying filters, the QR Code graph shows the number of people who scanned into that location, and when. The top three hours with the most traffic are highlighted in red. Hovering over each bar shows the number of visits within that hour block.
A download button lets you download a CSV file showing who has checked into locations. Information in the downloaded file is affected by the filters you select. You can see who has checked into any location you select with the location filter, with their check-in and check-out times. You can also see if they checked into the location using the campus app, or using a web kiosk. We also record a student's case status at the time they checked in.
At the top of the QR Code graph are numbers showing the total number of visits, within the values specified by filters. This number is broken down into unique visits (students who visited a location only once) and repeat visits (students who visited a location more than once).
Top Traffic shows the top QR codes according to the number of students that scanned into that location. For these five locations, you can see:
Total Visits: The number of users who have scanned into that location, within the values specified by the filters.
Peak Hourly Traffic: The maximum number of users who scanned into that location in any particular 60-minute period.
You can sort by either Total Visits or Peak Hourly Traffic -- this can affect the QR codes that are displayed in the list.
Any personal information accessible in this section of the dashboard can be protected by the Privacy setting. For more information, see Privacy, below.
The privacy feature replaces a student's personal identifiable information (name and email address) with an anonymous Health Identifier throughout Contact Trace. You can use Privacy to protect the personally identifiable information contained in the Health & Wellness dashboard. For example, you can ensure that no one can access the names and email addresses of students, nor information about their whereabouts.
For more information, see Protect Student Information with Privacy.
To access the Health & Wellness dashboard:
You need to have the Contact Trace Health Dashboard permission in Team Settings
To send messages directly from the dashboard, you need the Notifications permission
Remember, the information contained in the Health Dashboard is affected by a user's privacy settings:
If privacy is on for a user, they will not be able to see any personal identifiable information anywhere in the dashboard
If privacy is off for a user, they will be able to see students' names and email addresses
Submit a request at Ready Education Help Center for more information.
Moderate the App with Terms of Use
Health Screening Forms
Protect Student Information with Privacy
Manage: Health & Wellness
Overview of Contact Trace Plus
Health & Wellness (App Module)
Team Permissions for Contact Trace Plus
Track and Manage Cases On Your Campus
Bulk Editing - Cases
Send Exposure Notifications

redpajama_set_name: RedPajamaCommonCrawl