text:
Want to help out or contribute?

If you find any typos, errors, or places where the text could be improved, please let us know by providing feedback either in the feedback survey (given during class), by using GitLab, or directly in this document with hypothes.is annotations.

• Open an issue or submit a merge request on GitLab with the feedback or suggestions.
• Add an annotation using hypothes.is. To add an annotation, select some text and then click the on the pop-up menu. To see the annotations of others, click the in the upper right-hand corner of the page.

Complete everything in this pre-course tasks chapter and complete the survey at the end. The deadline for these tasks is (at least) 3 days before the course starts.

## 3.1 Installing programs

The first things to do are to:

1. Install the latest version of R (at least version 3.6.0, preferably >4.0.0).
2. Install the latest version of RStudio (at least version 1.2.5001, preferably >1.3 version).
3. Install Git.

For some Windows users, you may need to install Rtools in order for some R packages to be installed (which you’ll do shortly).

All these programs are required for the course, even Git. Git, which is a software program to formally manage versions of file, is used because of it’s popularity and the amount of documentation available for it. During the course, you will be using Git and GitHub to manage your group assignment. Check out the online book Happy Git with R, especially the “Why Git” section, for an understanding on why we are teaching Git. Windows users tend to have more trouble with installing Git than macOS or Linux users. See the section on Installing Git for Windows for help.

A note to those who have or use work laptops with restrictive administrative privileges: You may encounter problems installing software due to administrative reasons (e.g. you don’t have permission to install things). For issues with updating to the latest version of R or RStudio, if you have at least 3.6.0 for R and at least 1.2.5001 for RStudio, that should be fine. If you have versions of R and RStudio older than that, it is necessary for you to request that IT update your software if you can’t yourself. Unfortunately, given that Git is not a commonly used software for some organizations, you may not have it installed and you will need to ask IT to install it. We require it for the course, so please make sure to give IT enough time to be able to install it for you.

Once R, RStudio, and Git have been installed, open RStudio. If you at any point during these pre-course tasks have any troubles, try as best you can to complete the task and then let us know about the issues in the pre-course survey (at the end of this section). If you continue having problems, indicate on the survey that you need help and we can try to book a quick video call to fix the problem. Otherwise, if you can, come to the course earlier (15-20 min) to get help.

If you’re unable to complete the setup procedure due to unfixable technical issues, you can use RStudio Cloud as a last-ditch solution to participate in the course. For help setting up RStudio Cloud for this course, refer to the RStudio Cloud setup guide.

## 3.2 What is R?

During this course, we will be spending most of our time in RStudio. RStudio is an environment to interact with R. R is like an engine, while RStudio is what you use to actually work with the engine. Prior to taking a look at what RStudio looks like, let’s talk briefly about R as a programming language.

R is a free programming language/environment used in statistical computing, data analytics, and scientific research. R is used to clean, organize, analyze, and report data. R has powerful visualization features, so it is a particularly useful tool for creating charts and figures. R is different from SPSS and other statistical programs in that you run analyses by typing commands in a console rather than using click-based, drop-down menus.

In recent years, R has become one of the most popular languages among statisticians and data scientists for several reasons:

• Open source, so you are able to see how exactly a e.g. statistical method works.
• Provides access to a vast array of packages that can complete nearly any task or statistical approach.
• Runs on all platforms (Windows, macOS, Linux).
• Highly compatible with other programming languages.

However, like many programming languages, R is not an easy to learn. Some functions are spread across packages, which means that you need to have prior knowledge of packages in order to implement some commands. Finally, R can be slower than other programming languages. Nonetheless, R offers such rich functionality and a supportive community that it is worth the challenge!

## 3.3 Getting familiar with RStudio

Check out Figure 3.1 below. You can see that RStudio has four “panels”, dividing the screen into the four corners.

While you can customize where the individual panels go, the default layout is how the panels are shown.

• Panel “A” is the panel that shows the “scripts”, which we will cover in the class. You may or may not see this panel when you open RStudio for the first time. This panel is where you write R code that will be saved as a file.
• Panel “B” is the Console. This is where R commands are sent and evaluated by R. This is the “engine”. No R code written here is saved. Almost all of the tasks below will be entered through the Console.
• Panel “C” contains the Environment, History, Connections, and Git tabs. In this course we’ll only be using the Environment and Git tab, which we’ll cover more later.
• Panel “D” has the Files, Plots, Packages, Help, Build, and Viewer tabs. For the course we’ll only be going over the Files, Plots, Packages, and Help tabs.

For this course, you will spend most of your time using R script files to write in and play around with code. However, we will also be learning and using R Markdown (.Rmd) later in the course. R Markdown is a dynamic and invaluable tool that will help make your analysis more reproducible. R Markdown allows you to mix code with text and images, where R runs the code and inserts the code output into the R Markdown file. The R Markdown file can be converted into a wide range of document types, including MS Word, PDF, or HTML. Some researchers write and manage entire papers, theses, or books using R Markdown, as it can make things easier to organize and maintain. This website and the course content is written with R Markdown.

## 3.4 Installing R packages

Now that you have RStudio and R on your computer, we need to install the R packages we’ll use in the course. R packages are external bundles of R code that other people have written. There are so many R packages available that if there is something you’d like to do in R, there probably is an R package to do it. Making use of R packages can greatly help you out when doing your research.

For this course, we will be focusing on R packages that are powerful and general-purpose enough to help you in multiple aspects of your research Most of these packages are bundled together into one package called tidyverse that we’ll discuss a bit more below. The packages we will specifically use are ggplot2, dplyr, and rmarkdown (the last of which we introduced above). These packages provide a set of consistent tools for most common data analysis tasks and also have excellent documentation and tutorials on how to use them.

To install these packages, we’ll need to install the r3 helper package. For that, we’ll need to first install the remotes package. See the video below for how to do that:

Copy and paste the command below into the RStudio Console. Hit Enter and the r3 helper package will be installed. See how to do that in the video below.

remotes::install_gitlab("rostools/r3", upgrade = TRUE)

Note: When you see a command, called a function in R, like something::something(), for example with remotes::install_gitlab(), you would “read” this as:

R, can you please use the install_gitlab function from the remotes package.

The normal way of doing it would be to load the package with library(remotes) and then run the function. But by using the ::, we tell R to directly use a function from a package. We use this trick because we only want to use the install_gitlab() function from the remotes package and not have to load all the other remotes functions. We will be using :: often as we go through the course.

Throughout this course, we will be using a number of packages from the tidyverse, which is a collection of packages that are designed for common tasks in data science, ranging from data exploration to data visualization. As the name suggests, tidyverse is an attempt to organize the “universe” of data analysis by providing packages that guide workflows that lead to more reproducible analysis projects. You’ve now installed tidyverse when you installed r3. If you wanted to install normally, you would type in the Console:

install.packages("tidyverse")

There are two core packages contained within the tidyverse that we will heavily use.

• dplyr (along with a complementary package tidyr) is a package that is very popular and contains important data manipulation functions, including functions that select and/or create variables depending on certain conditions. dplyr is built to work directly with data frames, which are rectangular data like those found in spreadsheets, and has an additional feature to interact directly with data stored in an external database such as in SQL. Working with databases is a powerful way to work with massive datasets (100s of GB), more than what your computer could normally handle. Working with massive data won’t be covered in this course, but see this resource from Data Carpentry) to learn more.
• ggplot2 is a data visualization package that can be used to create bar charts, pie charts, histograms, scatterplots, error charts, and more. It uses high-level API that means you are able to customize the aesthetics of your plot and add different components or layers.

While this may not be so meaningful now, it will make sense later when you begin to practice some of these functions.

## 3.5 Setting up Git and GitHub

We’ll cover what Git and GitHub are during the course, but for now we need you to get things ready beforehand so it’s easier in the course. In order to use Git properly, we need to inform your computer that you are using Git. Since we’ve installed the r3 package and we only want to use specific function from it, we’ll be using r3:: often. So, type in the RStudio Console:

r3::setup_git_config()

Hit enter and follow the instructions. Finally, type and run this next function to make sure everything is ok with your set up. When you do the survey, we ask that you copy and paste the output of this function.

r3::check_setup()

After you are done, you need to create a GitHub account. See Figure 3.2 for a demonstration of doing that. Make note of your user name, since we’ll ask you for it in the survey.

Note: GitHub is a company and website, while Git is a software. There is sometimes confusion about these two things since they both say “Git”. It’s important to distinguish that they are two separate things.

## 3.6 Course introduction

Most of the description of the course is found in the syllabus. For quickly going to the syllabus from RStudio, run the function r3::open_syllabus(). Or click it from the menu bar on the side.

While you may have signed up to this course to learn more about R, you should know that conducting reproducible research goes beyond R and RStudio. As such, we will be spending a lot of time exploring other tools that are used in conjunction with R, to improve the structure and transparency of your work. This course is designed to not only introduce you to R, but also to doing reproducible research and data analysis in R.

If you haven’t read the syllabus, please read it now. Read over what the course will cover, what we expect you to learn at the end of it, and what our basic assumptions are about who you are and what you know. At the end of this pre-course assignment we’ll ask you a few questions to see if you understand what you’ll learn in the course.

One goal of the course is to teach about open science, and true to our mission, we practice what we preach. The course material is publicly accessible (all on this website) and openly licensed so you can use and re-use it for free! The material is organized in the order that we will cover it in the course. Even though the course will include lots of hands-on work during the sessions, the final group project assignment will allow you to practice in a team setting everything you’ve learned. To quickly access the final project assignment from inside RStudio, run the function r3::open_assignment().

We have a Code of Conduct. If you haven’t read it, read it now. At the end there will be a survey that will ask some questions about Conduct. We want to make sure this course is a supportive and safe environment for learning, so this Code of Conduct is quite important.

You’re almost done. Please fill out the pre-course survey to finish this pre-course assignment, either at this link or with this function:

r3::open_pre_survey()

See you at the course!


text:
• This event has passed.

# Jerome Ghost Walk

\$15 – \$20

## Ghostwalk at Spook Hall –

You have reached the website of Point of Rocks RV Campground. If you need a place to stay during this event, please call us at (928) 445-9018 or submit a Campsite Inquiry; <Inquiry Link>. Information pertaining to this event is listed below, including a link to the event website. We hope you enjoy your stay here in Prescott AZ.

Annual Ghost Walk on October 13th and 14th from 6:30pm to 9:00pm for another Ghost Walk, fun and exciting dramatic performances that highlight the history of the town of Jerome, AZ.  Tours start every half hour and the tours cost \$15 for October 13th and \$20 for October 14th.  Call (928) 634-1066 for more information.

There will be 6 shows each night on October 13 and 14 , 2016. The shows are every half hour starting at 6:30 pm and the last show starts at 9:00pm.

Reservations Highly Recommended.

Children age 10 and under are admitted free.

Subject matter regarded as PG-13.

The route is not handicap accessible.

## Details

Start:
October 13, 2017
End:
October 14, 2017
Cost:
\$15 – \$20
Event Categories:
,
Event Tags:
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
Website:
https://jeromehistoricalsociety.com/event/ghostwalk-meeting-at-spook-hall/

## Venue

Spook Hall
260 Hull Ave
Jerome, AZ 86331
Phone:
(928) 634-1066
Website:
https://www.jeromehistoricalsociety.com
Prescott
38°
Cloudy
07:0917:22 MST
Feels like: 33°F
Wind: 6mph SE
Humidity: 96%
Pressure: 29.87"Hg
UV index: 0
ThuFriSat
41/28°F
48/26°F
55/28°F

format: plain


text:
# An exterior angle theorem for n-dimensional polytopes?

In the plane, the exterior angle of a vertex is $\pi -$ the standard ("interior") angle, which may be negative in some cases. The following is true for non-weird polygons:

The sum of the exterior angles at each vertex is a full turn ($2\pi$ radians).

I am informally calling polygons with self-crossing edges or holes as "weird" -- please do let me know what the standard terminology is. I have seen an extension to 3-dimensional polytopes of this form:

The sum of the exterior angles of a polytope is $4\pi$ radians.

In this case, the exterior angle of a vertex is $2\pi -$ (the sum of the face angles at that vertex). I have not seen a proof, but I think it is true for non-weird polytopes, and a modified version is probably true for polytopes with nonzero genus.

My question is: is there a general n-dimensional version of these properties?

-
I think that for "non-weird" polygons, you want convex polygons. Non-convex polygons, even if they have no self-crossings, can have exterior angles summing to more than $2\pi$. –  Gerry Myerson Aug 24 '10 at 6:52
Gerry: For a simple polygon (no self-crossings), if you define the exterior angle measure to be π minus the interior angle measure at the same vertex, with the understanding that the interior angle measure is greater than π at a concave vertex, then the sum of the exterior angle measures will always be 2π. –  Jack Lee Aug 24 '10 at 16:37
@Jack, your TeX isn't working on my screen, but I get the drift, and of course you are right, if one is willing to accept the notion of the measure of an (exterior) angle being negative. –  Gerry Myerson Aug 25 '10 at 0:39

What you call exterior angles are the curvatures at the vertices, and the result you are referring to is the combinatorial Gauss-Bonnet theorem. It says that in an angled 2-complex $K$ the sum of the curvatures at the vertices plus the sum of the curvatures at the polygonal faces is $2\pi \chi(K)$ (Euler characteristic). When your complex is piecewise Euclidean then the curvature at each face is zero implying your result in the case of polyhedra. For polyhedra, another way to see this is to perform barycentric subdivision and sum the angles of all faces to reduce your identity to $V+F-E=2$. A possible reference is this paper (theorem 4.8).

-
I do not understand what is the higher-dimensional generalization of this. –  Benoît Kloeckner Aug 24 '10 at 11:26
The idea I had is to present the higher-dimensional generalization of Gauss-Bonnet for the polyhedral case. Bloch has a paper ("The angle defect for arbitrary polyhedra") where all of this is discussed especially the higher dimensional analogue of discrete curvature, I will edit my answer to include more information later. I understand that this answer is not very informative as it is now... –  Gjergji Zaimi Aug 24 '10 at 12:23

The standard terminology is non-crossing polygon'', I think.

Concerning the generalization in arbitrary dimension, it is possible at least in the convex case. Simply define the exterior angle at a point to be the measure (with respect to the usual invariant measure on the unit sphere) of the set of exterior normal vectors to the polytope at this point. The sum is then the total volume of the unit sphere.

The key word is Alexandrov measure, and it is a generalization of Gaussian curvature that can be defined for arbitrary convex compact sets. I do not know many references, but you can try the handbook of convex geometry. It is very likely that this can be generalized to more general polyedra.

-

Here's something a bit less numerical, but more satisfying, I think.

For each vertex $v$ of the polytope $P$, let $v'$ be the set of vectors $\vec w$ such that $\langle \vec w, v-p \rangle \geq 0$ for all $p\in P$. This is a polyhedral cone. If $P$ is very round at $v$, then $v'$ is very sharp.

Theorem: if $P$ is a compact convex polytope, then the cones {$v'$} exactly cover space (at least, their interiors don't intersect).

The set of cones $v^*$ is called the "dual fan" to $P$. You can read about it in Fulton's book on toric varieties.

-


text:
• ### Sensitivity and discovery potential of the proposed nEXO experiment to neutrinoless double beta decay(1710.05075)

Oct. 19, 2018 nucl-ex, physics.ins-det
The next-generation Enriched Xenon Observatory (nEXO) is a proposed experiment to search for neutrinoless double beta ($0\nu\beta\beta$) decay in $^{136}$Xe with a target half-life sensitivity of approximately $10^{28}$ years using $5\times10^3$ kg of isotopically enriched liquid-xenon in a time projection chamber. This improvement of two orders of magnitude in sensitivity over current limits is obtained by a significant increase of the $^{136}$Xe mass, the monolithic and homogeneous configuration of the active medium, and the multi-parameter measurements of the interactions enabled by the time projection chamber. The detector concept and anticipated performance are presented based upon demonstrated realizable background rates.
• ### Deep Neural Networks for Energy and Position Reconstruction in EXO-200(1804.09641)

April 25, 2018 hep-ex, nucl-ex, physics.ins-det
We apply deep neural networks (DNN) to data from the EXO-200 experiment. In the studied cases, the DNN is able to reconstruct the relevant parameters - total energy and position - directly from raw digitized waveforms, with minimal exceptions. The accuracy of reconstruction, as evaluated on calibration data, either reaches or exceeds what was achieved by the conventional approaches developed by EXO-200 over the course of the experiment. An accurate Monte Carlo simulation is usually a prerequisite for a successful reconstruction with DNNs. We describe how in an experiment such as EXO-200 certain reconstruction and analysis tasks could be successfully performed by training the network on waveforms from experimental data, either reducing or eliminating the reliance on the Monte Carlo.
• With the observation of high-energy astrophysical neutrinos by the IceCube Neutrino Observatory, interest has risen in models of PeV-mass decaying dark matter particles to explain the observed flux. We present two dedicated experimental analyses to test this hypothesis. One analysis uses six years of IceCube data focusing on muon neutrino 'track' events from the Northern Hemisphere, while the second analysis uses two years of 'cascade' events from the full sky. Known background components and the hypothetical flux from unstable dark matter are fitted to the experimental data. Since no significant excess is observed in either analysis, lower limits on the lifetime of dark matter particles are derived: We obtain the strongest constraint to date, excluding lifetimes shorter than $10^{28}\,$s at $90\%$ CL for dark matter masses above $10\,$TeV.
• ### Search for nucleon decays with EXO-200(1710.07670)

April 11, 2018 hep-ex, nucl-ex, physics.ins-det
A search for instability of nucleons bound in $^{136}$Xe nuclei is reported with 223 kg$\cdot$yr exposure of $^{136}$Xe in the EXO-200 experiment. Lifetime limits of 3.3$\times 10^{23}$ and 1.9$\times 10^{23}$ yrs are established for nucleon decay to $^{133}$Sb and $^{133}$Te, respectively. These are the most stringent to date, exceeding the prior decay limits by a factor of 9 and 7, respectively.
• The current and upcoming generation of Very Large Volume Neutrino Telescopes - collecting unprecedented quantities of neutrino events - can be used to explore subtle effects in oscillation physics, such as (but not restricted to) the neutrino mass ordering. The sensitivity of an experiment to these effects can be estimated from Monte Carlo simulations. With the very high number of events that will be collected, there is a trade-off between the computational expense of running such simulations and the inherent statistical uncertainty in the determined values. In such a scenario, it becomes impractical to produce and use adequately-sized sets of simulated events to use with traditional methods, such as Monte Carlo weighting. In this work we present a staged approach to the generation of binned event distributions in order to overcome these challenges. By combining multiple integration and smoothing techniques which address limited statistics from simulation it arrives at reliable analysis results using modest computational resources.
• ### Search for Neutrinoless Double-Beta Decay with the Upgraded EXO-200 Detector(1707.08707)

Feb. 26, 2018 hep-ex, nucl-ex
Results from a search for neutrinoless double-beta decay $0\nu\beta\beta$ of $^{136}$Xe are presented using the first year of data taken with the upgraded EXO-200 detector. Relative to previous searches by EXO-200, the energy resolution of the detector has been improved to $\sigma/E$=1.23%, the electric field in the drift region has been raised by 50%, and a system to suppress radon in the volume between the cryostat and lead shielding has been implemented. In addition, analysis techniques that improve topological discrimination between $0\nu\beta\beta$ and background events have been developed. Incorporating these hardware and analysis improvements, the median 90% confidence level $0\nu\beta\beta$ half-life sensitivity after combining with the full data set acquired before the upgrade has increased 2-fold to $3.7 \times 10^{25}$ yr. No statistically significant evidence for $0\nu\beta\beta$ is observed, leading to a lower limit on the $0\nu\beta\beta$ half-life of $1.8\times10^{25}$ yr at the 90% confidence level.
• ### Characterization of an Ionization Readout Tile for nEXO(1710.05109)

Jan. 19, 2018 physics.ins-det
A new design for the anode of a time projection chamber, consisting of a charge-detecting "tile", is investigated for use in large scale liquid xenon detectors. The tile is produced by depositing 60 orthogonal metal charge-collecting strips, 3~mm wide, on a 10~\si{\cm} $\times$ 10~\si{\cm} fused-silica wafer. These charge tiles may be employed by large detectors, such as the proposed tonne-scale nEXO experiment to search for neutrinoless double-beta decay. Modular by design, an array of tiles can cover a sizable area. The width of each strip is small compared to the size of the tile, so a Frisch grid is not required. A grid-less, tiled anode design is beneficial for an experiment such as nEXO, where a wire tensioning support structure and Frisch grid might contribute radioactive backgrounds and would have to be designed to accommodate cycling to cryogenic temperatures. The segmented anode also reduces some degeneracies in signal reconstruction that arise in large-area crossed-wire time projection chambers. A prototype tile was tested in a cell containing liquid xenon. Very good agreement is achieved between the measured ionization spectrum of a $^{207}$Bi source and simulations that include the microphysics of recombination in xenon and a detailed modeling of the electrostatic field of the detector. An energy resolution $\sigma/E$=5.5\% is observed at 570~\si{keV}, comparable to the best intrinsic ionization-only resolution reported in literature for liquid xenon at 936~V/\si{cm}.


text:
3 views

A person travels a certain distance at $5 \; \text{km/hr}$ and reaches $10$ min late. If he travels at $6 \; \text{km/hr}$, he reaches $10$ min earlier. The distance he has to travel is :

1. $6 \; \text{km}$
2. $7.2 \; \text{km}$
3. $8 \; \text{km}$
4. $10 \; \text{km}$

1