Skip to content

Instantly share code, notes, and snippets.

View alexpearce's full-sized avatar

Alex Pearwin alexpearce

View GitHub Profile
@alexpearce
alexpearce / sqlite3_timing.py
Created October 27, 2014 10:44
Timing operations on an SQLite database.
import timeit
import os
DB_PATH = 'database.db'
# Number of runs to generate
NRUNS = int(1e6)
insert_setup = """import sqlite3
con = sqlite3.connect('{0}')
con.execute('CREATE TABLE runs (run INTEGER PRIMARY KEY)')
@alexpearce
alexpearce / sqlite3_example.py
Last active August 29, 2015 14:08
Creating and manipulating a run number database.
import sqlite3
import random
# Create the database
con = sqlite3.connect('/path/to/database.db')
con.execute('CREATE TABLE runs (run INTEGER PRIMARY KEY)')
# Insert many runs...
runs = range(int(1e3))
random.shuffle(runs)
@alexpearce
alexpearce / offset_text.py
Last active November 5, 2020 07:03
Nice offset label formatting in matplotlib. See [the blog post](https://alexpearce.me/2014/04/exponent-label-in-matplotlib/) for more.
import numpy as np
from matplotlib import pyplot as plt
fig = plt.figure(figsize=(5, 4))
# Generate some data
mu, sigma = 1e7, 1e6
s = np.random.normal(mu, sigma, 10000)
# Plot it
plt.hist(s, 30, histtype='step')
# Format it
@alexpearce
alexpearce / test.cpp
Created January 20, 2014 10:30
This is an example C++ class using C++11 features and ROOT.
#include "iostream"
#include "map"
#include "TString.h"
int main(int argc, char const *argv[])
{
std::map<int, TString>myMap {
{2, "Hello"},
{4, "There"},
{8, "Stranger"},
@alexpearce
alexpearce / rootdocs.sh
Created March 11, 2013 14:37
RootDocs is a tiny bash script for launching documentation for ROOT classes.
#!/bin/bash
function bail {
echo You did not enter a valid ROOT class $1
exit 1
}
if [ -n "$1" ]; then
if [ `expr match $1 T` == 1 ]; then
status_code=`curl -o /dev/null -sIw "%{http_code}" http://root.cern.ch/root/html/$1.html`