Giter VIP home page Giter VIP logo

eikos's Introduction

Eikos

Installation

Master repository is https://gitlab.cern.ch/disipio/Eikos

Introductory slides: https://www.dropbox.com/s/uxfdtn74z7fxqpx/disipio_2017_10_18-eikos_bayesian_unfolding.pdf

To download the code

git clone https://gitlab.cern.ch/disipio/Eikos.git

To set up the environment:

source bin/eikos-setenv.sh 

This script will also create the directories output and img if not present.

Generate toy MC sample

cd run
eikos-generate-toyMC.py

You'll find a new file called toymc.root . It contains data, background, signal and prediction for the nominal, a few systematics and two alternative models. The signal model is given by a Gamma distribution with shape parameter kappa and scale parameter theta. The two alternative models have a different value of either parameter. The systematics are of two types: multiplicative (i.e. x' = a*x ) or additive (i.e. x' = x + a).

To execute the program (batch mode) and store the output on a text file:

eikos.py input_toymc_simple.txt | tee stdout.txt

To create diffxs plots

eikos-plot-diffxs.py -c ../share/config_plot_toymc_x_abs.xml
eikos-plot-diffxs.py -c ../share/config_plot_toymc_x_rel.xml

To create systematics pull plots:

eikos-plot-systematics_pulls.py output/toymc_statsyst/x.toymc.statsyst.root

Other plots:

eikos-plot-migrations.py output/toymc_statsyst/x.toymc.statsyst.root
eikos-plot-corrections.py output/toymc_statsyst/x.toymc.statsyst.root 
eikos-plot-correlation-matrix.py output/toymc_statsyst/x.toymc.statsyst.root

Closure and stress tests

eikos.py ../share/input_toymc_statonly_closure.txt 
eikos-plot-closure.py closure
eikos-plot-closure.py stress

Configuration file

This is a working example to be used with the ToyMC generated file. Detector systematics just need the reco-level. Modelling systematics need also the truth-level and response matrix in order to calcualte the correction factors.

set param  INPUTPATH $PWD
set param  OUTPUTPATH $PWD/output
set param  OUTPUTTAG toymc_statsyst
set param  LUMI 1.0
set param  PRECISION 2
set param  REGULARIZATION 1
set param  OBS x

set truth  path @INPUTPATH@/toymc.root:truth_nominal
set data   path @INPUTPATH@/toymc.root:data

add sample S
set sample S type signal
set sample S path nominal reco @INPUTPATH@/toymc.root:reco_nominal
set sample S path nominal resp @INPUTPATH@/toymc.root:response_nominal
set sample S path nominal gen  @INPUTPATH@/toymc.root:truth_nominal

add sample B
set sample B type background
set sample B path nominal reco @INPUTPATH@/toymc.root:bkg

add systematic syst1 -5 5
set systematic syst1 variations syst1_u syst1_d
set sample S path syst1_u reco @INPUTPATH@/toymc.root:reco_syst1_u
set sample S path syst1_d reco @INPUTPATH@/toymc.root:reco_syst1_d
set sample B path syst1_u reco @INPUTPATH@/toymc.root:bkg
set sample B path syst1_d reco @INPUTPATH@/toymc.root:bkg

add systematic syst2 -5 5
set systematic syst2 variations syst2_u syst2_d 
set sample S path syst2_u reco @INPUTPATH@/toymc.root:reco_syst2_u
set sample S path syst2_d reco @INPUTPATH@/toymc.root:reco_syst2_d
set sample B path syst2_u reco @INPUTPATH@/toymc.root:bkg
set sample B path syst2_d reco @INPUTPATH@/toymc.root:bkg

add systematic syst3 -5 5
set systematic syst3 variations syst3_u syst3_d 
set sample S path syst3_u reco @INPUTPATH@/toymc.root:reco_syst3_u
set sample S path syst3_d reco @INPUTPATH@/toymc.root:reco_syst3_d
set sample B path syst3_u reco @INPUTPATH@/toymc.root:bkg
set sample B path syst3_d reco @INPUTPATH@/toymc.root:bkg

add systematic syst4 -5 5
set systematic syst4 variations syst4_u syst4_d
set sample S path syst4_u reco @INPUTPATH@/toymc.root:reco_syst4_u
set sample S path syst4_d reco @INPUTPATH@/toymc.root:reco_syst4_d
set sample B path syst4_u reco @INPUTPATH@/toymc.root:bkg
set sample B path syst4_d reco @INPUTPATH@/toymc.root:bkg

add systematic syst_mod_kappa -5 5
set systematic syst_mod_kappa type modelling
set systematic syst_mod_kappa variations syst_mod_kappa_u @symmetrize@
set sample S path syst_mod_kappa_u reco @INPUTPATH@/toymc.root:reco_modelling_kappa
set sample S path syst_mod_kappa_u resp @INPUTPATH@/toymc.root:response_modelling_kappa
set sample S path syst_mod_kappa_u gen  @INPUTPATH@/toymc.root:truth_modelling_kappa
set sample B path syst_mod_kappa_u reco @INPUTPATH@/toymc.root:bkg

add systematic syst_mod_theta -5 5
set systematic syst_mod_theta type modelling
set systematic syst_mod_theta variations syst_mod_theta_u @symmetrize@
set sample S path syst_mod_theta_u reco @INPUTPATH@/toymc.root:reco_modelling_theta
set sample S path syst_mod_theta_u resp @INPUTPATH@/toymc.root:response_modelling_theta  
set sample S path syst_mod_theta_u gen  @INPUTPATH@/toymc.root:truth_modelling_theta
set sample B path syst_mod_theta_u reco @INPUTPATH@/toymc.root:bkg


set outfile $PWD/output/@OUTPUTTAG@/@[email protected]
set luminosity 1.0
set regularization curvature

set precision quick
set prior flat
run stage:prior nitr:0 drawplots:yes

set precision custom
set prior gauss
run stage:statsyst nitr:0 drawplots:yes writehist:yes

set precision custom
set prior gauss
run stage:statonly nitr:0 drawplots:no writehist:yes

exit

eikos's People

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.