About csky
Introduction
csky is an unbinned likelihood maximization library optimized for the sorts of analyses commonly performed by the IceCube Neutrino Sources working group. It tries to strike a balance between flexibility and ease-of-use within that domain. It was originally written by Mike Richman (<mike.d.richman@gmail.com> / @mrichman on IceCube Slack / hereafter “I/me/my/etc”).
In many ways, csky is a direct response to skylab, whose wiki notes:
The current inheritance structure is top-down which leads to a fair amount of copied code and makes it difficult to follow calculations all the way through. It would help to make the likelihood class more modular with individual classes for the spatial and energy components. – @jwood
For how csky addresses this and other concerns, see the page on Design.
Features
Space PDFs
Single source or multi-source stacking
Optional source extension (circular Gaussian)
Optional signal subtraction
Highly-extended source with healpy template
Constant spectrum per pixel
Energy-binned spectrum per pixel
Energy PDFs
Fit power law (even for template analysis)
Fix arbitrary spectrum
Time PDFs
Gaussian or box flare fitting (fit peak time and/or flare width)
Multiflare (box flares)
A priori binned lightcurve
Fast transients (fixed box or fixed box+tails)
All-sky scans
Supports any single-point-like-source method
Get full scan results
Batch all-sky scan hottest-spot search trials
Optional last-step source position refinement
Optional spatial prior
Running trials
Robust sensitivity / discovery potential / upper limit estimation
Local multi-core multiprocessing
Optional live feedback during trial batch execution, sensitivity estimation, etc.
Data wrangling
Automatically mirror datasets
Cache expensive PDF constructions (e.g. energy PDF ratios, smoothed templates)
Slurp cluster outputs out of directory hierarchies (e.g. from cluster jobs)
Plotting
Enable TeX for all text rendering
Skymap plotting helper
Silence noisy healpy outputs
Name and origin
The name “csky” is a bit of a historical accident. The library was originally written for use with IceCube cascades. Over time, it developed into a far more flexible tool. Now you can think of it as a tool with which you can “c” (read: see) the sky (like, with neutrinos)… or something something certain parts of it are in C++ something something.
csky is the culmination of my (@mrichman’s) lessons learned on IceCube,
building on years of experience with now defunct grbllh
, multiple
iterations of cascade-only analysis, and finally a couple of iterations of
multiflavor-tolerant analysis before being distilled into the current form. I
think I’ve finally found a design that is sufficiently robust
to apply to nearly every type of astrophysical neutrino source search we do.
And I hope csky will prove useful to ‘cubers who outlast me.
Users
Known active users
Known active users, listed roughly from longest to shortest time using:
Mike Richman (original author & maintainer)
Cascade 2yr PS GP (but csky almost entirely rewritten since then)
Steve Sclafani
Paul Coppin
Neutrinos from GRB Precursors (focus on GBM directional modeling)
Devyn Rysewyk
William Luszczak
Multiflare stacking (all-sky scans coming soon)
Kunal Deoskar
Neutrinos from GRB Precursors (focus on precursor-duration fitting)
Chujie Chen
GRECO all-sky scan (eventually including transient likelihood)
Qinrui Liu
Interested / getting started
People expressing interest / just getting started:
Mirco Huennefeld
interested in performance benchmarking with varied reconstructions and error error estimates
Christian Haack
interested in performance benchmarking with varied reconstructions and error error estimates
Pablo Correa
Ultra-luminous infrared galaxy stacking
Martina Karl
Self-triggered analysis
Lisa Schumacher
UHECRs as spatial priors for source searches
Presentations
2019 Chiba LLH Developers’ Workshop
2019 Madison LLH Developers’ Workshop
2018 Stockholm LLH Developers’ Workshop