Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
186 changes: 94 additions & 92 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -943,6 +943,7 @@ jobs:
--unfoldingInclusive
--pdfs ct18z
--theoryCorr scetlib_dyturbo_LatticeNP_CT18Z_N3p0LL_N2LO scetlib_dyturbo_LatticeNP_CT18Z_N3p0LL_N2LO_pdfvars scetlib_dyturbo_LatticeNP_CT18Z_N3p0LL_N2LO_pdfas scetlib_dyturbo_LatticeNP_MSHT20mcrange_N3p0LL_N2LO_pdfvars scetlib_dyturbo_LatticeNP_MSHT20mbrange_N3p0LL_N2LO_pdfvars
--quarkMassCorr MiNNLO_Zbb
--filterProcs $ALPHAS_FILTER_PROCS

alphas-z-reco:
Expand Down Expand Up @@ -996,7 +997,8 @@ jobs:
mkdir -p $ALPHAS_OUTDIR
scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/rabbit/setupRabbit.py \
-i $ALPHAS_HIST_FILE --fitvar "$ALPHAS_FITVAR" --lumiScale $LUMI_SCALE --realData \
-o $ALPHAS_OUTDIR --noi alphaS --npUnc LatticeEigvars --pdfUncFromCorr
-o $ALPHAS_OUTDIR --noi alphaS --npUnc LatticeEigvars --pdfUncFromCorr \
--axlim ptll 0 44

- name: alphaS Z reco fit (${{ matrix.mode }})
run: >-
Expand Down Expand Up @@ -1347,96 +1349,96 @@ jobs:
scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/histmakers/w_z_gen_dists.py --dataPath $DATAPATH
-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

alphas-w-histmaker:
runs-on: [self-hosted, linux, x64]
needs: setenv
steps:
- env:
WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }}
NTHREADS: ${{ needs.setenv.outputs.NTHREADS }}
ALPHAS_MAX_FILES: 100
run: |
echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV
echo "MAX_FILES=${MAX_FILES}" >> $GITHUB_ENV
echo "NTHREADS=${NTHREADS}" >> $GITHUB_ENV
echo "ALPHAS_OUTDIR=${WREMNANTS_OUTDIR}/alpha_s" >> $GITHUB_ENV
echo "ALPHAS_W_HIST=${WREMNANTS_OUTDIR}/alpha_s/mw_with_mu_eta_pt.hdf5" >> $GITHUB_ENV
echo "ALPHAS_MAX_FILES=${ALPHAS_MAX_FILES}" >> $GITHUB_ENV
echo "ALPHAS_FILTER_PROCS=SingleMuon_2016PostVFP Zmumu_2016PostVFP Ztautau_2016PostVFP Wplusmunu_2016PostVFP Wminusmunu_2016PostVFP Wplustaunu_2016PostVFP Wminustaunu_2016PostVFP DYJetsToMuMuMass10to50_2016PostVFP TTLeptonic_2016PostVFP WWTo2L2Nu_2016PostVFP QCDmuEnrichPt15_2016PostVFP GGToMuMuMass5to50_2016PostVFP GGToLL_2016PostVFP QGToDYQTo2L_2016PostVFP QGToWQToLNu_2016PostVFP" >> $GITHUB_ENV

- uses: actions/checkout@v5
with:
submodules: 'recursive'
lfs: 'true'

- name: alphaS histmaker (W)
run: >-
scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/histmakers/mw_with_mu_eta_pt.py
--dataPath $DATAPATH
-o $ALPHAS_OUTDIR
-j $NTHREADS
--maxFiles $ALPHAS_MAX_FILES
--unfolding
--poiAsNoi
--forceDefaultName
--pdfs ct18z
--theoryCorr scetlib_dyturbo_LatticeNP_CT18Z_N3p0LL_N2LO scetlib_dyturbo_LatticeNP_CT18Z_N3p0LL_N2LO_pdfvars scetlib_dyturbo_LatticeNP_CT18Z_N3p0LL_N2LO_pdfas scetlib_dyturbo_LatticeNP_MSHT20mcrange_N3p0LL_N2LO_pdfvars scetlib_dyturbo_LatticeNP_MSHT20mbrange_N3p0LL_N2LO_pdfvars
--filterProcs $ALPHAS_FILTER_PROCS

alphas-wz-reco:
runs-on: [self-hosted, linux, x64]
needs: [setenv, alphas-z-histmaker, alphas-w-histmaker]
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 "ALPHAS_OUTDIR=${WREMNANTS_OUTDIR}/alpha_s" >> $GITHUB_ENV
echo "ALPHAS_Z_HIST=${WREMNANTS_OUTDIR}/alpha_s/mz_dilepton.hdf5" >> $GITHUB_ENV
echo "ALPHAS_W_HIST=${WREMNANTS_OUTDIR}/alpha_s/mw_with_mu_eta_pt.hdf5" >> $GITHUB_ENV
echo "ALPHAS_WZ_RECO_DIR=${WREMNANTS_OUTDIR}/alpha_s/Combination_ZMassDileptonWMass_reco" >> $GITHUB_ENV
echo "ALPHAS_WZ_RECO_COMBINE=${WREMNANTS_OUTDIR}/alpha_s/Combination_ZMassDileptonWMass_reco/Combination.hdf5" >> $GITHUB_ENV
echo "ALPHAS_PLOT_DIR=${WEB_DIR}/${PLOT_DIR}/alpha_s" >> $GITHUB_ENV

- uses: actions/checkout@v5
with:
submodules: 'recursive'
lfs: 'true'

- name: alphaS WZ reco setup
run: |
set -euo pipefail
mkdir -p $ALPHAS_OUTDIR
scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/rabbit/setupRabbit.py \
-i $ALPHAS_Z_HIST $ALPHAS_W_HIST \
--fitvar "ptll-yll-cosThetaStarll_quantile-phiStarll_quantile" "eta-pt-charge" \
--lumiScale $LUMI_SCALE $LUMI_SCALE \
-o $ALPHAS_OUTDIR --noi alphaS wmass --postfix reco \
--npUnc LatticeEigvars --pdfUncFromCorr

- name: alphaS WZ reco fit
run: >-
scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run.sh rabbit_fit.py
"$ALPHAS_WZ_RECO_COMBINE" -t -1 --computeVariations -m Project ch0 ptll yll -m Select ch1
--computeHistErrors --doImpacts -o "$ALPHAS_WZ_RECO_DIR/" --globalImpacts

- name: alphaS WZ reco links
run: |
ln -sfn "$ALPHAS_WZ_RECO_DIR" "$ALPHAS_OUTDIR/alpha_s_wz_reco"
ln -sfn "$ALPHAS_WZ_RECO_DIR/fitresults.hdf5" "$ALPHAS_OUTDIR/alpha_s_wz_reco_fitresult.hdf5"

- name: alphaS wz reco impacts
run: >-
scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run.sh rabbit_plot_pulls_and_impacts.py
$ALPHAS_OUTDIR/alpha_s_wz_reco_fitresult.hdf5 --title CMS --subtitle Preliminary
--showNumbers --pullrange '2.1' --config wremnants/utilities/styles/styles.py --oneSidedImpacts --grouping max
-o $ALPHAS_PLOT_DIR --otherExtensions pdf png -n 50 --postfix reco --scaleImpacts 100
# alphas-w-histmaker:
# runs-on: [self-hosted, linux, x64]
# needs: setenv
# steps:
# - env:
# WREMNANTS_OUTDIR: ${{ needs.setenv.outputs.WREMNANTS_OUTDIR }}
# NTHREADS: ${{ needs.setenv.outputs.NTHREADS }}
# ALPHAS_MAX_FILES: 100
# run: |
# echo "WREMNANTS_OUTDIR=${WREMNANTS_OUTDIR}" >> $GITHUB_ENV
# echo "MAX_FILES=${MAX_FILES}" >> $GITHUB_ENV
# echo "NTHREADS=${NTHREADS}" >> $GITHUB_ENV
# echo "ALPHAS_OUTDIR=${WREMNANTS_OUTDIR}/alpha_s" >> $GITHUB_ENV
# echo "ALPHAS_W_HIST=${WREMNANTS_OUTDIR}/alpha_s/mw_with_mu_eta_pt.hdf5" >> $GITHUB_ENV
# echo "ALPHAS_MAX_FILES=${ALPHAS_MAX_FILES}" >> $GITHUB_ENV
# echo "ALPHAS_FILTER_PROCS=SingleMuon_2016PostVFP Zmumu_2016PostVFP Ztautau_2016PostVFP Wplusmunu_2016PostVFP Wminusmunu_2016PostVFP Wplustaunu_2016PostVFP Wminustaunu_2016PostVFP DYJetsToMuMuMass10to50_2016PostVFP TTLeptonic_2016PostVFP WWTo2L2Nu_2016PostVFP QCDmuEnrichPt15_2016PostVFP GGToMuMuMass5to50_2016PostVFP GGToLL_2016PostVFP QGToDYQTo2L_2016PostVFP QGToWQToLNu_2016PostVFP" >> $GITHUB_ENV

# - uses: actions/checkout@v5
# with:
# submodules: 'recursive'
# lfs: 'true'

# - name: alphaS histmaker (W)
# run: >-
# scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/histmakers/mw_with_mu_eta_pt.py
# --dataPath $DATAPATH
# -o $ALPHAS_OUTDIR
# -j $NTHREADS
# --maxFiles $ALPHAS_MAX_FILES
# --unfolding
# --poiAsNoi
# --forceDefaultName
# --pdfs ct18z
# --theoryCorr scetlib_dyturbo_LatticeNP_CT18Z_N3p0LL_N2LO scetlib_dyturbo_LatticeNP_CT18Z_N3p0LL_N2LO_pdfvars scetlib_dyturbo_LatticeNP_CT18Z_N3p0LL_N2LO_pdfas scetlib_dyturbo_LatticeNP_MSHT20mcrange_N3p0LL_N2LO_pdfvars scetlib_dyturbo_LatticeNP_MSHT20mbrange_N3p0LL_N2LO_pdfvars
# --filterProcs $ALPHAS_FILTER_PROCS

# alphas-wz-reco:
# runs-on: [self-hosted, linux, x64]
# needs: [setenv, alphas-z-histmaker, alphas-w-histmaker]
# 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 "ALPHAS_OUTDIR=${WREMNANTS_OUTDIR}/alpha_s" >> $GITHUB_ENV
# echo "ALPHAS_Z_HIST=${WREMNANTS_OUTDIR}/alpha_s/mz_dilepton.hdf5" >> $GITHUB_ENV
# echo "ALPHAS_W_HIST=${WREMNANTS_OUTDIR}/alpha_s/mw_with_mu_eta_pt.hdf5" >> $GITHUB_ENV
# echo "ALPHAS_WZ_RECO_DIR=${WREMNANTS_OUTDIR}/alpha_s/Combination_ZMassDileptonWMass_reco" >> $GITHUB_ENV
# echo "ALPHAS_WZ_RECO_COMBINE=${WREMNANTS_OUTDIR}/alpha_s/Combination_ZMassDileptonWMass_reco/Combination.hdf5" >> $GITHUB_ENV
# echo "ALPHAS_PLOT_DIR=${WEB_DIR}/${PLOT_DIR}/alpha_s" >> $GITHUB_ENV

# - uses: actions/checkout@v5
# with:
# submodules: 'recursive'
# lfs: 'true'

# - name: alphaS WZ reco setup
# run: |
# set -euo pipefail
# mkdir -p $ALPHAS_OUTDIR
# scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run_python.sh scripts/rabbit/setupRabbit.py \
# -i $ALPHAS_Z_HIST $ALPHAS_W_HIST \
# --fitvar "ptll-yll-cosThetaStarll_quantile-phiStarll_quantile" "eta-pt-charge" \
# --lumiScale $LUMI_SCALE $LUMI_SCALE \
# -o $ALPHAS_OUTDIR --noi alphaS wmass --postfix reco \
# --npUnc LatticeEigvars --pdfUncFromCorr

# - name: alphaS WZ reco fit
# run: >-
# scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run.sh rabbit_fit.py
# "$ALPHAS_WZ_RECO_COMBINE" -t -1 --computeVariations -m Project ch0 ptll yll -m Select ch1
# --computeHistErrors --doImpacts -o "$ALPHAS_WZ_RECO_DIR/" --globalImpacts

# - name: alphaS WZ reco links
# run: |
# ln -sfn "$ALPHAS_WZ_RECO_DIR" "$ALPHAS_OUTDIR/alpha_s_wz_reco"
# ln -sfn "$ALPHAS_WZ_RECO_DIR/fitresults.hdf5" "$ALPHAS_OUTDIR/alpha_s_wz_reco_fitresult.hdf5"

# - name: alphaS wz reco impacts
# run: >-
# scripts/ci/run_with_singularity.sh scripts/ci/setup_and_run.sh rabbit_plot_pulls_and_impacts.py
# $ALPHAS_OUTDIR/alpha_s_wz_reco_fitresult.hdf5 --title CMS --subtitle Preliminary
# --showNumbers --pullrange '2.1' --config wremnants/utilities/styles/styles.py --oneSidedImpacts --grouping max
# -o $ALPHAS_PLOT_DIR --otherExtensions pdf png -n 50 --postfix reco --scaleImpacts 100

alphas-z-unfolding:
runs-on: [self-hosted, linux, x64]
Expand Down Expand Up @@ -1611,7 +1613,7 @@ jobs:

copy-clean:
runs-on: [self-hosted, linux, x64]
needs: [setenv, w-analysis, w-fit, w-plotting, w-bsm, lowpu-w, lowpu-z, lowpu-combined-unfolding, wlike, wlike-plotting, dilepton-mll, alphas-z-histmaker, alphas-z-reco, dilepton, dilepton-unfolding, dilepton-plotting, gen, alphas-w-histmaker, alphas-wz-reco, alphas-z-unfolding, alphas-z-gen-fit, combined-fit]
needs: [setenv, w-analysis, w-fit, w-plotting, w-bsm, lowpu-w, lowpu-z, lowpu-combined-unfolding, wlike, wlike-plotting, dilepton-mll, alphas-z-histmaker, alphas-z-reco, dilepton, dilepton-unfolding, dilepton-plotting, gen, alphas-z-unfolding, alphas-z-gen-fit, combined-fit]
if: always()
steps:
- env:
Expand Down
2 changes: 1 addition & 1 deletion wremnants-data
Submodule wremnants-data updated from 0b7d3d to ce16ff
6 changes: 3 additions & 3 deletions wremnants/postprocessing/rabbit_theory_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -547,7 +547,7 @@ def add_stat_unc(self):
self.datagroups.addSystematic(
histname=self.corr_hist_name,
processes=processes,
groups=["theory"],
groups=["fo_stat", "pTModeling", "theory"],
systAxes=[self.syst_ax],
passToFakes=self.propagate_to_fakes,
preOp=lambda h: h[
Expand Down Expand Up @@ -823,7 +823,7 @@ def add_correlated_np_uncertainties(self):
if self.np_model in ["LatticeEigvars", "LatticeNoConstraints"]:
np_map = {
"lambda2": ["0.0", "0.5"],
"delta_lambda2": ["0.105", "0.145"],
"delta_lambda2": ["-0.02", "0.02"],
"lambda4": ["0.01", "0.16"],
}
elif "Lambda" in self.np_model:
Expand Down Expand Up @@ -877,7 +877,7 @@ def add_uncorrelated_np_uncertainties(self):
if self.np_model in ["LatticeEigvars", "LatticeNoConstraints"]:
np_map = {
"lambda2": ["0.0", "0.5"],
"delta_lambda2": ["0.105", "0.145"],
"delta_lambda2": ["-0.02", "0.02"],
"lambda4": ["0.01", "0.16"],
}
elif "Lambda" in self.np_model:
Expand Down
4 changes: 2 additions & 2 deletions wremnants/postprocessing/theory_variation_labels.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
["lambda20.5", "lambda20.0", "chargeVgenNP0scetlibNPLambda2"],
["lambda40.16", "lambda40.01", "chargeVgenNP0scetlibNPLambda4"],
[
"delta_lambda20.105",
"delta_lambda20.145",
"delta_lambda20.02",
"delta_lambda2-0.02",
"chargeVgenNP0scetlibNPDelta_Lambda2",
],
]
Expand Down
2 changes: 2 additions & 0 deletions wremnants/utilities/styles/styles.py
Original file line number Diff line number Diff line change
Expand Up @@ -444,6 +444,7 @@ def translate_html_to_latex(n):
"resumScale",
"resumTransitionFOScale",
"bcQuarkMass",
"fo_stat",
"angularCoeffs",
"muonCalibration",
"muon_eff_stat",
Expand Down Expand Up @@ -587,6 +588,7 @@ def translate_html_to_latex(n):
"QCDscaleZPtChargeHelicityMiNNLO": "<i>μ</i><sub>R </sub> <i>μ</i><sub>F </sub> scale (Z)",
"QCDscaleWPtChargeHelicityMiNNLO": "<i>μ</i><sub>R </sub> <i>μ</i><sub>F </sub> scale (W)",
"resumTransitionFOScale": "Matching + FO scale",
"fo_stat": "FO stat.",
"binByBinStat": "Simulation stat.",
"binByBinStatW": "Bin-by-bin stat. (W)",
"binByBinStatZ": "Bin-by-bin stat. (Z)",
Expand Down
Loading