This page is a general receptacle for information and software that I have developed
and made available to the STACEE project. For a general overview of the STACEE
project, check out the
at UCLA. Note that, in cases where I feel the data and/or information
are still proprietary, the links have been disabled.
| Package name | Version |
Description |
|---|
| Waveform Class |
2.30 |
A C++ class for working with analog waveforms. This is the foundation of my
work on Data-based software padding. The majority of the class is not specific
to STACEE FADC data, but there is a function that will read the FADC data into
the class. This leaves the class with enough generality to be used in a
variety of other applications as well (eg, simulation). Online documentation
located here.
(last updated 06/09/03)
|
| Discriminator Class |
1.02 |
A C++ class to emulate a discriminator. It operates on a Waveform object and
can return timestamps for each time it fires, or another Waveform object
representing the output discriminator trace. Complete documentation located
here.
(last updated 06/09/03)
|
| Killer Class |
1.01 |
A C++ class for time-based suppression of events or channels from a run.
Online documentation located here.
(last updated 05/02/03)
|
| FadcTrim Class |
1.01 |
A C++ class to supply the proper FADC Trims for a given channel and run
number in the STACEE data set. This class is a workaround for getting the
FadcOffsets for each channel, which are generated by Pass0, but not written
to the data stream. Online documentation located
here.
(last updated 05/02/03)
|
| AnalogTrig Class |
1.11 |
A C++ class for forming analog triggers much like those used for in the
STACEE-32 trigger. This model is an alternative to the MADDOG trigger,
currently in use on STACEE-64. Online documentation located
here.
(last updated 06/09/03)
|
| Data Padding Class |
2.01 |
A C++ class for implementing data-based software padding In this case,
data-based padding is distinguished from simulation-based padding in that
the extra signal added to the DIGI waveforms is taken from the data itself
instead of a simulated wave form. Online documentation located
here.
|
| Random Number Class |
1.00 |
A C++ class containing random number generators. This is essentially a C++
wrapper on some of the routines from Numerical Recipes in C. Online
documentation located here.
(last updated 05/02/03)
|
| Astro Class |
1.01 |
A C++ class for doing basic astronomical calculations as they apply to the
STACEE project (though it may be reconfigured for any other venue). Many (if
not all) of the algorithms in this class come from the Astronomical Almanac,
published by the US Naval Observatory. Online documentation located
here.
(last updated 05/02/03)
|
| Histogram Class |
1.00 |
A simple C++ class for producing histograms. Online documentation located
here.
(last updated 05/03/03)
|
| Sim Control |
4.20 |
A suite of PERL scripts that cue and manage the STACEE simulation chain.
These scripts are very helpful in executing and managing large-scale projects
on many different machines. The higher level control scripts use moccarun,
which is now included in this package as well. You can still get the
older simcontrol version for now (if you
really want it).
|
| Document | Description |
|---|
| Unix Primer |
This is the most recent version of my UNIX/LINUX primer for the STACEE group.
It is a bare-bones kickstart guide to using UNIX systems
|
| ST note 03_05 |
Field Brightness Asymmetries: A First Look Systematic
differences in the on- and off-source field brightness of a given observing
target results in a false signal (or deficit) due to the promotion of
sub-threshold cosmic-ray showers. This note is an analysis of the current
effort to understand this effect on a general level (previous efforts
concentrated on a single source). In addition, one possible padding algorithm
designed to minimize the promotion effect is described, and its effects on
both control and source data are presented.
|
| ST note 03_02 |
A Short History of the STACEE-64 Crab Summary of our
STACEE-64 Crab observations and the evolution of our sensitivity. The entire
Crab data set is divided into four "observing epochs," each of which
represents a distinct and relatively stable detector configuration.
Cumulative significances, inferred gamma-ray rates, and significance
distributions are presented for each epoch, followed by a short concluding
discussion of our Crab enigma.
|
| ST note 02_16 |
Corsika STACEE Users Manual This note serves as a users
manual for the STACEE version of the Corsika air-shower simulator. Included
are instructions on how to obtain, build, and run Corsika, as well as an
introduction to the software tools available to read its output.
|
| ST note 02_13 |
The Corsika STACEE Data Format Details my work with
improving the photon packing in the STACEE output option for Corsika. This
note serves the dual purpose of summarizing the current state of the STACEE
output option of the Corsika package, as well as proposing changes in that
format. The updated packing and decoding algorithms suggested in this note
would allow us to improve the quality of data coming from the air-shower
simulation with no increase in the typical file size.
|
| ST note 02-01 |
Light Curve Analysis for Markarian 421 Details some of my
work with the Markarian 421 light curve from our 2001 observations with the
STACEE-48 detector. I present various corrections to the raw curve based on
simulated detector performance, and examine how dependent they are on
assumptions made about the source spectrum. There is also a multi-wavelength
curve combining RXTE, STACEE, and Whipple data.
|
| ST note 01_05 |
Analysis of the NPMT Statistic A discussion of my work
with the NPMT statistic as it applies to the Markarian 421 and HIP 80460 data
set from early 2001. This note is an amplification/formalization of my
presentation at the McGill meeting in October, 2001. The issue of the
observed "low-threshold" bump is addressed, and two models for this feature
are suggested and evaluated. Also discussed are the prospects for using the
NPMT cut to reduce the effect of the stars in the field of view of Markarian
421.
|
| ST note 01_04 |
Markarian 421 and HIP 80460 Run Cuts This note is an
outline of the specific run cuts suggested for STACEE observations of
Markarian 421 and the star HIP 80460 between January and June of 2001. The
details and motivation for this algorithm appear in ST note 01-03.
|
| ST note 01_03 |
Markarian 421 Run Cut Algorithm This note is a discussion
of the current state of the run level analysis for the Markarian 421 data
taken between January and June of 2001. It outlines the algorithm used to
generate quality factors and discusses the confidence in these indicators.
Actual run cuts and their consequences are also briefly discussed.
|
| ST note 00_07 |
Introduction to the Hermes Electronics Simulator This note
is a brief and preliminary discussion of the STACEE electronics simulator,
Hermes. Key elements of this simulation have already been tested, and yield
reasonable results. The current incarnation attempts to package these
algorithms in a program that is standardized and readily usable by the STACEE
collaboration. This note is intended to serve as a basic users manual for the
Hermes electronics simulator. A more detailed account of the algorithms
involved is left for another note. Information in this note should be current
as of the version 2.1 release.
|
| ST note 00_03 |
STACEE-48 Electronics Hardware This note describes the
proposed electronics hardware configuration for the STACEE-48 detector.
|
| Document/Package | Description |
|---|
|
Photon Read Fix:
The current version of Corsika does not write the true particle energy to the
data stream for hadronic events. These versions of the photon reading
routines fix this problem for files generated from Corsika version 5946.
Subsequent versions of STACEE Corsika will fix this problem at the source,
and thus not need to be corrected. These versions of photon_read should allow
such inherently correct data to pass unmolested. Note that there are two
different versions of the photon_read files -- one for Sandfield and one for
Elec.
|
|
Corsika Reader:
On December 20th, Corsika version 6.010 was officially released. This new
version, aside from the usual fixes and improvements, has the capability to
write out "Stacee Output". However, this output format seems to be the old
(current) version, and not the new (proposed at McGill) version. In addition,
the output routines generated by Corsika appear to contain an error that
complicates compiling. Never the less, I have put together a C++ class to
make reading this output relatively painless. This package contains the
class, and an example file to demonstrate how to use it, and instructions on
how to produce the correct Corsika configuration. I have also included a
corrected stacee.c file - you can replace the one Corsika generates with this
one to bypass the compiling problems.
|
|
Mrk421 ApJ Paper:
This is the current draft of the Mrk421 ApJL paper.
|
|
Mrk421 Run Cuts:
Here is the software and data files used to impose both sets of run cuts
outlined in the STACEE note 01-04. The code
is a C++ class called killer that parses a data file and
flags events as good or no good according to that file. In addition to the
software, I have also included data files for two different cuts for both Mrk
421 and HIP 80460 (four files in all).
|
|
Run Cut Algorithm:
This is the basic code for the run cut algorithm outlined in the
STACEE note 01-03. It does not use STOFF
directly. Instead, you need to make a `standardized' datafile with the
`unpacker' package (also on this page). The code makes use of the
minimization packages included in ROOT (in particular, it uses Minuit), so
you also need to have ROOT installed on your system. The core of this code is
the program l1chi, which calculates Chi^2/dof for a straight line
fit to the time evolution of the L1 rates. l1chibatch.pl is a perl
script that calls l1chi for each subcluster of each run in a dataset.
The program l1cuts then looks at the output of l1chi,
applies a cut on the reduced Chi^2, and outputs the results.
|
|
Bad Channels:
This file is a pair-matched bad_channels.dat file for the Markarian 421 and
HIP 80460 data set. You should use this file if you want to be sure the same
channels are killed in both on and off source runs of a single pair. For run
pairings, see STACEE note 01-04.
|
|
Banks Documentation:
At the February meeting we talked about the need to improve the documentation
on our Stacee data product. With this in mind, I've started a detailed
description of the Stacee Banks quantities. The idea here is to merge the
different sources of information (eg. header files to .doc files) into a
verbose and easily readable central document. The ultimate goal is to produce
a single complete reference that is complete enough that someone with very
limited experience with Stacee can work with the data. This document is by no
means complete, but it is a start. I encourage you to send me any corrections
or contributions you can think of - this is quite a big project, and it
requires input from a variety of people.
|
|
Stoff++:
The reading version of Stoff++ is up an running. It has been tested by
several folks and appears stable. This is a C++ class that acts as a wrapper
to the stacee_banks worker routines. This class is essentially a C++
replacement for all the files in the offline directory of the stacee_banks
package. You should now be able to use stoff++ to read *any* STACEE data
product that can be read with regular stoff.
|
|
Pass0 Batch:
I've found that trying to run pass0 on multiple files directly from stoff
often results in a core dump (eg, RUNS 5070-5079 in the .rc file). I'm not
entirely sure why this is, but I suspect it is because stoff is opening all
the requested data files at the same time. To get around this problem, I've
put together a script that executes pass0 on a set of data files by calling
stoff separately for each file. The script is called makepass0.
Executing the script with no command line arguments yields a small help
message. The current version of this script will drive pass0 version 1.6.
|
|
Unpacker:
A little STOFF program that repacks STACEE data into a standard ASCII format.
This format is understood by my `data' class, which may be included in some
of my ``pre-stoff++'' software packages. This package also includes a perl
script that allows the user to unpack large groups of datafiles with one
command.
|
|
HV Smoothing:
The listed values for the HV on each tube is a good starting point, but one
should use the LED system (or some other system) to make fine adjustments to
these settings. This little utility reads in three input files (a pulseheight
file that contains the current measured pulseheights, an hvfile that contains
the current HV settings, and a gamma file that contains the current gamma
factors for each tube), and produces a new hv file that should bring the
tubes to the average pulse-height. If invoked without any command line
arguments, the utility will give you a little help message.
|
|
LeCroy Delays:
The LeCroy delays we use need to be calibrated before they can be used with
any confidence. The current method for calibration is to set and measure each
delay. The results of this set of measurements are put into a lookup table,
that is read in by the DAQ. Included here is the original code used to patch
the DAQ so that it accepts input from the lookup table. Also included are two
versions of the two lookup tables in use (one table for each camera). The
first version is the actual table used by the DAQ to set the delays. The
second is a postscript version that is more conducive to human review.
WARNING: These tables were current as of 9/15/98, and do not contain
any onsite adjustments.
|
|
Trims:
The process by which we calculate the various trims for the electronics is
rather thick with simple and repetitive calculations. The volume of
calculations necessary to create a full set of trims replaces the question
"Did I make an error?", with "How many errors did I make?". To remedy this,
here is a little utility that calculates trims and outputs the appropriate
trims files for you. No more calculators!
|
|
Occupancy:
The following are occupancy plots for a simple simulation in which circular
photon distributions are laid down on the heliostat array. Heliostats within
the radius of the photon distribution are assumed to be hit, and those outside
the radius are not hit. The trigger condition imposed is the standard 5/8 on
the L1 and 3/4 on the L2. Each plot represents approximately 20,000 recorded
events. Note that this does not assume anything about the secondary
optics-only whether or not each heliostat is actually hit by the shower.
|
|
Stoff Doc Corrections:
There are some errors in the installation and usage guide for the Jan99
version of STOFF, as well as some points that were confusing to me. As a
courtesy to those who may be having trouble installing and running STOFF, the
attached file is my errata sheet for both stoff_install.doc and
stoff_mini.doc, included in the January 1999 version of the offline
package. This info applies to those running stoff on an SGI, so any
problems or suggestions could be specific to that platform.
|
|
PMT Testing:
During the summer of 1998, we spent some time trying to improve the rise time
of the PMT's. We determined that, while the rise time may be improved by
about 0.1ns, that improvement is probably not worth the trouble. The attached
postscript document outlines our procedures and results, as presented at the
Chicago meeting in December of 1998.
|