Skip to content

Instantly share code, notes, and snippets.

View arnobaer's full-sized avatar

Bernhard Arnold arnobaer

  • MBI - Marietta Blau Institute for Particle Physics, OeAW
View GitHub Profile
@arnobaer
arnobaer / query_cut.py
Last active March 23, 2020 16:04
A quest digging into level-1 menu details...
import re
import sys
import tmGrammar
import tmTable
def parse(expression):
tmGrammar.Algorithm_Logic.clear()
if not tmGrammar.Algorithm_parser(expression):
raise ValueError("Failed to parse algorithm expression")
set -e
version="$1"
if [ -z "$1" ]
then
echo "usage: build-longterm <version>"
exit 1
fi
@arnobaer
arnobaer / import_utm.pl
Created August 20, 2020 12:35
Fixes for CMSSW
#! /usr/bin/env perl
use File::Basename;
# get the complete list of class names for replacement:
my @src = ();
my @rep = ();
open FILELIST, "L1Trigger/L1TGlobal/scripts/files.txt";
while($fullfile = <FILELIST>){
# run instrument emulations
gnome-terminal --tab -- /bin/bash -c '. env/bin/activate; python -m comet.emulator.keithley.k707 -p 11001'
gnome-terminal --tab -- /bin/bash -c '. env/bin/activate; python -m comet.emulator.keithley.k2410 -p 11002'
gnome-terminal --tab -- /bin/bash -c '. env/bin/activate; python -m comet.emulator.keithley.k2657a -p 11003'
gnome-terminal --tab -- /bin/bash -c '. env/bin/activate; python -m comet.emulator.keithley.k6517b -p 11004'
gnome-terminal --tab -- /bin/bash -c '. env/bin/activate; python -m comet_pqc.emulator.e4980a -p 11005'
gnome-terminal --tab -- /bin/bash -c '. env/bin/activate; python -m comet_pqc.emulator.environmentbox -p 11006'
gnome-terminal --tab -- /bin/bash -c '. env/bin/activate; python -m comet.emulator.corvus.venus1 -p 11007'
@arnobaer
arnobaer / install-comet-pqc.sh
Created March 18, 2021 15:53
Installer GitBash on Windows
set -e
version=$1
if [ -z "$version" ]; then
echo "usage: $0 <version>"
exit 1
fi
install_dir="./envs/comet-pqc-$version"
if [ -d "$install_dir" ]; then
echo "directory already exists: $install_dir"
exit 1
@arnobaer
arnobaer / L1Menu_Sample.py
Created May 4, 2021 07:29
Future L1Menu mockup
import l1menu
MU = l1menu.muon.pt(0)
MU_SNGL = MU.iso(12,13,14,15)
ETA_2p0 = (-2.0, 2.0)
MASS_MIN_1 = 1.0
MASS_MIN_7 = 7.0
MASS_MASS_7to18 = (7.0, 18.0)
@arnobaer
arnobaer / const_map_at_default.hxx
Last active May 14, 2021 22:01
Yet another personal C++11 recipe book
template<typename T>
const typename T::mapped_type& at(const T& m, const typename T::key_type& k, const typename T::mapped_type& d)
{
try { return m.at(k); } catch (const std::out_of_range&) { return d; };
}
def linspace(start, stop, count):
delta = (stop - start) / max(1, count - 1)
return [start + i * delta for i in range(count)]
def sample(data, count):
n = len(data)
count = min(n, count)
return [int(round(i)) for i in linspace(0, len(data) - 1, count)]
@arnobaer
arnobaer / bisect_unidirectional.py
Last active June 23, 2021 16:28
bisect for ascending and descending series
def bisect_asc(arr):
if len(arr):
return arr[-1] < arr[0]
return True
def bisect_cmp(arr):
if bisect_asc(arr):
return lambda x, y: x > y
return lambda x, y: x < y
import math
__all__ = ['round_half_away_from_zero']
def round_half_away_from_zero(n: float, decimals: int = 0) -> float:
multiplier: float = 10 ** decimals
return math.copysign(math.floor(abs(n * multiplier) + 0.5) / multiplier, n)