WIP: Add a preliminary beauty BDT and an example line
A B-BDT filter is implemented in prefilter.py
. It is trained by Bs->DsK
MC as signal input and minbias MC as background input. The BDT is a preliminary one and will be updated with a more generic one for most B
decays.
Training variables (plot attached):
log_B_PT: log(Bs_PT)
log_B_FDCHI2: log(BPVVDCHI2)
log_B_DIRA: log(1 - BPVDIRA)
log_B_ENDVERTEX_CHI2: log(VFASPF(VCHI2/VDOF))
Now the BDT is somehow overtrained due to the limited sample size of signal MC (plot attached).
The default cut value is set to -0.1, which is a little bit tight to make sure it's working.
An example line, Hlt2B2OC_BdToDsmK_DsmToHHH_BDTLine
is added in b_to_dh.py
to demonstrate its functionality.
This line is a direct copy of Hlt2B2OC_BdToDsmK_DsmToHHH_Line
, which is the signal channel of BDT.
The only difference between these two lines is the BDT filter before input to algs
.
A test with 1k events gives:
LAZY_AND: Hlt2B2OC_BdToDsmK_DsmToHHH_BDTLine #=1000 Sum=105 Eff=|( 10.50000 +- 0.969407)%|
LAZY_AND: Hlt2B2OC_BdToDsmK_DsmToHHH_Line #=1000 Sum=107 Eff=|( 10.70000 +- 0.977502)%|