\chapter{Dark Photon Search Analysis}\label{ch:analysis}
The data collected between 9/3/2021 and 9/7/2021 was used to search for dark photons between \SI{65.5}{\mu eV} (\SI{15.8}{GHz}) and \SI{69.5}{\mu eV} (\SI{16.8}{GHz}). No candidate for a dark photon was found, so a 90\% confidence level exclusion limit was placed on the kinetic mixing angle $\chi$ in this mass range. The procedure for deriving the exclusion limits in this chapter follows the procedure developed by ADMX and HAYSTAC~\cite{PhysRevD.64.092003, PhysRevD.96.123008, PhysRevD.103.032002}, and is adapted for dark photon searches~\cite{caputo2021dark, Ghosh:2021ard}. Perhaps one of the more innovative aspects of this analysis is producing dark photon limits directly from haloscope data rather than rescaling dark photon limits from axion limits.

The dark photon signal would show up as spectrally narrow power excess over a noise background (Section~\ref{sec:haloscope_search}). The dark photon signal power is

\begin{align}
  & P_{S} =
  \begin{cases}
    \eta \chi^2 m_{\ap} \rho_{\ap} V_{eff} Q_L \betaterm L(f, f_0, Q_L) & \quad \text{natural units} \\
     \frac{1}{\hbar}\eta \chi^2 (m_{\ap}c^2) (\rho_{\ap}c^2) V_{eff} Q_L \betaterm L(f, f_0, Q_L) & \quad \text{with physical constants}
  \end{cases}\\
  & L(f, f_0, Q_L) = \frac{1}{1+4\Delta^2} \hspace{2cm} \Delta \equiv Q_L \frac{f-f_0}{f_0}
  \label{eqn:dark_photon_power}
\end{align}
where $\chi$ is the kinetic mixing angle between the dark photon and Standard Model (SM) photon, $\eta$ is a signal attenuation factor, $m_{\ap}$ is the dark photon mass, $\rho_{\ap}$ is the local density of dark matter, $V_{eff}$ is the detector's effective volume, $Q_L$ is the loaded quality factor of the relevant mode, and $\beta$ is the cavity coupling coefficient. $L(f, f_0, Q_L)$ is the Lorentzian term and depends on the SM photon frequency $f$, cavity resonant frequency $f_0$, and $Q_L$. The effective volume is a focal point of this thesis and is discussed in various other sections, including Section~\ref{sec:orpheus_simulations}. It is calculated by
\begin{align}
  V_{eff} = \frac{\left (\int dV \vec{E}(\vec{x}) \vdot \vec{X}(\vec{x})\right )^2}{\int dV |\vec{E}(\vec{x})|^2|\vec{X}(\vec{x})|^2}
\end{align}
where $\vec{E}$ is the relevant mode's electric field and $\vec{X}$ is the dark photon field. Let $\theta$ be the angle between the cavity field and the dark photon field, such that $\vec{X}\vdot\vec{E} = |\vec{X}||\vec{E}|\cos\theta$. Orpheus is only sensitive to dark photons polarized in the $\hat{y}$ direction (along the short side of the rectangular waveguides). If the dark photon is polarized, then $\langle \cos^2\theta \rangle_T$ can be as low as 0.0025.
If the dark photon is unpolarized, Orpheus can detect a third of the dark photons and $\langle \cos^2\theta \rangle_T = 1/3$~\cite{caputo2021dark}.

The dark photon search strategy is to look for a spectrally narrow power excess over the noise floor. In broad strokes, the strategy is to first remove the low-frequency structure from each power spectrum, such that the population mean of each bin is zero and deviation from zero is either from statistical fluctuation due to the noise temperature of the detector or from a coherent RF signal. This results in a unitless power excess normalized to system noise power. In searching for potential dark photon candidates, power excesses with high SNR are sought. Thus the power excess is rescaled such that the power excess is in units of single-bin dark photon power. That leads to the population mean of a bin of 1 in the presence of a single-bin dark photon signal. To account for the dark photon power being spread across many bins, a lineshape filter, i.e., matched filter with dark photon kinetic energy distribution, is applied to the rescaled power excess to increase the SNR of the potential signal. The different, partially overlapping spectra are then combined using a maximum likelihood weighting procedure. In the absence of any dark photon signal candidates, the sample mean and sample standard deviation of each bin in the grand spectrum can be used to place a 90\% confidence exclusion limit on the scanned dark photon mass ranges.

\section{Confirmation that the DAQ Followed the Correct Mode}
An ideal way to confirm whether digitization was centered on the dark photon-coupling mode is to measure the mode map, similar to the tabletop measurement Figure~\ref{fig:tabletop_orpheus_modemap}. From the mode map, one determines if the measured cavity mode structure matches expectation, leading to greater confidence that the DAQ followed the correct mode. Unfortunately, the motor mechanism could not tune smoothly throughout the entire range of motion. Manual intervention was needed to handle portions of the tuning range where the motor would stall, so an automated mode map was infeasible. Instead, VNA wide scans were taken once every 20 data-taking cycles. The wide scans measured the transmission coefficient S$_{21}$ from \SI{15}{GHz} to \SI{18}{GHz}, as shown in Figure~\ref{fig:dpsearch_widescan}. These wide scan measurements for various cavity lengths can be stitched together to form the mode map shown in Figure~\ref{fig:dpsearch_modemap}. The blue line in Figure~\ref{fig:dpsearch_modefreq} is the frequency the DAQ determined to be the \tem mode in real-time, and digitization was always centered around this frequency. The simulated \tem mode is overlaid in both Figure~\ref{fig:dpsearch_modemap} and Figure~\ref{fig:dpsearch_modefreq} and is shown to be offset from the measured mode directly above by about \SI{0.7}{mm}. This can be attributed to a systematic error in measuring the absolute length of the cavity, likely caused by the motor system's backlash. Overall, Figures~\ref{fig:dpsearch_modemap} and~\ref{fig:dpsearch_modefreq} show that the \tem mode is easy to follow and that the DAQ digitized around the correct frequency.

\begin{figure}
  \centering
  \subfloat[]{\includegraphics[width=0.49\textwidth]{dp_search_widescan_0.png}}\hfil
  \subfloat[]{\includegraphics[width=0.49\textwidth]{dp_search_widescan_150.png}}
  \caption{Wide scan transmission measurements with the simulated mode overlaid for different cavity lengths. Because the resonator is encased in a stainless steel can, there are low-Q non-tuning modes that make the transmission measurement messier than in Figure~\ref{fig:tabletop_orpheus_widescan}.}
  \label{fig:dpsearch_widescan}
\end{figure}

\begin{figure}
  \centering
  \subfloat[]{\includegraphics[width=0.49\textwidth]{dark_photon_search_modemap.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.49\textwidth]{dark_photon_search_modemap_adjusted_mode.pdf}}
  \caption{Piecing together wide scan measurements to form a mode map. The discontinuities near \SI{15}{cm} and \SI{15.3}{cm} are from adjusting the top dielectric plate every once in a while. (b) is the same as (a), but the simulated frequency is shifted over by \SI{0.7}{mm} to show the systematic error in measuring cavity length.}
  \label{fig:dpsearch_modemap}
\end{figure}

\begin{figure}
  \centering
  \includegraphics[height=0.3\textheight]{frequency_vs_length_dp_search.pdf}
  \caption{The \tem mode frequency vs the cavity length. The cavity length is determined from the stepper motor encoder values.}
  \label{fig:dpsearch_modefreq}
\end{figure}

The motor encoder values are used to calculate the cavity length. The motor encoders are first set to 0 when the cavity length is \SI{13.6}{cm} long. The steps counted by the motor encoders are then used to calculate relative changes in distance. One full revolution corresponds to 20,000 motor steps, and twenty revolutions correspond to a plate moving one inch along the 1/4''-20 threaded rod.

There are some features and oddities in Figures~\ref{fig:dpsearch_widescan},~\ref{fig:dpsearch_modemap}, and~\ref{fig:dpsearch_modefreq} that must be explained. The wide scans in Figure~\ref{fig:dpsearch_widescan} are more feature-rich than the wide scans of the tabletop setup shown in Figure~\ref{fig:tabletop_orpheus_widescan}. That is because the cavity sits inside a stainless steel rectangular vessel, and the non-tuning modes of the vessel pollute the mode structure. These non-tuning modes are also evident as horizontal lines in the mode map on Figure~\ref{fig:dpsearch_modemap}. The rectangular cavity was not included in the simulations because it would have been computationally expensive. Although it's possible these rectangular cavity modes can mix with the \tem mode and affect $V_{eff}$, I believe this to be a negligible effect. The quality factors of these rectangular cavity modes are around 200, which is much lower than \tem Q of 5000-10,000. Because of the difference in Q, these modes will hardly mix, and I will use the $V_{eff}$ from the simulations.

Another oddity is that the $f_{00-18}$ in Figure~\ref{fig:dpsearch_modefreq} seems double-valued and discontinuous. The discontinuities were created when the top dielectric plate was tuned by hand every few hours to compensate for the fact that the motor would stall under normal operation. Each time the top dielectric plate was tuned, $f_{00-18}$ shifted by more than \SI{10}{MHz}. The discrete steps are shown in Figure~\ref{fig:dpsearch_motor_steps_v_time}. The discontinuities are evident in the mode map in~Figure~\ref{fig:dpsearch_modemap} and the measured mode frequency in Figure~\ref{fig:dpsearch_modefreq}.

The resonant frequencies in Figure~\ref{fig:dpsearch_modefreq} look double-valued because the cavity lengths are swept through twice. The same VNA measurements taken with the same motor encoder values at different times don't result in the same resonant frequency because the motor backlash would lead to different cavity lengths.  The mode map avoids the double-valued resonant frequencies because timestamps below 2021-09-03 21:30:00 UTC are filtered out, so the mode map only shows the second sweep.

The last oddity is mentioned in Section~\ref{sec:orpheus_simulations}. The simulated frequencies near the simulated mode crossing deviate from the straight line. But tabletop mode map measurements (Figure~\ref{fig:tabletop_orpheus_modemap}) shows that the \tem mode tunes smoothly and continuously. This deviation in simulation is likely because the simulations don't have enough precision to deal with the mode crossing. To deal with this, I interpolate the resonant frequency and $V_{eff}$ through the simulated mode crossing. Section~\ref{sec:parameter_extraction} will describe how $\veff$ is determined for data analysis.

\FloatBarrier
\section{Confirmation of a Healthy Receiver}
Two in-situ measurements were performed to make sure that the receiver was healthy, i.e., no compression and every component is operating within the desired dynamic range.

One measurement is to record the power spectrum as one injects a sine wave, i.e., tone injection, into the cavity's weak port. If the receiver is healthy, the injected RF tone should show up as a tone in the digitized spectrum. A signal generator wasn't available for this injection, so the output of the VNA was used as a tone generator. The VNA behaves like a tone generator if the frequency span and IF bandwidth are set to zero. The center of the VNA sweep was set to the resonant frequency of the cavity. For this measurement (Figure~\ref{fig:dpsearch_tone_injection}), the resonant frequency was $f_{00-18}=\SI{16.0742}{GHz}$, the loaded Q is $Q_L=10300$, and the cavity was critically coupled.

Another measurement is to record the system noise power as a function of cavity temperature. This measurement can be performed during a cool down or warm up. The system noise power can be described as the sum of the blackbody radiation of the cavity and the added Johnson noise of each electrical component, and is written as $P_n=G k_b b T_{sys}$, where $G$ is the system gain that depends on both frequency and physical temperature, $b$ is the frequency bandwidth, and $T_{sys}$ is the system noise temperature referenced to the cavity. The thermal model is described in Section~\ref{sec:thermal_model}.
\begin{align}
  T_{sys} = T_{cav}(1-|\Gamma|^2) + T_{amp, input}|\Gamma|^2 + T_{rec}
\end{align}

Figure~\ref{fig:dpsearch_warmup} shows that the integrated digitized power (the sum of the bins in a power spectrum) tracked linearly with the cavity temperature. For this measurement, the resonant frequency was about \SI{16}{GHz} and the cavity was critically coupled. The digitized spectrum had a frequency span of six cavity widths and was centered on a frequency two cavity widths away from resonance\footnote{I was trying to do a Y-factor measurement off-resonance because I was trying to avoid the uncertainty in the cavity temperature. But there is also a lot of uncertainty in the noise temperature coming from the input of the cryogenic amplifier.}. This linear dependence demonstrates a healthy, non-compressed receiver.

$T_{rec}$ may be determined from the Y-factor measurement at \SI{16}{GHz} from the relationship between the on-resonance power and cavity temperature. The thermal model for this Y-factor measurement is $T_{sys} = T_{cav} + T_{rec}$. Unfortunately, $\sigma_{T_{cav}}\sim \SI{1}{K}$ during the warm up because of the temperature gradient. So $T_{rec}$ is determined from the measurements performed by Low Noise Factor (Section~\ref{sec:receiver_noise_temp}).

I also confirmed the amplifiers were not being compressed during operation by adjusting the VNA output power and seeing that the transmission measurement remained the same. I did not check if the IF amplifiers were compressed, but the cascade analysis suggests this to be highly unlikely\footnote{In future work, I recommend checking compression of the IF amplifiers by varying the tone power during the tone injection studies.}. All this suggests a healthy, happy, low-noise receiver chain.

\begin{figure}
  \centering
  \includegraphics[height=0.3\textheight]{tone_injection.pdf}
  \caption{Use the VNA to inject a tone into the cavity. Both the tone frequency and the resonant frequency was at \SI{16.07}{GHz}. The loaded Q was about 10,000.}
  \label{fig:dpsearch_tone_injection}
\end{figure}

\begin{figure}
  \centering
  \includegraphics[height=0.3\textheight]{orpheus_warmup.png}
  \caption{Plotted integrated digitizer power as the cavity is warming up. For reasons outlined in the text, this measurement is difficult to interpret as a Y-factor measurement to obtain the receiver noise temperature. But the digitized power rises more-or-less linearly with the cavity temperature. This suggests a healthy, low-noise receiver chain.}
  \label{fig:dpsearch_warmup}
\end{figure}

\FloatBarrier
\section{Parameter extraction}\label{sec:parameter_extraction}
For each data-taking cadence, ancillary measurements were taken to extract the parameters needed to determine the noise temperature and the dark photon power. The necessary parameters are the cavity temperature, resonant frequency, loaded Q, cavity coupling, and effective volume.

The cavity temperature $T_{cav}$ is taken to be the mean of the flat mirror and curved mirror temperature shown in Figure~\ref{fig:temp_v_freq}, and the uncertainty is taken from a continuous uniform distribution, $\sigma_{T_{cav}} = \frac{T_{flat} - T_{curved}}{\sqrt{12}}$. This temperature $T_{cav}$ is thought to be an overestimate of the mean temperature of the thermal photons coming from the cavity and is therefore a conservative choice. The flat mirror was hotter than the rest of the system because it is thermally sunk to the amplifier, which deposits heat. The flat mirror is also subject to a greater heat leak than the curved mirror because the flat mirror is connected to two copper coaxial cables that connect directly to a room temperature SMA vacuum feedthrough, whereas the curved mirror is only connected to one such copper coaxial cable. Due to issues with cooling down described in Section~\ref{sec:sep1_narrative}, I believe the flat mirror is in poor thermal contact with the rest of the cavity. I also believe that the temperature of the dielectrics is closer to the temperature of the curved mirror than to the flat mirror, and most of the cavity's thermal photons come from the curved mirror and dielectric plates.

\begin{figure}
  \centering
  \includegraphics[height=0.4\textheight]{temperature_vs_frequency_dp_search.pdf}
  \caption{Cavity temperature as a function of mode frequency.}
  \label{fig:temp_v_freq}
\end{figure}

The resonant frequency, loaded Q, and cavity coupling coefficient were derived using the same type of transmission and reflection measurements used in Chapter~\ref{ch:rf_design}. The Lorentzian fits were performed online and offline\footnote{I will refer to online fits as fits that were performed during the data-taking run and offline as fitting performed after the data-taking run.} while building the combined spectrum. For this analysis, both online and offline fitted parameters were used to overcome different data quirks. The online fitted resonant frequencies were used because the starting and ending frequency for each VNA measurement were improperly logged into the database\footnote{But I know that the frequency span is \SI{20}{MHz}. This helped with the offline Q and cavity coupling fits.}. The DAQ also logged the online fitted parameters but didn't log the fitting uncertainties. So the fit was reapplied offline to transmitted and reflected power to obtain these fitting uncertainties ($\frac{\sigma_{f_0}}{f_0}$ is small compared to $\frac{\sigma_{Q_L}}{Q_L}$, so I deemed it ok to just use the online fitted $f_0$). $Q_L$ and $\sigma_{Q_L}$ is determined from the Lorentzian fit of the transmission measurement, and $\beta$ and $\sigma_{\beta}$ is determined from the Lorentzian dip of the reflection measurement (Section:~\ref{sec:empty_measurement}). It's possible to determine $Q_L$ from the reflection measurement, but crosstalk-like effects in the waveguide coupler distort the Lorentzian shape of the reflection measurement\footnote{An example of a distorted Lorentzian is found in Figure~\ref{fig:complicated_fit}.}, making the reflection $Q_L$ fit unreliable. It's possible to add extra parameters to the reflection fitting measurement to better fit the distorted Lorentzian shape and extract a more accurate $Q_L$ (as is done in Appendix~\ref{sec:reflection_coupler}), but the extra fitting parameters have a degeneracy, and extracting a coupling coefficient seems infeasible. The offline fitted $Q_L$ and $\beta$ are shown in Figures~\ref{fig:dpsearch_q_v_freq} and~\ref{fig:dpsearch_beta_v_freq}.

\begin{figure}
  \centering
  \includegraphics[height=0.4\textheight]{loaded_Q_vs_frequency_dp_search.pdf}
  \caption{Loaded quality factor as a function of mode frequency.}
  \label{fig:dpsearch_q_v_freq}
\end{figure}

\begin{figure}
  \centering
  \includegraphics[height=0.4\textheight]{cavity_coupling_vs_frequency_dp_search.pdf}
  \caption{Cavity coupling as a function of mode frequency.}
  \label{fig:dpsearch_beta_v_freq}
\end{figure}

Because the Lorentzian fit doesn't capture the full physics of a reflection measurement, there are often fits, particularly when the cavity is critically-coupled, when the fitted reflected power is negative on resonance. When this occurs, the Lorentzian dip is ofter greater than \SI{15}{dB}, which is very close to critical coupling. In this case, the coupling coefficient is taken to be 1 with no uncertainty. This choice seems safe because near critical coupling, the dark photon power is insensitive to uncertainty in $\beta$, as shown in Figure~\ref{fig:dgamma_dbeta}.
\begin{figure}
  \centering
  \includegraphics[height=0.4\textheight]{frequency_vs_unloaded_Q_dp_search_labeled_modecrossing.pdf}
  \caption{Unloaded quality factor as a function of frequency, as derived from the measured loaded quality factor and cavity coupling. The results from the simulation are overlaid for comparison and to identify the mode crossing in the data. The notch in the simulated Q is much wider and steeper than the measured Q. This discrepancy suggests the mode crossing in the simulation is much larger than the mode crossing of the physical cavity.}
  \label{fig:Qu_v_freq}
\end{figure}

$V_{eff}$ is determined from simulation because directly measuring the electric field is infeasible. The simulations are described in detail in Section~\ref{sec:orpheus_simulations}. This section will focus on dealing with the mode crossing near \SI{16.35}{GHz}. As has been discussed in Sections~\ref{sec:orpheus_simulations} and~\ref{sec:tem_characterization}, a measured dip in quality factor can be used as a proxy for a dip in $\veff$. Figure~\ref{fig:Qu_v_freq} compares the measured unloaded quality factor $Q_u = Q_L \left ( \beta + 1 \right ) $ and the simulated $Q_u$. The dip in $Q_u$ corresponds to the mode crossing, but the comparison shows that the measured mode crossing is much narrower than the simulated mode crossing. This suggests that the actual mode crossing does not affect $\veff$ as dramatically as simulations suggest. To deal with this discrepancy, $V_{eff}$ is interpolated through the mode crossing, as shown by the orange curve in Figure~\ref{fig:veff_v_frequency}. Within the measured mode crossing region between \SI{16.3}{GHz} and \SI{16.35}{GHz}, the effective volume is set to $V_{eff} = \SI{35}{mL}$, the smallest $\veff$ predicted by simulation. Mode crossings are often omitted from haloscope science limits, but I don't think that's necessary for Orpheus. The intruder mode has a much smaller Q than the \tem mode, and the mode crossing in the measured mode map lacks the avoided crossing structure that's ubiquitous to mode crossings in other haloscopes. $V_{eff}=\SI{35}{mL}$ is a conservative estimate considering that the measured mode crossing is milder than the simulated mode crossing. Outside the measured mode crossing, the orange curve in Figure~\ref{fig:veff_v_frequency} is used.

\begin{figure}
  \centering
  \includegraphics[height=0.4\textheight]{frequency_vs_Veff_dp_search_labeled_modecrossing.pdf}
  \caption{The simulated effective volume a function of mode frequency. $V_{eff}$ is plotted with and without the mode crossing because I will have to take care of how I handle the mode crossing in the data analysis.}
  \label{fig:veff_v_frequency}
\end{figure}

$V_{eff}$ is simulated for when the dielectrics are evenly spaced throughout the cavity. Unfortunately, neither the top nor bottom dielectric plate was in this configuration the entire run. A mechanical failure caused the top dielectric plate motor to stall, so automated tuning was not possible. A cascade of DAQ design flaws and operating errors caused the bottom dielectric plate motor to undershoot the intended position. The position error is shown in Figure~\ref{fig:motor_step_error}. Fortunately, the simulations in Section~\ref{sec:position_error} show that at \SI{15.8}{GHz}, a negative position error actually increases the form factor. The position error is always negative for the bottom dielectric plate and almost always negative for the top dielectric plate.  It would take more time than I have to simulate $\veff$ for the position errors of the entire run. But there is a compelling physical intuition for why a negative position error increases the form factor, and this ought to hold true for all frequency ranges scanned.

The position error is used to place an uncertainty on $V_{eff}$. The position error for the bottom plate is always negative. If the position error of the top dielectric plate is negative, then the analysis uses $V_{eff}$ for the evenly configured case with no uncertainties. Since negative position errors increase $V_{eff}$, this is a conservative estimate. However, positive position errors decrease $\veff$. The top dielectric plate is rarely above \SI{5}{mm}, and Figure~\ref{fig:veff_position_err} suggests that a \SI{5}{mm} error corresponds to a 7.4\% decrease in $V_{eff}$. In the absence of a full simulation campaign, I use the heuristic that any positive position error corresponds to a relative uncertainty of $\frac{\sigma_{V_{eff}}}{V_{eff}}=0.074$.

\begin{figure}
  \centering
  \includegraphics[height=0.4\textheight]{motor_steps_error_dark_photon_search.pdf}
  \caption{The deviation of the plate positions from their targeted positions. This position error was used to estimate the uncertainty in $V_{eff}$.}
  \label{fig:motor_step_error}
\end{figure}

For this analysis, the attenuation factor $\eta = 1$. The attenuation factor is comprised of both the insertion loss of the waveguide and electronic components and analysis attenuation from removing the spectral baseline. The insertion loss is largely ohmic, and the resistivity of the waveguide components diminishes at \SI{4}{K}. As a concrete example, the waveguide-to-coaxial adaptor has an insertion loss of \SI{0.3}{dB} at room temperature and is made out of aluminum. The residual resistance ratio of aluminum is around 32~\cite{Fickett2019ElectricalPO}, so the insertion loss would be about \SI{0.01}{dB}, subdominant to other sources of uncertainty. The signal attenuation induced by the baseline removal method (discussed in Section~\ref{sec:baseline_removal}) has not yet been studied but should before publication.

\FloatBarrier
\section{Estimating expected sensitivity}\label{sec:expected_sensitivity}
Before assembling the combined spectrum to derive an exclusion limit for $\chi$, I first use the operating parameters to estimate the detector sensitivity. I will use natural units for this calculation. The operating parameters are shown can be read in the plots from the previous section and are shown in Table~\ref{tab:operating_parameters}.

\begin{table}[ht]
\begin{tabular}{l|l|l}
parameter   & value               & natural units conversion if needed \\ \hline
$\beta$     & 1                   &                                    \\\hline
$V_{eff,max}$   & \SI{60}{cm^3}       &                                    \\\hline
$\rho_{\ap}$ & \SI{0.45}{GeV/cm^3} &                                    \\\hline
$m_{\ap}$    & \SI{65e-15}{GeV}    &                                    \\\hline
t           & \SI{100}{s}         & \SI{1.5e26}{GeV^{-1}}              \\\hline
Q           & 10000               &                                    \\\hline
$T_n$       & \SI{10}{K}          & \SI{8.617e-13}{GeV}                \\\hline
SNR         & 3                   &
\end{tabular}
\caption{Operating parameters for Orpheus used to estimate Orpheus science reach.}
\label{tab:operating_parameters}
\end{table}

\begin{align*}
  P_{\ap} &=  \chi^2 m_{\ap} \rho_{\ap} V_{eff} Q_L \betaterm \\
  P_n &= b T_n;\hspace{5mm} \sigma_{P_n} = \frac{P_n}{\sqrt{N}} = \frac{P_n}{\sqrt{t b }}\\
  \snr &= \frac{Ps}{\sigma_{P_n}} = \frac{Ps}{P_n}\sqrt{t b}\\
  \chi &= \sqrt{\frac{\beta+1}{\beta}\frac{\snr \times b T_n}{m_{\rho}V_{eff}Q_L}}\left ( \frac{1}{b t} \right )^{1/4}
\end{align*}
So
\begin{align*}
  \chi_{max} &= \SI{4.94e-14}{}; \hspace{5mm}\chi = \frac{\chi_{max}}{\sqrt{\langle \cos^2\theta \rangle_T}}\\
  \chi_{unpolarized} &= \frac{\chi_{max}}{\sqrt{1/3}} = \SI{8.56e-14}{}\\
  \chi_{polarized} &= \frac{\chi_{max}}{\sqrt{0.0025}} = \SI{9.88e-13}{}
\end{align*}

\FloatBarrier
\section{Processing Individual Raw Spectrum}
\subsection{Removing Spectral Baseline}\label{sec:baseline_removal}
The raw spectrum consists (Figure~\ref{fig:raw_spectrum}) of the system noise power $P_n = G b k_b T_n$, plus fluctuations about this noise power. $T_n$ affects the SNR of the dark photon data. The system gain, i.e., transfer function, does not affect the SNR of the dark photon data, but causes the large-scale gain variation seen in Figure~\ref{fig:raw_spectrum}. The first step of processing the raw spectra is to remove this gain variation. The gain variation is caused by both the IF electronics and RF electronics. The IF gain and RF gain are thought of as separate because the IF gain applies equally to all spectra, whereas the RF gain depends on the frequency of the cavity. So to remove the gain variation, we first divide the spectrum by $G_{IF}$, and then by $G_{RF}$.

\begin{figure}
  \centering
  \subfloat[]{\includegraphics[width=0.33\textwidth]{RawSpectrum_0.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{RawSpectrum_1000.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{RawSpectrum_2500.pdf}}
  \caption{Raw spectrum as measured by the digitizer. Assuming the spectrum is just noise, the raw spectrum is the noise power of the system.}
  \label{fig:raw_spectrum}
\end{figure}

Figure~\ref{fig:raw_spectrum_with_cartoon_signal} shows the same raw spectrum but with a hypothetical dark photon signal of arbitrary power superimposed. The dark photon signal is much narrower than the large-scale gain variation caused by the electronics. Thus it is safe to apply filters to remove this gain variation.

\begin{figure}
  \centering
  \subfloat[]{\includegraphics[width=0.33\textwidth]{RawSpectrumWithCartoonSignal_500.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{RawSpectrumWithCartoonSignalZoom_500.pdf}}
  \caption{Raw spectrum with a hypothetical dark photon signal of arbitrary power superimposed. (a) The dark photon signal is much narrower than the large-scale structure of the noise background. Thus a low-pass filter can be safely applied to each power spectrum. (b) Same as (a), but zoomed into the dark photon signal. The hypothetical dark photon signal covers about 8 RF bin widths.}
  \label{fig:raw_spectrum_with_cartoon_signal}
\end{figure}

The IF baseline is estimated by averaging all the power spectrum while the cavity was actively tuning. Power spectra with timestamps after 2021-09-05 17:00:00 UTC were excluded because the cavity rested at \SI{15.8}{GHz}, and including those power spectrum in this baseline would have heavily weighted that RF frequency\footnote{In practice, neglecting this cut didn't seem to make much difference.}. The IF baseline is then smoothed using a fourth-order Savitzky-Golay software filter with a window length of 501 bins. Note that the Savitzky-Golay window is much larger than the hypothetical dark photon signal in Figure~\ref{fig:raw_spectrum_with_cartoon_signal}, which is about eight bins wide. The resulting IF baseline is shown in Figure~\ref{fig:if_baseline}. Every spectrum is divided by this IF baseline, and the result is a unitless power spectrum that is still affected by the RF gain variation, as shown in Figure~\ref{fig:spectra_if_baseline}.

\begin{figure}
  \centering
  \includegraphics[height=0.3\textheight]{IFBaseline.pdf}
  \caption{The average of all the recorded spectrum. This is thought of as an good estimation of the gain variation caused by the IF electronics. The estimation is less good if you don't have even and continuous tuning through your ffrequency range.}
  \label{fig:if_baseline}
\end{figure}

\begin{figure}
  \centering
  \subfloat[]{\includegraphics[width=0.33\textwidth]{SpectrumBaseline_0.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{SpectrumBaseline_1000.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{SpectrumBaseline_2500.pdf}}\hfil
  \caption{The raw spectra are all divided by the IF baseline to form some normalized spectrum. A Savitzky-Golay filter is then applied (orange) to obtain gain variation from the RF electronics.}
  \label{fig:spectra_if_baseline}
\end{figure}

To remove the RF gain variation, a second-order Savitzky-Golay software filter with a window length of 101 bins is applied to the individual spectrum\cite{PhysRevD.96.123008}, as shown in the orange curves in Figure~\ref{fig:spectra_if_baseline}. The spectra are then divided by the filtered curve to remove the RF gain variation. The processed spectra are now normalized such that the mean of the bins is one. The dark photon signal would show up as a power excess, so the process spectra are subtracted by one to yield the flat spectra fluctuating about zero, shown in Figure~\ref{fig:delta_p}. Each bin is either an average of \num[group-separator={,}]{75000} spectra or \num[group-separator={,}]{250000} spectra, and so the fluctuations about zero are Gaussian by the Central Limit Theorem. The power excess for each bin in the processed spectrum is denoted as $\delta_p$. All bins in a spectrum are pulled from the same Gaussian distribution, and so the uncertainty of each bin $\sigma_{p}$ is taken as the standard deviation of all the bins in a spectrum. $\delta_p$ is the power excess normalized to units of system noise power $P_n$.

\FloatBarrier
\subsection{Rescaling Spectra to be in units of dark photon power}
Next, the data is rescaled to be in units of dark photon power. Different operating conditions, such as different temperatures or $Q_L$, will change the noise temperature or expected signal power. The data is rescaled so that a single-bin dark photon signal would have one unit of excess power, regardless of the operating conditions. This rescaling allows for different spectra to be more directly comparable. This rescaling also makes the SNR (the signal being that from the dark photon) the true figure of merit for which potential dark photon candidates are sought. Currently, the spectra are in units of noise power. To rescale, multiply each bin by the noise power and divide by the hypothetical single-bin dark photon power,
\begin{align}
  \delta_s = \delta_p \frac{k_b b T_n}{P_{s}}
\end{align}
There is an ambiguity in Equation~\ref{eqn:dark_photon_power} because $\chi$ and $\theta$ parameters that are not determined by experimental conditions. In particular, there is no natural benchmark model for dark photon (like there are with axion models) to use as a baseline. So for spectrum processing, $\chi=1$ and $\theta=0$. The analysis procedure will self-correct for the arbitrarily chosen $\chi=1$, and the limits can be rescaled at the very end to match any cosmological model that claims a value for $\theta$.

The uncertainty is determined using standard uncertainty propogation techniques.
\begin{align}
  \frac{\sigma_s^2}{\delta_s^2} = \frac{\sigma_p^2}{\delta_p^2} + \frac{\sigma_{P_N}^2}{\delta_{P_N}^2} + \frac{\sigma_{P_S}^2}{\delta_{P_S}^2}
\end{align}

\begin{figure}
  \centering
  \subfloat[]{\includegraphics[width=0.33\textwidth]{NormalizedPowerExcess_0.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{NormalizedPowerExcess_1000.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{NormalizedPowerExcess_2500.pdf}}\hfil
  \caption{The power excess in units of system noise power.}
  \label{fig:delta_p}
\end{figure}

\begin{figure}
  \centering
  \subfloat[]{\includegraphics[width=0.33\textwidth]{RescaledPowerExcess_0.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{RescaledPowerExcess_1000.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{RescaledPowerExcess_2500.pdf}}\hfil
  \caption{The power excess rescaled to units of single-bin dark photon power.}
\end{figure}

\FloatBarrier
\subsection{Taking into account the dark photon lineshape}
The spectra were rescaled so that a dark photon signal would have unit height if the dark photon signal was confined to a single bin. However, Figure~\ref{fig:raw_spectrum_with_cartoon_signal} shows that the expected hidden photon lineshape is spread over about eight bin widths, and this reduces the SNR of each bin.

The spectral shape of the dark photon signal is proportional the the dark photon kinetic energy distribution. The most conservative energy distribution assumes a virialized, isothermal halo that obeys a Maxwell-Botzmann distribution,

\begin{align}
  f(f) = \frac{2}{\sqrt{\pi}}\sqrt{f - f_a} \left ( \frac{3}{f_a/ \langle \beta^2 \rangle }\right )^{3/2} \exp \frac{-3(f-f_a)}{f_a\langle \beta^2 \rangle}
  \label{eqn:lineshape}
\end{align}
where $f$ is the measured frequency, $f_a$ is the frequency of the associated SM photon, $\langle \beta^2 \rangle = \frac{\langle v^2 \rangle}{c^2}$, and $\langle v^2 \rangle$ is the rms velocity of dark matter halo. The ``quality factor'' of the lineshape is $\mathcal{O}(10^6)$.
In the lab frame, the lineshape takes a more complicated form, but is well approximated by the Equation~\ref{eqn:lineshape} if $\langle \beta^2 \rangle \rightarrow 1.7\langle \beta^2 \rangle$~\cite{PhysRevD.96.123008}.

One naive approach is to rebin the spectrum so that it has lower frequency resolution, as shown in Figure~\ref{fig:convolution_cartoon}. However, the dark photon power can still be divided into two neighboring bins. At worst, the power will be divided equally into two bins.

A more elegant approach that increases the SNR is to convolve the spectrum, such that each bin is a weighted sum of the neighboring bins. The weight is determined by the lineshape. This has the effect of enhancing bumps that span multiple neighboring bins, increasing the SNR of a potential dark photon signal. The convolution is shown at the bottom of Figure~\ref{fig:convolution_cartoon}. In digital signal processing, this is known as applying a matched filter.

\begin{figure}
  \centering
  \includegraphics[width=0.75\textwidth]{convolution_diagram.png}
  \caption{A diagram of how convolution can enhance the signal of a multi-bin dark photon signal. Figure courtesy of Christian Boutan~\cite{2017PhDT24B}.}
  \label{fig:convolution_cartoon}
\end{figure}

There is a subtlety. How does one perform a convolution when neighboring bins have different uncertainties associated with them, and what is the resulting uncertainty after the convolution? The issue is resolved by treating it like a $\chi^2$ minimization problem. Let

\begin{align}
  \chi^2 = \sum \frac{(Ak_i - \delta_{si})^2}{\sigma_{si}}
\end{align}
where $\delta_{si}$ ($\sigma_{si})$ is $\delta_{s}$ ($\sigma_{s}$) corresponding to bin $i$, $k_i$ is the element of the convolution kernel corresponding to bin i, and A is a amplitude of the signal shape to which we are fitting our data. The more the bins $\delta_{si}$ match the shape of $k_i$, the larger the amplitude $A$. $\chi^2$ is minimized by setting the derivative of $\chi^2$ to zero and solving for A.

\begin{align}
  A = \frac{\sum \frac{\delta_{si} k_i}{\sigma_{si}^2}}{\sum \frac{k_i^2}{\sigma_{si}^2}}
\end{align}

A is the value for each bin in the optimally convolved spectrum. The uncertainty for parameters derived from $\chi^2$ minimization fits is known to be $\sigma_A^2 = \left ( \eval{\dv[2]{\chi^2}{A} }_{\chi^2_{min}} \right )^{-1}$, resulting in

\begin{align}
  \sigma_A^2 = \frac{1}{\sum \frac{2 k_i^2}{\sigma_i^2}}
\end{align}
In other words, a moving chi-square minimization fit is performed on the data. This is reminiscent of pulse shape fitting done in other analyses.

Applying the matched filter with the lineshape kernel leads to the spectra in Figure~\ref{fig:filtered_spectra}.
\begin{figure}
  \centering
  \subfloat[]{\includegraphics[width=0.33\textwidth]{FilteredPowerExcess_0.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{FilteredPowerExcess_1000.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{FilteredPowerExcess_2500.pdf}}\hfil
  \caption{The rescaled power excess after the dark matter halo lineshape filter has been applied.}
  \label{fig:filtered_spectra}
\end{figure}

Once all the spectra are processed, one can obtain a histogram of the power fluctuations normalized to the standard deviation, as shown in Figure~\ref{fig:spectra_histogram}. The normalized processed power fluctuations $\frac{\delta_p}{\sigma_p}$ and rescaled process spectrum $\frac{\delta_s}{\sigma_s}$ follow the normal distribution beautifully, with zero mean and unit standard deviation. The normalized filtered spectrum $\frac{\delta_{fs}}{\sigma_{fs}}$, follows the shape of a standard normal distribution, but has a standard deviation of 0.89. This is because the convolution correlates neighboring bins.
\begin{figure}
  \centering
  \subfloat[]{\includegraphics[width=0.33\textwidth]{dp_over_sigp_hist.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{dc_over_sigc_hist.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{dfc_over_sigfc_hist.pdf}}
  \caption{The (a) power excess $\delta_p$ and (b) rescaled power excess $\delta_s$ has a Gaussian distribution. The filtered power excess has a smaller standard deviation than what is expected of Gaussian noise. This can be attributed to correlations induced by the convolution.}
  \label{fig:spectra_histogram}
\end{figure}

\FloatBarrier
\section{Combined Spectrum}
The individual spectra corresponding to different RF frequencies have been processed and are now ready to be combined into a single combined spectrum. The Maximum-Likelihood estimate of the mean and uncertainty of the combined spectrum is obtained by a weighted average of all IF bins corresponding to a particular RF bin. The weights of each contributing bin are the inverse variance.

\begin{align}
  \delta_c = \frac{\sum_i \frac{\delta_{si}}{\sigma^{2}_{si}}}{\sum_i \frac{1}{\sigma^{2}_{si}}}
\end{align}
The standard deviation for each bin in the combined spectrum is
\begin{align}
  \sigma_c = \sqrt{\frac{1}{\sum_i \frac{1}{\sigma_{si}^2}}}
\end{align}

This method of combining spectrum is well-established in haloscope data analysis~\cite{PhysRevD.96.123008, PhysRevD.103.032002, PhysRevD.64.092003}. Finding the Maximum-Likelihood estimations of means and standard deviations is a general and ubiquitous problem in experimental data analysis.

The combined power excess is shown in Figure~\ref{fig:combined_spectrum}. The gap near \SI{15.95}{GHz} is a result of manually tuning the top dielectric plate.

\begin{figure}
  \centering
  \includegraphics[width=0.85\textwidth]{FilteredCombinedPowerExcess.pdf}
  \caption{The combined spectrum.}
  \label{fig:combined_spectrum}
\end{figure}

\FloatBarrier
\section{Placing 90\% Exclusion Limit}
Figure~\ref{fig:spectra_histogram} suggests that there are no signals that are astatistical. In the absence of any obvious dark photon candidates, I choose to set an upper limit on what dark photon signals could exist based on the statistics of the combined spectrum.

The probability distribution of measuring a power excess $\delta_c$ given a haloscope signal power is a normal distribution centered around the dark photon signal power (the signal power can be 0).
\begin{align}
  P(\delta_c|S) = \frac{1}{\sqrt{2\pi\sigma_{c}}}\exp\left ( -\frac{(\delta_{c} - S)^2}{2\sigma_{c}^2} \right )
\end{align}
where $\delta_{c}$, $\sigma_{c}$ are the mean and standard deviation of the combined power excess, and S is the dark photon signal power. I've measured power excess and want to know the probability distribution of the dark photon signal. In other words, I want to know probability distribution of S given that I know the power excess $\delta_c$, $P(S|\delta_c)$. Using Bayes Theorem
\begin{align}
  P(S|\delta_c) = P(\delta_c|S) \frac{P(S)}{P(\delta_c)}
  \label{eqn:bayes}
\end{align}
where $P(S)$ is the probability of measuring dark photon signal power S, and $P(\delta_c)$ is the probability of measuring power excess $\delta_c$. $\delta_c$ in Equation~\ref{eqn:bayes} is a parameter and not a continuous variable, so $P(\delta_c)$ is just a constant. Our only prior is that the signal power can not be negative\footnote{S also has an upper limit based on previous exclusions, but this limit has a negligible effect on the subsequent analysis.}. In the absence of any other information, any value for S above zero is as good as any other. Consequently,
\begin{align}
  \frac{P(S)}{P(\delta_c)} \propto H(x)
\end{align}
where $H(x)$ is the unit step function. That means $P(\delta_s|S)$ is just a normal distribution truncated at zero\footnote{\cite{PhysRevD.101.123011, PhysRevD.57.3873} talk about similar subjects.}.
\begin{align}
  P(S|\delta_c) \propto \frac{1}{\sqrt{2\pi\sigma}}\exp\left ( -\frac{(\delta_c - S)^2}{2\sigma_c^2} \right ) H(x)
\end{align}

The 90\% confidence limit for the dark photon signal power is the value of $\delta_c$ for which 90\% of the probability distribution lies below. The inverted, but equivalent, statement is that signal powers above this $\delta_c$ are excluded with 90\% confidence. The confidence interval means that if the same experiment were repeated, there is a 90\% chance the dark photon signal (even if that signal is 0) would lie in this interval. The confidence interval for truncated normal distributions with different means is shown in Figure~\ref{fig:truncated_gaussian}. The 90\% confidence limits for dark photon signal power is determined by applying the percent point function to the truncated normal distribution\footnote{Python's SciPy module has a native function for this.}. The result is shown in Figure~\ref{fig:dp_power_exclusion}.

\begin{figure}
  \centering
  \subfloat[]{\includegraphics[width=0.33\textwidth]{truncated_gaussian_mean_1.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{truncated_gaussian_mean_n1.pdf}}\hfil
  \subfloat[]{\includegraphics[width=0.33\textwidth]{truncated_gaussian_mean_v_cl.pdf}}\hfil
  \caption{The probability distribution of finding a dark photon signal, given a measured power excess, is represented as a truncated Gaussians. The truncated Gaussians are plotted for (a) $\delta_{fc}/\sigma_{\delta_{fc}}=1$ and (b) $\delta_{fc}/\sigma_{\delta_{fc}}=-1$. The 90\% confidence interval is shaded in the plots. The value representing the upper limit of the confidence interval is plotted for different values of $\delta_{fc}/\sigma_{\delta_{fc}}$. The confidence interval for a full normal distribution is plotted in orange for comparison.}
  \label{fig:truncated_gaussian}
\end{figure}

\begin{figure}
  \centering
  \includegraphics[width=0.85\textwidth]{PowerExclusion_v_mass.pdf}
  \caption{The 90\% confidence limit on the dark photon power, normalized to dark photons signal power of mixing angle $\chi=1$.}
  \label{fig:dp_power_exclusion}
\end{figure}

By examining Equation~\ref{eqn:dark_photon_power}, one sees that
\begin{align}
  \frac{\chi_{90\%}}{\chi=1} = \sqrt{\frac{P_{90\%}}{P(\chi=1)}}
\end{align}
Finding $\chi_{90\%}$ amounts to taking the taking the square root of Figure~\ref{fig:dp_power_exclusion}. However, this $\chi_{90\%}$ corresponds to the maximum $V_{eff}$. This is the maximally benevolent model where the photon polarization always aligns with the polarization of the \tem mode, even as the Earth spins and orbits through the cosmos. The realistic mixing angle is $\chi_{90\%} = \frac{\chi_{90\%,max}}{\langle \cos^2 \theta \rangle_T}$. $\langle \cos^2 \theta \rangle_T = 1/3$ if the photons are unpolarized, and $\langle \cos^2 \theta \rangle_T \geq 0.0025$ if they are polarized. Between $\SI{65.5}{\mu eV}$ and $\SI{69.3}{\mu eV}$, the excluded dark photon mixing angle is $\chi_{90\%} \sim \SI{1e-12}{}$ for the polarized dark photon case and $\chi_{90\%} \sim \SI{1e-13}{}$ for the unpolarized dark photon case. The limits are shown in Figure~\ref{fig:chi_exc} and are consistent with expectations laid out in Section~\ref{sec:expected_sensitivity}. The limits are compared to other haloscope experiments in Figure~\ref{fig:chi_exc_haloscopes}. Orpheus achieves similar sensitivities at substantially higher frequencies than other larger, more well-funded haloscope experiments while maintaining a respectable tuning range.
\begin{figure}
  \centering
  \includegraphics[width=0.85\textwidth]{MixingAngleExclusion_v_mass.pdf}
  \caption{A 90\% exclusion on the mixing angle parameter space.}
  \label{fig:chi_exc}
\end{figure}

\begin{figure}
  \centering
  \includegraphics[width=\textwidth]{DarkPhoton_Haloscopes_Closeup.png}
  \caption{Orpheus science reach in the context of other microwave cavity results. The limits are for the uniformly polarized case. Figure adapted from~\cite{ciaran_o_hare_2020_3932430}.}
  \label{fig:chi_exc_haloscopes}
\end{figure}

The limits in the polarized case could be improved by perhaps an order of magnitude for selected frequencies by using the fact that the same frequencies were rescanned at different times of the day\cite{caputo2021dark}. This may be accounted for in a future analysis.


%!TEX root=../labNotes.tex

\section{September 2014}

\subsection*{02 September 2014}

\begin{enumerate}
	\item Prepared serum-free Medium 199
		\begin{enumerate}
			\item Supplemented $500$mL incomplete Medium 199 (incomplete M199) with $5$mL penicillin/streptomycin stock ($100$U/mL penicillin; $100\mu$g/mL streptomycin final concentration) and $1$mL $250\mu$g/mL amphotericin B stock ($0.25\mu$g/mL amphotericin B final concentration)
			\item Stored at $4^{\circ}$C
		\end{enumerate}
	\item Prepared complete Medium 199
		\begin{enumerate}
				\item Supplemented $500$mL incomplete M199 with $5$mL penicillin/streptomycin stock ($100$U/mL penicillin; $100\mu$g/mL streptomycin final concentration) and $1$mL $250\mu$g/mL amphotericin B stock ($0.25\mu$g/mL amphotericin B final concentration), $55$mL fetal bovine serum
				\item Stored at $4^{\circ}$C
		\end{enumerate}
	\item MA104 cell split --- Passage 59
		\begin{enumerate}
			\item A T75 flask was split by Shu from her maintained stock, labeled, and incubated at $37^{\circ}$C
		\end{enumerate}
\end{enumerate}

\subsection*{03 September 2014}

\begin{enumerate}
	\item Prepared 2x EMEM, serum-free
		\begin{enumerate}
			\item Supplemented $500$mL 2x EMEM stock with $10$mL $200$mM L-glutamine stock ($4$mM L-glutamine final concentration), $10$mL penicillin/streptomycin stock ($200$U/mL penicillin; $200\mu$g/mL streptomycin final concentration), and $1$mL $250\mu$g/mL amphotericin B stock ($0.5\mu$g/mL amphotericin B final concentration)
			\item Stored at $4^{\circ}$C
		\end{enumerate}
	\item Prepared $400$mL $1.2$\% agarose
		\begin{enumerate}
			\item Combined $4.8020$g SeaPlaque agar to $\sim 400$mL milli-Q-filtered water
			\item Autoclaved for $20$ minutes
			\item Stored at room temperature
		\end{enumerate}
\end{enumerate}


    \filetitle{forecast}{Forecast FAVAR factors and observables}{FAVAR/forecast}

	\paragraph{Syntax}\label{syntax}

\begin{verbatim}
[D,CC,F,U,E] = forecast(A,D,RANGE,J,...)
\end{verbatim}

\paragraph{Input arguments}\label{input-arguments}

\begin{itemize}
\item
  \texttt{A} {[} FAVAR {]} - FAVAR object.
\item
  \texttt{D} {[} struct \textbar{} tseries {]} - Input data with initial
  condition for the FAVAR factors.
\item
  \texttt{RANGE} {[} numeric {]} - Forecast range.
\item
  \texttt{J} {[} struct \textbar{} tseries{]} - Conditioning data with
  hard tunes on the FAVAR observables.
\end{itemize}

\paragraph{Output arguments}\label{output-arguments}

\begin{itemize}
\item
  \texttt{D} {[} struct {]} - Output database or tseries object with the
  FAVAR observables.
\item
  \texttt{CC} {[} struct \textbar{} tseries {]} - Projection of common
  components in the observables.
\item
  \texttt{F} {[} tseries {]} - Projection of common factors.
\item
  \texttt{U} {[} tseries {]} - Conditional idiosyncratic residuals.
\item
  \texttt{E} {[} tseries {]} - Conditional structural residuals.
\end{itemize}

\paragraph{Options}\label{options}

See help on \href{FAVAR/filter}{\texttt{FAVAR/filter}} for options
available.

\paragraph{Description}\label{description}

\paragraph{Example}\label{example}


\subsubsection{\stid{4.14} ECP EZ: Fast, Effective, Parallel Error-bounded Exascale Lossy Compression for Scientific Data}

\paragraph{Overview}

Extreme scale simulations and experiments are generating more data than can be stored, communicated and analyzed. Current lossless compression methods suffer from low compression ratio and do not adequately address the limitations in storage bandwidth and storage space of projected exascale systems. Existing lossy compressors, although enabling greater data reduction, are not covering the needs of many ECP applications.

The EZ project is extending and improving the SZ lossy compressor for structured and unstructured scientific datasets respecting user-set error controls. SZ offers an excellent compression ratio and compression time. Further work is essential, however, to improve our SZ lossy compressor for ECP scientific datasets, while ensuring that user-set error controls are respected. Specifically, we are maximizing the effectiveness of SZ’s three core compression algorithms: prediction, quantization, and coding. The EZ project focuses on optimization of the compression quality, including improvement of compression ratio, memory cost minimization, parallelization, addition of more error controls, and integration of SZ into parallel I/O environments (PnetCDF, ADIOS, HDF5). Our goal is to produce a high-quality lossy compressor responding to the needs of ECP exascale applications and experiment users. To this end, we are working with multiple ECP application teams, including ExaSky cosmology teams (HACC and Nyx), molecular dynamics simulations groups (EXAALT), x-ray laser imaging experimentalists (ExaFEL), and computational chemists (NWChem-X, GAMESS) to optimize SZ for their applications and to harden SZ for production use.

\paragraph{Key Challenges}

There are several key challenges in the EZ project.
\begin{itemize}
\item One challenge in designing an efficient compressor for HPC applications is the large
diversity of scientific data, such as various dimensions, scales, and dynamic data changes in both
space and time.
\item Another challenge is that the scientific data may have irregular characteristics. The simulation data may exhibit spiky changes in small regions. For instance, the data in HACC simulation are all stored in 1D arrays: three coordinate fields (xx, yy, zz) and three velocity fields (vx, vy, vz). It is hard to get a high compression ratio because of lack of correlations between adjacent particles in each array.
\item It is non trivial to support random access under the traditional SZ compression model, which has a relatively strong dependency among the data points during the compression/decompression.
\item Integrating SZ into parallel I/O libraries (such as PnetCDF and HDF5) is non-trivial, because these I/O libraries are designed and implemented differently with various interfaces. We need to develop the integration codes carefully based on the I/O libraries' interface with minimal cost.
\item It is non-trivial to parallelize SZ to get a high speed-up. A new version (SZ 2.0) (released on July 26th) significantly improved the compression quality for high-compression cases, but also introduced more challenges on the implementation of parallel version of SZ. Specifically, SZ 2.0 splits the whole dataset into multiple non-overlapped small blocks (such as 8x8x8) and performs the compression in each block by selecting an adaptive prediction method. SZ 2.0 still has a certain dependency across the blocks in the block-wise compression, which is a challenge for the implementation over GPU.

\end{itemize}

\paragraph{Solution Strategy}

As for the first challenge, we keep a close communication with ECP application users to understand their specific demands on the lossy compression. For instance, we have a weekly meeting with ECPSky team to discuss the required error bounds and compression quality of cosmology simulation data. We also provide multiple types of error bounds (such as absolute error bound, PSNR, relative error bound) allowing users to control the errors in different ways. We also exploit an adaptive prediction method to optimize the compression quality for diverse datasets.

As for the second challenge, we develop some particular compression techniques based on specific data features across different applications.

As for the third challenge, we split each dataset into multiple non-overlapped small blocks and ensure that the compression in each block is totally independent with other blocks. To this end, we reorganize the data access in the code and separating the Huffman encoding function.

We overcome the last challenge by understanding the principle of the I/O libraries deeply (either reading the related documents carefully or communicating with the I/O library developers closely).

As for the fourth challenge, the work is still under the progress. We will develop the GPU version of SZ based on the random-access support code, and explore some new compression techniques (such as replacing Huffman encoding by arithmetic encoding) if necessary.

\paragraph{Recent Progress}

SZ 2.0 is released as an open source on github. Figure \ref{fig:sz-principle} (a) demonstrates the core step (data prediction and linear-scaling quantization) in SZ lossy compression using a 2D dataset. Figure \ref{fig:sz-principle} (b) demonstrates the visual quality of decompressed data for ECPSky-NYX VX field: SZ 2.0 has a pretty high visual quality with a high compression ratio of 156:1. This paper was accepted by IEEE BigData18.

\begin{figure}[htb]
\centering
\includegraphics[width=2.8in]{projects/2.3.4-DataViz/2.3.4.14-VeloC-SZ/sz-illu.png}
\includegraphics[width=3.2in]{projects/2.3.4-DataViz/2.3.4.14-VeloC-SZ/Visual-quality-NYX-SZ.png}
\vspace{-2mm}
	\caption{\label{fig:sz-principle}Illustration of data prediction in SZ and visual quality of decompressed data for ECPSky-NYX VX field}
\end{figure}

We have improved the compression quality for some ECP applications significantly. For instance, we develop PaSTRI code that can significantly improve the compression ratio for GAMESS two-electron integral datasets by leveraging the potential scaled repeated patterns, and this work is awarded as the overall best paper in IEEE CLUSTER18. We also implemented effective compression method supporting point-wise relative error bounds for the ECPSky project and studied its lossy compression quality with multiple resolutions. Experiments with point-wise relative error bound based compression shows that our solution leads to 31\%-210\% higher compression ratio than other lossy compressors do. It also receives the best-paper award in the software track of IEEE CLUSTER18. We completed the integration of SZ into different I/O libraries such as HDF5 and ADIOS.

We also improved compression quality for cosmological simulation by developing an in-situ time-dimension based compression mechanism. From Fig. \ref{fig:szcompression} (a), we see that our solution (labeled as SZ\_vlct) exhibits much better rate-distortions than others. Fig. \ref{fig:szcompression} (b) shows the break-down of the data dumping/loading times of three solution (SZ\_single\_snapshot, SZ\_prestep, and SZ\_vlct). We can see that our solution leads to the shortest overall I/O time. We present the random-access performance evaluation results in Fig. \ref{fig:szcompression} (c), which shows that the random-access function in SZ 2.0 can significantly reduce the decompression time on demand.

\begin{figure}[htb]
\centering
\includegraphics[width=6in]{projects/2.3.4-DataViz/2.3.4.14-VeloC-SZ/time-based-comp-and-random.jpg}
\vspace{-2mm}
\caption{Compression Results of Time-based SZ and Random-Access}
\label{fig:szcompression}
\vspace{-5mm}
\end{figure}

\paragraph{Next Steps} Our next efforts are: Improve compression performance by analyzing SZ's performance and implementing the parallel version over GPU.

%\textbf{Support advanced error controls allowing the user to specify relative error bounds and to control the error distribution.} We will write a report describing the integration of additional error controls (relative error bound and control of error distribution) in SZ.


% \documentclass{emulateapj}
\documentclass[letterpaper,12pt,preprint]{aastex}

% has to be before amssymb it seems
%\usepackage{color,hyperref}
%\definecolor{linkcolor}{rgb}{0,0,0.5}
%\hypersetup{colorlinks=true,linkcolor=linkcolor,citecolor=linkcolor,
%            filecolor=linkcolor,urlcolor=linkcolor}
%\usepackage{amssymb,amsmath}

\usepackage{color}
\usepackage{url}
\usepackage{graphicx}
\graphicspath{{figures/}}

% For Python code
\usepackage{listings}
\definecolor{lbcolor}{rgb}{0.9,0.9,0.9}
\lstset{language=Python,
        basicstyle=\footnotesize\ttfamily,
        showspaces=false,
        showstringspaces=false,
        tabsize=2,
        breaklines=false,
        breakatwhitespace=true,
        identifierstyle=\ttfamily,
        keywordstyle=\bfseries\color[rgb]{0.133,0.545,0.133},
        commentstyle=\color[rgb]{0.133,0.545,0.133},
        stringstyle=\color[rgb]{0.627,0.126,0.941},
    }

% Draft watermark:
%\usepackage{draftwatermark}
%\SetWatermarkLightness{0.9}
%\SetWatermarkScale{4}

% Some macros
\newcommand{\todo}[1]{{\color{red} [TODO: #1]}}
\newcommand{\foreign}[1]{{\it #1}}

\newcommand{\apriori}{\foreign{a priori}}
\newcommand{\adhoc}{\foreign{ad hoc}}
\newcommand{\etal}{\foreign{et\,al.}}
\newcommand{\etc}{\foreign{etc.}}

\newcommand{\Fig}[1]{Figure~\ref{fig:#1}}
\newcommand{\fig}[1]{\Fig{#1}}
\newcommand{\figlabel}[1]{\label{fig:#1}}
\newcommand{\Eq}[1]{Equation~(\ref{eq:#1})}
\newcommand{\eq}[1]{\Eq{#1}}
\newcommand{\eqs}[2]{Equations~(\ref{eq:#1})-(\ref{eq:#2})}
\newcommand{\eqlabel}[1]{\label{eq:#1}}
\newcommand{\Sect}[1]{Section~\ref{sect:#1}}
\newcommand{\sect}[1]{\Sect{#1}}
\newcommand{\sects}[1]{Sections~#1}
\newcommand{\App}[1]{Appendix~\ref{sect:#1}}
\newcommand{\app}[1]{\App{#1}}
\newcommand{\sectlabel}[1]{\label{sect:#1}}

\usepackage[normalem]{ulem}
\newcommand{\new}[1]{{\color{red} #1}}
\newcommand{\old}[1]{{\sout{#1}}}

\begin{document}

\title{Stripe 82 Deep Dive: RR Lyrae Past the Survey Limit}

\newcommand{\escience}{1}
\newcommand{\columbia}{2}
\newcommand{\nyu}{3}
\newcommand{\cds}{4}
\newcommand{\mpia}{5}
\newcommand{\uwastro}{6}

\author{Jacob T. VanderPlas\altaffilmark{\escience},
	    Adrian M. Price-Whelan\altaffilmark{\columbia},
	    David W. Hogg\altaffilmark{\nyu,\cds,\mpia},
	    {\v Z}eljko Ivezi{\'c}\altaffilmark{\uwastro}}

\altaffiltext{\escience}{eScience Institute, University of Washington}
\altaffiltext{\columbia}{Department of Astronomy, Columbia University, 550 W 120th St., New York, NY 10027, USA}
\altaffiltext{\nyu}{Center for Cosmology and Particle Physics, Department of Physics, New York University, 4 Washington Place, New York, NY, 10003, USA}
\altaffiltext{\cds}{Center for Data Science, New York University, 4 Washington Place, New York, NY, 10003, USA}
\altaffiltext{\mpia}{Max-Planck-Institut f\"ur Astronomie, K\"onigstuhl 17, D-69117 Heidelberg, Germany}
\altaffiltext{\uwastro}{Department of Astronomy, University of Washington}

\begin{abstract}
% Context
At distances larger than $\approx$30 kpc, RR Lyrae stars show strong spatial inhomogeneity and will predominantly trace accreted structures in the Galactic halo. Simulations predict that stars in the extreme halo --- more than 100 kpc in Galactocentric radius --- are predominantly associated with unrelaxed, accreted structures such as tidal streams, shells, and the progenitor stellar systems themselves. Such features have been observed at large distances around a select few nearby galaxies, however it is yet unknown what structures our own Galaxy hosts in the outer halo.
% Aims
In this work, we aim to discover RR Lyrae stars at distances larger than 100 kpc with the hope and expectation that these stars are associated with interesting accreted structures in the halo of the Milky Way.
% Methods
We use reprocessed photometry of the Stripe 82 region of the Sloan Digital Sky Survey and push the detection limit of RR Lyrae stars further both through this more precise photometry and less restrictive modeling of the light curves. In particular, since RR Lyrae stars exhibit $\approx$1 mag variability in the SDSS bandpasses, by using a likelihood-based, multi-band model for period determination we do not require detection of the source at all epochs.
% Results
We find XX RR Lyrae stars ...
% Conclusions
Huh?

\end{abstract}

\section{Introduction}
\sectlabel{introduction}

Some relevant references are \citet{Vanderplas2015}, \citet{Sesar2010}, \citet{Oluseyi12}.

\section{Methods}
\sectlabel{methods}

\section{Results}
\sectlabel{results}

\section{Discussion}
\sectlabel{discussion}

\section{Conclusions}
\sectlabel{conclusion}

\bibliographystyle{apj}
\bibliography{paper}

\end{document}


\chapter{Image Visualization and output}
\label{chap:ImageVisualization}

After processing your images with OTB, you probably want to see the result. As it is quite straightforward in some situation, if can be a bit trickier in other. For example, some filters will give you a list of polygons as an output. Other can return an image with each region labelled by a unique index. In this section we are going to provide few examples to help you produce beautiful output ready to be included in your publications/presentations.

\section{Images}

\subsection{Grey Level Images}
\label{sec:ViewingGreyLevelImages}

\input{ScalingFilterExample.tex}

\subsection{Multiband Images}
\label{sec:ViewingMultibandImages}

\input{PrintableImageFilterExample.tex}

\subsection{Indexed Images}
\label{sec:ViewingIndexedImages}

\input{IndexedToRGBExample.tex}

\subsection{Altitude Images}
\label{sec:ViewingAltitudeImages}

\input{DEMToRainbowExample.tex}

\index{Hill shading}
\input{HillShadingExample.tex}


\subsection{Transfer Learning}
\label{chp:fundamentals:sec:machine_learning:subsec:transfer_learning}
According to \textcite{Tan:2018}, deep learning suffers two main drawbacks.
Firstly, the authors state that deep learning models depend heavily on the used training data.
The models require massive amounts of training data to learn the latent structure from the samples.
Further, the relationship of a model's size and the required training data scales linearly \parencite{Tan:2018}.

The second concern \textcite{Tan:2018} raise is insufficient training data.
This applies mainly in special domains where it is very hard to generate training samples.
For instance if a model uses a patient's data for training, it requires thousands of patients in order to be able to create an extensive dataset.

One approach to overcome these drawbacks is \textit{transfer learning}.
According to \textcite{Tan:2018} transfer learning \textit{"aims to improve the performance of [a] predictive function [...] for [a] learning task [...] by discover[ing] and transfer[ring] latent knowledge"}.
Further, they state that the dataset used to pre-train the model is often way bigger than the actual target dataset.
They distinguish among different types of transfer learning.
One is called \textit{network-based} transfer learning.
To apply this approach, one (partially) reuses a \ac{NN} which was pre-trained on a massive dataset in a specific source domain.
This approach assumes that the features which the \ac{NN} extracts are similar in the source and in the target domain.
Throughout this work, when we use the term "transfer learning" we refer to network-based transfer learning as defined by \textcite{Tan:2018}.


\documentclass[conference]{IEEEtran}
\usepackage[pdftex]{graphicx}
\usepackage{amsmath}
\usepackage{multirow}
\usepackage{hyperref}

\begin{document}

\title{Dynamic Region-biased \\ Rapidly-exploring Random Trees for \\ Motion Planning in Cluttered Workspaces}

\author{\IEEEauthorblockN{Ryan Gibson}
\IEEEauthorblockA{Department of Computer Science\\
University of North Carolina at Chapel Hill\\
Chapel Hill, NC 27599}}

\maketitle
\IEEEpeerreviewmaketitle

\section{Introduction}

Many current motion planners employ sampling-based strategies in order to explore the workspace and rapidly construct valid paths between source and goal configurations. Such methods have proven to be successful in practice, but still face poor performance in cluttered workspaces that include ``narrow passages'' (spaces in which sampling a valid configuration is very low).

In this paper, we explore a strategy for using a topological representation of the free workspace to guide random sampling. This will allow for the dynamic manipulation of sampling regions through the workspace in order to more easily find potential paths through narrow passages.

\section{Related Work}

Denny et al. \cite{DRRRT} proposed a strategy to use a Reeb Graph as a topological representation of the free workspace. This ``embedding graph'' is relatively easy to compute (see the algorithm in \cite{ReebGraphs}) and is used to guide the growth of a Rapidly-exploring Random Tree (RRT). Much of this paper is adapted from this strategy.

\section{Problem Definition}

Here, we focus on the holonomic motion planning problem.\footnote{The authors of \cite{DRRRT} show that their method can be easily extended to nonholonomic robots.} That is, we are concerned with robots in which every degree of freedom is fully and independently controllable. These degrees of freedom (DOFs) characterize the movement of the robot in its 2-d or 3-d workspace.

We now formalize this problem. We take as input the geometric description of the robot's environment $e$ (e.g. lists of vertices in 2-d or 3-d that represent polyhedral obstacles), a starting configuration $q_s$, and a goal configuration $q_g$. Each of these configurations is a single parameterization of the DOFs of the robot $q = \langle x_1, \dots, x_n \rangle$ and is considered ``valid'' if a robot placed at $q$ does not collide with itself or the environment geometry. Such a collision check is implemented by a \texttt{Clear} algorithm.

Then, the goal is to output a continuous sequence of valid configurations from $q_s$ to $q_g$. This describes a trajectory that the robot can follow in order to complete the motion planning problem at hand.

\section{Methods}

Following \cite{DRRRT}, we first precompute a Reeb Graph in the environment of interest. This is a topoplogical structure that represents the entire free workspace (and its topology so that the homotopy classes of paths can be determined). An example of such a graph in one of our environments is shown in \autoref{fig:reeb_graph_example}.

\begin{figure}[h]
	\centering
	\includegraphics[width=1.72in]{figures/partial_reeb_graph_example.pdf}
	\includegraphics[width=1.72in]{figures/full_reeb_graph_example.pdf}
	\caption{Left: Example Reeb Graph of our ``Barriers'' environment. Right: Example Reeb Graph after source and goal configurations are added and connected.}
	\label{fig:reeb_graph_example}
\end{figure}

Then, given a query involving a start configuration $q_s$ and goal configuration $q_g$, we connect these configurations to nearby nodes in the Reeb Graph and make its edges directed so that all paths point from $q_s$ to $q_g$. Additionally, we prune paths that never reach $q_s$. This forms a directed ``Flow Graph'' through the workspace.

Using this, we create a sampling region at the source configuration $q_s$ and advance the region along the edges of the Flow Graph. These sampling regions split into multiple, independently moving regions when they reach nodes with out-degree greater than one. Similarly, regions are merged at nodes with in-degree greater than one.

In this way, we may have many different sampling regions at any given time. Hence, when sampling a new configuration in our space, we first choose a random region, sample a configuration from that region, and advance the region along its edge in the Flow Graph. This grows our Rapidly-exploring Random Tree along the edges of the Flow Graph until the goal configuration $q_g$ is reached. We visualize this process in \autoref{fig:region_splitting}.

\begin{figure}[h]
	\centering
	\includegraphics[width=1.72in]{figures/split1.pdf}
	\includegraphics[width=1.72in]{figures/split2.pdf}
	\includegraphics[width=1.72in]{figures/split3.pdf}
	\caption{Example growth of a DRRRT as the sampling regions split. Top Left: Start of tree growth with one region. Top Right: Sampling region splits into two at a node in the Flow Graph. Bottom: DRRRT growth continues, choosing randomly between available sampling regions on each iteration.}
	\label{fig:region_splitting}
\end{figure}

Optionally, one can abandon sampling regions if they repeatedly fail to yield valid sampled configurations (``as [this] likely [represents] a path that is only viable for [the] workspace and not for the robot's [configuration space]'' \cite{DRRRT}). We do not take this approach, but it may be useful in some environments.

To retain the property of probabilistic completeness, one can also consider the entire workspace to be one large sampling region. In essence, this resorts to standard RRT growth with probability $1 / (\text{current number of sampling regions})$.

\section{Results}

We implemented both the standard RRT and DRRRT methods as discussed above in a custom simulator. Then, we repeatedly ran both motion planning strategies on the five environments shown in \autoref{fig:problem_environments}.

\begin{figure}[h]
	\centering
	\includegraphics[clip, trim=0cm 4cm 0cm 4cm, width=2.5in]{figures/hallway_problem.pdf}\\
	\includegraphics[width=1.72in]{figures/split_problem.pdf}
	\includegraphics[width=1.72in]{figures/barriers_problem.pdf}
	\includegraphics[width=1.72in]{figures/narrow_problem.pdf}
	\includegraphics[width=1.72in]{figures/maze_problem.pdf}
	\caption{Our five testing environments, with source and goal configurations shown in red (in all cases, the source is on the left and the goal is on the right). Top-to-Bottom, Left-to-Right: ``Hallway'', ``Split'', ``Barriers'', ``Narrow'', ``Maze''.}
	\label{fig:problem_environments}
\end{figure}

In particular, we ran RRT and DRRRT motion planning 1000 times on each environment and have summarized the observed performance in \autoref{fig:results_table}.

In all trials, we grow the RRT/DRRRT by nodes no further away than 2.5\% of the environment's width from the nearest neighbor in the tree. Each such tree growth succeeds only if all configurations between the parent and children nodes are valid, checked with a step size of 0.5\% of the environment's width. These choices are somewhat arbitrary, but importantly, are the same in both the experiments using the standard RRT and those using our DRRRT strategy.

\begin{figure}[h]
	\centering
	\begin{tabular}{|c||c|c|c||}
		\hline\multirow{2}{*}{Planner}&\multicolumn{3}{|c||}{RRT}\\
		\cline{2-4}&Success Rate&Nodes&\texttt{Clear} calls\\\hline
		Hallway&100\%&62&532\\
		Split&100\%&443&2.7K\\
		Barriers&83\%&660&16.9K\\\
		Narrow&45\%&1150&11.5K\\
		Maze&0\%&*&*\\\hline\hline
		\multirow{2}{*}{Planner}&\multicolumn{3}{|c||}{DRRRT}\\
		\cline{2-4}&Success Rate&Nodes&\texttt{Clear} calls\\\hline
		Hallway&100\%&47&231\\
		Split&100\%&90&450\\
		Barriers&100\%&326&12.5K\\
		Narrow&82\%&72&5.2K\\
		Maze&100\%&171&1288\\\hline
	\end{tabular}
	\caption{Success rates, average number of tree nodes, and average number of \texttt{Clear} calls for RRT and DRRRT motion planning in our five environments. Results are averaged over 1000 trials, only including runs that found a valid path before calling \texttt{Clear} 25K times.}
	\label{fig:results_table}
\end{figure}

Across all of our environments, DRRRT obtains a significant improvement in all measured metrics: success rate, number of nodes added to the tree before a valid path is found, and number of \texttt{Clear} calls needed to find a valid path.

We would like to note that the ``Barriers'' environment involves the repeated splitting of DRRRT sampling regions across many available workspace paths (see the Reeb Graph in \autoref{fig:reeb_graph_example}). In this way, our method is ``forced'' to explore many different narrow passages in the workspace rather than proceeding directly to the goal along a single path. However, even in this near-worst-case scenario, DRRRT performs better than RRT by a considerable margin.

We also plot boxplots in \autoref{fig:results_boxplots} of the number of collision checks needed before a valid path is found in these experiments. Here (since collision checking is one of the more computationally intensive parts of motion planning), we find that DRRRT is not only faster than RRT on average, but is also more consistent (i.e. less stochastic with respect to runtime) in many cases.

Of course, the DRRRT method requires the precomputation of the environment's embedding graph, but we have found that this accounts for a surprisingly small fraction of the time required for the entire motion planning pipeline.

As such, the dynamic region-biased variant should be preferred over standard RRT growth strategies if a robot's movements through its environment are expected to adhere to valid paths in the workspace and an embedding graph is feasible to compute.

\begin{figure}[h]
	\centering
	\includegraphics[width=4.3cm]{figures/hallway_boxplot.pdf}
	\includegraphics[width=4.3cm]{figures/split_boxplot.pdf}
	\includegraphics[width=4.3cm]{figures/barriers_boxplot.pdf}
	\includegraphics[width=4.3cm]{figures/narrow_boxplot.pdf}
	\includegraphics[width=4.3cm]{figures/maze_boxplot.pdf}
	\caption{Boxplots of the number of \texttt{Clear} calls required in our experiments before a valid path was found. Here, only the results for successful motion planning runs are included. Note that no boxplot is shown for the standard RRT growth on the ``Maze'' environment since this never succeeded in our trials.}
	\label{fig:results_boxplots}
\end{figure}

\section{Conclusion and Future Work}

In this paper, we analyzed the effectiveness of a dynamic region-based variant of RRT in motion planning problems. In our test cases, we found that this variant provides a significant improvement over the standard RRT.

In particular, DRRRT was able to succeed more often than RRT, ran much more quickly than RRT, and was more consistent than RRT in the number of collision checks required before a valid path was found.

Following the approach of \cite{DRRRT}, we chose to use a Reeb Graph as our embedding graph to guide tree growth. However, this choice is arbitrary and any graph that sufficiently captures the topology of the workspace could be used. As such, future work should consider using different graph structures for this purpose.

Notably, our work here depends on the precomputation of the embedding graph, which may not be tractable in environments with dynamic obstacles. Future work should focus on extending this strategy to situations in which obstacles deform or move as time progresses.

Indeed, the original description of Reeb Graph computation in \cite{ReebGraphs} provides an online algorithm (i.e. it is provided the environment mesh triangles one at a time and computes the graph piece-by-piece) which could be used to update the portions of the graph that correspond to dynamic obstacles, thus allowing our method to be used in dynamic situations.

Lastly, the method as presented here depends heavily on valid paths through the configuration space corresponding to valid paths through the workspace. For some applications, this may not be the case and additional work should focus on if our strategy can be adapted to work in such situations.

\section*{Acknowledgment}

We would like to thank the authors of OMPL for the work on their comprehensive motion planning library. Our ``Barriers'' and ``Maze'' environments are based on their ``Barriers'' and ``UniqueSolutionMaze'' 2D problem configurations, respectively.

We would also like to thank Ron Alterovitz for his feedback on drafts of this paper and guidance through the general robotics literature.

\begin{thebibliography}{2}
\bibitem{DRRRT}
Jory Denny, Read Sandstrom, Andrew Bregger, Nancy M. Amato, ``Dynamic Region-biased Rapidly-exploring Random Trees.'' \emph{The Workshop on the Algorithmic Foundations of Robotics} (2016).
\bibitem{ReebGraphs}
Valerio Pascucci, Giorgio Scorzelli, Peer-Timo Bremer and Ajith Mascarenhas. ``Robust On-Line Computation of Reeb Graphs: Simplicity and Speed.'' \emph{ACM SIGGRAPH} (2007).
\end{thebibliography}

\end{document}