Giter Site home page Giter Site logo

vbshwwbabylooper's Introduction

Producing baby ntuple

Download the code

git clone --recursive [email protected]:cmstas/VBSHWWBabyLooper.git
cd VBSHWWBabyLooper

Download JECs

cd NanoTools/NanoCORE/Tools/jetcorr/data/
sh download_jecs.sh
cd -

Compile the code

source setup.sh
make clean
make -j

Run the code

sh run.sh -a v2       -t v2.5_SS [-S VBSWWHToLNuLNubb_C2V]  # v2 is the tag provided by the user
sh run.sh -a v2_jecUp -t v2.5_SS [-S VBSWWHToLNuLNubb_C2V]  # _jecUp recognizes that it is to run jecUp variation
sh run.sh -a v2_jecDn -t v2.5_SS [-S VBSWWHToLNuLNubb_C2V]  # _jecDn recognizes that it is to run jecDn variation

Save the ntuples to nfs area

sh scripts/publish_baby.sh v2          # Saving v2 to nfs area
sh scripts/publish_baby.sh v2_jecUp    # Saving v2_jecUp to nfs area
sh scripts/publish_baby.sh v2_jecDn    # Saving v2_jecDn to nfs area

In case you change something, here is how one can run a test job where each job is limited to 50000 events only

sh testrun.sh

Running MiniLooper

First download the code

git clone --recursive [email protected]:cmstas/VBSHWWBabyLooper.git
cd VBSHWWBabyLooper

Set up the environment

source setup.sh

Then compile the code

cd minilooper
make clean
make -j

Run the minilooper

sh scripts/run.sh Nominal    v2.4_SS    v2    Run2    jguiang # Nominal is the tag you provide

                  ^^^^^^^    ^^^^^^^    ^^    ^^^^    ^^^^^^^
                  |||||||    |||||||    ||    ||||    |||||||
                  Yourtag    NanoSkim  Baby   Year    Username of the nfs-area where the baby is saved

Copy the histogram outputs from the minilooper to your nfs area

sh scripts/publish_result.sh Nominal v2.4_SS v2 Run2 # Nominal is the tag you provide

Run the extrapolation factor study on the output

python scripts/alpha_exp.py Nominal    v2.4_SS    v2    Run2    yxiang  # Nominal is the tag you provide

                            ^^^^^^^    ^^^^^^^    ^^    ^^^^    ^^^^^^
                            |||||||    |||||||    ||    ||||    ||||||
                            Yourtag    NanoSkim  Baby   Year    Username of the nfs-area where the histograms are saved

Run the plotter to create a bunch of plots

sh scripts/make_figures.sh Nominal    v2.4_SS    v2    Run2    yxiang   

                           ^^^^^^^    ^^^^^^^    ^^    ^^^^    ^^^^^^
                           |||||||    |||||||    ||    ||||    ||||||
                           Yourtag    NanoSkim  Baby   Year    Username of the nfs-area where the histograms are saved

Running HiggsCombine

Start with a different terminal

cd combine
source /cvmfs/cms.cern.ch/cmsset_default.sh

Following line has to be done once. Once setup next time one can skip.

source install_higgs_combine.sh # Only have to do this once

Next time, just run the following to setup it up:

source setup.sh

Now write the data cards

sh make_cards.sh

The output of the data cards are located in datacards/
For example, datacards/bdt_c2v4p5_combined.txt contains the 4 bin fit of the BDT anlysis for c2v = 4.5.
datacards/bdt_c2v4p5/ directory contains the individual bin's data cards.

Now to run the asymptotic limits, run the following:

sh run_asymptotic_limits.sh run_1

The script is not parallelized although it is easily doable.
Take a look at the script to see how they are configured. Currently it is configured to run over bdt analysis. It will take about 5 mins to run all.

Then to print out the limits in each c2v coupling points, use the following script.
Also take a look at the script to see how they are ocnfigured. Currently it is configured to print the limit value obtained from running bdt limits from previous step.

sh print_asymptotic_limits.sh run_1 # Same tag value. e.g. 'run_1'

This will parse and write the results into a python script in limits/run_1_asymptotic_results.py

To plot the result

python plot.py run_1 # Same tag value e.g. 'run_1'

The output will be in limit.pdf/png

To run toys

To run toys, instead of running sh run_asymptotic_limits.sh command one runs sh run_toy_limits.sh.
The script is provided, but have not obtained a stable results yet.

vbshwwbabylooper's People

Contributors

sgnoohc avatar jkguiang avatar

Watchers

James Cloos avatar Oliver Gutsche avatar Frank Golf avatar Sicheng Wang avatar Bennett Marsh avatar  avatar

vbshwwbabylooper's Issues

Missing bdt.icc for extraJetsApplyBDT

g++ -pthread -std=c++1z -m64 -I/cvmfs/cms.cern.ch/slc7_amd64_gcc700/cms/cmssw/CMSSW_10_0_0/external/slc7_amd64_gcc700/bin/../../../../../../../slc7_amd64_gcc700/lcg/root/6.10.09/include -Wall -Wno-unused-function -g -O2 -fPIC -fno-var-tracking -I../../NanoTools/NanoCORE -I../../rooutil/ -DLorentzVectorPtEtaPhiM4D -I../..//VBSHWWCORE -I/home/users/phchang/public_html/analysis/hwh/VBSHWWBabyLooper/rooutil -L/home/users/phchang/public_html/analysis/hwh/VBSHWWBabyLooper/rooutil -lrooutil process.cc -c -o process.o
process.cc:10:10: fatal error: bdt.icc: No such file or directory
#include "bdt.icc"
^~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:29: process.o] Error 1
make[1]: Leaving directory '/home/users/phchang/public_html/analysis/hwh/VBSHWWBabyLooper/studies/extraJetsApplyBDT'
make: *** [Makefile:16: studies/extraJetsApplyBDT/] Error 2

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.