CI #1468
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This is a basic workflow to help you get started with Actions | |
name: CI | |
# Controls when the workflow will run | |
on: | |
# Triggers the workflow on push or pull request events but only for the master branch | |
pull_request: | |
branches: [ main ] | |
schedule: | |
- cron: '0 1 * * 2,4,6' # Run on Tuesday, Thursday, and Saturday morning at 1h00 UTC | |
- cron: '30 5 * * 1-5' # Run on weekdays | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
env: | |
MAX_FILES: 10 | |
LUMI_SCALE: 760 | |
NTHREADS: 16 | |
LOCAL_WEB_DIR: www/WMassAnalysis/PRValidation | |
EOS_DIR: /eos/user/c/cmsmwbot | |
EOS_DATA_DIR: /store/cmst3/group/wmass/w-mass-13TeV/NanoAOD | |
OUTFILE_WMASS: "mw_with_mu_eta_pt.hdf5" | |
OUTFILE_DILEPTON: "mz_dilepton.hdf5" | |
OUTFILE_WLIKE: "mz_wlike_with_mu_eta_pt.hdf5" | |
OUTFILE_LOWPU_E: "mw_lowPU_e.hdf5" | |
OUTFILE_LOWPU_MU: "mw_lowPU_mu.hdf5" | |
OUTFILE_LOWPU_EE: "mz_lowPU_ee.hdf5" | |
OUTFILE_LOWPU_MUMU: "mz_lowPU_mumu.hdf5" | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
# Can't get these permissions to work for now | |
# comment_on_pr: | |
# runs-on: [self-hosted, linux, x64] | |
# permissions: write-all | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v3 | |
# | |
# - name: setup plot dir | |
# run: echo PLOT_DIR=$(date +%Y_%m_%d)/PR$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }') >> $GITHUB_ENV | |
# | |
# - name: form message | |
# run: echo "MESSAGE=\"Validation plots from the CI can be found [here](https://cmsmwbot.web.cern.ch/WMassAnalysis/PRValidation/${{env.PLOT_DIR}})\"" >> $GITHUB_ENV | |
# | |
# - name: Comment PR | |
# uses: actions/github-script@v5 | |
# with: | |
# github-token: ${{secrets.GITHUB_TOKEN}} | |
# script: | | |
# github.rest.issues.createComment({ | |
# issue_number: context.issue.number, | |
# owner: context.repo.owner, | |
# repo: context.repo.repo, | |
# body: ${{env.MESSAGE}} | |
# }) | |
setenv: | |
runs-on: [self-hosted, linux, x64] | |
outputs: | |
WREMNANTS_OUTDIR: ${{steps.export.outputs.WREMNANTS_OUTDIR}} | |
WEB_DIR: ${{steps.export.outputs.WEB_DIR}} | |
PLOT_DIR: ${{steps.export.outputs.PLOT_DIR}} | |
NTHREADS: ${{steps.export.outputs.NTHREADS}} | |
MAX_FILES: ${{steps.export.outputs.MAX_FILES}} | |
LUMI_SCALE: ${{steps.export.outputs.LUMI_SCALE}} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
lfs: 'true' | |
- name: setup kerberos | |
run: | | |
kinit -kt ~/private/.keytab [email protected] | |
klist -k -t -e ~/private/.keytab | |
klist | |
echo "xrdfs root://eosuser.cern.ch// ls $EOS_DIR" | |
xrdfs root://eosuser.cern.ch// ls $EOS_DIR | |
- name: setup kerberos within singularity image | |
run: | | |
scripts/ci/run_with_singularity.sh kinit -kt ~/private/.keytab [email protected] | |
scripts/ci/run_with_singularity.sh klist -k -t -e ~/private/.keytab | |
scripts/ci/run_with_singularity.sh klist | |
echo "xrdfs root://eoscms.cern.ch// ls $EOS_DATA_DIR" | |
scripts/ci/run_with_singularity.sh xrdfs root://eoscms.cern.ch// ls $EOS_DATA_DIR | |
- name: setup unscheduled | |
if: github.event_name != 'schedule' | |
run: echo PLOT_DIR=PR$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')/$(date +%Y_%m_%d) >> $GITHUB_ENV | |
- name: setup scheduled build | |
if: github.event.schedule == '0 1 * * 2,4,6' | |
run: | | |
echo PLOT_DIR=ScheduledBuilds/$(date +%Y_%m_%d)_$(git rev-parse --short "$GITHUB_SHA") >> $GITHUB_ENV | |
- name: setup reference run | |
if: github.event.schedule == '30 5 * * 1-5' | |
run: | | |
echo PLOT_DIR=ReferenceRuns/$(date +%Y_%m_%d)_$(git rev-parse --short "$GITHUB_SHA") >> $GITHUB_ENV | |
- name: setup 1:1 data:mc events | |
if: github.event_name != 'pull_request' && github.event.schedule != '30 5 * * 1-5' | |
run: | | |
echo "NTHREADS=64" >> $GITHUB_ENV | |
echo "MAX_FILES=-2" >> $GITHUB_ENV | |
echo "LUMI_SCALE=1" >> $GITHUB_ENV | |
- name: setup outdir | |
run: echo "WREMNANTS_OUTDIR=/tmp/${USER}/$(uuidgen)" >> $GITHUB_ENV | |
- name: setup webdir | |
# TODO: Get the local writing+copy to eos working | |
run: echo "WEB_DIR=$WREMNANTS_OUTDIR/$LOCAL_WEB_DIR" >> $GITHUB_ENV | |
- name: create webdir | |
run: mkdir -p ${{env.WEB_DIR}} | |
- id: export | |
run: | | |
echo "PLOT_DIR=$PLOT_DIR" >> $GITHUB_OUTPUT | |
echo "MAX_FILES=$MAX_FILES" >> $GITHUB_OUTPUT | |
echo "LUMI_SCALE=$LUMI_SCALE" >> $GITHUB_OUTPUT | |
echo "NTHREADS=$NTHREADS" >> $GITHUB_OUTPUT | |
echo "WREMNANTS_OUTDIR=$WREMNANTS_OUTDIR" >> $GITHUB_OUTPUT | |
echo "WEB_DIR=$WEB_DIR" >> $GITHUB_OUTPUT | |
w-analysis: | |
# The type of runner that the job will run on | |
runs-on: [self-hosted, linux, x64] | |
needs: setenv | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
NTHREADS: ${{ needs.setenv.outputs.NTHREADS }} | |
MAX_FILES: ${{ needs.setenv.outputs.MAX_FILES }}*10 | |
run: | | |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
echo "NTHREADS=${NTHREADS}" >> $GITHUB_ENV | |
echo "MAX_FILES=${MAX_FILES}" >> $GITHUB_ENV | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
lfs: 'true' | |
# run this with --theoryAgnostic --poiAsNoi since it only adds one histogram without changing anything else | |
- name: wmass analysis | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/histmakers/mw_with_mu_eta_pt.py -j $((NTHREADS)) --maxFiles $((MAX_FILES)) --forceDefaultName -o $WREMNANTS_OUTDIR --theoryAgnostic --poiAsNoi | |
w-fit: | |
# The type of runner that the job will run on | |
runs-on: [self-hosted, linux, x64] | |
needs: [setenv, w-analysis] | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
WEB_DIR: ${{ needs.setenv.outputs.WEB_DIR }} | |
PLOT_DIR: ${{ needs.setenv.outputs.PLOT_DIR }} | |
LUMI_SCALE: ${{ needs.setenv.outputs.LUMI_SCALE }} | |
run: | | |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
echo "WEB_DIR=${WEB_DIR}" >> $GITHUB_ENV | |
echo "PLOT_DIR=${PLOT_DIR}" >> $GITHUB_ENV | |
echo "LUMI_SCALE=${LUMI_SCALE}" >> $GITHUB_ENV | |
echo "HIST_FILE=${WREMNANTS_OUTDIR}/${OUTFILE_WMASS}" >> $GITHUB_ENV | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
lfs: 'true' | |
- name: wmass setup lumi scale | |
if: github.event_name == 'pull_request' || github.event.schedule == '30 5 * * 1-5' | |
run: | | |
echo "LUMI_SCALE=120" >> $GITHUB_ENV | |
- name: wmass combine setup | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/combine/setupCombine.py -i $HIST_FILE --lumiScale $LUMI_SCALE -o $WREMNANTS_OUTDIR | |
- name: wmass combine fit | |
run: cmssw-cc7 --command-to-run scripts/ci/run_combine.sh /home/c/cmsmwbot/combinetf/CMSSW_10_6_30/src/ mass ${WREMNANTS_OUTDIR}/WMass_eta_pt_charge WMass_plus.txt WMass_minus.txt | |
- name: wmass combine impacts | |
run: scripts/ci/run_with_singularity.sh scripts/ci/show_impacts.sh $WREMNANTS_OUTDIR/WMass_eta_pt_charge/fitresults_123456789.root $WEB_DIR/$PLOT_DIR impactsW.html | |
# theory agnostic with POI as NOI | |
- name: wmass theory agnostic combine setup | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/combine/setupCombine.py -i $HIST_FILE --lumiScale $LUMI_SCALE -o ${WREMNANTS_OUTDIR}/theoryAgnostic_poisAsNoi/ --theoryAgnostic --poiAsNoi | |
- name: wmass theory agnostic combine fit | |
run: cmssw-cc7 --command-to-run scripts/ci/run_combine.sh /home/c/cmsmwbot/combinetf/CMSSW_10_6_30/src/ mass ${WREMNANTS_OUTDIR}/theoryAgnostic_poisAsNoi/WMass_eta_pt_charge WMass_plus.txt WMass_minus.txt | |
- name: wmass combine impacts | |
run: scripts/ci/run_with_singularity.sh scripts/ci/show_impacts.sh ${WREMNANTS_OUTDIR}/theoryAgnostic_poisAsNoi/WMass_eta_pt_charge/fitresults_123456789.root $WEB_DIR/$PLOT_DIR impactsW_theoryAgnostic.html | |
w-plotting: | |
# The type of runner that the job will run on | |
runs-on: [self-hosted, linux, x64] | |
needs: [setenv, w-analysis] | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
WEB_DIR: ${{ needs.setenv.outputs.WEB_DIR }} | |
PLOT_DIR: ${{ needs.setenv.outputs.PLOT_DIR }} | |
run: | | |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
echo "WEB_DIR=${WEB_DIR}" >> $GITHUB_ENV | |
echo "PLOT_DIR=${PLOT_DIR}" >> $GITHUB_ENV | |
echo "HIST_FILE=${WREMNANTS_OUTDIR}/${OUTFILE_WMASS}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
lfs: 'true' | |
- name: test | |
run: echo "The web dir is $WEB_DIR plot dir is ${PLOT_DIR}" | |
- name: wmass plotting | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --yscale 1.3 --hists pt eta pt-eta -p $WEB_DIR -f $PLOT_DIR -a W $HIST_FILE variation --varName nominal_uncorr --varLabel MiNNLO --colors red | |
- name: wmass plot mt | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --rebin 2 --yscale 1.5 --baseName transverseMass --hists mt -p $WEB_DIR -f $PLOT_DIR $HIST_FILE | |
- name: wmass plot MET | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --rebin 2 --yscale 1.5 --baseName MET --hists met -p $WEB_DIR -f $PLOT_DIR $HIST_FILE | |
- name: wmass plot Wpt | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --rebin 1 --yscale 1.5 --baseName ptW --hists recoWpt -p $WEB_DIR -f $PLOT_DIR $HIST_FILE | |
- name: wmass plot massShift | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py -a massVariation --yscale 1.4 --hist pt --baseName nominal -r 0.98 1.02 -p $WEB_DIR -f $PLOT_DIR $HIST_FILE variation --varName massWeightW --selectEntries massShiftW100MeVUp massShiftW100MeVDown --varLabel massShift100MeVUp massShift100MeVDown --selectAxis massShift --color grey grey | |
lowpu-w: | |
# The type of runner that the job will run on | |
runs-on: [self-hosted, linux, x64] | |
needs: setenv | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
WEB_DIR: ${{ needs.setenv.outputs.WEB_DIR }} | |
PLOT_DIR: ${{ needs.setenv.outputs.PLOT_DIR }} | |
NTHREADS: ${{ needs.setenv.outputs.NTHREADS }} | |
run: | | |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
echo "WEB_DIR=${WEB_DIR}" >> $GITHUB_ENV | |
echo "PLOT_DIR=${PLOT_DIR}" >> $GITHUB_ENV | |
echo "NTHREADS=${NTHREADS}" >> $GITHUB_ENV | |
echo "COMBINED_DIR=$WREMNANTS_OUTDIR/WMass_lowPU_mt" >> $GITHUB_ENV | |
echo "HIST_FILE_MU=${WREMNANTS_OUTDIR}/${OUTFILE_LOWPU_MU}" >> $GITHUB_ENV | |
echo "HIST_FILE_E=${WREMNANTS_OUTDIR}/${OUTFILE_LOWPU_E}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
lfs: 'true' | |
- name: lowpu w mu analysis | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/histmakers/mw_lowPU.py -o $WREMNANTS_OUTDIR -j $NTHREADS --forceDefaultName --noRecoil --unfolding | |
- name: lowpu w mu plot ptW | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --hists ptW -p $WEB_DIR -f $PLOT_DIR/lowPU -a mu $HIST_FILE_MU variation --varName nominal_uncorr --varLabel MiNNLO --colors red | |
- name: lowpu w mu plot pt | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --baseName lep_pt --hists pt -a mu -p $WEB_DIR -f $PLOT_DIR/lowPU $HIST_FILE_MU | |
- name: lowpu w mu plot eta | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --yscale 1.5 --baseName lep_eta --hists eta -a mu -p $WEB_DIR -f $PLOT_DIR/lowPU $HIST_FILE_MU | |
- name: lowpu w mu plot mt | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --rebin 2 --baseName transverseMass --hists mt -a mu -p $WEB_DIR -f $PLOT_DIR/lowPU $HIST_FILE_MU | |
- name: lowpu w mu combine mt setup | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/combine/setupCombine.py -i $HIST_FILE_MU --baseName transverseMass --fitvar mt-charge -o $WREMNANTS_OUTDIR | |
- name: lowpu w mu plot response matrix | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/response_matrix.py --axes ptW-ptVGen --procFilters Wmunu -p mu -o $WEB_DIR -f $PLOT_DIR/lowPU $HIST_FILE_MU | |
- name: lowpu w e analysis | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/histmakers/mw_lowPU.py -o $WREMNANTS_OUTDIR -j $NTHREADS --forceDefaultName --unfolding --noRecoil --flavor e | |
- name: lowpu w e plot ptW | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --hists ptW -p $WEB_DIR -f $PLOT_DIR/lowPU -a e $HIST_FILE_E variation --varName nominal_uncorr --varLabel MiNNLO --colors red | |
- name: lowpu w e plot pt | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --baseName lep_pt --hists pt -a e -p $WEB_DIR -f $PLOT_DIR/lowPU $HIST_FILE_E | |
- name: lowpu w e plot eta | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --yscale 1.5 --baseName lep_eta --hists eta -a e -p $WEB_DIR -f $PLOT_DIR/lowPU $HIST_FILE_E | |
- name: lowpu w e plot mt | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --rebin 2 --baseName transverseMass --hists mt -a e -p $WEB_DIR -f $PLOT_DIR/lowPU $HIST_FILE_E | |
- name: lowpu w e combine mt setup | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/combine/setupCombine.py -i $HIST_FILE_E --baseName transverseMass --fitvar mt-charge -o $WREMNANTS_OUTDIR | |
- name: lowpu w e plot response matrix | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/response_matrix.py --axes ptW-ptVGen --procFilters Wenu -p e -o $WEB_DIR -f $PLOT_DIR/lowPU $HIST_FILE_E | |
- name: aggregate combine inputs | |
run: | | |
mkdir -p $COMBINED_DIR | |
cp -p $WREMNANTS_OUTDIR/WMass_lowPU_mt_charge_mu/* $COMBINED_DIR | |
cp -p $WREMNANTS_OUTDIR/WMass_lowPU_mt_charge_e/* $COMBINED_DIR | |
- name: lowpu combine mt fit | |
run: cmssw-cc7 --command-to-run scripts/ci/run_combine.sh /home/c/cmsmwbot/combinetf/CMSSW_10_6_30/src/ mass $COMBINED_DIR WMass_lowPU_minus_mu.txt WMass_lowPU_plus_mu.txt WMass_lowPU_minus_e.txt WMass_lowPU_plus_e.txt | |
- name: wmass combine impacts | |
run: scripts/ci/run_with_singularity.sh scripts/ci/show_impacts.sh $COMBINED_DIR/fitresults_123456789.root $WEB_DIR/$PLOT_DIR/lowPU impactsW.html | |
# - name: lowpu w e combine unfolding fit | |
# run: cmssw-cc7 --command-to-run scripts/ci/run_combine.sh /home/c/cmsmwbot/combinetf/CMSSW_10_6_30/src/ unfolding $WREMNANTS_OUTDIR/WMass_lowPU_ptW/ WMass_lowPU_plus.txt WMass_lowPU_minus.txt xnorm=WMass_lowPU_inclusive_xnorm.txt | |
# - name: lowpu w combine unfolding plot xsec | |
# run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/unfolding_xsec.py $HIST_FILE_E --fitresult $WREMNANTS_OUTDIR/WMass_lowPU_ptW/fitresults_123456789.root -o $WEB_DIR -f $PLOT_DIR/lowPU --debug --rrange 0.0 2.0 --lumi=0.200181002 | |
lowpu-z: | |
# The type of runner that the job will run on | |
runs-on: [self-hosted, linux, x64] | |
needs: setenv | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
WEB_DIR: ${{ needs.setenv.outputs.WEB_DIR }} | |
PLOT_DIR: ${{ needs.setenv.outputs.PLOT_DIR }} | |
NTHREADS: ${{ needs.setenv.outputs.NTHREADS }} | |
run: | | |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
echo "WEB_DIR=${WEB_DIR}" >> $GITHUB_ENV | |
echo "PLOT_DIR=${PLOT_DIR}" >> $GITHUB_ENV | |
echo "NTHREADS=${NTHREADS}" >> $GITHUB_ENV | |
echo "HIST_FILE_MUMU=${WREMNANTS_OUTDIR}/${OUTFILE_LOWPU_MUMU}" >> $GITHUB_ENV | |
echo "HIST_FILE_EE=${WREMNANTS_OUTDIR}/${OUTFILE_LOWPU_EE}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
lfs: 'true' | |
- name: lowpu z mumu analysis | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/histmakers/mz_lowPU.py -o $WREMNANTS_OUTDIR -j $NTHREADS --forceDefaultName --noRecoil --unfolding | |
- name: lowpu z mumu plot ptll yll | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --yscale 1.3 --hists ptll yll -p $WEB_DIR -f $PLOT_DIR/lowPU -a mumu $HIST_FILE_MUMU variation --varName nominal_uncorr --varLabel MiNNLO --colors red | |
- name: lowpu z mumu plot mll | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --baseName mll --hists mll -p $WEB_DIR -f $PLOT_DIR/lowPU -a mumu $HIST_FILE_MUMU | |
- name: lowpu z mumu plot mt | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --rebin 2 --baseName transverseMass --hists mt -a mumu -p $WEB_DIR -f $PLOT_DIR/lowPU $HIST_FILE_MUMU | |
- name: lowpu z ee analysis | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/histmakers/mz_lowPU.py -o $WREMNANTS_OUTDIR -j $NTHREADS --forceDefaultName --noRecoil --unfolding --flavor ee | |
- name: lowpu z ee plot ptll yll | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --yscale 1.3 --hists ptll yll -p $WEB_DIR -f $PLOT_DIR/lowPU -a ee $HIST_FILE_EE variation --varName nominal_uncorr --varLabel MiNNLO --colors red | |
- name: lowpu z ee plot mll | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --baseName mll --hists mll -p $WEB_DIR -f $PLOT_DIR/lowPU -a ee $HIST_FILE_EE | |
- name: lowpu z ee plot mt | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --rebin 2 --baseName transverseMass --hists mt -a ee -p $WEB_DIR -f $PLOT_DIR/lowPU $HIST_FILE_EE | |
# - name: lowpu z combine unfolding fit | |
# run: cmssw-cc7 --command-to-run scripts/ci/run_combine.sh /home/c/cmsmwbot/combinetf/CMSSW_10_6_30/src/ unfolding $WREMNANTS_OUTDIR/ZMassDilepton_lowPU_ptll/ ZMassDilepton_lowPU_inclusive.txt xnorm=ZMassDilepton_lowPU_inclusive_xnorm.txt | |
# - name: lowpu z combine unfolding plot xsec | |
# run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/unfolding_xsec.py $HIST_FILE_EE --fitresult $WREMNANTS_OUTDIR/ZMassDilepton_lowPU_ptll/fitresults_123456789.root -o $WEB_DIR -f $PLOT_DIR/lowPU --debug --rrange 0.0 2.0 --lumi=0.200181002 | |
lowpu-combined-unfolding: | |
runs-on: [self-hosted, linux, x64] | |
needs: [setenv, lowpu-w, lowpu-z] | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
PLOT_DIR: ${{ needs.setenv.outputs.PLOT_DIR }} | |
WEB_DIR: ${{ needs.setenv.outputs.WEB_DIR }} | |
run: | | |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
echo "WEB_DIR=${WEB_DIR}" >> $GITHUB_ENV | |
echo "PLOT_DIR=${PLOT_DIR}" >> $GITHUB_ENV | |
echo "COMBINED_DIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
echo "HIST_FILE_MU=${WREMNANTS_OUTDIR}/${OUTFILE_LOWPU_MU}" >> $GITHUB_ENV | |
echo "HIST_FILE_E=${WREMNANTS_OUTDIR}/${OUTFILE_LOWPU_E}" >> $GITHUB_ENV | |
echo "HIST_FILE_MUMU=${WREMNANTS_OUTDIR}/${OUTFILE_LOWPU_MUMU}" >> $GITHUB_ENV | |
echo "HIST_FILE_EE=${WREMNANTS_OUTDIR}/${OUTFILE_LOWPU_EE}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
lfs: 'true' | |
- name: lowpu combine unfolding setup | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/combine/setupCombine.py -i $HIST_FILE_MU $HIST_FILE_E $HIST_FILE_MUMU $HIST_FILE_EE --fitvar ptW-charge ptW-charge ptll ptll -o $COMBINED_DIR --postfix LowPU_ptll --unfolding --hdf5 --sparse --ewUnc | |
- name: lowpu combine unfolding fit | |
run: cmssw-cc7 --command-to-run scripts/ci/run_combine.sh /home/c/cmsmwbot/combinetf/CMSSW_10_6_30/src/ unfolding $COMBINED_DIR/Combination_LowPU_ptll Combination.hdf5 | |
- name: lowpu combine unfolding plot xsec | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/unfolding_xsec.py $HIST_FILE_MU --fitresult $COMBINED_DIR/Combination_LowPU_ptll/fitresults_123456789.root -o $WEB_DIR -f $PLOT_DIR/lowPU --debug --rrange 0.0 2.0 --lumi=0.200181002 --scaleXsec 2 | |
- name: lowpu combine unfolding plot xsec | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/unfolding_xsec.py $HIST_FILE_MUMU --fitresult $COMBINED_DIR/Combination_LowPU_ptll/fitresults_123456789.root -o $WEB_DIR -f $PLOT_DIR/lowPU --debug --rrange 0.0 2.0 --lumi=0.200181002 --scaleXsec 2 | |
wlike: | |
# The type of runner that the job will run on | |
runs-on: [self-hosted, linux, x64] | |
needs: setenv | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
WEB_DIR: ${{ needs.setenv.outputs.WEB_DIR }} | |
PLOT_DIR: ${{ needs.setenv.outputs.PLOT_DIR }} | |
NTHREADS: ${{ needs.setenv.outputs.NTHREADS }} | |
MAX_FILES: ${{ needs.setenv.outputs.MAX_FILES }} | |
LUMI_SCALE: ${{ needs.setenv.outputs.LUMI_SCALE }} | |
run: | | |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
echo "WEB_DIR=${WEB_DIR}" >> $GITHUB_ENV | |
echo "PLOT_DIR=${PLOT_DIR}" >> $GITHUB_ENV | |
echo "NTHREADS=${NTHREADS}" >> $GITHUB_ENV | |
echo "MAX_FILES=${MAX_FILES}" >> $GITHUB_ENV | |
echo "LUMI_SCALE=$LUMI_SCALE" >> $GITHUB_ENV | |
echo "HIST_FILE=${WREMNANTS_OUTDIR}/${OUTFILE_WLIKE}" >> $GITHUB_ENV | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
lfs: 'true' | |
- name: wlike analysis | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/histmakers/mz_wlike_with_mu_eta_pt.py -o $WREMNANTS_OUTDIR -j $NTHREADS --maxFiles $MAX_FILES --forceDefaultName | |
- name: wlike combine setup | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/combine/setupCombine.py -i $HIST_FILE --lumiScale $LUMI_SCALE -o $WREMNANTS_OUTDIR | |
- name: wlike combine fit | |
run: cmssw-cc7 --command-to-run scripts/ci/run_combine.sh /home/c/cmsmwbot/combinetf/CMSSW_10_6_30/src/ mass $WREMNANTS_OUTDIR/ZMassWLike_eta_pt_charge ZMassWLike_plus.txt ZMassWLike_minus.txt | |
- name: wlike combine impacts | |
run: scripts/ci/run_with_singularity.sh scripts/ci/show_impacts.sh $WREMNANTS_OUTDIR/ZMassWLike_eta_pt_charge/fitresults_123456789.root $WEB_DIR/$PLOT_DIR impactsWlike.html | |
wlike-plotting: | |
runs-on: [self-hosted, linux, x64] | |
needs: [setenv, wlike] | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
WEB_DIR: ${{ needs.setenv.outputs.WEB_DIR }} | |
PLOT_DIR: ${{ needs.setenv.outputs.PLOT_DIR }} | |
run: | | |
echo "WEB_DIR=${WEB_DIR}" >> $GITHUB_ENV | |
echo "PLOT_DIR=${PLOT_DIR}" >> $GITHUB_ENV | |
echo "HIST_FILE=${WREMNANTS_OUTDIR}/${OUTFILE_WLIKE}" >> $GITHUB_ENV | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
lfs: 'true' | |
- name: wlike plotting | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --yscale 1.3 --baseName nominal --nominalRef nominal --hists pt eta pt-eta -p $WEB_DIR -f $PLOT_DIR -a wlike $HIST_FILE variation --varName nominal_uncorr --varLabel MiNNLO --colors red | |
- name: wlike plot mt | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --baseName transverseMass --rebin 2 --hists mt -p $WEB_DIR -f $PLOT_DIR -a wlike $HIST_FILE | |
- name: wlike plot MET | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --baseName MET --hists MET -p $WEB_DIR -f $PLOT_DIR -a wlike $HIST_FILE | |
dilepton-mll: | |
# The type of runner that the job will run on | |
runs-on: [self-hosted, linux, x64] | |
needs: setenv | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
WEB_DIR: ${{ needs.setenv.outputs.WEB_DIR }} | |
PLOT_DIR: ${{ needs.setenv.outputs.PLOT_DIR }} | |
NTHREADS: ${{ needs.setenv.outputs.NTHREADS }} | |
MAX_FILES: ${{ needs.setenv.outputs.MAX_FILES }} | |
LUMI_SCALE: ${{ needs.setenv.outputs.LUMI_SCALE }} | |
run: | | |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
echo "NTHREADS=${NTHREADS}" >> $GITHUB_ENV | |
echo "MAX_FILES=${MAX_FILES}" >> $GITHUB_ENV | |
echo "LUMI_SCALE=$LUMI_SCALE" >> $GITHUB_ENV | |
echo "WEB_DIR=${WEB_DIR}" >> $GITHUB_ENV | |
echo "PLOT_DIR=${PLOT_DIR}" >> $GITHUB_ENV | |
echo "HIST_FILE=${WREMNANTS_OUTDIR}/mz_dilepton_mll.hdf5" >> $GITHUB_ENV | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
lfs: 'true' | |
- name: dilepton mll analysis | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/histmakers/mz_dilepton.py -o $WREMNANTS_OUTDIR -j $NTHREADS --maxFiles $MAX_FILES --axes mll --forceDefaultName --postfix mll | |
- name: dilepton plotting mll | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --yscale 1.3 --baseName nominal --nominalRef nominal --hists mll -p $WEB_DIR -f $PLOT_DIR -a z $HIST_FILE variation --varName 'virtual_ewCorr' --selectEntries 2 --varLabel 'EW(virtual)' --selectAxis systIdx --color blue | |
- name: dilepton combine mll setup | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/combine/setupCombine.py -i $HIST_FILE --fitvar mll --lumiScale $LUMI_SCALE -o $WREMNANTS_OUTDIR | |
- name: dilepton combine mll fit | |
run: cmssw-cc7 --command-to-run scripts/ci/run_combine.sh /home/c/cmsmwbot/combinetf/CMSSW_10_6_30/src/ mass $WREMNANTS_OUTDIR/ZMassDilepton_mll ZMassDilepton_inclusive.txt | |
- name: dilepton combine impacts | |
run: scripts/ci/run_with_singularity.sh scripts/ci/show_impacts.sh $WREMNANTS_OUTDIR/ZMassDilepton_mll/fitresults_123456789.root $WEB_DIR/$PLOT_DIR impactsZ.html | |
dilepton: | |
# The type of runner that the job will run on | |
runs-on: [self-hosted, linux, x64] | |
needs: setenv | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
NTHREADS: ${{ needs.setenv.outputs.NTHREADS }} | |
MAX_FILES: ${{ needs.setenv.outputs.MAX_FILES }} | |
LUMI_SCALE: ${{ needs.setenv.outputs.LUMI_SCALE }} | |
run: | | |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
echo "NTHREADS=${NTHREADS}" >> $GITHUB_ENV | |
echo "MAX_FILES=${MAX_FILES}" >> $GITHUB_ENV | |
echo "LUMI_SCALE=$LUMI_SCALE" >> $GITHUB_ENV | |
echo "HIST_FILE=${WREMNANTS_OUTDIR}/${OUTFILE_DILEPTON}" >> $GITHUB_ENV | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
lfs: 'true' | |
- name: dilepton analysis | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/histmakers/mz_dilepton.py -o $WREMNANTS_OUTDIR -j $NTHREADS --maxFiles $MAX_FILES --axes ptll yll --forceDefaultName | |
- name: dilepton combine ptll setup | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/combine/setupCombine.py -i $HIST_FILE --fitvar ptll-yll --lumiScale $LUMI_SCALE -o $WREMNANTS_OUTDIR | |
- name: dilepton combine ptll fit | |
run: cmssw-cc7 --command-to-run scripts/ci/run_combine.sh /home/c/cmsmwbot/combinetf/CMSSW_10_6_30/src/ mass $WREMNANTS_OUTDIR/ZMassDilepton_ptll_yll ZMassDilepton_inclusive.txt | |
# TODO: Needs a pending PR I think | |
# - name: dilepton combine impacts | |
# run: scripts/ci/run_with_singularity.sh scripts/ci/show_impacts.sh $WREMNANTS_OUTDIR/ZMassDilepton_ptll/fitresults_123456789.root $WEB_DIR/$PLOT_DIR pullsPtll.html | |
dilepton-plotting: | |
# The type of runner that the job will run on | |
runs-on: [self-hosted, linux, x64] | |
needs: [setenv, dilepton] | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
WEB_DIR: ${{ needs.setenv.outputs.WEB_DIR }} | |
PLOT_DIR: ${{ needs.setenv.outputs.PLOT_DIR }} | |
run: | | |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
echo "WEB_DIR=${WEB_DIR}" >> $GITHUB_ENV | |
echo "PLOT_DIR=${PLOT_DIR}" >> $GITHUB_ENV | |
echo "HIST_FILE=${WREMNANTS_OUTDIR}/${OUTFILE_DILEPTON}" >> $GITHUB_ENV | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
lfs: 'true' | |
- name: test | |
run: echo "The web dir is $WEB_DIR plot dir is ${PLOT_DIR}" | |
- name: dilepton plotting ptll | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --yscale 1.3 --baseName nominal --nominalRef nominal --hists ptll -p $WEB_DIR -f $PLOT_DIR -a z $HIST_FILE variation --varName nominal_uncorr --varLabel MiNNLO --colors red | |
- name: dilepton plotting yll | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/plotting/makeDataMCStackPlot.py --yscale 1.3 --baseName nominal_yll --nominalRef nominal_yll --hists yll -p $WEB_DIR -f $PLOT_DIR -a z $HIST_FILE | |
gen: | |
# The type of runner that the job will run on | |
runs-on: [self-hosted, linux, x64] | |
needs: setenv | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
NTHREADS: ${{ needs.setenv.outputs.NTHREADS }} | |
MAX_FILES: ${{ needs.setenv.outputs.MAX_FILES }} | |
run: | | |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
echo "NTHREADS=${NTHREADS}" >> $GITHUB_ENV | |
echo "MAX_FILES=${MAX_FILES}" >> $GITHUB_ENV | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
lfs: 'true' | |
# As of now the gen output isn't used for anything, so there's no point in running more files | |
- name: setup nonpr | |
if: github.event_name != 'pull_request' | |
run: | | |
echo "NTHREADS=8" >> $GITHUB_ENV | |
echo "MAX_FILES=10" >> $GITHUB_ENV | |
- name: gen analysis | |
run: scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/histmakers/w_z_gen_dists.py -o $WREMNANTS_OUTDIR -j $NTHREADS --maxFiles $MAX_FILES --filterProcs WplusmunuPostVFP WminusmunuPostVFP WplustaunuPostVFP WminustaunuPostVFP ZmumuPostVFP ZtautauPostVFP WplusToMuNu_horace-nlo WplusToMuNu_winhac-lo-photos ZToMuMu_horace-lo-photos | |
combined-fit: | |
runs-on: [self-hosted, linux, x64] | |
needs: [setenv, w-fit, dilepton] | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
PLOT_DIR: ${{ needs.setenv.outputs.PLOT_DIR }} | |
WEB_DIR: ${{ needs.setenv.outputs.WEB_DIR }} | |
run: | | |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
echo "WEB_DIR=${WEB_DIR}" >> $GITHUB_ENV | |
echo "PLOT_DIR=${PLOT_DIR}" >> $GITHUB_ENV | |
echo "COMBINED_DIR=$WREMNANTS_OUTDIR/WMass_ZDilepton" >> $GITHUB_ENV | |
- name: aggregate combine inputs | |
run: | | |
mkdir -p $COMBINED_DIR | |
cp -p $WREMNANTS_OUTDIR/ZMassDilepton_ptll_yll/* $COMBINED_DIR | |
cp -p $WREMNANTS_OUTDIR/WMass_eta_pt_charge/* $COMBINED_DIR | |
- name: wmass combined fit | |
run: cmssw-cc7 --command-to-run scripts/ci/run_combine.sh /home/c/cmsmwbot/combinetf/CMSSW_10_6_30/src/ mass $COMBINED_DIR WMass_plus.txt WMass_minus.txt ZMassDilepton_inclusive.txt | |
- name: wmass combine impacts | |
run: scripts/ci/run_with_singularity.sh scripts/ci/show_impacts.sh $COMBINED_DIR/fitresults_123456789.root $WEB_DIR/$PLOT_DIR impactsW_withZ.html | |
copy-clean: | |
runs-on: [self-hosted, linux, x64] | |
needs: [setenv, w-analysis, w-fit, w-plotting, lowpu-w, lowpu-z, lowpu-combined-unfolding, wlike, wlike-plotting, dilepton-mll, dilepton, dilepton-plotting, gen, combined-fit] | |
if: always() | |
steps: | |
- env: | |
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }} | |
run: | | |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV | |
- name: copy clean plots | |
run: | | |
echo "xrdcp --parallel 4 -R -f $WREMNANTS_OUTDIR/$LOCAL_WEB_DIR/* root://eosuser.cern.ch//$EOS_DIR/$LOCAL_WEB_DIR" | |
xrdcp --parallel 4 -R -f $WREMNANTS_OUTDIR/$LOCAL_WEB_DIR/* root://eosuser.cern.ch//$EOS_DIR/$LOCAL_WEB_DIR | |
echo "Removing temp directory $WREMNANTS_OUTDIR/$LOCAL_WEB_DIR" | |
rm -r $WREMNANTS_OUTDIR/$LOCAL_WEB_DIR | |
- name: save analysis files | |
if: github.event_name != 'pull_request' && github.event.schedule == '0 1 * * 2,4,6' | |
run: | | |
echo "xrdcp --parallel 4 -R -f $WREMNANTS_OUTDIR root://eosuser.cern.ch//$EOS_DIR/ScheduledBuilds/" | |
xrdcp --parallel 4 -R -f $WREMNANTS_OUTDIR root://eosuser.cern.ch//$EOS_DIR/ScheduledBuilds/ | |
- name: clean | |
run: | | |
echo "Removing temp directory $WREMNANTS_OUTDIR" | |
rm -r $WREMNANTS_OUTDIR |