def test_set_style_self_consistent(fig_test, fig_ref, mplhep_style, str_alias): plt.rcParams.update(plt.rcParamsDefault) hep.rcParams.clear() hep.set_style(mplhep_style) fig_ref.subplots() hep.rcParams.clear() hep.set_style(str_alias) fig_test.subplots()
def test_set_style_style_list(fig_test, fig_ref, mplhep_style, str_alias): plt.rcParams.update(plt.rcParamsDefault) hep.rcParams.clear() plt.style.use([mplhep_style, {"font.sans-serif": "Comic Sans MS"}]) fig_ref.subplots() hep.rcParams.clear() hep.set_style([str_alias, {"font.sans-serif": "Comic Sans MS"}]) fig_test.subplots()
def test_set_style(fig_test, fig_ref, mplhep_style): plt.rcParams.update(plt.rcParamsDefault) hep.rcParams.clear() plt.style.use(mplhep_style) fig_ref.subplots() hep.rcParams.clear() hep.set_style(mplhep_style) fig_test.subplots()
def test_set_style_LHCb_dep(fig_test, fig_ref): plt.rcParams.update(plt.rcParamsDefault) hep.rcParams.clear() with pytest.warns(FutureWarning): plt.style.use(hep.style.LHCb) fig_ref.subplots() hep.rcParams.clear() hep.set_style(hep.style.LHCb) fig_test.subplots()
def plotMatrix(biasMatrix, funcs, funcDegs, outdir): hep.set_style(hep.style.CMS) fig, ax = plt.subplots() ax.set_xticklabels(funcs) ax.set_yticklabels(funcs) hep.hist2dplot(biasMatrix, labels=True, vmin=-1, vmax=1, cmap='RdBu_r') ax.set_xlabel('gen function', ha='right', x=1) ax.set_ylabel('fit function', ha='right', y=1) #ax.set_title('MC') if not os.path.isdir(outdir): os.makedirs(outdir) for ext in ['png', 'pdf']: fig.savefig( os.path.join( outdir, f'{args.dataOrMC}_' + '_'.join([f'{f}{d}' for f, d in funcDegs.items()]) + f'_r{args.rInjected}_{args.signal}.{ext}'))
morph_base = MorphHistW2(source_file['catp2']) scale_up = morph_base.get(shift=args.scale) scale_down = morph_base.get(shift=-args.scale) smear_up = morph_base.get(scale=1 + args.smear) smear_down = morph_base.get(scale=1 - args.smear) if args.plot: import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import mplhep as hep hep.set_style("CMS") fig, ax = plt.subplots() hep.histplot(morph_base.get()[:2], c='black' , ls=':', label='Nominal') hep.histplot(scale_up[:2], c='blue' , ls='--', label='Up') hep.histplot(scale_down[:2], c='red' , ls='--', label='Down') ax.set_xlabel('jet $m_{SD}$') ax.legend() fig.savefig(f'{work_dir}/scale.png') fig, ax = plt.subplots() hep.histplot(morph_base.get()[:2], c='black' , ls=':', label='Nominal') hep.histplot(smear_up[:2], c='blue' , ls='--', label='Up') hep.histplot(smear_down[:2], c='red' , ls='--', label='Down') ax.set_xlabel('jet $m_{SD}$') ax.legend() fig.savefig(f'{work_dir}/smear.png')
# Copyright (c) 2020 zfit import mplhep import numpy as np import zfit mplhep.set_style('LHCb2') import matplotlib.pyplot as plt plt.rcParams["font.serif"] = "cmr10" # create space obs = zfit.Space("x", limits=(-10, 10)) # parameters mu = zfit.Parameter("mu", 1., -4, 6) sigma = zfit.Parameter("sigma", 1., 0.1, 10) lambd = zfit.Parameter("lambda", -0.06, -1, -0.01) frac = zfit.Parameter("fraction", 0.3, 0, 1) # model building, pdf creation gauss = zfit.pdf.Gauss(mu=mu, sigma=sigma, obs=obs) exponential = zfit.pdf.Exponential(lambd, obs=obs) model = zfit.pdf.SumPDF([gauss, exponential], fracs=frac) # data n_sample = 10000 exp_data = exponential.sample(n=n_sample * (1 - frac)).numpy()
# Coded in Python 3 # c-tagger WP measurement using NanoAOD. # Author: Spandan Mondal, # RWTH Aachen University import pickle, glob, sys, pandas as pd, argparse import matplotlib.pyplot as plt import matplotlib.patches as mpatches from matplotlib.lines import Line2D import mplhep as hep, numpy as np hep.set_style(hep.style.CMS) parser = argparse.ArgumentParser("Measurement of c-tagger WPs") parser.add_argument('-i', '--inputdir', type=str, default="/mnt/c/Work/ctaggerWP/", help="Path to input dir containing pkls (if multiple).") parser.add_argument( '-f', '--inputfile', type=str, default="/mnt/c/Work/ctaggerWP/UL16NanoAODAPVv2_TTToHadronic.pkl", help="Input file name.") parser.add_argument( '-s', '--skipseeds', action="store_true", default=False, help="Skip 1D scans that identify starting points for 2D scans.") parser.add_argument('-p',
import numpy as np import pandas as pd from matplotlib import pyplot as plt import matplotlib.patches as mpatches from PIL import Image import argparse from glob import glob import gc import yaml from utils import * from fit_model import norm_pdf, uniform_pdf, model, MyChi2 from iminuit import Minuit import mplhep mplhep.set_style('CMS') import time ############################################################################ parser = argparse.ArgumentParser() parser.add_argument("cfg", type=str, help="path to yaml configuration file") args = parser.parse_args() with open(args.cfg) as f: cfg_dict = yaml.load(f, Loader=yaml.FullLoader) # definitions path_to_images = cfg_dict['path_to_images'] images_range = cfg_dict['images_range'] log_step = cfg_dict['log_step']
import torch.nn.utils.prune as prune # Import our own code import models import jet_dataset from training.early_stopping import EarlyStopping from training.train_funcs import train, val # ,test_pruned as test from tools.aiq import calc_AiQ from training.training_plots import plot_total_loss, plot_total_eff, plot_metric_vs_bitparam, plot_kernels from tools.param_count import countNonZeroWeights from tools.parse_yaml_config import parse_config from matplotlib import rcParams rcParams.update({'figure.autolayout': True}) import mplhep as hep hep.set_style(hep.style.ROOT) # Quick and dirty script to generate a few misc plots, specifically those requiring an inference # on the test set to be run, and another because im too lazy to make it a seperate script def loss_plot(precision, model_loss, model_estop,label="", outputDir='..'): #{nbits:[model_loss,model_eff,model_estop]}) # Total loss over fine tuning tloss_plt = plt.figure() tloss_ax = tloss_plt.add_subplot() nbits = precision filename = 'total_loss_{}b_{}.pdf'.format(nbits, label) tloss_ax.plot(range(1, len(model_loss[0]) + 1), model_loss[0], label='Training Loss') tloss_ax.plot(range(1, len(model_loss[1]) + 1), model_loss[1], label='Validation Loss') # plot each stopping point
ax=ax1, error_opts={'color': 'black'}) hist.plot.plot1d(Fail['data_obs'].integrate('genflavor', 0), ax=ax2, error_opts={'color': 'black'}) hist.plot.plot1d(Pass[mclist].integrate('genflavor'), ax=ax1, clear=False, stack=True) hist.plot.plot1d(Fail[mclist].integrate('genflavor'), ax=ax2, clear=False, stack=True) fig.savefig(f'{store_dir}/datamc.png') hep.set_style('CMS') fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(18, 8)) hep.histplot(temp_data_pass.values()[()], temp_data_pass.axis('msd').edges(), ax=ax1, histtype='errorbar', color='black', label='Data', yerr=True) hep.histplot( [temp_unmatched_pass.values()[()], temp_matched_pass.values()[()]], temp_matched_pass.axis('msd').edges(), stack=True, ax=ax1, label=['Unmatched', 'Matched'],