Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
+ 💻

Matthew Feickert matthewfeickert

💭
+ 💻
View GitHub Profile
View .gitignore
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
@matthewfeickert
matthewfeickert / main.tex
Last active Sep 15, 2022
short thoughts on Reinterpretation and recasting
View main.tex
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
Example of regex in pytest ini options failing
View README.md
@matthewfeickert
matthewfeickert / README.md
Last active May 25, 2022
Scientific open source software I've contributed to
View README.md

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 Mar 8, 2022
Use a CVMFS LCG view hybrid Python virtual environment for HTCondor submissions
View README.md

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 Mar 3, 2022
Summary of fixed POI problem for WSMaker to pyhf translation
View README.md

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 Feb 18, 2022
Example for mplhep problem with contourf
View README.md

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 Feb 8, 2022
Collections of examples of how to deal with the multi-hat aspects of being a maintainer of an open source project.
View README.md

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 Jan 9, 2022
Minimal example of xrootd Python wheel failing with setuptools v60.0.0+
View Dockerfile
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 Nov 11, 2021
floating point deviation in jax.numpy.percentile between v0.2.20 and v0.2.21
View README.md

Floating point deviation in jax.numpy.percentile with linear interpolation 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