Skip to content

Instantly share code, notes, and snippets.

View matthewfeickert's full-sized avatar
💭
☕ + 💻

Matthew Feickert matthewfeickert

💭
☕ + 💻
View GitHub Profile
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
@matthewfeickert
matthewfeickert / main.tex
Last active September 15, 2022 23:04
short thoughts on Reinterpretation and recasting
Detailed preservation of data and analyses enables their re-use beyond the scope of the original analyses.
This includes reinterpreting the results in combination with the outputs of other analyses (e.g. in global fits), reusing one or several existing analyses for testing new theoretical ideas (recasting), or reusing experimental or simulation data for a completely new analysis.
Designing and implementing datasets and analyses with this reuse in mind helps guide the pragmatic choices for where preservation effort is best spent.
Effective reinterpretation and recasting requires the preservation of both analysis data products and analyses, though the goals of the reinterpretation may require different levels of fidelity of the preservation.
For example, ATLAS has implemented full fidelity analysis reinterpretations internally using the RECAST framework and fully preserved analysis workflows.
CMS has similarly implemented much more lightweight solutions, with a smaller scope focus of statistically combining an
@matthewfeickert
matthewfeickert / README.md
Last active May 27, 2022 22:02
Example of regex in pytest ini options failing
@matthewfeickert
matthewfeickert / README.md
Last active May 25, 2022 06:33
Scientific open source software I've contributed to

Scientific open source software I've contributed to

This is an incomplete list that focuses only on software that is widely used to some extent.

This Gist is motivated by [Michael Zingale][Micahel GitHub]'s (@zingale) idea of an ["open source passport"][open source passport tweet]. This is not meant to be a prototype, but just a list until such a project gets made.

@matthewfeickert
matthewfeickert / README.md
Last active March 8, 2022 21:31
Use a CVMFS LCG view hybrid Python virtual environment for HTCondor submissions

Use a CVMFS LCG view hybrid Python virtual environment for HTCondor submissions

Create virtual environment

Generate a Python virtual environment using the Python runtime provided by a LCG view, and then from a high level requirements.txt file use pip-tools to compile an environment given by the accompanying lock file.

$ bash create_cvmfs_venv.sh
@matthewfeickert
matthewfeickert / README.md
Created March 3, 2022 07:25
Summary of fixed POI problem for WSMaker to pyhf translation

Summary of fixed POI problem for WSMaker to pyhf translation

It is desirable to be able to take a workspace created with WSMaker and use pyhf's translation utilities to write out a HistFactory JSON workspace file that is a pyhf compatible format. This is possible, however, when this happens the workspace has the POI fixed, which then makes statistical inference impossible.

Example

JC has shared with us one of his WSMaker workspaces that he's generated

$ tree -L 1 output/SemileptonicVBS_mc16ade_v3312_1LepOnly.1lepResBooRNNNoFid_m5_p0_SemileptonicVBS_13TeV_Systs_FS0_0_1lepResBooRNNNoFid_m5_p0/
@matthewfeickert
matthewfeickert / README.md
Last active February 18, 2022 16:09
Example for mplhep problem with contourf

mplhep styles with contourf log scale causes hang

I'm trying to do an interpolation of some points on a grid with mplhep v0.3.21 for an analysis at the moment. However, if I try to use matplotlib.pyplot.contourf with log spaces color levels using mplhep will cause a warning along the lines of

# Locator attempting to generate 18497 ticks ([0.15405694150420948, ..., 999.9912470033628]), which exceeds Locator.MAXTICKS (1000).

and it will then hang (I don't know if it resolves, as I kill it with a KeyboardInterrupt when it is clear it won't finish in a second or so).

@matthewfeickert
matthewfeickert / README.md
Created February 8, 2022 20:32
Collections of examples of how to deal with the multi-hat aspects of being a maintainer of an open source project.

Advice for Open Source Maintainers

Collections of examples of how to deal with the multi-hat aspects of being a maintainer of an open source project.

Code of Conduct Issues

Refusal to accept Code of Conduct

@matthewfeickert
matthewfeickert / Dockerfile
Last active January 9, 2022 00:16
Minimal example of xrootd Python wheel failing with setuptools v60.0.0+
ARG BASE_IMAGE=python:3.9-slim-bullseye
FROM ${BASE_IMAGE} as base
SHELL [ "/bin/bash", "-c" ]
COPY packages.txt packages.txt
# Set PATH to pickup virtualenv by default
ENV PATH=/usr/local/venv/bin:"${PATH}"
RUN apt-get -qq -y update && \
DEBIAN_FRONTEND=noninteractive apt-get -qq -y install --no-install-recommends $(cat packages.txt) && \
@matthewfeickert
matthewfeickert / README.md
Last active November 11, 2021 07:00
floating point deviation in jax.numpy.percentile between v0.2.20 and v0.2.21

Hi. There is some (very minor) deviations in the output of jax.numpy.percentile between jax v0.2.20 and v0.2.21 in the case that linear interpolation is used (the default). Interestingly, it is really in jax.numpy.percentile and not in jax.numpy.quantile as can be shown in the included example (for convenience this Issue also exists as a GitHub Gist).

Minimal failing example

# example.py
import jax
import jax.numpy as jnp