[bbyy] configurable non-resonant BDT and VBF variable options
The purpose of this MR is to make running the non-resonant bbyy BDT optional, and performing any sort of VBF algorithm optional (including the saving of VBF variables), for flexibility for the user. e.g. for SH(bbyy), neither of these are necessary, and only add unnecessary computation and ntuple branches.
I tested this with the following commands:
bbyy-ntupler /eos/user/a/atishelm/ntuples/SHbbyy/examples/mc20_13TeV.800904.Py8EG_A14NNPDF23LO_XHS_X170_S030_HyySbb.deriv.DAOD_PHYS.e8531_a907_r14859_p6026/DAOD_PHYS.37663611._000002.pool.root.1 --run-config bbyyAnalysis/RunConfig-Resonant-Default.yaml --out-file analysis-variables-SHbbyy-resconfig.root --e 1000
Output does not contain BDT or VBF branches, as desired.
bbyy-ntupler /eos/user/a/atishelm/ntuples/SHbbyy/examples/mc20_13TeV.800904.Py8EG_A14NNPDF23LO_XHS_X170_S030_HyySbb.deriv.DAOD_PHYS.e8531_a907_r14859_p6026/DAOD_PHYS.37663611._000002.pool.root.1 --run-config bbyyAnalysis/RunConfig-bbyy-skimming-legacy.yaml --out-file analysis-variables-SHbbyy.root --e 1000
Output contains BDT and VBF branches, as desired.
Later tested all of these cases:
VBFjetsMethod | do_nonresonant_BDTs | save_VBF_vars | result |
---|---|---|---|
mjj |
false |
false |
no BDT and VBF variables stored |
mjj |
false |
true |
VBF variables stored |
mjj |
true |
false |
BDT vars stored |
mjj |
true |
true |
BDT and VBF vars stored |
BDT |
false |
false |
does not crash, as expected |
BDT |
false |
true |
ERROR caught properly during initialize |
BDT |
true |
false |
BDT vars stored |
BDT |
true |
true |
BDT and VBF vars stored |
Where do_GNN2bjetSelection
was always false
. I think that variable should be fine, because when it's turned on, it still has checks in place for VBF (in the initialize) and BDTs.
Edited by Abraham Tishelman-Charny