diff --git a/Hlt/Hlt2Conf/options/examples/b_to_open_charm/hlt2_b2oc_all_lines.py b/Hlt/Hlt2Conf/options/examples/b_to_open_charm/hlt2_b2oc_all_lines.py index b1ae8935dd96abf129958faee1367425a08e259a..b2ae395d79a4097e3da85b6681570773e618b924 100644 --- a/Hlt/Hlt2Conf/options/examples/b_to_open_charm/hlt2_b2oc_all_lines.py +++ b/Hlt/Hlt2Conf/options/examples/b_to_open_charm/hlt2_b2oc_all_lines.py @@ -47,8 +47,8 @@ from Hlt2Conf.lines.b_to_open_charm import all_lines # Uncomment the following lines to configure input data from grid locations #input_files = [ -# # MinBias 30000000 AFTER Hlt1 -# 'root://eoslhcb.cern.ch//eos/lhcb/grid/prod/lhcb/MC/Upgrade/LDST/00075219/0000/00075219_00000001_1.ldst', +# Hlt1 filtered Upgrade DsK MC +# 'root://eoslhcb.cern.ch//eos/lhcb/grid/prod/lhcb/MC/Upgrade/LDST/00075807/0000/00075807_00000001_1.ldst', #] #options.input_files = input_files #options.input_type = 'ROOT' diff --git a/Hlt/Hlt2Conf/options/sprucing/spruce_hlt2filter.py b/Hlt/Hlt2Conf/options/sprucing/spruce_hlt2filter.py index e29494ec0bcc18677644232ef8e0a50119aa7687..4e4da9dcc3c76461da9ee572ef2b866dd03cb3a8 100644 --- a/Hlt/Hlt2Conf/options/sprucing/spruce_hlt2filter.py +++ b/Hlt/Hlt2Conf/options/sprucing/spruce_hlt2filter.py @@ -42,7 +42,7 @@ load_hlt2_configuration("hlt2_2or3bodytopo_realtime.tck.json") def Sprucing_line_1(name='Spruce_filteronTopo2_Line'): - line_alg = b_to_dh.make_BdToDsmK_DsmToHHH(process='spruce') + line_alg = b_to_dh.make_BdToDsmK_DsmToKpKmPim(process='spruce') return SpruceLine( name=name, algs=upfront_reconstruction() + [line_alg], diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dd.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dd.py index 177073f5e11e896b3eb19729c154770c190618d7..a6ad32759d80f10042339392ae5680da19a58ea8 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dd.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dd.py @@ -12,9 +12,13 @@ * Definition of B2OC B2DD lines """ from __future__ import absolute_import, division, print_function +from GaudiKernel.SystemOfUnits import GeV, MeV from Hlt2Conf.algorithms import ParticleContainersMerger from Hlt2Conf.lines.b_to_open_charm.utils import check_process +from Hlt2Conf.lines.b_to_open_charm.filters import b_sigmanet_filter + +from RecoConf.reconstruction_objects import make_pvs_v2 as make_pvs from Hlt2Conf.lines.b_to_open_charm.builders import d_builder from Hlt2Conf.lines.b_to_open_charm.builders import b_builder @@ -190,112 +194,167 @@ def make_BdToD0D0_D0ToHHOrHHHH(process): @check_process -def make_BuToD0Dp_D0ToHH_DpToHHH(process): +def make_BuToD0Dp_D0ToHH_DpToHHH(process, MVACut=0.2): if process == 'spruce': dzero = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) - dp = d_builder.make_dplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + pi_pidk_max=None, k_pidk_min=None, am_min=1769.62, am_max=1969.62) elif process == 'hlt2': - dzero = d_builder.make_dzero_to_hh() - dp = d_builder.make_dplus_to_hhh() - line_alg = b_builder.make_b2x( + dzero = d_builder.make_dzero_to_hh(bpvvdchi2_min=64.) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + am_min=1769.62, am_max=1969.62, bpvvdchi2_min=64.) + b = b_builder.make_b2dd( particles=[dzero, dp], descriptors=['B+ -> D0 D+', 'B- -> D0 D-']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BuToD0Dsp_D0ToHH_DspToHHH(process): +def make_BuToD0Dsp_D0ToHH_DspToHHH(process, MVACut=0.2): if process == 'spruce': dzero = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) - dp = d_builder.make_dsplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + dp = d_builder.make_dsplus_to_kpkmpip( + pi_pidk_max=None, k_pidk_min=None, am_min=1868.47, am_max=2068.47) elif process == 'hlt2': - dzero = d_builder.make_dzero_to_hh() - dp = d_builder.make_dsplus_to_hhh() - line_alg = b_builder.make_b2x( + dzero = d_builder.make_dzero_to_hh(bpvvdchi2_min=64.) + dp = d_builder.make_dsplus_to_kpkmpip( + am_min=1868.47, am_max=2068.47, bpvvdchi2_min=64.) + b = b_builder.make_b2dd( particles=[dp, dzero], descriptors=['B+ -> D_s+ D0', 'B- -> D_s- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BuToD0Dp_D0ToHHHH_DpToHHH(process): +def make_BuToD0Dp_D0ToHHHH_DpToHHH(process, MVACut=0.2): if process == 'spruce': - dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) - dp = d_builder.make_dplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + dzero = d_builder.make_dzero_to_kpipipi( + pi_pidk_max=None, k_pidk_min=None) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + pi_pidk_max=None, k_pidk_min=None, am_min=1769.62, am_max=1969.62) elif process == 'hlt2': - dzero = d_builder.make_dzero_to_hhhh() - dp = d_builder.make_dplus_to_hhh() - line_alg = b_builder.make_b2x( + dzero = d_builder.make_dzero_to_kpipipi(bpvvdchi2_min=64.) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + am_min=1769.62, am_max=1969.62, bpvvdchi2_min=64.) + b = b_builder.make_b2dd( particles=[dzero, dp], descriptors=['B+ -> D0 D+', 'B- -> D0 D-']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BuToD0Dsp_D0ToHHHH_DspToHHH(process): +def make_BuToD0Dsp_D0ToHHHH_DspToHHH(process, MVACut=0.2): if process == 'spruce': - dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) - dp = d_builder.make_dsplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + dzero = d_builder.make_dzero_to_kpipipi( + pi_pidk_max=None, k_pidk_min=None) + dp = d_builder.make_dsplus_to_kpkmpip( + pi_pidk_max=None, k_pidk_min=None, am_min=1868.47, am_max=2068.47) elif process == 'hlt2': - dzero = d_builder.make_dzero_to_hhhh() - dp = d_builder.make_dsplus_to_hhh() - line_alg = b_builder.make_b2x( + dzero = d_builder.make_dzero_to_kpipipi(bpvvdchi2_min=64.) + dp = d_builder.make_dsplus_to_kpkmpip( + am_min=1868.47, am_max=2068.47, bpvvdchi2_min=64.) + b = b_builder.make_b2dd( particles=[dp, dzero], descriptors=['B+ -> D_s+ D0', 'B- -> D_s- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BuToDstD0_DstToD0Pi_D0ToHH_D0ToHH(process): +def make_BuToDstD0_DstToD0Pi_D0ToHH_D0ToHH(process, MVACut=0.2): if process == 'spruce': dzero = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) if process == 'hlt2': - dzero = d_builder.make_dzero_to_hh() - dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2x( + dzero = d_builder.make_dzero_to_hh(bpvvdchi2_min=64.) + dst = d_builder.make_dstar_to_dzeropi( + dzero, + deltamass_max=180 * MeV, + bpvvdchi2_min=0, + soft_pi_pidk_max=None, + soft_pi_p_min=0 * GeV, + soft_pi_pt_min=0 * MeV, + soft_pi_mipchi2_min=0) + b = b_builder.make_b2dstd( particles=[dst, dzero], descriptors=['B+ -> D*(2010)+ D0', 'B- -> D*(2010)- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BuToDstD0_DstToD0Pi_D0ToHH_D0ToHHHH(process): +def make_BuToDstD0_DstToD0Pi_D0ToHH_D0ToHHHH(process, MVACut=0.2): if process == 'spruce': - dzero1 = d_builder.make_dzero_to_hhhh( + dzero1 = d_builder.make_dzero_to_kpipipi( pi_pidk_max=None, k_pidk_min=None) dzero2 = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) if process == 'hlt2': - dzero1 = d_builder.make_dzero_to_hhhh() - dzero2 = d_builder.make_dzero_to_hh() - dst = d_builder.make_dstar_to_dzeropi(dzero2) - line_alg = b_builder.make_b2x( + dzero1 = d_builder.make_dzero_to_kpipipi(bpvvdchi2_min=64.) + dzero2 = d_builder.make_dzero_to_hh(bpvvdchi2_min=64.) + dst = d_builder.make_dstar_to_dzeropi( + dzero2, + deltamass_max=180 * MeV, + bpvvdchi2_min=0, + soft_pi_pidk_max=None, + soft_pi_p_min=0 * GeV, + soft_pi_pt_min=0 * MeV, + soft_pi_mipchi2_min=0) + b = b_builder.make_b2dstd( particles=[dst, dzero1], descriptors=['B+ -> D*(2010)+ D0', 'B- -> D*(2010)- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BuToDstD0_DstToD0Pi_D0ToHHHH_D0ToHH(process): +def make_BuToDstD0_DstToD0Pi_D0ToHHHH_D0ToHH(process, MVACut=0.2): if process == 'spruce': dzero1 = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) - dzero2 = d_builder.make_dzero_to_hhhh( + dzero2 = d_builder.make_dzero_to_kpipipi( pi_pidk_max=None, k_pidk_min=None) if process == 'hlt2': - dzero1 = d_builder.make_dzero_to_hh() - dzero2 = d_builder.make_dzero_to_hhhh() - dst = d_builder.make_dstar_to_dzeropi(dzero2) - line_alg = b_builder.make_b2x( + dzero1 = d_builder.make_dzero_to_hh(bpvvdchi2_min=64.) + dzero2 = d_builder.make_dzero_to_kpipipi(bpvvdchi2_min=64.) + dst = d_builder.make_dstar_to_dzeropi( + dzero2, + deltamass_max=180 * MeV, + bpvvdchi2_min=0, + soft_pi_pidk_max=None, + soft_pi_p_min=0 * GeV, + soft_pi_pt_min=0 * MeV, + soft_pi_mipchi2_min=0) + b = b_builder.make_b2dstd( particles=[dst, dzero1], descriptors=['B+ -> D*(2010)+ D0', 'B- -> D*(2010)+ D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BuToDstD0_DstToD0Pi_D0ToHHHH_D0ToHHHH(process): +def make_BuToDstD0_DstToD0Pi_D0ToHHHH_D0ToHHHH(process, MVACut=0.2): if process == 'spruce': - dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) + dzero = d_builder.make_dzero_to_kpipipi( + pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - dzero = d_builder.make_dzero_to_hhhh() - dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2x( + dzero = d_builder.make_dzero_to_kpipipi(bpvvdchi2_min=64.) + dst = d_builder.make_dstar_to_dzeropi( + dzero, + deltamass_max=180 * MeV, + bpvvdchi2_min=0, + soft_pi_pidk_max=None, + soft_pi_p_min=0 * GeV, + soft_pi_pt_min=0 * MeV, + soft_pi_mipchi2_min=0) + b = b_builder.make_b2dstd( particles=[dst, dzero], descriptors=['B+ -> D*(2010)+ D0', 'B- -> D*(2010)- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @@ -305,176 +364,237 @@ def make_BuToDstD0_DstToD0Pi_D0ToHHHH_D0ToHHHH(process): @check_process -def make_BcToD0Dp_D0ToHH_DpToHHH(process): +def make_BcToD0Dp_D0ToHH_DpToHHH(process, MVACut=0.2): if process == 'spruce': dzero = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) - dp = d_builder.make_dplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + am_min=1769.62, am_max=1969.62, pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - dzero = d_builder.make_dzero_to_hh() - dp = d_builder.make_dplus_to_hhh() - line_alg = b_builder.make_bc2x( + dzero = d_builder.make_dzero_to_hh(bpvvdchi2_min=49.) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + bpvvdchi2_min=49., am_min=1769.62, am_max=1969.62) + b = b_builder.make_bc2dd( particles=[dzero, dp], descriptors=['B_c+ -> D0 D+', 'B_c- -> D0 D-']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToD0Dsp_D0ToHH_DspToHHH(process): +def make_BcToD0Dsp_D0ToHH_DspToHHH(process, MVACut=0.2): if process == 'spruce': dzero = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) - dp = d_builder.make_dsplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + dp = d_builder.make_dsplus_to_kpkmpip( + am_min=1868.47, am_max=2068.47, pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - dzero = d_builder.make_dzero_to_hh() - dp = d_builder.make_dsplus_to_hhh() - line_alg = b_builder.make_bc2x( + dzero = d_builder.make_dzero_to_hh(bpvvdchi2_min=49.) + dp = d_builder.make_dsplus_to_kpkmpip( + bpvvdchi2_min=49., am_min=1868.47, am_max=2068.47) + b = b_builder.make_bc2dd( particles=[dp, dzero], descriptors=['B_c+ -> D_s+ D0', 'B_c- -> D_s- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToD0Dp_D0ToHHHH_DpToHHH(process): +def make_BcToD0Dp_D0ToHHHH_DpToHHH(process, MVACut=0.2): if process == 'spruce': - dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) - dp = d_builder.make_dplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + dzero = d_builder.make_dzero_to_kpipipi( + pi_pidk_max=None, k_pidk_min=None) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + am_min=1769.62, am_max=1969.62, pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - dzero = d_builder.make_dzero_to_hhhh() - dp = d_builder.make_dplus_to_hhh() - line_alg = b_builder.make_bc2x( + dzero = d_builder.make_dzero_to_kpipipi(bpvvdchi2_min=49.) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + bpvvdchi2_min=49., am_min=1769.62, am_max=1969.62) + b = b_builder.make_bc2dd( particles=[dzero, dp], descriptors=['B_c+ -> D0 D+', 'B_c- -> D0 D-']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToD0Dsp_D0ToHHHH_DspToHHH(process): +def make_BcToD0Dsp_D0ToHHHH_DspToHHH(process, MVACut=0.2): if process == 'spruce': - dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) - dp = d_builder.make_dsplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + dzero = d_builder.make_dzero_to_kpipipi( + pi_pidk_max=None, k_pidk_min=None) + dp = d_builder.make_dsplus_to_kpkmpip( + am_min=1868.47, am_max=2068.47, pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - dzero = d_builder.make_dzero_to_hhhh() - dp = d_builder.make_dsplus_to_hhh() - line_alg = b_builder.make_bc2x( + dzero = d_builder.make_dzero_to_kpipipi(bpvvdchi2_min=49.) + dp = d_builder.make_dsplus_to_kpkmpip( + bpvvdchi2_min=49., am_min=1868.47, am_max=2068.47) + b = b_builder.make_bc2dd( particles=[dp, dzero], descriptors=['B_c+ -> D_s+ D0', 'B_c- -> D_s- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToD0Dp_D0ToKsDDHH_DpToHHH(process): +def make_BcToD0Dp_D0ToKsDDHH_DpToHHH(process, MVACut=0.2): if process == 'spruce': dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=None, k_pidk_min=None) - dp = d_builder.make_dplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + am_min=1769.62, am_max=1969.62, pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': dzero = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_DD()) - dp = d_builder.make_dplus_to_hhh() - line_alg = b_builder.make_bc2x( + bpvvdchi2_min=49., k_shorts=basic_builder.make_ks_DD()) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + bpvvdchi2_min=49., am_min=1769.62, am_max=1969.62) + b = b_builder.make_bc2dd( particles=[dzero, dp], descriptors=['B_c+ -> D0 D+', 'B_c- -> D0 D-']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToD0Dsp_D0ToKsDDHH_DspToHHH(process): +def make_BcToD0Dsp_D0ToKsDDHH_DspToHHH(process, MVACut=0.2): if process == 'spruce': dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=None, k_pidk_min=None) - dp = d_builder.make_dsplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + dp = d_builder.make_dsplus_to_kpkmpip( + am_min=1868.47, am_max=2068.47, pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': dzero = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_DD()) - dp = d_builder.make_dsplus_to_hhh() - line_alg = b_builder.make_bc2x( + bpvvdchi2_min=49., k_shorts=basic_builder.make_ks_DD()) + dp = d_builder.make_dsplus_to_kpkmpip( + bpvvdchi2_min=49., am_min=1868.47, am_max=2068.47) + b = b_builder.make_bc2dd( particles=[dp, dzero], descriptors=['B_c+ -> D_s+ D0', 'B_c- -> D_s- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToD0Dp_D0ToKsLLHH_DpToHHH(process): +def make_BcToD0Dp_D0ToKsLLHH_DpToHHH(process, MVACut=0.2): if process == 'spruce': dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=None, k_pidk_min=None) - dp = d_builder.make_dplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + am_min=1769.62, am_max=1969.62, pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': dzero = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_LL()) - dp = d_builder.make_dplus_to_hhh() - line_alg = b_builder.make_bc2x( + bpvvdchi2_min=49., k_shorts=basic_builder.make_ks_LL()) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + bpvvdchi2_min=49., am_min=1769.62, am_max=1969.62) + b = b_builder.make_bc2dd( particles=[dzero, dp], descriptors=['B_c+ -> D0 D+', 'B_c- -> D0 D-']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToD0Dsp_D0ToKsLLHH_DspToHHH(process): +def make_BcToD0Dsp_D0ToKsLLHH_DspToHHH(process, MVACut=0.2): if process == 'spruce': dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=None, k_pidk_min=None) - dp = d_builder.make_dsplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + dp = d_builder.make_dsplus_to_kpkmpip( + am_min=1868.47, am_max=2068.47, pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': dzero = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_LL()) - dp = d_builder.make_dsplus_to_hhh() - line_alg = b_builder.make_bc2x( + bpvvdchi2_min=49., k_shorts=basic_builder.make_ks_LL()) + dp = d_builder.make_dsplus_to_kpkmpip( + bpvvdchi2_min=49., am_min=1868.47, am_max=2068.47) + b = b_builder.make_bc2dd( particles=[dp, dzero], descriptors=['B_c+ -> D_s+ D0', 'B_c- -> D_s- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToDstD0_DstToD0Pi_D0ToHH_D0ToHH(process): +def make_BcToDstD0_DstToD0Pi_D0ToHH_D0ToHH(process, MVACut=0.2): if process == 'spruce': dzero = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - dzero = d_builder.make_dzero_to_hh() - dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_bc2x( + dzero = d_builder.make_dzero_to_hh(bpvvdchi2_min=49.) + dst = d_builder.make_dstar_to_dzeropi( + dzero, + deltamass_max=180 * MeV, + bpvvdchi2_min=0, + soft_pi_pidk_max=None, + soft_pi_p_min=0 * GeV, + soft_pi_pt_min=0 * MeV, + soft_pi_mipchi2_min=0) + b = b_builder.make_bc2dstd( particles=[dst, dzero], descriptors=['B_c+ -> D*(2010)+ D0', 'B_c- -> D*(2010)- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToDstD0_DstToD0Pi_D0ToHH_D0ToHHHH(process): +def make_BcToDstD0_DstToD0Pi_D0ToHH_D0ToHHHH(process, MVACut=0.2): if process == 'spruce': - dzero1 = d_builder.make_dzero_to_hhhh( + dzero1 = d_builder.make_dzero_to_kpipipi( pi_pidk_max=None, k_pidk_min=None) dzero2 = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - dzero1 = d_builder.make_dzero_to_hhhh() - dzero2 = d_builder.make_dzero_to_hh() - dst = d_builder.make_dstar_to_dzeropi(dzero2) - line_alg = b_builder.make_bc2x( + dzero1 = d_builder.make_dzero_to_kpipipi(bpvvdchi2_min=49.) + dzero2 = d_builder.make_dzero_to_hh(bpvvdchi2_min=49.) + dst = d_builder.make_dstar_to_dzeropi( + dzero2, + deltamass_max=180 * MeV, + bpvvdchi2_min=0, + soft_pi_pidk_max=None, + soft_pi_p_min=0 * GeV, + soft_pi_pt_min=0 * MeV, + soft_pi_mipchi2_min=0) + b = b_builder.make_bc2dstd( particles=[dst, dzero1], descriptors=['B_c+ -> D*(2010)+ D0', 'B_c- -> D*(2010)- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToHH(process): +def make_BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToHH(process, MVACut=0.2): if process == 'spruce': dzero1 = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) - dzero2 = d_builder.make_dzero_to_hhhh( + dzero2 = d_builder.make_dzero_to_kpipipi( pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - dzero1 = d_builder.make_dzero_to_hh() - dzero2 = d_builder.make_dzero_to_hhhh() - dst = d_builder.make_dstar_to_dzeropi(dzero2) - line_alg = b_builder.make_bc2x( + dzero1 = d_builder.make_dzero_to_hh(bpvvdchi2_min=49.) + dzero2 = d_builder.make_dzero_to_kpipipi(bpvvdchi2_min=49.) + dst = d_builder.make_dstar_to_dzeropi( + dzero2, + deltamass_max=180 * MeV, + bpvvdchi2_min=0, + soft_pi_pidk_max=None, + soft_pi_p_min=0 * GeV, + soft_pi_pt_min=0 * MeV, + soft_pi_mipchi2_min=0) + b = b_builder.make_bc2dstd( particles=[dst, dzero1], descriptors=['B_c+ -> D*(2010)+ D0', 'B_c- -> D*(2010)+ D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToDstD0_DstToD0Pi_D0ToHH_D0ToKsLLHH(process): +def make_BcToDstD0_DstToD0Pi_D0ToHH_D0ToKsLLHH(process, MVACut=0.2): if process == 'spruce': dzero1 = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), @@ -483,17 +603,26 @@ def make_BcToDstD0_DstToD0Pi_D0ToHH_D0ToKsLLHH(process): dzero2 = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': dzero1 = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_LL()) - dzero2 = d_builder.make_dzero_to_hh() - dst = d_builder.make_dstar_to_dzeropi(dzero2) - line_alg = b_builder.make_bc2x( + bpvvdchi2_min=49., k_shorts=basic_builder.make_ks_LL()) + dzero2 = d_builder.make_dzero_to_hh(bpvvdchi2_min=49.) + dst = d_builder.make_dstar_to_dzeropi( + dzero2, + deltamass_max=180 * MeV, + bpvvdchi2_min=0, + soft_pi_pidk_max=None, + soft_pi_p_min=0 * GeV, + soft_pi_pt_min=0 * MeV, + soft_pi_mipchi2_min=0) + b = b_builder.make_bc2dstd( particles=[dst, dzero1], descriptors=['B_c+ -> D*(2010)+ D0', 'B_c- -> D*(2010)- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToDstD0_DstToD0Pi_D0ToHH_D0ToKsDDHH(process): +def make_BcToDstD0_DstToD0Pi_D0ToHH_D0ToKsDDHH(process, MVACut=0.2): if process == 'spruce': dzero1 = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), @@ -502,64 +631,101 @@ def make_BcToDstD0_DstToD0Pi_D0ToHH_D0ToKsDDHH(process): dzero2 = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': dzero1 = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_DD()) - dzero2 = d_builder.make_dzero_to_hh() - dst = d_builder.make_dstar_to_dzeropi(dzero2) - line_alg = b_builder.make_bc2x( + bpvvdchi2_min=49., k_shorts=basic_builder.make_ks_DD()) + dzero2 = d_builder.make_dzero_to_hh(bpvvdchi2_min=49.) + dst = d_builder.make_dstar_to_dzeropi( + dzero2, + deltamass_max=180 * MeV, + bpvvdchi2_min=0, + soft_pi_pidk_max=None, + soft_pi_p_min=0 * GeV, + soft_pi_pt_min=0 * MeV, + soft_pi_mipchi2_min=0) + b = b_builder.make_bc2dstd( particles=[dst, dzero1], descriptors=['B_c+ -> D*(2010)+ D0', 'B_c- -> D*(2010)- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToHHHH(process): +def make_BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToHHHH(process, MVACut=0.2): if process == 'spruce': - dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) + dzero = d_builder.make_dzero_to_kpipipi( + pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - dzero = d_builder.make_dzero_to_hhhh() - dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_bc2x( + dzero = d_builder.make_dzero_to_kpipipi(bpvvdchi2_min=49.) + dst = d_builder.make_dstar_to_dzeropi( + dzero, + deltamass_max=180 * MeV, + bpvvdchi2_min=0, + soft_pi_pidk_max=None, + soft_pi_p_min=0 * GeV, + soft_pi_pt_min=0 * MeV, + soft_pi_mipchi2_min=0) + b = b_builder.make_bc2dstd( particles=[dst, dzero], descriptors=['B_c+ -> D*(2010)+ D0', 'B_c- -> D*(2010)- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToKsLLHH(process): +def make_BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToKsLLHH(process, MVACut=0.2): if process == 'spruce': dzero1 = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=None, k_pidk_min=None) - dzero2 = d_builder.make_dzero_to_hhhh( + dzero2 = d_builder.make_dzero_to_kpipipi( pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': dzero1 = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_LL()) - dzero2 = d_builder.make_dzero_to_hhhh() - dst = d_builder.make_dstar_to_dzeropi(dzero2) - line_alg = b_builder.make_bc2x( + bpvvdchi2_min=49., k_shorts=basic_builder.make_ks_LL()) + dzero2 = d_builder.make_dzero_to_kpipipi(bpvvdchi2_min=49.) + dst = d_builder.make_dstar_to_dzeropi( + dzero2, + deltamass_max=180 * MeV, + bpvvdchi2_min=0, + soft_pi_pidk_max=None, + soft_pi_p_min=0 * GeV, + soft_pi_pt_min=0 * MeV, + soft_pi_mipchi2_min=0) + b = b_builder.make_bc2dstd( particles=[dst, dzero1], descriptors=['B_c+ -> D*(2010)+ D0', 'B_c- -> D*(2010)- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToKsDDHH(process): +def make_BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToKsDDHH(process, MVACut=0.2): if process == 'spruce': dzero1 = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=None, k_pidk_min=None) - dzero2 = d_builder.make_dzero_to_hhhh( + dzero2 = d_builder.make_dzero_to_kpipipi( pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': dzero1 = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_DD()) - dzero2 = d_builder.make_dzero_to_hhhh( - pi_pidk_max=None, k_pidk_min=None) - dst = d_builder.make_dstar_to_dzeropi(dzero2) - line_alg = b_builder.make_bc2x( + bpvvdchi2_min=49., k_shorts=basic_builder.make_ks_DD()) + dzero2 = d_builder.make_dzero_to_kpipipi( + bpvvdchi2_min=49., pi_pidk_max=None, k_pidk_min=None) + dst = d_builder.make_dstar_to_dzeropi( + dzero2, + deltamass_max=180 * MeV, + bpvvdchi2_min=0, + soft_pi_pidk_max=None, + soft_pi_p_min=0 * GeV, + soft_pi_pt_min=0 * MeV, + soft_pi_mipchi2_min=0) + b = b_builder.make_bc2dstd( particles=[dst, dzero1], descriptors=['B_c+ -> D*(2010)+ D0', 'B_c- -> D*(2010)- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_ddh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_ddh.py index 850b98d6303659e75f5733bafe5db37fb7512425..98ca33da094df5b16e0ff42a41632cb069ddd59a 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_ddh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_ddh.py @@ -13,19 +13,20 @@ """ from __future__ import absolute_import, division, print_function -from GaudiKernel.SystemOfUnits import GeV, picosecond - from Hlt2Conf.algorithms import ParticleContainersMerger +from Hlt2Conf.lines.b_to_open_charm.filters import b_sigmanet_filter from Hlt2Conf.lines.b_to_open_charm.utils import check_process +from RecoConf.reconstruction_objects import make_pvs_v2 as make_pvs + from Hlt2Conf.lines.b_to_open_charm.builders import basic_builder from Hlt2Conf.lines.b_to_open_charm.builders import d_builder from Hlt2Conf.lines.b_to_open_charm.builders import b_builder @check_process -def make_BdToD0D0Kst_D0ToHHOrHHHH(process): +def make_BdToD0D0Kst_D0ToHHOrHHHH(process, MVACut=0.5): if process == 'spruce': kst = basic_builder.make_kstar0(am_min=600, am_max=1600) dzero_hh = d_builder.make_dzero_to_hh( @@ -33,16 +34,17 @@ def make_BdToD0D0Kst_D0ToHHOrHHHH(process): dzero_hhhh = d_builder.make_dzero_to_hhhh( pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - kst = basic_builder.make_kstar0(am_min=600, am_max=1600) - dzero_hh = d_builder.make_dzero_to_hh() - dzero_hhhh = d_builder.make_dzero_to_hhhh() + kst = basic_builder.make_kstar0(am_min=600, am_max=1600, k_pidk_min=-2) + dzero_hh = d_builder.make_dzero_to_hh(k_pidk_min=-2) + dzero_hhhh = d_builder.make_dzero_to_hhhh(k_pidk_min=-2) d = ParticleContainersMerger([dzero_hh, dzero_hhhh], name='B2OCD02HHorHHHHMerger') - line_alg = b_builder.make_b2x( + b = b_builder.make_b2cch( particles=[d, d, kst], - descriptors=['B0 -> D0 D0 K*(892)0', 'B0 -> D0 D0 K*(892)~0'], - sum_pt_min=6 * GeV, - bpvltime_min=0.3 * picosecond) + descriptors=['B0 -> D0 D0 K*(892)0', 'B0 -> D0 D0 K*(892)~0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) + return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dh.py index 6778ef56cfc144ffefda8fa2377b7b4c2069651f..8bde1a3dc2f64145496978eec1b9045d63046421 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dh.py @@ -21,12 +21,13 @@ every function returns a line_alg from __future__ import absolute_import, division, print_function from Hlt2Conf import standard_particles -from GaudiKernel.SystemOfUnits import MeV, GeV, picosecond # will be needed once the full set of lines is back +from GaudiKernel.SystemOfUnits import MeV, GeV, picosecond, mm # will be needed once the full set of lines is back -from Hlt2Conf.lines.b_to_open_charm.filters import b_bdt_filter, b_to_dh_bdt_filter +from Hlt2Conf.lines.b_to_open_charm.filters import b_sigmanet_filter, b_bdt_filter #, b_to_dh_bdt_filter from Hlt2Conf.lines.b_to_open_charm.utils import check_process -from RecoConf.reconstruction_objects import make_pvs +from RecoConf.reconstruction_objects import make_pvs as make_pvs_v1 +from RecoConf.reconstruction_objects import make_pvs_v2 as make_pvs from Hlt2Conf.lines.b_to_open_charm.builders import basic_builder from Hlt2Conf.lines.b_to_open_charm.builders import d_builder @@ -38,58 +39,100 @@ from Hlt2Conf.lines.b_to_open_charm.builders import b_builder @check_process -def make_BdToDsmK_DsmToHHH(process): +def make_BdToDsmK_DsmToKpKmPim(process): if process == 'spruce': kaon = basic_builder.make_tight_kaons(k_pidk_min=None) - d = d_builder.make_dsplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + d = d_builder.make_dsplus_to_kpkmpip(pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - kaon = basic_builder.make_tight_kaons() - d = d_builder.make_dsplus_to_hhh() + kaon = basic_builder.make_tight_kaons(k_pidk_min=0) + d = d_builder.make_dsplus_to_kpkmpip() line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['[B0 -> D_s- K+]cc']) + particles=[d, kaon], + descriptors=['[B0 -> D_s- K+]cc'], + am_min=5000 * MeV, + am_max=7000 * MeV, + am_min_vtx=5000 * MeV, + am_max_vtx=7000 * MeV, + sum_pt_min=6 * GeV, + bpvltime_min=0.3 * picosecond) return line_alg @check_process -def make_BdToDsmPi_DsmToHHH(process): +def make_BdToDsmPi_DsmToKpKmPim(process): if process == 'spruce': pion = basic_builder.make_tight_pions(pi_pidk_max=None) - d = d_builder.make_dsplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) + d = d_builder.make_dsplus_to_kpkmpip(pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - pion = basic_builder.make_tight_pions() - d = d_builder.make_dsplus_to_hhh() + pion = basic_builder.make_tight_pions(pi_pidk_max=0) + d = d_builder.make_dsplus_to_kpkmpip() line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['[B0 -> D_s- pi+]cc']) + particles=[d, pion], + descriptors=['[B0 -> D_s- pi+]cc'], + am_min=5000 * MeV, + am_max=7000 * MeV, + am_min_vtx=5000 * MeV, + am_max_vtx=7000 * MeV, + sum_pt_min=6 * GeV, + bpvltime_min=0.3 * picosecond) return line_alg @check_process -def make_BdToDmPi_DmToPimPimKp(process, MVACut=-1.): +def make_BdToDsmPi_DsmToKpKmPim_Turcal(process): # request from Vava + pion = basic_builder.make_tight_pions(pi_pidk_max=None) + d = d_builder.make_dsplus_to_kpkmpip() + line_alg = b_builder.make_b2x( + particles=[d, pion], + descriptors=['[B0 -> D_s- pi+]cc'], + am_min=5000 * MeV, + am_max=7000 * MeV, + am_min_vtx=5000 * MeV, + am_max_vtx=7000 * MeV, + sum_pt_min=6 * GeV, + bpvltime_min=0.3 * picosecond) + return line_alg + + +@check_process +def make_BdToDmPi_DmToPimPimKp(process): if process == 'spruce': pion = basic_builder.make_tight_pions(pi_pidk_max=None) d = d_builder.make_dplus_to_kmpippip(pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - pion = basic_builder.make_tight_pions() + pion = basic_builder.make_tight_pions(pi_pidk_max=0) d = d_builder.make_dplus_to_kmpippip() - b = b_builder.make_b2x( - particles=[d, pion], descriptors=['[B0 -> D- pi+]cc']) - pvs = make_pvs() - line_alg = b_to_dh_bdt_filter(b, pvs, MVACut) + line_alg = b_builder.make_b2x( + particles=[d, pion], + descriptors=['[B0 -> D- pi+]cc'], + am_min=5000 * MeV, + am_max=7000 * MeV, + am_min_vtx=5000 * MeV, + am_max_vtx=7000 * MeV, + sum_pt_min=6 * GeV, + bpvltime_min=0.3 * picosecond) return line_alg @check_process -def make_BdToDmK_DmToPimPimKp(process, MVACut=-1.): +def make_BdToDmK_DmToPimPimKp(process, MVACut=0.): if process == 'spruce': kaon = basic_builder.make_tight_kaons(k_pidk_min=None) d = d_builder.make_dplus_to_kmpippip(pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': - kaon = basic_builder.make_tight_kaons() + kaon = basic_builder.make_tight_kaons(k_pidk_min=0) d = d_builder.make_dplus_to_kmpippip() b = b_builder.make_b2x( - particles=[d, kaon], descriptors=['[B0 -> D- K+]cc']) + particles=[d, kaon], + descriptors=['[B0 -> D- K+]cc'], + am_min=5000 * MeV, + am_max=7000 * MeV, + am_min_vtx=5000 * MeV, + am_max_vtx=7000 * MeV, + sum_pt_min=6 * GeV, + bpvltime_min=0.3 * picosecond) pvs = make_pvs() - line_alg = b_to_dh_bdt_filter(b, pvs, MVACut) + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @@ -104,12 +147,14 @@ def make_BdToDsstmK_DsstmToDsmGamma_DsmToHHH(process): dsst = d_builder.make_dsst_to_dsplusgamma(ds) line_alg = b_builder.make_b2x( particles=[dsst, kaon], - descriptors=['B0 -> D*_s- K+', 'B0 -> D*_s+ K-']) + descriptors=['B0 -> D*_s- K+', 'B0 -> D*_s+ K-'], + sum_pt_min=6 * GeV, + bpvltime_min=0.3 * picosecond) return line_alg @check_process -def make_BdToDsstmPi_DsstmToDsmGamma_DsmToHHH(process, MVACut): +def make_BdToDsstmPi_DsstmToDsmGamma_DsmToHHH(process): if process == 'spruce': pion = basic_builder.make_tight_pions(pi_pidk_max=None) ds = d_builder.make_dsplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) @@ -117,11 +162,9 @@ def make_BdToDsstmPi_DsstmToDsmGamma_DsmToHHH(process, MVACut): pion = basic_builder.make_tight_pions() ds = d_builder.make_dsplus_to_hhh() dsst = d_builder.make_dsst_to_dsplusgamma(ds) - b = b_builder.make_b2x( + line_alg = b_builder.make_b2x( particles=[dsst, pion], descriptors=['B0 -> D*_s- pi+', 'B0 -> D*_s+ pi-']) - pvs = make_pvs() - line_alg = b_to_dh_bdt_filter(b, pvs, MVACut, with_neutrals=True) return line_alg @@ -131,44 +174,60 @@ def make_BdToDsstmPi_DsstmToDsmGamma_DsmToHHH(process, MVACut): @check_process -def make_BuToD0K_D0ToHH(process): +def make_BuToD0K_D0ToHH(process, MVAcut=0.7): if process == 'spruce': kaon = basic_builder.make_tight_kaons(k_pidk_min=None) elif process == 'hlt2': kaon = basic_builder.make_tight_kaons() d = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToHH(process): +def make_BuToD0Pi_D0ToHH(process, MVAcut=0.7): if process == 'spruce': pion = basic_builder.make_tight_pions(pi_pidk_max=None) elif process == 'hlt2': pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToHHWS(process): +def make_BuToD0K_D0ToHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() d = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToHHWS(process): +def make_BuToD0Pi_D0ToHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -292,82 +351,114 @@ def make_BuToD0K_D0ToHHPi0MergedWS(process): @check_process -def make_BuToD0Pi_D0ToKsLLHH(process): +def make_BuToD0Pi_D0ToKsLLHH(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToKsDDHH(process): +def make_BuToD0Pi_D0ToKsDDHH(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsLLHH(process): +def make_BuToD0K_D0ToKsLLHH(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsDDHH(process): +def make_BuToD0K_D0ToKsDDHH(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToKsLLHHWS(process): +def make_BuToD0Pi_D0ToKsLLHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToKsDDHHWS(process): +def make_BuToD0Pi_D0ToKsDDHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsLLHHWS(process): +def make_BuToD0K_D0ToKsLLHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() d = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsDDHHWS(process): +def make_BuToD0K_D0ToKsDDHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() d = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -379,122 +470,146 @@ def make_BuToD0K_D0ToKsDDHHWS(process): @check_process -def make_BuToD0Pi_PartialD0ToKsLLHH(process): +def make_BuToD0Pi_PartialD0ToKsLLHH(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10, am_min=1000 * MeV) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], - am_min=4500 * MeV) + am_min=4500 * MeV, + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_PartialD0ToKsDDHH(process): +def make_BuToD0Pi_PartialD0ToKsDDHH(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10, am_min=1000 * MeV) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], - am_min=4500 * MeV) + am_min=4500 * MeV, + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_PartialD0ToKsLLHH(process): +def make_BuToD0K_PartialD0ToKsLLHH(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10, am_min=1000 * MeV) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], - am_min=4500 * MeV) + am_min=4500 * MeV, + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_PartialD0ToKsDDHH(process): +def make_BuToD0K_PartialD0ToKsDDHH(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10, am_min=1000 * MeV) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], - am_min=4500 * MeV) + am_min=4500 * MeV, + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_PartialD0ToKsLLHHWS(process): +def make_BuToD0Pi_PartialD0ToKsLLHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10, am_min=1000 * MeV) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], - am_min=4500 * MeV) + am_min=4500 * MeV, + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_PartialD0ToKsDDHHWS(process): +def make_BuToD0Pi_PartialD0ToKsDDHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10, am_min=1000 * MeV) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], - am_min=4500 * MeV) + am_min=4500 * MeV, + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_PartialD0ToKsLLHHWS(process): +def make_BuToD0K_PartialD0ToKsLLHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() d = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10, am_min=1000 * MeV) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], - am_min=4500 * MeV) + am_min=4500 * MeV, + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_PartialD0ToKsDDHHWS(process): +def make_BuToD0K_PartialD0ToKsDDHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() d = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10, am_min=1000 * MeV) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], - am_min=4500 * MeV) + am_min=4500 * MeV, + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -504,7 +619,7 @@ def make_BuToD0K_PartialD0ToKsDDHHWS(process): @check_process -def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToKsLLHH(process): +def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToKsLLHH(process, MVAcut=0.7): if process == 'spruce': pion = basic_builder.make_tight_pions(pi_pidk_max=None) elif process == 'hlt2': @@ -512,14 +627,17 @@ def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToKsLLHH(process): dzero = d_builder.make_dzero_to_kshh( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_LL()) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToKsLLHH(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToKsLLHH(process, MVAcut=0.7): if process == 'spruce': pion = basic_builder.make_tight_pions(pi_pidk_max=None) elif process == 'hlt2': @@ -528,14 +646,17 @@ def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToKsLLHH(process): pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_LL()) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToKsLLHH(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToKsLLHH(process, MVAcut=0.7): if process == 'spruce': pion = basic_builder.make_tight_pions(pi_pidk_max=None) elif process == 'hlt2': @@ -544,14 +665,17 @@ def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToKsLLHH(process): pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_LL()) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Gamma_D0ToKsLLHH(process): +def make_BuToDst0K_Dst0ToD0Gamma_D0ToKsLLHH(process, MVAcut=0.7): if process == 'spruce': kaon = basic_builder.make_tight_kaons(k_pidk_min=None) elif process == 'hlt2': @@ -559,14 +683,17 @@ def make_BuToDst0K_Dst0ToD0Gamma_D0ToKsLLHH(process): dzero = d_builder.make_dzero_to_kshh( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_LL()) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH(process): +def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH(process, MVAcut=0.7): if process == 'spruce': kaon = basic_builder.make_tight_kaons(k_pidk_min=None) elif process == 'hlt2': @@ -575,14 +702,17 @@ def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH(process): k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToKsLLHH(process): +def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToKsLLHH(process, MVAcut=0.7): if process == 'spruce': kaon = basic_builder.make_tight_kaons(pi_pidk_max=None) elif process == 'hlt2': @@ -591,14 +721,17 @@ def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToKsLLHH(process): k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToKsDDHH(process): +def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToKsDDHH(process, MVAcut=0.7): if process == 'spruce': pion = basic_builder.make_tight_pions(pi_pidk_max=None) elif process == 'hlt2': @@ -606,14 +739,17 @@ def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToKsDDHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToKsDDHH(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToKsDDHH(process, MVAcut=0.7): if process == 'spruce': pion = basic_builder.make_tight_pions(pi_pidk_max=None) elif process == 'hlt2': @@ -622,14 +758,17 @@ def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToKsDDHH(process): k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToKsDDHH(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToKsDDHH(process, MVAcut=0.7): if process == 'spruce': pion = basic_builder.make_tight_pions(pi_pidk_max=None) elif process == 'hlt2': @@ -638,14 +777,17 @@ def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToKsDDHH(process): k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Gamma_D0ToKsDDHH(process): +def make_BuToDst0K_Dst0ToD0Gamma_D0ToKsDDHH(process, MVAcut=0.7): if process == 'spruce': kaon = basic_builder.make_tight_kaons(k_pidk_min=None) elif process == 'hlt2': @@ -653,14 +795,17 @@ def make_BuToDst0K_Dst0ToD0Gamma_D0ToKsDDHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH(process): +def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH(process, MVAcut=0.7): if process == 'spruce': kaon = basic_builder.make_tight_kaons(pi_pidk_max=None) elif process == 'hlt2': @@ -669,14 +814,17 @@ def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH(process): k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToKsDDHH(process): +def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToKsDDHH(process, MVAcut=0.7): if process == 'spruce': kaon = basic_builder.make_tight_kaons(pi_pidk_max=None) elif process == 'hlt2': @@ -685,161 +833,200 @@ def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToKsDDHH(process): k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToKsLLHHWS(process): +def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToKsLLHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToKsLLHHWS(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToKsLLHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToKsLLHHWS(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToKsLLHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Gamma_D0ToKsLLHHWS(process): +def make_BuToDst0K_Dst0ToD0Gamma_D0ToKsLLHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToKsLLHHWS(process): +def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToKsLLHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToKsLLHHWS(process): +def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToKsLLHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToKsDDHHWS(process): +def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToKsDDHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToKsDDHHWS(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToKsDDHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToKsDDHHWS(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToKsDDHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Gamma_D0ToKsDDHHWS(process): +def make_BuToDst0K_Dst0ToD0Gamma_D0ToKsDDHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToKsDDHHWS(process): +def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToKsDDHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToKsDDHHWS(process): +def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToKsDDHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -849,38 +1036,54 @@ def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToKsDDHHWS(process): @check_process -def make_BuToD0K_D0ToHHHH(process): +def make_BuToD0K_D0ToHHHH(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() - d = d_builder.make_dzero_to_hhhh() - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + d = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToHHHH(process): +def make_BuToD0Pi_D0ToHHHH(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() - d = d_builder.make_dzero_to_hhhh() - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + d = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToHHHHWS(process): +def make_BuToD0K_D0ToHHHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() d = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToHHHHWS(process): +def make_BuToD0Pi_D0ToHHHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -890,90 +1093,122 @@ def make_BuToD0Pi_D0ToHHHHWS(process): @check_process -def make_BuToD0Pi_D0ToKsLLPi0Resolved(process): +def make_BuToD0Pi_D0ToKsLLPi0Resolved(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_kspi0( k_shorts=basic_builder.make_ks_LL(), pi0=pi0) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToKsLLPi0Merged(process): +def make_BuToD0Pi_D0ToKsLLPi0Merged(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_kspi0( k_shorts=basic_builder.make_ks_LL(), pi0=pi0) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToKsDDPi0Resolved(process): +def make_BuToD0Pi_D0ToKsDDPi0Resolved(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_kspi0( k_shorts=basic_builder.make_ks_DD(), pi0=pi0) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToKsDDPi0Merged(process): +def make_BuToD0Pi_D0ToKsDDPi0Merged(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_kspi0( k_shorts=basic_builder.make_ks_DD(), pi0=pi0) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsLLPi0Resolved(process): +def make_BuToD0K_D0ToKsLLPi0Resolved(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_kspi0( k_shorts=basic_builder.make_ks_LL(), pi0=pi0) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsLLPi0Merged(process): +def make_BuToD0K_D0ToKsLLPi0Merged(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_kspi0( k_shorts=basic_builder.make_ks_LL(), pi0=pi0) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsDDPi0Resolved(process): +def make_BuToD0K_D0ToKsDDPi0Resolved(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_kspi0( k_shorts=basic_builder.make_ks_DD(), pi0=pi0) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsDDPi0Merged(process): +def make_BuToD0K_D0ToKsDDPi0Merged(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_kspi0( k_shorts=basic_builder.make_ks_DD(), pi0=pi0) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -983,7 +1218,7 @@ def make_BuToD0K_D0ToKsDDPi0Merged(process): @check_process -def make_BuToD0Pi_D0ToKsLLHHPi0Resolved(process): +def make_BuToD0Pi_D0ToKsLLHHPi0Resolved(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_kshhpi0( @@ -991,13 +1226,17 @@ def make_BuToD0Pi_D0ToKsLLHHPi0Resolved(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToKsDDHHPi0Resolved(process): +def make_BuToD0Pi_D0ToKsDDHHPi0Resolved(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_kshhpi0( @@ -1005,13 +1244,17 @@ def make_BuToD0Pi_D0ToKsDDHHPi0Resolved(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsLLHHPi0Resolved(process): +def make_BuToD0K_D0ToKsLLHHPi0Resolved(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_kshhpi0( @@ -1019,13 +1262,17 @@ def make_BuToD0K_D0ToKsLLHHPi0Resolved(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsDDHHPi0Resolved(process): +def make_BuToD0K_D0ToKsDDHHPi0Resolved(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_kshhpi0( @@ -1033,13 +1280,17 @@ def make_BuToD0K_D0ToKsDDHHPi0Resolved(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToKsLLHHPi0Merged(process): +def make_BuToD0Pi_D0ToKsLLHHPi0Merged(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_kshhpi0( @@ -1047,13 +1298,17 @@ def make_BuToD0Pi_D0ToKsLLHHPi0Merged(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToKsDDHHPi0Merged(process): +def make_BuToD0Pi_D0ToKsDDHHPi0Merged(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_kshhpi0( @@ -1061,13 +1316,17 @@ def make_BuToD0Pi_D0ToKsDDHHPi0Merged(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsLLHHPi0Merged(process): +def make_BuToD0K_D0ToKsLLHHPi0Merged(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_kshhpi0( @@ -1075,13 +1334,17 @@ def make_BuToD0K_D0ToKsLLHHPi0Merged(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsDDHHPi0Merged(process): +def make_BuToD0K_D0ToKsDDHHPi0Merged(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_kshhpi0( @@ -1089,13 +1352,17 @@ def make_BuToD0K_D0ToKsDDHHPi0Merged(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToKsLLHHWSPi0Resolved(process): +def make_BuToD0Pi_D0ToKsLLHHWSPi0Resolved(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_kshhpi0_ws( @@ -1103,13 +1370,17 @@ def make_BuToD0Pi_D0ToKsLLHHWSPi0Resolved(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToKsDDHHWSPi0Resolved(process): +def make_BuToD0Pi_D0ToKsDDHHWSPi0Resolved(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_kshhpi0_ws( @@ -1117,13 +1388,17 @@ def make_BuToD0Pi_D0ToKsDDHHWSPi0Resolved(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsLLHHWSPi0Resolved(process): +def make_BuToD0K_D0ToKsLLHHWSPi0Resolved(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_kshhpi0_ws( @@ -1131,13 +1406,17 @@ def make_BuToD0K_D0ToKsLLHHWSPi0Resolved(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsDDHHWSPi0Resolved(process): +def make_BuToD0K_D0ToKsDDHHWSPi0Resolved(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_kshhpi0_ws( @@ -1145,13 +1424,17 @@ def make_BuToD0K_D0ToKsDDHHWSPi0Resolved(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToKsLLHHWSPi0Merged(process): +def make_BuToD0Pi_D0ToKsLLHHWSPi0Merged(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_kshhpi0_ws( @@ -1159,13 +1442,17 @@ def make_BuToD0Pi_D0ToKsLLHHWSPi0Merged(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0Pi_D0ToKsDDHHWSPi0Merged(process): +def make_BuToD0Pi_D0ToKsDDHHWSPi0Merged(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_kshhpi0_ws( @@ -1173,13 +1460,17 @@ def make_BuToD0Pi_D0ToKsDDHHWSPi0Merged(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, pion], descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, pion], + descriptors=['B+ -> D0 pi+', 'B- -> D0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsLLHHWSPi0Merged(process): +def make_BuToD0K_D0ToKsLLHHWSPi0Merged(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_kshhpi0_ws( @@ -1187,13 +1478,17 @@ def make_BuToD0K_D0ToKsLLHHWSPi0Merged(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0K_D0ToKsDDHHWSPi0Merged(process): +def make_BuToD0K_D0ToKsDDHHWSPi0Merged(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_kshhpi0_ws( @@ -1201,8 +1496,12 @@ def make_BuToD0K_D0ToKsDDHHWSPi0Merged(process): pi0=pi0, pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( - particles=[d, kaon], descriptors=['B+ -> D0 K+', 'B- -> D0 K-']) + line_alg = b_builder.make_loose_mass_b2x( + particles=[d, kaon], + descriptors=['B+ -> D0 K+', 'B- -> D0 K-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -1212,142 +1511,178 @@ def make_BuToD0K_D0ToKsDDHHWSPi0Merged(process): @check_process -def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToHH(process): +def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToHH(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToHH(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToHH(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToHH(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToHH(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Gamma_D0ToHH(process): +def make_BuToDst0K_Dst0ToD0Gamma_D0ToHH(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHH(process): +def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHH(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToHH(process): +def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToHH(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToHHWS(process): +def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToHHWS(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToHHWS(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Gamma_D0ToHHWS(process): +def make_BuToDst0K_Dst0ToD0Gamma_D0ToHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHHWS(process): +def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToHHWS(process): +def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -1357,142 +1692,178 @@ def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToHHWS(process): @check_process -def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToHHHH(process): +def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToHHHH(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToHHHH(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToHHHH(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToHHHH(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToHHHH(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Gamma_D0ToHHHH(process): +def make_BuToDst0K_Dst0ToD0Gamma_D0ToHHHH(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHHHH(process): +def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHHHH(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToHHHH(process): +def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToHHHH(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToHHHHWS(process): +def make_BuToDst0Pi_Dst0ToD0Gamma_D0ToHHHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToHHHHWS(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToHHHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToHHHHWS(process): +def make_BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToHHHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() dzero = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, pion], - descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-']) + descriptors=['B+ -> D*(2007)0 pi+', 'B- -> D*(2007)0 pi-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Gamma_D0ToHHHHWS(process): +def make_BuToDst0K_Dst0ToD0Gamma_D0ToHHHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHHHHWS(process): +def make_BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHHHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_resolved_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToHHHHWS(process): +def make_BuToDst0K_Dst0ToD0Pi0Merged_D0ToHHHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() dzero = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) pi0 = basic_builder.make_merged_pi0s() dzerost = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[dzerost, kaon], - descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-']) + descriptors=['B+ -> D*(2007)0 K+', 'B- -> D*(2007)0 K-'], + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -1509,8 +1880,8 @@ def make_BdToDsmK_DsmToHHH_Test(process, MVACut=-1.): d = d_builder.make_dsplus_to_hhh() b = b_builder.make_b2x( particles=[d, kaon], descriptors=['[B0 -> D_s- K+]cc']) - pvs = make_pvs() - line_alg = b_bdt_filter(b, pvs, MVACut) + pvs_v1 = make_pvs_v1() + line_alg = b_bdt_filter(b, pvs_v1, MVACut) return line_alg @@ -1542,6 +1913,10 @@ def make_BcToD0K_D0ToHH(process): line_alg = b_builder.make_bc2x( particles=[d, kaon], descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV, bpvltime_min=0.1 * picosecond) return line_alg @@ -1554,6 +1929,10 @@ def make_BcToD0Pi_D0ToHH(process): line_alg = b_builder.make_bc2x( particles=[d, pion], descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV, bpvltime_min=0.1 * picosecond) return line_alg @@ -1564,7 +1943,12 @@ def make_BcToD0K_D0ToHHWS(process): kaon = basic_builder.make_tight_kaons() d = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) line_alg = b_builder.make_bc2x( - particles=[d, kaon], descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-']) + particles=[d, kaon], + descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1574,7 +1958,12 @@ def make_BcToD0Pi_D0ToHHWS(process): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) line_alg = b_builder.make_bc2x( - particles=[d, pion], descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-']) + particles=[d, pion], + descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1590,7 +1979,12 @@ def make_BcToD0Pi_D0ToKsLLHH(process): d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) line_alg = b_builder.make_bc2x( - particles=[d, pion], descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-']) + particles=[d, pion], + descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1601,7 +1995,12 @@ def make_BcToD0Pi_D0ToKsDDHH(process): d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) line_alg = b_builder.make_bc2x( - particles=[d, pion], descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-']) + particles=[d, pion], + descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1612,7 +2011,12 @@ def make_BcToD0K_D0ToKsLLHH(process): d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) line_alg = b_builder.make_bc2x( - particles=[d, kaon], descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-']) + particles=[d, kaon], + descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1623,7 +2027,12 @@ def make_BcToD0K_D0ToKsDDHH(process): d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) line_alg = b_builder.make_bc2x( - particles=[d, kaon], descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-']) + particles=[d, kaon], + descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1634,7 +2043,12 @@ def make_BcToD0Pi_D0ToKsLLHHWS(process): d = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) line_alg = b_builder.make_bc2x( - particles=[d, pion], descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-']) + particles=[d, pion], + descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1645,7 +2059,12 @@ def make_BcToD0Pi_D0ToKsDDHHWS(process): d = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) line_alg = b_builder.make_bc2x( - particles=[d, pion], descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-']) + particles=[d, pion], + descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1656,7 +2075,12 @@ def make_BcToD0K_D0ToKsLLHHWS(process): d = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) line_alg = b_builder.make_bc2x( - particles=[d, kaon], descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-']) + particles=[d, kaon], + descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1667,7 +2091,12 @@ def make_BcToD0K_D0ToKsDDHHWS(process): d = d_builder.make_dzero_to_kshh_ws( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) line_alg = b_builder.make_bc2x( - particles=[d, kaon], descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-']) + particles=[d, kaon], + descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1684,6 +2113,10 @@ def make_BcToD0K_D0ToHHHH(process): line_alg = b_builder.make_bc2x( particles=[d, kaon], descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV, bpvltime_min=0.2 * picosecond) return line_alg @@ -1696,6 +2129,10 @@ def make_BcToD0Pi_D0ToHHHH(process): line_alg = b_builder.make_bc2x( particles=[d, pion], descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV, bpvltime_min=0.2 * picosecond) return line_alg @@ -1706,7 +2143,12 @@ def make_BcToD0K_D0ToHHHHWS(process): kaon = basic_builder.make_tight_kaons() d = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) line_alg = b_builder.make_bc2x( - particles=[d, kaon], descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-']) + particles=[d, kaon], + descriptors=['B_c+ -> D0 K+', 'B_c- -> D0 K-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1716,7 +2158,12 @@ def make_BcToD0Pi_D0ToHHHHWS(process): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) line_alg = b_builder.make_bc2x( - particles=[d, pion], descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-']) + particles=[d, pion], + descriptors=['B_c+ -> D0 pi+', 'B_c- -> D0 pi-'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1726,7 +2173,12 @@ def make_BcToDsmKst0_DsmToHHH(process): kzerost = basic_builder.make_kstar0() d = d_builder.make_dsplus_to_hhh() line_alg = b_builder.make_bc2x( - particles=[d, kzerost], descriptors=['[B_c- -> D_s- K*(892)~0]cc']) + particles=[d, kzerost], + descriptors=['[B_c- -> D_s- K*(892)~0]cc'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1736,7 +2188,12 @@ def make_BcToDmKst0_DmToHHH(process): kzerost = basic_builder.make_kstar0() d = d_builder.make_dplus_to_hhh() line_alg = b_builder.make_bc2x( - particles=[d, kzerost], descriptors=['[B_c- -> D- K*(892)~0]cc']) + particles=[d, kzerost], + descriptors=['[B_c- -> D- K*(892)~0]cc'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1750,7 +2207,12 @@ def make_BcToDsmKst0_DsmToHHHWS(process): am_min=1868.35 * MeV, am_max=2068.35 * MeV) line_alg = b_builder.make_bc2x( - particles=[d, kzerost], descriptors=['[B_c- -> D_s- K*(892)~0]cc']) + particles=[d, kzerost], + descriptors=['[B_c- -> D_s- K*(892)~0]cc'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1764,7 +2226,12 @@ def make_BcToDmKst0_DmToHHHWS(process): am_min=1769.66 * MeV, am_max=1969.66 * MeV) line_alg = b_builder.make_bc2x( - particles=[d, kzerost], descriptors=['[B_c- -> D- K*(892)~0]cc']) + particles=[d, kzerost], + descriptors=['[B_c- -> D- K*(892)~0]cc'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1776,6 +2243,10 @@ def make_BcToDsmPhi_DsmToHHH(process): line_alg = b_builder.make_bc2x( particles=[d, phi], descriptors=['B_c- -> D_s- phi(1020)', 'B_c+ -> D_s+ phi(1020)'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV, bpvltime_min=0.1 * picosecond) return line_alg @@ -1788,6 +2259,10 @@ def make_BcToDmPhi_DmToHHH(process): line_alg = b_builder.make_bc2x( particles=[d, phi], descriptors=['B_c- -> D- phi(1020)', 'B_c+ -> D+ phi(1020)'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV, bpvltime_min=0.1 * picosecond) return line_alg @@ -1803,7 +2278,11 @@ def make_BcToDsmKsLL_DsmToHHH(process): am_max=2068.35 * MeV) line_alg = b_builder.make_bc2x( particles=[d, k_shorts], - descriptors=['B_c- -> D_s- KS0', 'B_c+ -> D_s+ KS0']) + descriptors=['B_c- -> D_s- KS0', 'B_c+ -> D_s+ KS0'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1818,7 +2297,11 @@ def make_BcToDmKsLL_DmToHHH(process): am_max=1969.66 * MeV) line_alg = b_builder.make_bc2x( particles=[d, k_shorts], - descriptors=['B_c- -> D- KS0', 'B_c+ -> D+ KS0']) + descriptors=['B_c- -> D- KS0', 'B_c+ -> D+ KS0'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1829,7 +2312,11 @@ def make_BcToDsmKsDD_DsmToHHH(process): d = d_builder.make_dsplus_to_hhh() line_alg = b_builder.make_bc2x( particles=[d, k_shorts], - descriptors=['B_c- -> D_s- KS0', 'B_c+ -> D_s+ KS0']) + descriptors=['B_c- -> D_s- KS0', 'B_c+ -> D_s+ KS0'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1840,7 +2327,11 @@ def make_BcToDmKsDD_DmToHHH(process): d = d_builder.make_dplus_to_hhh() line_alg = b_builder.make_bc2x( particles=[d, k_shorts], - descriptors=['B_c- -> D- KS0', 'B_c+ -> D+ KS0']) + descriptors=['B_c- -> D- KS0', 'B_c+ -> D+ KS0'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1855,7 +2346,11 @@ def make_BcToDsmF0_DsmToHHH(process): am_max=2068.35 * MeV) line_alg = b_builder.make_bc2x( particles=[d, f0980], - descriptors=['B_c- -> D_s- f_0(980)', 'B_c+ -> D_s+ f_0(980)']) + descriptors=['B_c- -> D_s- f_0(980)', 'B_c+ -> D_s+ f_0(980)'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -1870,5 +2365,9 @@ def make_BcToDmF0_DmToHHH(process): am_max=1969.66 * MeV) line_alg = b_builder.make_bc2x( particles=[d, f0980], - descriptors=['B_c- -> D- f_0(980)', 'B_c+ -> D+ f_0(980)']) + descriptors=['B_c- -> D- f_0(980)', 'B_c+ -> D+ f_0(980)'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dhh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dhh.py index 0bcf3a8f4901b1d03afb2ad7d2ca14f8774e5825..53a9bbe011615defe0e2ea3ebf7ec92d76143640 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dhh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dhh.py @@ -13,7 +13,11 @@ """ from __future__ import absolute_import, division, print_function -from GaudiKernel.SystemOfUnits import GeV, picosecond +from GaudiKernel.SystemOfUnits import GeV, mm + +from Hlt2Conf.lines.b_to_open_charm.filters import b_sigmanet_filter + +from RecoConf.reconstruction_objects import make_pvs_v2 as make_pvs from Hlt2Conf.lines.b_to_open_charm.utils import check_process @@ -28,7 +32,7 @@ from Hlt2Conf.lines.b_to_open_charm.builders import b_builder ### 2-body lines ### @check_process -def make_BdToD0PiPi_D0ToHH(process): +def make_BdToD0PiPi_D0ToHH(process, MVACut=0.3): if process == 'spruce': pion = basic_builder.make_soft_pions(pi_pidk_max=None) d = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) @@ -37,13 +41,15 @@ def make_BdToD0PiPi_D0ToHH(process): d = d_builder.make_tight_dzero_to_hh() # note the order we write the decay descriptor in because the b2chh builder makes a # cut on the 1,2 i.e. pi+pi- combination - line_alg = b_builder.make_b2chh( + b = b_builder.make_b2chh( particles=[pion, pion, d], descriptors=['B0 -> pi+ pi- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BdToD0PiPiWS_D0ToHH(process): +def make_BdToD0PiPiWS_D0ToHH(process, MVACut=0.3): if process == 'spruce': pion = basic_builder.make_soft_pions(pi_pidk_max=None) d = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) @@ -52,14 +58,16 @@ def make_BdToD0PiPiWS_D0ToHH(process): d = d_builder.make_tight_dzero_to_hh() # note the order we write the decay descriptor in because the b2chh builder makes a # cut on the 1,2 i.e. pi+pi- combination - line_alg = b_builder.make_b2chh( + b = b_builder.make_b2chh( particles=[pion, pion, d], descriptors=['B0 -> pi+ pi+ D0', 'B0 -> pi- pi- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BdToD0KPi_D0ToHH(process): +def make_BdToD0KPi_D0ToHH(process, MVACut=0.3): if process == 'spruce': pion = basic_builder.make_soft_pions(pi_pidk_max=None) kaon = basic_builder.make_soft_kaons(k_pidk_min=None) @@ -68,14 +76,16 @@ def make_BdToD0KPi_D0ToHH(process): pion = basic_builder.make_soft_pions(pi_pidk_max=0) kaon = basic_builder.make_soft_kaons(k_pidk_min=0) d = d_builder.make_tight_dzero_to_hh() - line_alg = b_builder.make_b2chh( + b = b_builder.make_b2chh( particles=[kaon, pion, d], descriptors=['B0 -> K+ pi- D0', 'B0 -> K- pi+ D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BdToD0KPiWS_D0ToHH(process): +def make_BdToD0KPiWS_D0ToHH(process, MVACut=0.3): if process == 'spruce': pion = basic_builder.make_soft_pions(pi_pidk_max=None) kaon = basic_builder.make_soft_kaons(k_pidk_min=None) @@ -84,36 +94,42 @@ def make_BdToD0KPiWS_D0ToHH(process): pion = basic_builder.make_soft_pions(pi_pidk_max=0) kaon = basic_builder.make_soft_kaons(k_pidk_min=0) d = d_builder.make_tight_dzero_to_hh() - line_alg = b_builder.make_b2chh( + b = b_builder.make_b2chh( particles=[kaon, pion, d], descriptors=['B0 -> K+ pi+ D0', 'B0 -> K- pi- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BdToD0KK_D0ToHH(process): +def make_BdToD0KK_D0ToHH(process, MVACut=0.3): if process == 'spruce': kaon = basic_builder.make_soft_kaons(k_pidk_min=None) d = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': kaon = basic_builder.make_soft_kaons(k_pidk_min=0) d = d_builder.make_tight_dzero_to_hh() - line_alg = b_builder.make_b2chh( + b = b_builder.make_b2chh( particles=[kaon, kaon, d], descriptors=['B0 -> K+ K- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BdToD0KKWS_D0ToHH(process): +def make_BdToD0KKWS_D0ToHH(process, MVACut=0.3): if process == 'spruce': kaon = basic_builder.make_soft_kaons(k_pidk_min=None) d = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': kaon = basic_builder.make_soft_kaons(k_pidk_min=0) d = d_builder.make_tight_dzero_to_hh() - line_alg = b_builder.make_b2chh( + b = b_builder.make_b2chh( particles=[kaon, kaon, d], descriptors=['B0 -> K+ K+ D0', 'B0 -> K- K- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @@ -156,7 +172,7 @@ def make_BdToDstpKsLLPi_DstpToD0Pi_D0ToHH(process): pion = basic_builder.make_soft_pions() dzero = d_builder.make_dzero_to_hh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[ks_ll, pion, dst], descriptors=['[B0 -> KS0 pi- D*(2010)+]cc']) return line_alg @@ -174,7 +190,7 @@ def make_BdToDstpKsDDPi_DstpToD0Pi_D0ToHH(process): pion = basic_builder.make_soft_pions() dzero = d_builder.make_dzero_to_hh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[ks_dd, pion, dst], descriptors=['[B0 -> KS0 pi- D*(2010)+]cc']) return line_alg @@ -192,7 +208,7 @@ def make_BdToDstpKsLLK_DstpToD0Pi_D0ToHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[ks_ll, kaon, dst], descriptors=['[B0 -> KS0 K- D*(2010)+]cc']) return line_alg @@ -210,7 +226,7 @@ def make_BdToDstpKsDDK_DstpToD0Pi_D0ToHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[ks_dd, kaon, dst], descriptors=['[B0 -> KS0 K- D*(2010)+]cc']) return line_alg @@ -218,7 +234,7 @@ def make_BdToDstpKsDDK_DstpToD0Pi_D0ToHH(process): ### 4-body lines ### @check_process -def make_BdToD0PiPi_D0ToHHHH(process): +def make_BdToD0PiPi_D0ToHHHH(process, MVACut=0.5): if process == 'spruce': pion = basic_builder.make_soft_pions(pi_pidk_max=None) d = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) @@ -227,13 +243,15 @@ def make_BdToD0PiPi_D0ToHHHH(process): d = d_builder.make_tight_dzero_to_hhhh() # note the order we write the decay descriptor in because the b2chh builder makes a # cut on the 1,2 i.e. pi+pi- combination - line_alg = b_builder.make_b2chh( + b = b_builder.make_b2chh( particles=[pion, pion, d], descriptors=['B0 -> pi+ pi- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BdToD0PiPiWS_D0ToHHHH(process): +def make_BdToD0PiPiWS_D0ToHHHH(process, MVACut=0.5): if process == 'spruce': pion = basic_builder.make_soft_pions(pi_pidk_max=None) d = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) @@ -242,14 +260,16 @@ def make_BdToD0PiPiWS_D0ToHHHH(process): d = d_builder.make_tight_dzero_to_hhhh() # note the order we write the decay descriptor in because the b2chh builder makes a # cut on the 1,2 i.e. pi+pi- combination - line_alg = b_builder.make_b2chh( + b = b_builder.make_b2chh( particles=[pion, pion, d], descriptors=['B0 -> pi+ pi+ D0', 'B0 -> pi- pi- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BdToD0KPi_D0ToHHHH(process): +def make_BdToD0KPi_D0ToHHHH(process, MVACut=0.5): if process == 'spruce': pion = basic_builder.make_soft_pions(pi_pidk_max=None) kaon = basic_builder.make_soft_kaons(k_pidk_min=None) @@ -258,15 +278,16 @@ def make_BdToD0KPi_D0ToHHHH(process): pion = basic_builder.make_soft_pions(pi_pidk_max=0) kaon = basic_builder.make_soft_kaons(k_pidk_min=0) d = d_builder.make_tight_dzero_to_hhhh() - line_alg = b_builder.make_b2chh( + b = b_builder.make_b2chh( particles=[kaon, pion, d], - descriptors=['B0 -> K+ pi- D0', 'B0 -> K- pi+ D0'], - sum_pt_min=6 * GeV) + descriptors=['B0 -> K+ pi- D0', 'B0 -> K- pi+ D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BdToD0KPiWS_D0ToHHHH(process): +def make_BdToD0KPiWS_D0ToHHHH(process, MVACut=0.5): if process == 'spruce': pion = basic_builder.make_soft_pions(pi_pidk_max=None) kaon = basic_builder.make_soft_kaons(k_pidk_min=None) @@ -275,36 +296,42 @@ def make_BdToD0KPiWS_D0ToHHHH(process): pion = basic_builder.make_soft_pions(pi_pidk_max=0) kaon = basic_builder.make_soft_kaons(k_pidk_min=0) d = d_builder.make_tight_dzero_to_hhhh() - line_alg = b_builder.make_b2chh( + b = b_builder.make_b2chh( particles=[kaon, pion, d], descriptors=['B0 -> K+ pi+ D0', 'B0 -> K- pi- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BdToD0KK_D0ToHHHH(process): +def make_BdToD0KK_D0ToHHHH(process, MVACut=0.5): if process == 'spruce': kaon = basic_builder.make_soft_kaons(k_pidk_min=None) d = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': kaon = basic_builder.make_soft_kaons(k_pidk_min=0) d = d_builder.make_tight_dzero_to_hhhh() - line_alg = b_builder.make_b2chh( + b = b_builder.make_b2chh( particles=[kaon, kaon, d], descriptors=['B0 -> K+ K- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BdToD0KKWS_D0ToHHHH(process): +def make_BdToD0KKWS_D0ToHHHH(process, MVACut=0.5): if process == 'spruce': kaon = basic_builder.make_soft_kaons(k_pidk_min=None) d = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) elif process == 'hlt2': kaon = basic_builder.make_soft_kaons(k_pidk_min=0) d = d_builder.make_tight_dzero_to_hhhh() - line_alg = b_builder.make_b2chh( + b = b_builder.make_b2chh( particles=[kaon, kaon, d], descriptors=['B0 -> K+ K+ D0', 'B0 -> K- K- D0']) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @@ -349,7 +376,7 @@ def make_BdToDstpKsLLK_DstpToD0Pi_D0ToHHHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hhhh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[ks_ll, kaon, dst], descriptors=['[B0 -> KS0 K- D*(2010)+]cc']) return line_alg @@ -367,7 +394,7 @@ def make_BdToDstpKsDDK_DstpToD0Pi_D0ToHHHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hhhh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[ks_dd, kaon, dst], descriptors=['[B0 -> KS0 K- D*(2010)+]cc']) return line_alg @@ -385,7 +412,7 @@ def make_BdToDstpKsLLPi_DstpToD0Pi_D0ToHHHH(process): pion = basic_builder.make_soft_pions() dzero = d_builder.make_dzero_to_hhhh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[ks_ll, pion, dst], descriptors=['[B0 -> KS0 pi- D*(2010)+]cc']) return line_alg @@ -403,7 +430,7 @@ def make_BdToDstpKsDDPi_DstpToD0Pi_D0ToHHHH(process): pion = basic_builder.make_soft_pions() dzero = d_builder.make_dzero_to_hhhh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[ks_dd, pion, dst], descriptors=['[B0 -> KS0 pi- D*(2010)+]cc']) return line_alg @@ -748,7 +775,7 @@ def make_BdToDst0KPi_Dst0ToD0Gamma_D0ToHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hh() dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi- D*(2007)0', 'B0 -> K- pi+ D*(2007)0']) return line_alg @@ -764,7 +791,7 @@ def make_BdToDst0PiPi_Dst0ToD0Gamma_D0ToHH(process): pion = basic_builder.make_soft_pions() dzero = d_builder.make_dzero_to_hh() dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi- D*(2007)0']) return line_alg @@ -780,7 +807,7 @@ def make_BdToDst0KK_Dst0ToD0Gamma_D0ToHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hh() dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K- D*(2007)0']) return line_alg @@ -799,7 +826,7 @@ def make_BdToDst0KPi_Dst0ToD0Pi0Resolved_D0ToHH(process): dzero = d_builder.make_dzero_to_hh() pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi- D*(2007)0', 'B0 -> K- pi+ D*(2007)0']) return line_alg @@ -817,7 +844,7 @@ def make_BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHH(process): dzero = d_builder.make_dzero_to_hh() pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi- D*(2007)0']) return line_alg @@ -835,7 +862,7 @@ def make_BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHH(process): dzero = d_builder.make_dzero_to_hh() pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K- D*(2007)0']) return line_alg @@ -852,7 +879,7 @@ def make_BdToDst0KPiWS_Dst0ToD0Gamma_D0ToHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hh() dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi+ D*(2007)0', 'B0 -> K- pi- D*(2007)0']) return line_alg @@ -868,7 +895,7 @@ def make_BdToDst0PiPiWS_Dst0ToD0Gamma_D0ToHH(process): pion = basic_builder.make_soft_pions() dzero = d_builder.make_dzero_to_hh() dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi+ D*(2007)0', 'B0 -> pi- pi- D*(2007)0']) return line_alg @@ -884,7 +911,7 @@ def make_BdToDst0KKWS_Dst0ToD0Gamma_D0ToHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hh() dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K+ D*(2007)0', 'B0 -> K- K- D*(2007)0']) return line_alg @@ -904,7 +931,7 @@ def make_BdToDst0KPiWS_Dst0ToD0Pi0Resolved_D0ToHH(process): dzero = d_builder.make_dzero_to_hh() pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi+ D*(2007)0', 'B0 -> K- pi- D*(2007)0']) return line_alg @@ -922,7 +949,7 @@ def make_BdToDst0PiPiWS_Dst0ToD0Pi0Resolved_D0ToHH(process): dzero = d_builder.make_dzero_to_hh() pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi+ D*(2007)0', 'B0 -> pi- pi- D*(2007)0']) return line_alg @@ -940,7 +967,7 @@ def make_BdToDst0KKWS_Dst0ToD0Pi0Resolved_D0ToHH(process): dzero = d_builder.make_dzero_to_hh() pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K+ D*(2007)0', 'B0 -> K- K- D*(2007)0']) return line_alg @@ -961,7 +988,7 @@ def make_BdToDst0KPi_Dst0ToD0Gamma_D0ToHHHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hhhh() dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi- D*(2007)0', 'B0 -> K- pi+ D*(2007)0']) return line_alg @@ -977,7 +1004,7 @@ def make_BdToDst0PiPi_Dst0ToD0Gamma_D0ToHHHH(process): pion = basic_builder.make_soft_pions() dzero = d_builder.make_dzero_to_hhhh() dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi- D*(2007)0']) return line_alg @@ -993,7 +1020,7 @@ def make_BdToDst0KK_Dst0ToD0Gamma_D0ToHHHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hhhh() dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K- D*(2007)0']) return line_alg @@ -1012,7 +1039,7 @@ def make_BdToDst0KPi_Dst0ToD0Pi0Resolved_D0ToHHHH(process): dzero = d_builder.make_dzero_to_hhhh() pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi- D*(2007)0', 'B0 -> K- pi+ D*(2007)0']) return line_alg @@ -1030,7 +1057,7 @@ def make_BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHHHH(process): dzero = d_builder.make_dzero_to_hhhh() pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi- D*(2007)0']) return line_alg @@ -1048,7 +1075,7 @@ def make_BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHHHH(process): dzero = d_builder.make_dzero_to_hhhh() pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K- D*(2007)0']) return line_alg @@ -1065,7 +1092,7 @@ def make_BdToDst0KPiWS_Dst0ToD0Gamma_D0ToHHHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hhhh() dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi+ D*(2007)0', 'B0 -> K- pi- D*(2007)0']) return line_alg @@ -1081,7 +1108,7 @@ def make_BdToDst0PiPiWS_Dst0ToD0Gamma_D0ToHHHH(process): pion = basic_builder.make_soft_pions() dzero = d_builder.make_dzero_to_hhhh() dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi+ D*(2007)0', 'B0 -> pi- pi- D*(2007)0']) return line_alg @@ -1097,7 +1124,7 @@ def make_BdToDst0KKWS_Dst0ToD0Gamma_D0ToHHHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hhhh() dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K+ D*(2007)0', 'B0 -> K- K- D*(2007)0']) return line_alg @@ -1117,7 +1144,7 @@ def make_BdToDst0KPiWS_Dst0ToD0Pi0Resolved_D0ToHHHH(process): dzero = d_builder.make_dzero_to_hhhh() pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi+ D*(2007)0', 'B0 -> K- pi- D*(2007)0']) return line_alg @@ -1135,7 +1162,7 @@ def make_BdToDst0PiPiWS_Dst0ToD0Pi0Resolved_D0ToHHHH(process): dzero = d_builder.make_dzero_to_hhhh() pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi+ D*(2007)0', 'B0 -> pi- pi- D*(2007)0']) return line_alg @@ -1153,7 +1180,7 @@ def make_BdToDst0KKWS_Dst0ToD0Pi0Resolved_D0ToHHHH(process): dzero = d_builder.make_dzero_to_hhhh() pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K+ D*(2007)0', 'B0 -> K- K- D*(2007)0']) return line_alg @@ -1178,7 +1205,7 @@ def make_BdToDst0KPi_Dst0ToD0Gamma_D0ToKsLLHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL()) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi- D*(2007)0', 'B0 -> K- pi+ D*(2007)0']) return line_alg @@ -1198,7 +1225,7 @@ def make_BdToDst0PiPi_Dst0ToD0Gamma_D0ToKsLLHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL()) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi- D*(2007)0']) return line_alg @@ -1218,7 +1245,7 @@ def make_BdToDst0KK_Dst0ToD0Gamma_D0ToKsLLHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL()) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K- D*(2007)0']) return line_alg @@ -1241,7 +1268,7 @@ def make_BdToDst0KPi_Dst0ToD0Pi0Resolved_D0ToKsLLHH(process): k_shorts=basic_builder.make_ks_LL()) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi- D*(2007)0', 'B0 -> K- pi+ D*(2007)0']) return line_alg @@ -1263,7 +1290,7 @@ def make_BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToKsLLHH(process): k_shorts=basic_builder.make_ks_LL()) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi- D*(2007)0']) return line_alg @@ -1285,7 +1312,7 @@ def make_BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToKsLLHH(process): k_shorts=basic_builder.make_ks_LL()) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K- D*(2007)0']) return line_alg @@ -1306,7 +1333,7 @@ def make_BdToDst0KPiWS_Dst0ToD0Gamma_D0ToKsLLHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL()) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi+ D*(2007)0', 'B0 -> K- pi- D*(2007)0']) return line_alg @@ -1326,7 +1353,7 @@ def make_BdToDst0PiPiWS_Dst0ToD0Gamma_D0ToKsLLHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL()) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi+ D*(2007)0', 'B0 -> pi- pi- D*(2007)0']) return line_alg @@ -1346,7 +1373,7 @@ def make_BdToDst0KKWS_Dst0ToD0Gamma_D0ToKsLLHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL()) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K+ D*(2007)0', 'B0 -> K- K- D*(2007)0']) return line_alg @@ -1370,7 +1397,7 @@ def make_BdToDst0KPiWS_Dst0ToD0Pi0Resolved_D0ToKsLLHH(process): k_shorts=basic_builder.make_ks_LL()) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi+ D*(2007)0', 'B0 -> K- pi- D*(2007)0']) return line_alg @@ -1392,7 +1419,7 @@ def make_BdToDst0PiPiWS_Dst0ToD0Pi0Resolved_D0ToKsLLHH(process): k_shorts=basic_builder.make_ks_LL()) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi+ D*(2007)0', 'B0 -> pi- pi- D*(2007)0']) return line_alg @@ -1414,7 +1441,7 @@ def make_BdToDst0KKWS_Dst0ToD0Pi0Resolved_D0ToKsLLHH(process): k_shorts=basic_builder.make_ks_LL()) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K+ D*(2007)0', 'B0 -> K- K- D*(2007)0']) return line_alg @@ -1439,7 +1466,7 @@ def make_BdToDst0KPi_Dst0ToD0Gamma_D0ToKsDDHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD()) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi- D*(2007)0', 'B0 -> K- pi+ D*(2007)0']) return line_alg @@ -1459,7 +1486,7 @@ def make_BdToDst0PiPi_Dst0ToD0Gamma_D0ToKsDDHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD()) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi- D*(2007)0']) return line_alg @@ -1479,7 +1506,7 @@ def make_BdToDst0KK_Dst0ToD0Gamma_D0ToKsDDHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD()) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K- D*(2007)0']) return line_alg @@ -1502,7 +1529,7 @@ def make_BdToDst0KPi_Dst0ToD0Pi0Resolved_D0ToKsDDHH(process): k_shorts=basic_builder.make_ks_DD()) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi- D*(2007)0', 'B0 -> K- pi+ D*(2007)0']) return line_alg @@ -1524,7 +1551,7 @@ def make_BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToKsDDHH(process): k_shorts=basic_builder.make_ks_DD()) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi- D*(2007)0']) return line_alg @@ -1546,7 +1573,7 @@ def make_BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToKsDDHH(process): k_shorts=basic_builder.make_ks_DD()) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K- D*(2007)0']) return line_alg @@ -1567,7 +1594,7 @@ def make_BdToDst0KPiWS_Dst0ToD0Gamma_D0ToKsDDHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD()) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi+ D*(2007)0', 'B0 -> K- pi- D*(2007)0']) return line_alg @@ -1587,7 +1614,7 @@ def make_BdToDst0PiPiWS_Dst0ToD0Gamma_D0ToKsDDHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD()) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi+ D*(2007)0', 'B0 -> pi- pi- D*(2007)0']) return line_alg @@ -1607,7 +1634,7 @@ def make_BdToDst0KKWS_Dst0ToD0Gamma_D0ToKsDDHH(process): dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD()) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K+ D*(2007)0', 'B0 -> K- K- D*(2007)0']) return line_alg @@ -1631,7 +1658,7 @@ def make_BdToDst0KPiWS_Dst0ToD0Pi0Resolved_D0ToKsDDHH(process): k_shorts=basic_builder.make_ks_DD()) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi+ D*(2007)0', 'B0 -> K- pi- D*(2007)0']) return line_alg @@ -1653,7 +1680,7 @@ def make_BdToDst0PiPiWS_Dst0ToD0Pi0Resolved_D0ToKsDDHH(process): k_shorts=basic_builder.make_ks_DD()) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi+ D*(2007)0', 'B0 -> pi- pi- D*(2007)0']) return line_alg @@ -1675,7 +1702,7 @@ def make_BdToDst0KKWS_Dst0ToD0Pi0Resolved_D0ToKsDDHH(process): k_shorts=basic_builder.make_ks_DD()) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K+ D*(2007)0', 'B0 -> K- K- D*(2007)0']) return line_alg @@ -1699,7 +1726,7 @@ def make_BdToDst0KPi_Dst0ToD0Gamma_D0ToHHPi0Resolved(process): pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi- D*(2007)0', 'B0 -> K- pi+ D*(2007)0']) return line_alg @@ -1718,7 +1745,7 @@ def make_BdToDst0PiPi_Dst0ToD0Gamma_D0ToHHPi0Resolved(process): pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi- D*(2007)0']) return line_alg @@ -1737,7 +1764,7 @@ def make_BdToDst0KK_Dst0ToD0Gamma_D0ToHHPi0Resolved(process): pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K- D*(2007)0']) return line_alg @@ -1757,7 +1784,7 @@ def make_BdToDst0KPi_Dst0ToD0Pi0Resolved_D0ToHHPi0Resolved(process): pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi- D*(2007)0', 'B0 -> K- pi+ D*(2007)0']) return line_alg @@ -1776,7 +1803,7 @@ def make_BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHHPi0Resolved(process): pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi- D*(2007)0']) return line_alg @@ -1795,7 +1822,7 @@ def make_BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHHPi0Resolved(process): pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K- D*(2007)0']) return line_alg @@ -1815,7 +1842,7 @@ def make_BdToDst0KPiWS_Dst0ToD0Gamma_D0ToHHPi0Resolved(process): pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi+ D*(2007)0', 'B0 -> K- pi- D*(2007)0']) return line_alg @@ -1834,7 +1861,7 @@ def make_BdToDst0PiPiWS_Dst0ToD0Gamma_D0ToHHPi0Resolved(process): pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi+ D*(2007)0', 'B0 -> pi- pi- D*(2007)0']) return line_alg @@ -1853,7 +1880,7 @@ def make_BdToDst0KKWS_Dst0ToD0Gamma_D0ToHHPi0Resolved(process): pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K+ D*(2007)0', 'B0 -> K- K- D*(2007)0']) return line_alg @@ -1874,7 +1901,7 @@ def make_BdToDst0KPiWS_Dst0ToD0Pi0Resolved_D0ToHHPi0Resolved(process): pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi+ D*(2007)0', 'B0 -> K- pi- D*(2007)0']) return line_alg @@ -1893,7 +1920,7 @@ def make_BdToDst0PiPiWS_Dst0ToD0Pi0Resolved_D0ToHHPi0Resolved(process): pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi+ D*(2007)0', 'B0 -> pi- pi- D*(2007)0']) return line_alg @@ -1912,7 +1939,7 @@ def make_BdToDst0KKWS_Dst0ToD0Pi0Resolved_D0ToHHPi0Resolved(process): pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K+ D*(2007)0', 'B0 -> K- K- D*(2007)0']) return line_alg @@ -1936,7 +1963,7 @@ def make_BdToDst0KPi_Dst0ToD0Gamma_D0ToHHPi0Merged(process): pi0 = basic_builder.make_merged_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi- D*(2007)0', 'B0 -> K- pi+ D*(2007)0']) return line_alg @@ -1955,7 +1982,7 @@ def make_BdToDst0PiPi_Dst0ToD0Gamma_D0ToHHPi0Merged(process): pi0 = basic_builder.make_merged_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi- D*(2007)0']) return line_alg @@ -1974,7 +2001,7 @@ def make_BdToDst0KK_Dst0ToD0Gamma_D0ToHHPi0Merged(process): pi0 = basic_builder.make_merged_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K- D*(2007)0']) return line_alg @@ -1996,7 +2023,7 @@ def make_BdToDst0KPi_Dst0ToD0Pi0Resolved_D0ToHHPi0Merged(process): dzero = d_builder.make_dzero_to_hhpi0(pi0_merged) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi- D*(2007)0', 'B0 -> K- pi+ D*(2007)0']) return line_alg @@ -2017,7 +2044,7 @@ def make_BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHHPi0Merged(process): dzero = d_builder.make_dzero_to_hhpi0(pi0_merged) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi- D*(2007)0']) return line_alg @@ -2038,7 +2065,7 @@ def make_BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHHPi0Merged(process): dzero = d_builder.make_dzero_to_hhpi0(pi0_merged) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K- D*(2007)0']) return line_alg @@ -2058,7 +2085,7 @@ def make_BdToDst0KPiWS_Dst0ToD0Gamma_D0ToHHPi0Merged(process): pi0 = basic_builder.make_merged_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi+ D*(2007)0', 'B0 -> K- pi- D*(2007)0']) return line_alg @@ -2077,7 +2104,7 @@ def make_BdToDst0PiPiWS_Dst0ToD0Gamma_D0ToHHPi0Merged(process): pi0 = basic_builder.make_merged_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi+ D*(2007)0', 'B0 -> pi- pi- D*(2007)0']) return line_alg @@ -2096,7 +2123,7 @@ def make_BdToDst0KKWS_Dst0ToD0Gamma_D0ToHHPi0Merged(process): pi0 = basic_builder.make_merged_pi0s() dzero = d_builder.make_dzero_to_hhpi0(pi0) dstzero = d_builder.make_dzerost_to_dzerogamma(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K+ D*(2007)0', 'B0 -> K- K- D*(2007)0']) return line_alg @@ -2119,7 +2146,7 @@ def make_BdToDst0KPiWS_Dst0ToD0Pi0Resolved_D0ToHHPi0Merged(process): dzero = d_builder.make_dzero_to_hhpi0(pi0_merged) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dstzero], descriptors=['B0 -> K+ pi+ D*(2007)0', 'B0 -> K- pi- D*(2007)0']) return line_alg @@ -2140,7 +2167,7 @@ def make_BdToDst0PiPiWS_Dst0ToD0Pi0Resolved_D0ToHHPi0Merged(process): dzero = d_builder.make_dzero_to_hhpi0(pi0_merged) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dstzero], descriptors=['B0 -> pi+ pi+ D*(2007)0', 'B0 -> pi- pi- D*(2007)0']) return line_alg @@ -2161,7 +2188,7 @@ def make_BdToDst0KKWS_Dst0ToD0Pi0Resolved_D0ToHHPi0Merged(process): dzero = d_builder.make_dzero_to_hhpi0(pi0_merged) pi0 = basic_builder.make_resolved_pi0s() dstzero = d_builder.make_dzerost_to_dzeropi0(dzero, pi0) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dstzero], descriptors=['B0 -> K+ K+ D*(2007)0', 'B0 -> K- K- D*(2007)0']) return line_alg @@ -2400,7 +2427,7 @@ def make_BuToDstmPiPi_DstmToD0Pi_D0ToHH(process): pion = basic_builder.make_soft_pions() dzero = d_builder.make_dzero_to_hh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dst], descriptors=['[B+ -> pi+ pi+ D*(2010)-]cc']) return line_alg @@ -2418,7 +2445,7 @@ def make_BuToDstmKPi_DstmToD0Pi_D0ToHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dst], descriptors=['[B+ -> K+ pi+ D*(2010)-]cc']) return line_alg @@ -2434,7 +2461,7 @@ def make_BuToDstmKK_DstmToD0Pi_D0ToHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dst], descriptors=['[B+ -> K+ K+ D*(2010)-]cc']) return line_alg @@ -2449,7 +2476,7 @@ def make_BuToDstpPiPi_DstpToD0Pi_D0ToHH(process): pion = basic_builder.make_soft_pions() dzero = d_builder.make_dzero_to_hh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[pion, pion, dst], descriptors=['[B+ -> pi+ pi- D*(2010)+]cc']) return line_alg @@ -2467,7 +2494,7 @@ def make_BuToDstpKPi_DstpToD0Pi_D0ToHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, pion, dst], descriptors=[ '[B+ -> K+ pi- D*(2010)+]cc', '[B+ -> K- pi+ D*(2010)+]cc' @@ -2485,7 +2512,7 @@ def make_BuToDstpKK_DstpToD0Pi_D0ToHH(process): kaon = basic_builder.make_soft_kaons() dzero = d_builder.make_dzero_to_hh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[kaon, kaon, dst], descriptors=['[B+ -> K+ K- D*(2010)+]cc']) return line_alg @@ -2500,7 +2527,7 @@ def make_BuToDstpPbarP_DstpToD0Pi_D0ToHH(process): proton = basic_builder.make_soft_protons() dzero = d_builder.make_dzero_to_hh() dst = d_builder.make_dstar_to_dzeropi(dzero) - line_alg = b_builder.make_b2chh( + line_alg = b_builder.make_b2cstarhh( particles=[proton, proton, dst], descriptors=['[B+ -> p+ p~- D*(2010)+]cc']) return line_alg @@ -2512,46 +2539,58 @@ def make_BuToDstpPbarP_DstpToD0Pi_D0ToHH(process): @check_process -def make_BuToD0KsLLPi_D0ToHH(process): +def make_BuToD0KsLLPi_D0ToHH(process, MVAcut=0.7): ks_ll = basic_builder.make_ks_LL() - pion = basic_builder.make_soft_pions(pi_pidk_max=0) - dzero = d_builder.make_tight_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( + pion = basic_builder.make_tight_pions() + dzero = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_ll, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KsDDPi_D0ToHH(process): +def make_BuToD0KsDDPi_D0ToHH(process, MVAcut=0.7): ks_dd = basic_builder.make_ks_DD() - dzero = d_builder.make_tight_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions(pi_pidk_max=0) - line_alg = b_builder.make_b2x( + dzero = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_dd, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KsLLPi_D0ToHHWS(process): +def make_BuToD0KsLLPi_D0ToHHWS(process, MVAcut=0.7): ks_ll = basic_builder.make_ks_LL() - pion = basic_builder.make_soft_pions(pi_pidk_max=0) - dzero = d_builder.make_tight_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( + pion = basic_builder.make_tight_pions() + dzero = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_ll, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KsDDPi_D0ToHHWS(process): +def make_BuToD0KsDDPi_D0ToHHWS(process, MVAcut=0.7): ks_dd = basic_builder.make_ks_DD() - dzero = d_builder.make_tight_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions(pi_pidk_max=0) - line_alg = b_builder.make_b2x( + dzero = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_dd, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -2561,98 +2600,122 @@ def make_BuToD0KsDDPi_D0ToHHWS(process): @check_process -def make_BuToD0KsLLPi_D0ToKsLLHH(process): +def make_BuToD0KsLLPi_D0ToKsLLHH(process, MVAcut=0.7): ks_ll = basic_builder.make_ks_LL() dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() - line_alg = b_builder.make_b2x( + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_ll, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KsDDPi_D0ToKsLLHH(process): +def make_BuToD0KsDDPi_D0ToKsLLHH(process, MVAcut=0.7): ks_dd = basic_builder.make_ks_DD() dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() - line_alg = b_builder.make_b2x( + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_dd, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KsLLPi_D0ToKsDDHH(process): +def make_BuToD0KsLLPi_D0ToKsDDHH(process, MVAcut=0.7): ks_ll = basic_builder.make_ks_LL() dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() - line_alg = b_builder.make_b2x( + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_ll, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KsDDPi_D0ToKsDDHH(process): +def make_BuToD0KsDDPi_D0ToKsDDHH(process, MVAcut=0.7): ks_dd = basic_builder.make_ks_DD() dzero = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() - line_alg = b_builder.make_b2x( + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_dd, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KsLLPi_D0ToKsLLHHWS(process): +def make_BuToD0KsLLPi_D0ToKsLLHHWS(process, MVAcut=0.7): ks_ll = basic_builder.make_ks_LL() dzero = d_builder.make_dzero_to_kshh_ws( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_LL()) - pion = basic_builder.make_soft_pions() - line_alg = b_builder.make_b2x( + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_ll, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KsDDPi_D0ToKsLLHHWS(process): +def make_BuToD0KsDDPi_D0ToKsLLHHWS(process, MVAcut=0.7): ks_dd = basic_builder.make_ks_DD() dzero = d_builder.make_dzero_to_kshh_ws( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_LL()) - pion = basic_builder.make_soft_pions() - line_alg = b_builder.make_b2x( + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_dd, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KsLLPi_D0ToKsDDHHWS(process): +def make_BuToD0KsLLPi_D0ToKsDDHHWS(process, MVAcut=0.7): ks_ll = basic_builder.make_ks_LL() dzero = d_builder.make_dzero_to_kshh_ws( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_DD()) - pion = basic_builder.make_soft_pions() - line_alg = b_builder.make_b2x( + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_ll, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KsDDPi_D0ToKsDDHHWS(process): +def make_BuToD0KsDDPi_D0ToKsDDHHWS(process, MVAcut=0.7): ks_dd = basic_builder.make_ks_DD() dzero = d_builder.make_dzero_to_kshh_ws( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_DD()) - pion = basic_builder.make_soft_pions() - line_alg = b_builder.make_b2x( + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_dd, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -2662,50 +2725,58 @@ def make_BuToD0KsDDPi_D0ToKsDDHHWS(process): @check_process -def make_BuToD0KsLLPi_D0ToHHHH(process): +def make_BuToD0KsLLPi_D0ToHHHH(process, MVAcut=0.7): ks_ll = basic_builder.make_ks_LL() - dzero = d_builder.make_tight_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions(pi_pidk_max=0) - line_alg = b_builder.make_b2x( + dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_ll, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KsDDPi_D0ToHHHH(process): +def make_BuToD0KsDDPi_D0ToHHHH(process, MVAcut=0.7): ks_dd = basic_builder.make_ks_DD() - dzero = d_builder.make_tight_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions(pi_pidk_max=0) - line_alg = b_builder.make_b2x( + dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_dd, pion], descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], - sum_pt_min=6 * GeV, - bpvltime_min=0.3 * picosecond) + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KsLLPi_D0ToHHHHWS(process): +def make_BuToD0KsLLPi_D0ToHHHHWS(process, MVAcut=0.7): ks_ll = basic_builder.make_ks_LL() - dzero = d_builder.make_tight_dzero_to_hhhh_ws( - pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions(pi_pidk_max=0) - line_alg = b_builder.make_b2x( + dzero = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_ll, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KsDDPi_D0ToHHHHWS(process): +def make_BuToD0KsDDPi_D0ToHHHHWS(process, MVAcut=0.7): ks_dd = basic_builder.make_ks_DD() - dzero = d_builder.make_tight_dzero_to_hhhh_ws( - pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions(pi_pidk_max=0) - line_alg = b_builder.make_b2x( + dzero = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) + pion = basic_builder.make_tight_pions() + line_alg = b_builder.make_loose_mass_b2x( particles=[dzero, ks_dd, pion], - descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-']) + descriptors=['B+ -> D0 KS0 pi+', 'B- -> D0 KS0 pi-'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -2715,90 +2786,114 @@ def make_BuToD0KsDDPi_D0ToHHHHWS(process): @check_process -def make_BuToD0KPi0Resolved_D0ToHH(process): +def make_BuToD0KPi0Resolved_D0ToHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPi0Merged_D0ToHH(process): +def make_BuToD0KPi0Merged_D0ToHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Resolved_D0ToHH(process): +def make_BuToD0PiPi0Resolved_D0ToHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Merged_D0ToHH(process): +def make_BuToD0PiPi0Merged_D0ToHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_hh(pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPi0Resolved_D0ToHHWS(process): +def make_BuToD0KPi0Resolved_D0ToHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPi0Merged_D0ToHHWS(process): +def make_BuToD0KPi0Merged_D0ToHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Resolved_D0ToHHWS(process): +def make_BuToD0PiPi0Resolved_D0ToHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Merged_D0ToHHWS(process): +def make_BuToD0PiPi0Merged_D0ToHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -2808,194 +2903,242 @@ def make_BuToD0PiPi0Merged_D0ToHHWS(process): @check_process -def make_BuToD0KPi0Resolved_D0ToKsDDHH(process): +def make_BuToD0KPi0Resolved_D0ToKsDDHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPi0Merged_D0ToKsDDHH(process): +def make_BuToD0KPi0Merged_D0ToKsDDHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Resolved_D0ToKsDDHH(process): +def make_BuToD0PiPi0Resolved_D0ToKsDDHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Merged_D0ToKsDDHH(process): +def make_BuToD0PiPi0Merged_D0ToKsDDHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPi0Resolved_D0ToKsLLHH(process): +def make_BuToD0KPi0Resolved_D0ToKsLLHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPi0Merged_D0ToKsLLHH(process): +def make_BuToD0KPi0Merged_D0ToKsLLHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Resolved_D0ToKsLLHH(process): +def make_BuToD0PiPi0Resolved_D0ToKsLLHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Merged_D0ToKsLLHH(process): +def make_BuToD0PiPi0Merged_D0ToKsLLHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh( k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPi0Resolved_D0ToKsDDHHWS(process): +def make_BuToD0KPi0Resolved_D0ToKsDDHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh_ws( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_DD()) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPi0Merged_D0ToKsDDHHWS(process): +def make_BuToD0KPi0Merged_D0ToKsDDHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh_ws( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_DD()) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Resolved_D0ToKsDDHHWS(process): +def make_BuToD0PiPi0Resolved_D0ToKsDDHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh_ws( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_DD()) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Merged_D0ToKsDDHHWS(process): +def make_BuToD0PiPi0Merged_D0ToKsDDHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh_ws( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_DD()) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPi0Resolved_D0ToKsLLHHWS(process): +def make_BuToD0KPi0Resolved_D0ToKsLLHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh_ws( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_LL()) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPi0Merged_D0ToKsLLHHWS(process): +def make_BuToD0KPi0Merged_D0ToKsLLHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh_ws( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_LL()) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Resolved_D0ToKsLLHHWS(process): +def make_BuToD0PiPi0Resolved_D0ToKsLLHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh_ws( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_LL()) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Merged_D0ToKsLLHHWS(process): +def make_BuToD0PiPi0Merged_D0ToKsLLHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_kshh_ws( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_LL()) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -3005,90 +3148,114 @@ def make_BuToD0PiPi0Merged_D0ToKsLLHHWS(process): @check_process -def make_BuToD0KPi0Resolved_D0ToHHHH(process): +def make_BuToD0KPi0Resolved_D0ToHHHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPi0Merged_D0ToHHHH(process): +def make_BuToD0KPi0Merged_D0ToHHHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Resolved_D0ToHHHH(process): +def make_BuToD0PiPi0Resolved_D0ToHHHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Merged_D0ToHHHH(process): +def make_BuToD0PiPi0Merged_D0ToHHHH(process, MVAcut=0.7): d = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPi0Resolved_D0ToHHHHWS(process): +def make_BuToD0KPi0Resolved_D0ToHHHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPi0Merged_D0ToHHHHWS(process): +def make_BuToD0KPi0Merged_D0ToHHHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) - kaon = basic_builder.make_soft_kaons() + kaon = basic_builder.make_tight_kaons() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pi0], - descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0']) + descriptors=['B+ -> D0 K+ pi0', 'B- -> D0 K- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Resolved_D0ToHHHHWS(process): +def make_BuToD0PiPi0Resolved_D0ToHHHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_resolved_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPi0Merged_D0ToHHHHWS(process): +def make_BuToD0PiPi0Merged_D0ToHHHHWS(process, MVAcut=0.7): d = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) - pion = basic_builder.make_soft_pions() + pion = basic_builder.make_tight_pions() pi0 = basic_builder.make_merged_pi0s() - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pi0], - descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0']) + descriptors=['B+ -> D0 pi+ pi0', 'B- -> D0 pi- pi0'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dhhh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dhhh.py index 29fa19bc76c415a78b7d0db300e2094ee6629903..c26741c5f6fbbbb873a4f4026e39e047f715bc7a 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dhhh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dhhh.py @@ -13,17 +13,18 @@ """ from __future__ import absolute_import, division, print_function -from GaudiKernel.SystemOfUnits import GeV, picosecond +from GaudiKernel.SystemOfUnits import GeV, mm, picosecond from Hlt2Conf.lines.b_to_open_charm.utils import check_process -from RecoConf.reconstruction_objects import make_pvs +from RecoConf.reconstruction_objects import make_pvs as make_pvs_v1 +from RecoConf.reconstruction_objects import make_pvs_v2 as make_pvs from Hlt2Conf.lines.b_to_open_charm.builders import basic_builder from Hlt2Conf.lines.b_to_open_charm.builders import d_builder from Hlt2Conf.lines.b_to_open_charm.builders import b_builder -from Hlt2Conf.lines.b_to_open_charm.filters import b_to_d0hhh_bdt_filter +from Hlt2Conf.lines.b_to_open_charm.filters import b_sigmanet_filter, b_to_d0hhh_bdt_filter @check_process @@ -95,15 +96,15 @@ def make_BuToD0PiPiPi_D0ToHH(process, MVACut=-0.7): pion = basic_builder.make_pions(pi_pidk_max=None) elif process == 'hlt2': pion = basic_builder.make_pions() - d = d_builder.make_tight_dzero_to_hh() + d = d_builder.make_tight_dzero_to_hh(pi_pidk_max=5, k_pidk_min=-5) line = b_builder.make_b2chhh( particles=[pion, pion, pion, d], descriptors=['B+ -> pi+ pi+ pi- D0', 'B- -> pi- pi- pi+ D0']) #track_code = "(NINGENERATION( ((ABSID=='pi+')|(ABSID=='K+')) & (PT<250*MeV), 1 ) <= {ntracks})".format( # ntracks=1) #line_alg_filt = ParticleFilter(line, Code=track_code) - pvs = make_pvs() - line_alg = b_to_d0hhh_bdt_filter(line, pvs, MVACut) + pvs_v1 = make_pvs_v1() + line_alg = b_to_d0hhh_bdt_filter(line, pvs_v1, MVACut) return line_alg @@ -124,31 +125,37 @@ def make_BuToD0KPiPi_D0ToHH(process, MVACut=-0.7): #track_code = track_code + "& (NINGENERATION( (ABSID=='K+') & (PIDK<-5), 1 ) <= {kpidfail})".format( # kpidfail=0) #line_alg_filt = ParticleFilter(line, Code=track_code) - pvs = make_pvs() - line_alg = b_to_d0hhh_bdt_filter(line, pvs, MVACut) + pvs_v1 = make_pvs_v1() + line_alg = b_to_d0hhh_bdt_filter(line, pvs_v1, MVACut) return line_alg # WS lines: @check_process -def make_BuToD0KPiPi_D0ToHHWS(process): +def make_BuToD0KPiPi_D0ToHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pion, pion], - descriptors=['B+ -> D0 K+ pi- pi+', 'B- -> D0 K- pi- pi+']) + descriptors=['B+ -> D0 K+ pi- pi+', 'B- -> D0 K- pi- pi+'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPiPi_D0ToHHWS(process): +def make_BuToD0PiPiPi_D0ToHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_hh_ws(pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pion, pion], - descriptors=['B+ -> D0 pi+ pi+ pi-', 'B- -> D0 pi- pi- pi+']) + descriptors=['B+ -> D0 pi+ pi+ pi-', 'B- -> D0 pi- pi- pi+'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -158,46 +165,56 @@ def make_BuToD0PiPiPi_D0ToHHWS(process): @check_process -def make_BuToD0KPiPi_D0ToHHHH(process): +def make_BuToD0KPiPi_D0ToHHHH(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pion = basic_builder.make_tight_pions() - d = d_builder.make_dzero_to_hhhh() - line_alg = b_builder.make_b2x( + d = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pion, pion], descriptors=['B+ -> D0 K+ pi- pi+', 'B- -> D0 K- pi- pi+'], - bpvltime_min=0.8 * picosecond) + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPiPi_D0ToHHHH(process): +def make_BuToD0PiPiPi_D0ToHHHH(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() - d = d_builder.make_dzero_to_hhhh() - line_alg = b_builder.make_b2x( + d = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pion, pion], descriptors=['B+ -> D0 pi+ pi+ pi-', 'B- -> D0 pi- pi- pi+'], - bpvltime_min=0.8 * picosecond) + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0KPiPi_D0ToHHHHWS(process): +def make_BuToD0KPiPi_D0ToHHHHWS(process, MVAcut=0.7): kaon = basic_builder.make_tight_kaons() pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon, pion, pion], - descriptors=['B+ -> D0 K+ pi- pi+', 'B- -> D0 K- pi- pi+']) + descriptors=['B+ -> D0 K+ pi- pi+', 'B- -> D0 K- pi- pi+'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BuToD0PiPiPi_D0ToHHHHWS(process): +def make_BuToD0PiPiPi_D0ToHHHHWS(process, MVAcut=0.7): pion = basic_builder.make_tight_pions() d = d_builder.make_dzero_to_hhhh_ws(pi_pidk_max=20, k_pidk_min=-10) - line_alg = b_builder.make_b2x( + line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion, pion, pion], - descriptors=['B+ -> D0 pi+ pi+ pi-', 'B- -> D0 pi- pi- pi+']) + descriptors=['B+ -> D0 pi+ pi+ pi-', 'B- -> D0 pi- pi- pi+'], + bcvtx_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @@ -222,8 +239,8 @@ def make_BuToD0KKPi_D0ToKPi(process, MVACut=-0.7): #track_code = track_code + "& (NINGENERATION( (ABSID=='K+') & (PIDK<-5), 1 ) <= {kpidfail})".format( # kpidfail=1) #line_alg_filt = ParticleFilter(line, Code=track_code) - pvs = make_pvs() - line_alg = b_to_d0hhh_bdt_filter(line, pvs, MVACut) + pvs_v1 = make_pvs_v1() + line_alg = b_to_d0hhh_bdt_filter(line, pvs_v1, MVACut) return line_alg @@ -248,8 +265,8 @@ def make_BuToD0PbarPPi_D0ToKPi(process, MVACut=-0.9): #track_code = track_code + "& (NINGENERATION( (ABSID=='p+') & (PIDp<-5), 1 ) <= {ppidfail})".format( # ppidfail=0) #line_alg_filt = ParticleFilter(line, Code=track_code) - pvs = make_pvs() - line_alg = b_to_d0hhh_bdt_filter(line, pvs, MVACut) + pvs_v1 = make_pvs_v1() + line_alg = b_to_d0hhh_bdt_filter(line, pvs_v1, MVACut) return line_alg @@ -336,36 +353,45 @@ def make_BdToDmPbarPPi_DmToPimPimKp(process): # Only Ds -> KKPi ############################################################################################ @check_process -def make_BdToDsmPiPiPi_DsmToKmKpPim(process): - if process == 'spruce': - pion = basic_builder.make_pions(pi_pidk_max=None) - elif process == 'hlt2': - pion = basic_builder.make_pions() +def make_BdToDsmPiPiPi_DsmToKmKpPim(process, MVACut=0.2): + pion = basic_builder.make_pions() d = d_builder.make_dsplus_to_kpkmpip() - line_alg = b_builder.make_b2chhh( + b = b_builder.make_b2chhh( particles=[pion, pion, pion, d], - descriptors=['[B0 -> pi+ pi+ pi- D_s-]cc']) + descriptors=['[B0 -> pi+ pi+ pi- D_s-]cc'], + vtx_chi2pdof_max=7, + bpvdira_min=0.99994, + hhh_am_max=3.5 * GeV, + sum_pt_min=5.5 * GeV, + bpvltime_min=0.3 * picosecond, + bcvtx_sep_min=0.) #track_code = "(NINGENERATION( ((ABSID=='pi+')|(ABSID=='K+')) & (PT<250*MeV), 1 ) <= {ntracks})".format( # ntracks=1) #line_alg = ParticleFilter(line, Code=track_code) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg @check_process -def make_BdToDsmKPiPi_DsmToKmKpPim(process): - if process == 'spruce': - pion = basic_builder.make_pions(pi_pidk_max=None) - kaon = basic_builder.make_kaons(k_pidk_min=None) - elif process == 'hlt2': - pion = basic_builder.make_pions() - kaon = basic_builder.make_kaons(k_pidk_min=5) +def make_BdToDsmKPiPi_DsmToKmKpPim(process, MVACut=0.2): + pion = basic_builder.make_pions() + kaon = basic_builder.make_kaons(k_pidk_min=5) d = d_builder.make_dsplus_to_kpkmpip() - line_alg = b_builder.make_b2chhh( + b = b_builder.make_b2chhh( particles=[kaon, pion, pion, d], - descriptors=['[B0 -> K+ pi- pi+ D_s-]cc']) + descriptors=['[B0 -> K+ pi- pi+ D_s-]cc'], + vtx_chi2pdof_max=7, + bpvdira_min=0.99994, + hhh_am_max=3.5 * GeV, + sum_pt_min=5.5 * GeV, + bpvltime_min=0.3 * picosecond, + bcvtx_sep_min=0.) #track_code = "(NINGENERATION( ((ABSID=='pi+')|(ABSID=='K+')) & (PT<250*MeV), 1 ) <= {ntracks})".format( # ntracks=1) #line_alg = ParticleFilter(line, Code=track_code) + pvs = make_pvs() + line_alg = b_sigmanet_filter(b, pvs, MVACut) return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dll.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dll.py index 9e90970d859f7edadfc021bbe3af2b60937702e9..7ebb8735d66161613ed47798bea97c52b3435edc 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dll.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dll.py @@ -37,7 +37,12 @@ def make_BcToDsmMupMum_DsmToHHH(process): am_min=1868.35 * MeV, am_max=2068.35 * MeV) line_alg = b_builder.make_bc2x( - particles=[d, muon, muon], descriptors=['[B_c- -> D_s- mu+ mu-]cc']) + particles=[d, muon, muon], + descriptors=['[B_c- -> D_s- mu+ mu-]cc'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -50,7 +55,12 @@ def make_BcToDspMumMum_DspToHHH(process): am_min=1868.35 * MeV, am_max=2068.35 * MeV) line_alg = b_builder.make_bc2x( - particles=[d, muon, muon], descriptors=['[B_c- -> D_s+ mu- mu-]cc']) + particles=[d, muon, muon], + descriptors=['[B_c- -> D_s+ mu- mu-]cc'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg @@ -63,5 +73,10 @@ def make_BcToDsmMumMumWS_DsmToHHH(process): am_min=1868.35 * MeV, am_max=2068.35 * MeV) line_alg = b_builder.make_bc2x( - particles=[d, muon, muon], descriptors=['[B_c- -> D_s- mu- mu-]cc']) + particles=[d, muon, muon], + descriptors=['[B_c- -> D_s- mu- mu-]cc'], + am_min=5800 * MeV, + am_max=6700 * MeV, + am_min_vtx=5800 * MeV, + am_max_vtx=6700 * MeV) return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dmunu.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dmunu.py index 88209a645d04c509ace7086c58b0676ae42cbb67..8b35b3a3960cf5f51b062bc1ca19689c94547ed5 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dmunu.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dmunu.py @@ -20,54 +20,83 @@ every function returns a line_alg from __future__ import absolute_import, division, print_function +from GaudiKernel.SystemOfUnits import MeV + +from Hlt2Conf.lines.b_to_open_charm.filters import b_sigmanet_filter + +from RecoConf.reconstruction_objects import make_pvs_v2 as make_pvs + from Hlt2Conf.lines.b_to_open_charm.utils import check_process from Hlt2Conf.lines.b_to_open_charm.builders import basic_builder from Hlt2Conf.lines.b_to_open_charm.builders import d_builder from Hlt2Conf.lines.b_to_open_charm.builders import b_builder +from GaudiKernel.SystemOfUnits import mm + ############################################## # B0->D*munu, D*->D0pi ############################################## @check_process -def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHH(process): +def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHH(process, MVAcut=0.7): muon = basic_builder.make_muons() dzero = d_builder.make_dzero_to_kshh( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_LL()) dzerost = d_builder.make_dstar_to_dzeropi(dzero) line_alg = b_builder.make_b2x( particles=[dzerost, muon], - descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-']) + descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-'], + am_min=2500 * MeV, + am_max=5000 * MeV, + am_min_vtx=2500 * MeV, + am_max_vtx=5000 * MeV, + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHH(process): +def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHH(process, MVAcut=0.7): muon = basic_builder.make_muons() dzero = d_builder.make_dzero_to_kshh( pi_pidk_max=20, k_pidk_min=-10, k_shorts=basic_builder.make_ks_DD()) dzerost = d_builder.make_dstar_to_dzeropi(dzero) line_alg = b_builder.make_b2x( particles=[dzerost, muon], - descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-']) + descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-'], + am_min=2500 * MeV, + am_max=5000 * MeV, + am_min_vtx=2500 * MeV, + am_max_vtx=5000 * MeV, + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BdToDstmMuNu_DstmToD0Pi_D0ToHHHH(process): +def make_BdToDstmMuNu_DstmToD0Pi_D0ToHHHH(process, MVAcut=0.7): muon = basic_builder.make_muons() dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=20, k_pidk_min=-10) dzerost = d_builder.make_dstar_to_dzeropi(dzero) line_alg = b_builder.make_b2x( particles=[dzerost, muon], - descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-']) + descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-'], + am_min=2500 * MeV, + am_max=5000 * MeV, + am_min_vtx=2500 * MeV, + am_max_vtx=5000 * MeV, + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHHPi0Resolved(process): +def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHHPi0Resolved(process, MVAcut=0.7): muon = basic_builder.make_muons() pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_kshhpi0( @@ -78,12 +107,19 @@ def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHHPi0Resolved(process): dzerost = d_builder.make_dstar_to_dzeropi(dzero) line_alg = b_builder.make_b2x( particles=[dzerost, muon], - descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-']) + descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-'], + am_min=2500 * MeV, + am_max=5000 * MeV, + am_min_vtx=2500 * MeV, + am_max_vtx=5000 * MeV, + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHHPi0Resolved(process): +def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHHPi0Resolved(process, MVAcut=0.7): muon = basic_builder.make_muons() pi0 = basic_builder.make_resolved_pi0s() dzero = d_builder.make_dzero_to_kshhpi0( @@ -94,12 +130,19 @@ def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHHPi0Resolved(process): dzerost = d_builder.make_dstar_to_dzeropi(dzero) line_alg = b_builder.make_b2x( particles=[dzerost, muon], - descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-']) + descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-'], + am_min=2500 * MeV, + am_max=5000 * MeV, + am_min_vtx=2500 * MeV, + am_max_vtx=5000 * MeV, + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHHPi0Merged(process): +def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHHPi0Merged(process, MVAcut=0.7): muon = basic_builder.make_muons() pi0 = basic_builder.make_merged_pi0s() dzero = d_builder.make_dzero_to_kshhpi0( @@ -110,12 +153,19 @@ def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHHPi0Merged(process): dzerost = d_builder.make_dstar_to_dzeropi(dzero) line_alg = b_builder.make_b2x( particles=[dzerost, muon], - descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-']) + descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-'], + am_min=2500 * MeV, + am_max=5000 * MeV, + am_min_vtx=2500 * MeV, + am_max_vtx=5000 * MeV, + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg @check_process -def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHHPi0Merged(process): +def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHHPi0Merged(process, MVAcut=0.7): muon = basic_builder.make_muons() pi0 = basic_builder.make_merged_pi0s() dzero = d_builder.make_dzero_to_kshhpi0( @@ -126,5 +176,12 @@ def make_BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHHPi0Merged(process): dzerost = d_builder.make_dstar_to_dzeropi(dzero) line_alg = b_builder.make_b2x( particles=[dzerost, muon], - descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-']) + descriptors=['B0 -> D*(2010)- mu+', 'B0 -> D*(2010)+ mu-'], + am_min=2500 * MeV, + am_max=5000 * MeV, + am_min_vtx=2500 * MeV, + am_max_vtx=5000 * MeV, + bcvtx_fromdst_sep_min=0 * mm) + pvs = make_pvs() + line_alg = b_sigmanet_filter(line_alg, pvs, MVAcut) return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dx_ltu.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dx_ltu.py index f77dda41aec27e8e821384f6bdb89bd0600bc4f9..847d7f392be862fdb8aaf366026c0f0c62729f9e 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dx_ltu.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_dx_ltu.py @@ -15,17 +15,25 @@ from __future__ import absolute_import, division, print_function from Hlt2Conf.lines.b_to_open_charm.utils import check_process +from GaudiKernel.SystemOfUnits import MeV, GeV + from Hlt2Conf.lines.b_to_open_charm.builders import basic_builder from Hlt2Conf.lines.b_to_open_charm.builders import d_builder from Hlt2Conf.lines.b_to_open_charm.builders import b_builder @check_process -def make_BdToDsmK_DsmToHHH_LTU(process): - kaon = basic_builder.make_tight_kaons() - d = d_builder.make_dsplus_to_hhh() +def make_BdToDsmK_DsmToKpKmPim_LTU(process): + kaon = basic_builder.make_tight_kaons(k_pidk_min=0) + d = d_builder.make_dsplus_to_kpkmpip() line_alg = b_builder.make_lifetime_unbiased_b2x( - particles=[d, kaon], descriptors=['[B0 -> D_s- K+]cc']) + particles=[d, kaon], + descriptors=['[B0 -> D_s- K+]cc'], + am_min=5000 * MeV, + am_max=7000 * MeV, + am_min_vtx=5000 * MeV, + am_max_vtx=7000 * MeV, + sum_pt_min=6 * GeV) return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryon_h.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryon_h.py index d05c2d4cc53fdf885a7146ad031116e99cb9c013..d412200ebddecad70854c9289d0abc6019633d1f 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryon_h.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryon_h.py @@ -15,6 +15,8 @@ from __future__ import absolute_import, division, print_function from Hlt2Conf.lines.b_to_open_charm.utils import check_process +from GaudiKernel.SystemOfUnits import MeV, GeV, picosecond + from Hlt2Conf.lines.b_to_open_charm.builders import basic_builder from Hlt2Conf.lines.b_to_open_charm.builders import cbaryon_builder from Hlt2Conf.lines.b_to_open_charm.builders import b_builder @@ -25,11 +27,17 @@ from Hlt2Conf.lines.b_to_open_charm.builders import b_builder ############################################## @check_process def make_LbToLcpPi_LcpToPKPi(process): - pion = basic_builder.make_tight_pions() + pion = basic_builder.make_tight_pions(pi_pidk_max=0) cbaryon = cbaryon_builder.make_lc_to_pkpi() line_alg = b_builder.make_lb( particles=[cbaryon, pion], - descriptors=['[Lambda_b0 -> Lambda_c+ pi-]cc']) + descriptors=['[Lambda_b0 -> Lambda_c+ pi-]cc'], + am_min=5350 * MeV, + am_max=7000 * MeV, + am_min_vtx=5350 * MeV, + am_max_vtx=7000 * MeV, + sum_pt_min=6 * GeV, + bpvltime_min=0.3 * picosecond) return line_alg @@ -78,6 +86,136 @@ def make_LbToLcpPiWS_LcpToPPiPi(process): return line_alg +# Lb -> Lc h, Lc -> Lambda h +@check_process +def make_LbToLcpK_LcpToLambdaLLK(process): + kaon = basic_builder.make_tight_kaons() + cbaryon = cbaryon_builder.make_lc_to_lambdak( + lm=basic_builder.make_lambda_LL()) + line_alg = b_builder.make_lb( + particles=[cbaryon, kaon], + descriptors=['[Lambda_b0 -> Lambda_c+ K-]cc']) + return line_alg + + +@check_process +def make_LbToLcpK_LcpToLambdaDDK(process): + kaon = basic_builder.make_tight_kaons() + cbaryon = cbaryon_builder.make_lc_to_lambdak( + lm=basic_builder.make_lambda_DD()) + line_alg = b_builder.make_lb( + particles=[cbaryon, kaon], + descriptors=['[Lambda_b0 -> Lambda_c+ K-]cc']) + return line_alg + + +@check_process +def make_LbToLcpK_LcpToLambdaLLPi(process): + kaon = basic_builder.make_tight_kaons() + cbaryon = cbaryon_builder.make_lc_to_lambdapi( + lm=basic_builder.make_lambda_LL()) + line_alg = b_builder.make_lb( + particles=[cbaryon, kaon], + descriptors=['[Lambda_b0 -> Lambda_c+ K-]cc']) + return line_alg + + +@check_process +def make_LbToLcpK_LcpToLambdaDDPi(process): + kaon = basic_builder.make_tight_kaons() + cbaryon = cbaryon_builder.make_lc_to_lambdapi( + lm=basic_builder.make_lambda_DD()) + line_alg = b_builder.make_lb( + particles=[cbaryon, kaon], + descriptors=['[Lambda_b0 -> Lambda_c+ K-]cc']) + return line_alg + + +@check_process +def make_LbToLcpPi_LcpToLambdaLLK(process): + pion = basic_builder.make_tight_pions() + cbaryon = cbaryon_builder.make_lc_to_lambdak( + lm=basic_builder.make_lambda_LL()) + line_alg = b_builder.make_lb( + particles=[cbaryon, pion], + descriptors=['[Lambda_b0 -> Lambda_c+ pi-]cc']) + return line_alg + + +@check_process +def make_LbToLcpPi_LcpToLambdaDDK(process): + pion = basic_builder.make_tight_pions() + cbaryon = cbaryon_builder.make_lc_to_lambdak( + lm=basic_builder.make_lambda_DD()) + line_alg = b_builder.make_lb( + particles=[cbaryon, pion], + descriptors=['[Lambda_b0 -> Lambda_c+ pi-]cc']) + return line_alg + + +@check_process +def make_LbToLcpPi_LcpToLambdaLLPi(process): + pion = basic_builder.make_tight_pions() + cbaryon = cbaryon_builder.make_lc_to_lambdapi( + lm=basic_builder.make_lambda_LL()) + line_alg = b_builder.make_lb( + particles=[cbaryon, pion], + descriptors=['[Lambda_b0 -> Lambda_c+ pi-]cc']) + return line_alg + + +@check_process +def make_LbToLcpPi_LcpToLambdaDDPi(process): + pion = basic_builder.make_tight_pions() + cbaryon = cbaryon_builder.make_lc_to_lambdapi( + lm=basic_builder.make_lambda_DD()) + line_alg = b_builder.make_lb( + particles=[cbaryon, pion], + descriptors=['[Lambda_b0 -> Lambda_c+ pi-]cc']) + return line_alg + + +# Lb -> Lc h, Lc -> p KS +@check_process +def make_LbToLcpK_LcpToPKsLL(process): + kaon = basic_builder.make_tight_kaons() + cbaryon = cbaryon_builder.make_lc_to_pks(ks=basic_builder.make_ks_LL()) + line_alg = b_builder.make_lb( + particles=[cbaryon, kaon], + descriptors=['[Lambda_b0 -> Lambda_c+ K-]cc']) + return line_alg + + +@check_process +def make_LbToLcpK_LcpToPKsDD(process): + kaon = basic_builder.make_tight_kaons() + cbaryon = cbaryon_builder.make_lc_to_pks(ks=basic_builder.make_ks_DD()) + line_alg = b_builder.make_lb( + particles=[cbaryon, kaon], + descriptors=['[Lambda_b0 -> Lambda_c+ K-]cc']) + return line_alg + + +@check_process +def make_LbToLcpPi_LcpToPKsLL(process): + pion = basic_builder.make_tight_pions() + cbaryon = cbaryon_builder.make_lc_to_pks(ks=basic_builder.make_ks_LL()) + line_alg = b_builder.make_lb( + particles=[cbaryon, pion], + descriptors=['[Lambda_b0 -> Lambda_c+ pi-]cc']) + return line_alg + + +@check_process +def make_LbToLcpPi_LcpToPKsDD(process): + pion = basic_builder.make_tight_pions() + cbaryon = cbaryon_builder.make_lc_to_pks(ks=basic_builder.make_ks_DD()) + line_alg = b_builder.make_lb( + particles=[cbaryon, pion], + descriptors=['[Lambda_b0 -> Lambda_c+ pi-]cc']) + return line_alg + + ############################################## # Form the Lb -> Xic+ K- ############################################## @@ -117,6 +255,18 @@ def make_XibmToXic0Pi_Xic0ToPKKPi(process): return line_alg +############################################## +# Form the Xib- -> Xic0 Pi+ +############################################## +@check_process +def make_XibmToXic0PiWS_Xic0ToPKKPi(process): + pion = basic_builder.make_tight_pions() + cbaryon = cbaryon_builder.make_xic0_to_pkkpi() + line_alg = b_builder.make_xib( + particles=[cbaryon, pion], descriptors=['[Xi_b- -> Xi_c0 pi+]cc']) + return line_alg + + ############################################## # Form the Omegab- -> Omegac0 Pi- ############################################## @@ -131,6 +281,68 @@ def make_OmbmToOmc0Pi_Omc0ToPKKPi(process): return line_alg +############################################## +# Form the Omegab- -> Omegac0 Pi+ (WS) +############################################## +@check_process +def make_OmbmToOmc0PiWS_Omc0ToPKKPi(process): + pion = basic_builder.make_tight_pions() + cbaryon = cbaryon_builder.make_omegac0_to_pkkpi() + line_alg = b_builder.make_omegab( + particles=[cbaryon, pion], + descriptors=['[Omega_b- -> Omega_c0 pi+]cc'], + ) + return line_alg + + +############################################## +# Form the Omegab- -> Omegac0 Pi- Gamma +# 1. Hadronic part to obtain a vertex, and require +# it to have a non-negiligble b-decay lifetime to +# control the rate. +# 2. Add the neutral state to cut on the mass window. +############################################## +@check_process +def make_OmbmToOmc0PiGamma_Omc0ToPKKPi(process): + pion = basic_builder.make_tightpid_tight_pions() + cbaryon = cbaryon_builder.make_omegac0_to_pkkpi() + hadronic = b_builder.make_loose_omegab( + particles=[cbaryon, pion], + descriptors=['[Lambda_b0 -> Omega_c0 pi-]cc'], + am_min=0. * MeV, + am_min_vtx=0. * MeV) + gamma = basic_builder.make_photons(et_min=2000 * MeV) + line_alg = b_builder.make_omegab_with_neutral( + particles=[hadronic, gamma], + descriptor='[Omega_b- -> Lambda_b0 gamma]cc', + ) + return line_alg + + +############################################## +# Form the Omegab- -> Omegac0 Pi+ Gamma (WS) +# 1. Hadronic part to obtain a vertex, and require +# it to have a non-negiligble b-decay lifetime to +# control the rate. +# 2. Add the neutral state to cut on the mass window. +############################################## +@check_process +def make_OmbmToOmc0PiGammaWS_Omc0ToPKKPi(process): + pion = basic_builder.make_tightpid_tight_pions() + cbaryon = cbaryon_builder.make_omegac0_to_pkkpi() + hadronic = b_builder.make_loose_omegab( + particles=[cbaryon, pion], + descriptors=['[Lambda_b0 -> Omega_c0 pi+]cc'], + am_min=0. * MeV, + am_min_vtx=0. * MeV) + gamma = basic_builder.make_photons(et_min=2000 * MeV) + line_alg = b_builder.make_omegab_with_neutral( + particles=[hadronic, gamma], + descriptor='[Omega_b- -> Lambda_b0 gamma]cc', + ) + return line_alg + + ############################################## # Form the Lb->LcK ############################################## diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryon_hh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryon_hh.py index 9a035b8814d58096b859dfa9ddf504cd661c58a1..aee3495c4198ee11d73658fda98458ebb6c2e366 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryon_hh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryon_hh.py @@ -15,7 +15,7 @@ from __future__ import absolute_import, division, print_function from Hlt2Conf.lines.b_to_open_charm.utils import check_process -from GaudiKernel.SystemOfUnits import GeV, picosecond +from GaudiKernel.SystemOfUnits import GeV, MeV, picosecond from Hlt2Conf.lines.b_to_open_charm.builders import basic_builder from Hlt2Conf.lines.b_to_open_charm.builders import cbaryon_builder @@ -106,6 +106,146 @@ def make_Ombc0ToXic0KmPip_Xic0ToPKKPi(process): return line_alg +############################################################## +# Form the Omega_b- -> Xi_c+ K- Pi-, Xi_c+ --> p K- pi+ +############################################################## +@check_process +def make_OmbmToXicpKPi_XicpToPKPi(process): + if process == 'spruce': + pion = basic_builder.make_tightpid_tight_pions(pi_pidk_max=None) + kaon = basic_builder.make_tightpid_tight_kaons(k_pidk_min=None) + elif process == 'hlt2': + pion = basic_builder.make_tightpid_tight_pions(pi_pidk_max=-1) + kaon = basic_builder.make_tightpid_tight_kaons(k_pidk_min=1) + cbaryon = cbaryon_builder.make_tight_xicp_to_pkpi() + line_alg = b_builder.make_omegab( + particles=[cbaryon, kaon, pion], + descriptors=['[Omega_b- -> Xi_c+ K- pi-]cc']) + return line_alg + + +############################################################## +# Form the Omega_b- -> Xi_c+ K- Pi+, Xi_c+ --> p K- pi+ (WS) +############################################################## +@check_process +def make_OmbmToXicpKPiWS_XicpToPKPi(process): + if process == 'spruce': + pion = basic_builder.make_tightpid_tight_pions(pi_pidk_max=None) + kaon = basic_builder.make_tightpid_tight_kaons(k_pidk_min=None) + elif process == 'hlt2': + pion = basic_builder.make_tightpid_tight_pions() + kaon = basic_builder.make_tightpid_tight_kaons() + cbaryon = cbaryon_builder.make_tight_xicp_to_pkpi() + line_alg = b_builder.make_omegab( + particles=[cbaryon, kaon, pion], + descriptors=['[Omega_b- -> Xi_c+ K- pi+]cc']) + return line_alg + + +############################################################## +# Form the Omega_b- -> Xi_c+ K- Pi- Gamma, Xi_c+ --> p K- pi+ +# 1. Hadronic part to obtain a vertex, and require +# it to have a non-negiligble b-decay lifetime to +# control the rate. +# 2. Add the neutral state to cut on the mass window. +############################################################## +@check_process +def make_OmbmToXicpKPiGamma_XicpToPKPi(process): + if process == 'spruce': + pion = basic_builder.make_tightpid_tight_pions(pi_pidk_max=None) + kaon = basic_builder.make_tightpid_tight_kaons(k_pidk_min=None) + elif process == 'hlt2': + pion = basic_builder.make_tightpid_tight_pions() + kaon = basic_builder.make_tightpid_tight_kaons() + cbaryon = cbaryon_builder.make_tight_xicp_to_pkpi() + hadronic = b_builder.make_loose_omegab( + particles=[cbaryon, kaon, pion], + descriptors=['[Lambda_b0 -> Xi_c+ K- pi-]cc'], + am_min=0. * MeV, + am_min_vtx=0. * MeV) + gamma = basic_builder.make_photons(et_min=2000 * MeV) + line_alg = b_builder.make_omegab_with_neutral( + particles=[hadronic, gamma], + descriptor='[Omega_b- -> Lambda_b0 gamma]cc') + return line_alg + + +############################################################## +# Form the Omega_b- -> Xi_c+ K- Pi+ Gamma, Xi_c+ --> p K- pi+ (WS) +# 1. Hadronic part to obtain a vertex, and require +# it to have a non-negiligble b-decay lifetime to +# control the rate. +# 2. Add the neutral state to cut on the mass window. +############################################################## +@check_process +def make_OmbmToXicpKPiGammaWS_XicpToPKPi(process): + if process == 'spruce': + pion = basic_builder.make_tightpid_tight_pions(pi_pidk_max=None) + kaon = basic_builder.make_tightpid_tight_kaons(k_pidk_min=None) + elif process == 'hlt2': + pion = basic_builder.make_tightpid_tight_pions() + kaon = basic_builder.make_tightpid_tight_kaons() + cbaryon = cbaryon_builder.make_tight_xicp_to_pkpi() + hadronic = b_builder.make_loose_omegab( + particles=[cbaryon, kaon, pion], + descriptors=['[Lambda_b0 -> Xi_c+ K- pi+]cc'], + am_min=0. * MeV, + am_min_vtx=0. * MeV) + gamma = basic_builder.make_photons(et_min=2000 * MeV) + line_alg = b_builder.make_omegab_with_neutral( + particles=[hadronic, gamma], + descriptor='[Omega_b- -> Lambda_b0 gamma]cc') + return line_alg + + +############################################## +# Form the Omegab- -> Omegac0 Pi- Pi0 +# 1. Hadronic part to obtain a vertex, and require +# it to have a non-negiligble b-decay lifetime to +# control the rate. +# 2. Add the neutral state to cut on the mass window. +############################################## +@check_process +def make_OmbmToOmc0PiPi0Resolved_Omc0ToPKKPi(process): + pion = basic_builder.make_tightpid_tight_pions() + cbaryon = cbaryon_builder.make_omegac0_to_pkkpi() + hadronic = b_builder.make_loose_omegab( + particles=[cbaryon, pion], + descriptors=['[Lambda_b0 -> Omega_c0 pi-]cc'], + am_min=0. * MeV, + am_min_vtx=0. * MeV) + pi0 = basic_builder.make_resolved_pi0s(pt_min=1500 * MeV) + line_alg = b_builder.make_omegab_with_neutral( + particles=[hadronic, pi0], + descriptor='[Omega_b- -> Lambda_b0 pi0]cc', + ) + return line_alg + + +############################################## +# Form the Omegab- -> Omegac0 Pi+ Pi0 (WS) +# 1. Hadronic part to obtain a vertex, and require +# it to have a non-negiligble b-decay lifetime to +# control the rate. +# 2. Add the neutral state to cut on the mass window. +############################################## +@check_process +def make_OmbmToOmc0PiPi0ResolvedWS_Omc0ToPKKPi(process): + pion = basic_builder.make_tightpid_tight_pions() + cbaryon = cbaryon_builder.make_omegac0_to_pkkpi() + hadronic = b_builder.make_loose_omegab( + particles=[cbaryon, pion], + descriptors=['[Lambda_b0 -> Omega_c0 pi+]cc'], + am_min=0. * MeV, + am_min_vtx=0. * MeV) + pi0 = basic_builder.make_resolved_pi0s(pt_min=1500 * MeV) + line_alg = b_builder.make_omegab_with_neutral( + particles=[hadronic, pi0], + descriptor='[Omega_b- -> Lambda_b0 pi0]cc', + ) + return line_alg + + ############################################## # XibToLchh lines ############################################## @@ -149,6 +289,26 @@ def make_XibmToLcpKPi_LcpToPKPi(process): return line_alg +############################################################## +# Form the Xi_b-(Om_b-) --> Lc+ K- pi+, Lc+ --> p K- pi+ +############################################################## +@check_process +def make_XibmToLcpKPiWS_LcpToPKPi(process): + if process == 'spruce': + pion = basic_builder.make_soft_pions(pi_pidk_max=None) + kaon = basic_builder.make_soft_kaons(k_pidk_min=None) + lc = cbaryon_builder.make_lc_to_pkpi( + pi_pidk_max=None, k_pidk_min=None, p_pidp_min=None) + elif process == 'hlt2': + pion = basic_builder.make_soft_pions() + kaon = basic_builder.make_soft_kaons() + lc = cbaryon_builder.make_lc_to_pkpi() + line_alg = b_builder.make_xib2chh( + particles=[kaon, pion, lc], + descriptors=['[Xi_b- -> K- pi+ Lambda_c+]cc']) + return line_alg + + ############################################################## # Form the Xi_b-(Om_b-) --> Lc+ K- K-, Lc+ --> p K- pi+ ############################################################## diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryon_hhh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryon_hhh.py index 1b39cae4990d97ef253765c7939746bef3a13abc..11e5c69cfe64bc72805b23e7d01fedb5a3eaca44 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryon_hhh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryon_hhh.py @@ -310,6 +310,22 @@ def make_OmbmToOmc0PiPiPi_Omc0ToPKKPi(process): return line_alg +#################################################################### +# Form the Omega_b- -> Omega_c0 Pi- Pi+ Pi+, Omega_c0 --> p K- K- pi+ +#################################################################### +@check_process +def make_OmbmToOmc0PiPiPiWS_Omc0ToPKKPi(process): + pion = basic_builder.make_pions() + cbaryon = cbaryon_builder.make_tight_omegac0_to_pkkpi() + line_alg = b_builder.make_omegab2omegachhh( + particles=[pion, pion, pion, cbaryon], + descriptors=['[Omega_b- -> pi- pi+ pi+ Omega_c0]cc']) + #track_code = "(NINGENERATION( ((ABSID=='pi+')|(ABSID=='K+')) & (PT<250*MeV), 1 ) <= {ntracks})".format( + # ntracks=1) + #line_alg = ParticleFilter(line, Code=track_code) + return line_alg + + #################################################################### # Form the Omega_b- -> Omega_c0 K- Pi+ Pi-, Omega_c0 --> p K- K- pi+ #################################################################### @@ -363,3 +379,31 @@ def make_OmbmToOmc0PbarPPi_Omc0ToPKKPi(process): # ppidfail=1) #line_alg = ParticleFilter(line, Code=track_code) return line_alg + + +#################################################################### +# Form the Omega_b- -> Xi_c0 K- Pi+ Pi-, Xi_c0 --> p K- K- pi+ +#################################################################### +@check_process +def make_OmbmToXic0KmPipPim_Omc0ToPKKPi(process): + pion = basic_builder.make_pions() + kaon = basic_builder.make_kaons() + cbaryon = cbaryon_builder.make_tight_xic0_to_pkkpi() + line_alg = b_builder.make_omegab2omegachhh( + particles=[kaon, pion, pion, cbaryon], + descriptors=['[Omega_b- -> K- pi+ pi- Xi_c0]cc']) + return line_alg + + +#################################################################### +# Form the Omega_b- -> Xi_c0 K- Pi+ Pi+, Xi_c0 --> p K- K- pi+ (WS) +#################################################################### +@check_process +def make_OmbmToXic0KmPipPimWS_Omc0ToPKKPi(process): + pion = basic_builder.make_pions() + kaon = basic_builder.make_kaons() + cbaryon = cbaryon_builder.make_tight_xic0_to_pkkpi() + line_alg = b_builder.make_omegab2omegachhh( + particles=[kaon, pion, pion, cbaryon], + descriptors=['[Omega_b- -> K- pi+ pi+ Xi_c0]cc']) + return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_lightbaryon_d.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_lightbaryon_d.py index 16ce4ef0a0f0b6c7efaf951419b6916914825e87..bf463df53747df29ecd982d98c0ddf9f224bfc32 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_lightbaryon_d.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_lightbaryon_d.py @@ -20,6 +20,47 @@ from Hlt2Conf.lines.b_to_open_charm.builders import b_builder from Hlt2Conf.lines.b_to_open_charm.builders import d_builder +# Form the Lb -> Lambda D0, D0 -> Ks h h +@check_process +def make_LbToLambdaLLD0_D0ToKsLLHH(process): + lm = basic_builder.make_lambda_LL() + dz = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_LL()) + line_alg = b_builder.make_xibc( + particles=[lm, dz], + descriptors=['Lambda_b0 -> Lambda0 D0', 'Lambda_b~0 -> Lambda~0 D0']) + return line_alg + + +@check_process +def make_LbToLambdaLLD0_D0ToKsDDHH(process): + lm = basic_builder.make_lambda_LL() + dz = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_DD()) + line_alg = b_builder.make_xibc( + particles=[lm, dz], + descriptors=['Lambda_b0 -> Lambda0 D0', 'Lambda_b~0 -> Lambda~0 D0']) + return line_alg + + +@check_process +def make_LbToLambdaDDD0_D0ToKsLLHH(process): + lm = basic_builder.make_lambda_DD() + dz = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_LL()) + line_alg = b_builder.make_xibc( + particles=[lm, dz], + descriptors=['Lambda_b0 -> Lambda0 D0', 'Lambda_b~0 -> Lambda~0 D0']) + return line_alg + + +@check_process +def make_LbToLambdaDDD0_D0ToKsDDHH(process): + lm = basic_builder.make_lambda_DD() + dz = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_DD()) + line_alg = b_builder.make_xibc( + particles=[lm, dz], + descriptors=['Lambda_b0 -> Lambda0 D0', 'Lambda_b~0 -> Lambda~0 D0']) + return line_alg + + ########################################################### # Form the Xi_bc0 -> D0 p, D0 --> K- pi+ # NB: Here, D0 == K- pi+ AND K+ pi- diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_lightbaryon_dh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_lightbaryon_dh.py index 53d8b5c7757811eba5b371c5a6c0cac3de549191..0210a7f810dfcb2736e62bfc9c60b78146ce5f93 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_lightbaryon_dh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_lightbaryon_dh.py @@ -109,19 +109,25 @@ def make_LbToD0PK_D0ToHH(process): @check_process def make_LbToD0PPi_D0ToHHHH(process): if process == 'spruce': - dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) + dzero = d_builder.make_tight_dzero_to_hhhh( + pi_pidk_max=None, k_pidk_min=None) proton = basic_builder.make_soft_protons(p_pidp_min=None) pion = basic_builder.make_soft_pions(pi_pidk_max=None) elif process == 'hlt2': - dzero = d_builder.make_dzero_to_hhhh() - proton = basic_builder.make_tightpid_soft_protons() - pion = basic_builder.make_tightpid_soft_pions() + dzero = d_builder.make_dzero_to_hhhh( + am_min=1.82 * GeV, am_max=1.9 * GeV) + proton = basic_builder.make_soft_protons( + p_pidp_min=3, p_min=10 * GeV, pt_min=0.5 * GeV) + pion = basic_builder.make_soft_pions( + pi_pidk_max=2, p_min=3.5 * GeV, pt_min=0.25 * GeV) # note the order we write the decay descriptor in because the b2chh builder makes a # cut on the 1,2 i.e. h+h- combination line_alg = b_builder.make_lb2chh( particles=[proton, pion, dzero], descriptors=['Lambda_b0 -> p+ pi- D0', 'Lambda_b~0 -> p~- pi+ D0'], sum_pt_min=6 * GeV, + am_min=5.5 * GeV, + am_max=5.75 * GeV, bpvltime_min=0.3 * picosecond) return line_alg @@ -168,19 +174,26 @@ def make_LbToD0PPiWS_D0ToHHHH(process): @check_process def make_LbToD0PK_D0ToHHHH(process): if process == 'spruce': - dzero = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) + dzero = d_builder.make_tight_dzero_to_hhhh( + pi_pidk_max=None, k_pidk_min=None) proton = basic_builder.make_soft_protons(p_pidp_min=None) kaon = basic_builder.make_soft_kaons(k_pidk_min=None) elif process == 'hlt2': - dzero = d_builder.make_dzero_to_hhhh() - proton = basic_builder.make_tightpid_soft_protons() - kaon = basic_builder.make_tightpid_soft_kaons() + #dzero = d_builder.make_tight_dzero_to_hhhh() + dzero = d_builder.make_dzero_to_hhhh( + am_min=1.82 * GeV, am_max=1.9 * GeV) + proton = basic_builder.make_soft_protons( + p_pidp_min=3, p_min=10 * GeV, pt_min=0.5 * GeV) + kaon = basic_builder.make_soft_kaons( + k_pidk_min=-2, p_min=3.5 * GeV, pt_min=0.25 * GeV) # note the order we write the decay descriptor in because the b2chh builder makes a # cut on the 1,2 i.e. h+h- combination line_alg = b_builder.make_lb2chh( particles=[proton, kaon, dzero], descriptors=['Lambda_b0 -> p+ K- D0', 'Lambda_b~0 -> p~- K+ D0'], sum_pt_min=6 * GeV, + am_min=5.5 * GeV, + am_max=5.75 * GeV, bpvltime_min=0.3 * picosecond) return line_alg @@ -493,7 +506,7 @@ def make_XibmToDmPPi_DmToHHH(process): if process == 'spruce': d = d_builder.make_dplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) proton = basic_builder.make_soft_protons(p_pidp_min=None) - pion = basic_builder.make_soft_pions(p_pidp_min=None) + pion = basic_builder.make_soft_pions(pi_pidk_max=None) elif process == 'hlt2': d = d_builder.make_dplus_to_hhh() proton = basic_builder.make_tightpid_soft_protons() @@ -537,7 +550,7 @@ def make_XibmToDsmPPi_DsmToHHH(process): if process == 'spruce': ds = d_builder.make_dsplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) proton = basic_builder.make_soft_protons(p_pidp_min=None) - pion = basic_builder.make_soft_pions(p_pidp_min=None) + pion = basic_builder.make_soft_pions(pi_pidk_max=None) elif process == 'hlt2': ds = d_builder.make_dsplus_to_hhh() proton = basic_builder.make_tightpid_soft_protons() diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/b_builder.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/b_builder.py index 0469f510695c36934827786d6ecb7cba959e80ba..333146e9f342e1f8604eb17350b62aa8b33d4a8e 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/b_builder.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/b_builder.py @@ -37,7 +37,9 @@ def _make_b2x( vtx_chi2pdof_max=20., # was 10 in Run1+2 bpvipchi2_max=25., bpvltime_min=0.2 * picosecond, - bpvdira_min=0.999): + bpvdira_min=0.999, + bcvtx_sep_min=None, + bcvtx_fromdst_sep_min=None): ''' Default B decay maker: defines default cuts and B mass range. ''' @@ -51,6 +53,13 @@ def _make_b2x( F.BPVLTIME(pvs) > bpvltime_min, F.BPVDIRA(pvs) > bpvdira_min) + if bcvtx_sep_min is not None: + vertex_code &= F.CHILD(1, F.END_VZ) - F.END_VZ > bcvtx_sep_min + + if bcvtx_fromdst_sep_min is not None: + vertex_code &= F.CHILD(1, F.CHILD( + 1, F.END_VZ)) - F.END_VZ > bcvtx_fromdst_sep_min + return ParticleCombiner( particles, name=name, @@ -73,6 +82,31 @@ def make_b2x(particles, descriptors, name='B2OCB2XMerger', **decay_arguments): return ParticleContainersMerger(b_hadrons, name=name) +@configurable +def make_loose_mass_b2x(particles, + descriptors, + name='B2OCB2XLooseMassMerger', + am_min=4850 * MeV, + am_max=6000 * MeV, + am_min_vtx=4850 * MeV, + am_max_vtx=6000 * MeV, + **decay_arguments): + assert len(descriptors) > 0 + b_hadrons = [] + for descriptor in descriptors: + b_hadrons.append( + _make_b2x( + particles=particles, + descriptor=descriptor, + name=name, + am_min=am_min, + am_max=am_max, + am_min_vtx=am_min_vtx, + am_max_vtx=am_max_vtx, + **decay_arguments)) + return ParticleContainersMerger(b_hadrons, name=name) + + @configurable def _make_lifetime_unbiased_b2x(particles, descriptor, @@ -127,7 +161,7 @@ def _make_b2chh( am_max=6000 * MeV, am_min_vtx=5000 * MeV, am_max_vtx=6000 * MeV, - sum_pt_min=5 * GeV, + sum_pt_min=5.5 * GeV, vtx_chi2pdof_max=20, # was 10 in Run1+2 bpvipchi2_max=9, bpvltime_min=0.2 * picosecond, @@ -136,15 +170,17 @@ def _make_b2chh( hh_am_max=5.2 * GeV, hh_adoca12_max=0.5 * mm, hbach_pt_min=500 * MeV, - hbach_p_min=5 * GeV): + hbach_p_min=5 * GeV, + bcvtx_sep_min=-0.5 * mm): ''' Specialised 3-body B decay maker ''' combination12_code = require_all(F.MASS < hh_am_max, + F.MAX(F.P) > hbach_p_min, + F.MAX(F.PT) > hbach_pt_min, F.SUM(F.PT) > hh_asumpt_min, F.DOCA(1, 2) < hh_adoca12_max) - # missing: AHASCHILD(ISBASIC & HASTRACK & (PT > {hbach_pt_min}) & (P > {hbach_p_min}) )" combination_code = require_all( in_range(am_min, F.MASS, am_max), @@ -153,6 +189,7 @@ def _make_b2chh( pvs = make_pvs() vertex_code = require_all( in_range(am_min_vtx, F.MASS, am_max_vtx), F.CHI2DOF < vtx_chi2pdof_max, + F.CHILD(3, F.END_VZ) - F.END_VZ > bcvtx_sep_min, F.BPVIPCHI2(pvs) < bpvipchi2_max, F.BPVLTIME(pvs) > bpvltime_min, F.BPVDIRA(pvs) > bpvdira_min) @@ -183,6 +220,85 @@ def make_b2chh(particles, return ParticleContainersMerger(b_hadrons, name=name) +@configurable +def _make_b2cch( + particles, + descriptor, + name="B2OCB2DDHCombiner", + am_min=5000 * MeV, + am_max=5800 * MeV, + am_min_vtx=5000 * MeV, + am_max_vtx=5800 * MeV, + sum_pt_min=5.5 * GeV, + vtx_chi2pdof_max=20, # was 10 in Run1+2 + bpvipchi2_max=9, + bpvltime_min=0.2 * picosecond, + bpvdira_min=0.99995, + hbach_pt_min=500 * MeV, + hbach_p_min=5 * GeV, + bcvtx_sep_min=-0.5 * mm): + ''' + Specialised 3-body double charm B decay maker + ''' + + combination_code = require_all( + in_range(am_min, F.MASS, am_max), + F.SUM(F.PT) > sum_pt_min) + + pvs = make_pvs() + vertex_code = require_all( + in_range(am_min_vtx, F.MASS, am_max_vtx), F.CHI2DOF < vtx_chi2pdof_max, + F.CHILD(1, F.END_VZ) - F.END_VZ > bcvtx_sep_min, + F.CHILD(2, F.END_VZ) - F.END_VZ > bcvtx_sep_min, + F.BPVIPCHI2(pvs) < bpvipchi2_max, + F.BPVLTIME(pvs) > bpvltime_min, + F.BPVDIRA(pvs) > bpvdira_min) + + return ParticleCombiner( + particles, + name=name, + DecayDescriptor=descriptor, + CombinationCut=combination_code, + CompositeCut=vertex_code) + + +''' for iteration on descriptors elements ''' + + +@configurable +def make_b2cch(particles, + descriptors, + name='B2OCB2CCHMerger', + **decay_arguments): + assert len(descriptors) > 0 + b_hadrons = [] + for descriptor in descriptors: + b_hadrons.append( + _make_b2cch( + particles=particles, descriptor=descriptor, **decay_arguments)) + return ParticleContainersMerger(b_hadrons, name=name) + + +@configurable +def make_b2cstarhh(particles, + descriptors, + name='B2OCB2CHHMerger', + bcvtx_sep_min=-1000 * mm, + sum_pt_min=5. * GeV, + **decay_arguments): + assert len(descriptors) > 0 + b_hadrons = [] + for descriptor in descriptors: + b_hadrons.append( + _make_b2chh( + particles=particles, + descriptor=descriptor, + bcvtx_sep_min=bcvtx_sep_min, + sum_pt_min=sum_pt_min, + **decay_arguments)) + return ParticleContainersMerger(b_hadrons, name=name) + + @configurable def _make_b2chhh( particles, @@ -201,7 +317,8 @@ def _make_b2chhh( hhh_am_max=4.0 * GeV, adoca_max=0.6 * mm, hbach_pt_min=500 * MeV, - hbach_p_min=5 * GeV): + hbach_p_min=5 * GeV, + bcvtx_sep_min=None): ''' Specialised 4-body Hb --> (h h h) H_c decay maker ''' @@ -228,6 +345,9 @@ def _make_b2chhh( F.BPVLTIME(pvs) > bpvltime_min, F.BPVDIRA(pvs) > bpvdira_min) + if bcvtx_sep_min is not None: + vertex_code &= F.CHILD(4, F.END_VZ) - F.END_VZ > bcvtx_sep_min + return ParticleCombiner( particles, name=name, @@ -258,6 +378,114 @@ def make_b2chhh(particles, ''' b hadrons builders using the make_b2x and make_b2chhh defined above ''' +@configurable +def _make_b2dd( + particles, + descriptor, + name="B2OCB2DDCombiner", + am_min=4800 * MeV, + am_max=5650 * MeV, + am_min_vtx=4800 * MeV, + am_max_vtx=5650 * MeV, + sum_pt_min=5 * GeV, + vtx_chi2pdof_max=15., # was 10 in Run1+2 + bpvipchi2_max=15., + bpvltime_min=0.05 * picosecond, + bpvdira_min=0.999, + bcvtx_sep_min=-1 * mm): + ''' + Specialised B->DD builder + ''' + combination_code = require_all( + in_range(am_min, F.MASS, am_max), + F.CHILD(1, F.SUM(F.PT)) + F.CHILD(2, F.SUM(F.PT)) > sum_pt_min) + pvs = make_pvs() + vertex_code = require_all( + in_range(am_min_vtx, F.MASS, am_max_vtx), F.CHI2DOF < vtx_chi2pdof_max, + F.BPVIPCHI2(pvs) < bpvipchi2_max, + F.BPVLTIME(pvs) > bpvltime_min, + F.BPVDIRA(pvs) > bpvdira_min) + + if bcvtx_sep_min is not None: + vertex_code &= F.CHILD(1, F.END_VZ) - F.END_VZ > bcvtx_sep_min + vertex_code &= F.CHILD(2, F.END_VZ) - F.END_VZ > bcvtx_sep_min + + return ParticleCombiner( + particles, + name=name, + DecayDescriptor=descriptor, + CombinationCut=combination_code, + CompositeCut=vertex_code) + + +@configurable +def make_b2dd(particles, descriptors, name='B2OCB2DDMerger', + **decay_arguments): + assert len(descriptors) > 0 + b_hadrons = [] + for descriptor in descriptors: + b_hadrons.append( + _make_b2dd( + particles=particles, descriptor=descriptor, **decay_arguments)) + return ParticleContainersMerger(b_hadrons, name=name) + + +@configurable +def _make_b2dstd( + particles, + descriptor, + name="B2OCB2DstDCombiner", + am_min=4800 * MeV, + am_max=5650 * MeV, + am_min_vtx=4800 * MeV, + am_max_vtx=5650 * MeV, + sum_pt_min=5 * GeV, + vtx_chi2pdof_max=15., # was 10 in Run1+2 + bpvipchi2_max=15., + bpvltime_min=0.05 * picosecond, + bpvdira_min=0.999, + bcvtx_sep_min=-1 * mm): + ''' + Specialised B->D*D builder + ''' + combination_code = require_all( + in_range(am_min, F.MASS, am_max), + F.CHILD(1, F.CHILD(1, F.SUM(F.PT))) + F.CHILD(2, F.SUM(F.PT)) > + sum_pt_min) + pvs = make_pvs() + vertex_code = require_all( + in_range(am_min_vtx, F.MASS, am_max_vtx), F.CHI2DOF < vtx_chi2pdof_max, + F.BPVIPCHI2(pvs) < bpvipchi2_max, + F.BPVLTIME(pvs) > bpvltime_min, + F.BPVDIRA(pvs) > bpvdira_min) + + if bcvtx_sep_min is not None: + vertex_code &= F.CHILD(1, F.CHILD(1, + F.END_VZ)) - F.END_VZ > bcvtx_sep_min + vertex_code &= F.CHILD(2, F.END_VZ) - F.END_VZ > bcvtx_sep_min + + return ParticleCombiner( + particles, + name=name, + DecayDescriptor=descriptor, + CombinationCut=combination_code, + CompositeCut=vertex_code) + + +@configurable +def make_b2dstd(particles, + descriptors, + name='B2OCB2DstDMerger', + **decay_arguments): + assert len(descriptors) > 0 + b_hadrons = [] + for descriptor in descriptors: + b_hadrons.append( + _make_b2dstd( + particles=particles, descriptor=descriptor, **decay_arguments)) + return ParticleContainersMerger(b_hadrons, name=name) + + @configurable def make_bc2x(particles, descriptors, @@ -287,6 +515,52 @@ def make_bc2x(particles, bpvdira_min=bpvdira_min) +@configurable +def make_bc2dd(particles, + descriptors, + name="B2OCBC2DDCombiner", + am_min=5050 * MeV, + am_max=6700 * MeV, + am_min_vtx=5050 * MeV, + am_max_vtx=6700 * MeV, + sum_pt_min=5.5 * GeV, + **decay_arguments): + + return make_b2dd( + particles=particles, + descriptors=descriptors, + name=name, + am_min=am_min, + am_max=am_max, + am_min_vtx=am_min_vtx, + am_max_vtx=am_max_vtx, + sum_pt_min=sum_pt_min, + **decay_arguments) + + +@configurable +def make_bc2dstd(particles, + descriptors, + name="B2OCBC2DstDCombiner", + am_min=5050 * MeV, + am_max=6700 * MeV, + am_min_vtx=5050 * MeV, + am_max_vtx=6700 * MeV, + sum_pt_min=5.5 * GeV, + **decay_arguments): + + return make_b2dstd( + particles=particles, + descriptors=descriptors, + name=name, + am_min=am_min, + am_max=am_max, + am_min_vtx=am_min_vtx, + am_max_vtx=am_max_vtx, + sum_pt_min=sum_pt_min, + **decay_arguments) + + @configurable def make_lb(particles, descriptors, @@ -434,6 +708,27 @@ def make_omegab(particles, **decay_arguments) +@configurable +def make_loose_omegab(particles, + descriptors, + name="B2OCOmegab2XLooseCombiner", + am_min=5400 * MeV, + am_max=6800 * MeV, + am_min_vtx=5500 * MeV, + am_max_vtx=6700 * MeV, + **decay_arguments): + + return make_b2x( + particles=particles, + descriptors=descriptors, + name=name, + am_min=am_min, + am_max=am_max, + am_min_vtx=am_min_vtx, + am_max_vtx=am_max_vtx, + **decay_arguments) + + @configurable def make_omegab2omegachhh(particles, descriptors, @@ -484,3 +779,46 @@ def make_xibc( bpvipchi2_max=bpvipchi2_max, bpvltime_min=bpvltime_min, bpvdira_min=bpvdira_min) + + +@configurable +def make_bhadron_neutral_adder(particles, + descriptor, + name="B2OCBhadronNeutralAdder", + am_min=5050 * MeV, + am_max=5650 * MeV, + am_min_vtx=5050 * MeV, + am_max_vtx=5650 * MeV): + + combination_code = in_range(am_min, F.MASS, am_max) + + vertex_code = in_range(am_min_vtx, F.MASS, am_max_vtx) + + return ParticleCombiner( + particles, + name=name, + DecayDescriptor=descriptor, + CombinationCut=combination_code, + CompositeCut=vertex_code, + ParticleCombiner="ParticleAdder") + + +@configurable +def make_omegab_with_neutral(particles, + descriptor, + name="B2OCOmegab2XNeutralCombiner", + am_min=5400 * MeV, + am_max=6800 * MeV, + am_min_vtx=5500 * MeV, + am_max_vtx=6700 * MeV, + **decay_arguments): + + return make_bhadron_neutral_adder( + particles=particles, + descriptor=descriptor, + name=name, + am_min=am_min, + am_max=am_max, + am_min_vtx=am_min_vtx, + am_max_vtx=am_max_vtx, + **decay_arguments) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/basic_builder.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/basic_builder.py index d0ac9eafaf7fdaf3096f5b5fd2d5b239a8e82e36..2c00ccc6ed4437a47622fdf2685a962b0a4694d9 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/basic_builder.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/basic_builder.py @@ -47,10 +47,16 @@ def filter_particles(make_particles, @configurable -def make_pions(pi_pidk_max=5., p_min=2 * GeV, pt_min=250 * MeV): +def make_pions(pi_pidk_max=5., + p_min=2 * GeV, + pt_min=250 * MeV, + **decay_arguments): """Return pions filtered by thresholds common to B2OC decay product selections.""" pions = filter_particles( - make_particles=make_has_rich_long_pions, p_min=p_min, pt_min=pt_min) + make_particles=make_has_rich_long_pions, + p_min=p_min, + pt_min=pt_min, + **decay_arguments) if pi_pidk_max is not None: code = F.PID_K < pi_pidk_max pions = ParticleFilter(pions, F.FILTER(code)) @@ -244,6 +250,7 @@ def make_twobody(particles, adoca12_max=0.5 * mm, vchi2pdof_max=10, bpvvdchi2_min=36, + bpvipchi2_min=0, bpvdira_min=0): """ A generic 2body decay maker. @@ -266,6 +273,7 @@ def make_twobody(particles, pvs = make_pvs() vertex_code = require_all(F.CHI2DOF < vchi2pdof_max, F.BPVFDCHI2(pvs) > bpvvdchi2_min, + F.BPVIPCHI2(pvs) > bpvipchi2_min, F.BPVDIRA(pvs) > bpvdira_min, in_range(am_min, F.MASS, am_max)) @@ -290,6 +298,7 @@ def make_threebody(particles, adoca23_max=0.5 * mm, vchi2pdof_max=10, bpvvdchi2_min=36, + bpvipchi2_min=0, bpvdira_min=0): """ A generic 3body decay maker. Makes use of ThreeBodyCombiner @@ -320,6 +329,7 @@ def make_threebody(particles, pvs = make_pvs() vertex_code = require_all(F.CHI2DOF < vchi2pdof_max, F.BPVFDCHI2(pvs) > bpvvdchi2_min, + F.BPVIPCHI2(pvs) > bpvipchi2_min, F.BPVDIRA(pvs) > bpvdira_min, in_range(am_min, F.MASS, am_max)) return ParticleCombiner( @@ -347,6 +357,7 @@ def make_fourbody(particles, adoca34_max=0.5 * mm, vchi2pdof_max=10, bpvvdchi2_min=36, + bpvipchi2_min=0, bpvdira_min=0): """ A generic 4body decay maker. Makes use of N4BodyCombinerWithPVs @@ -378,6 +389,7 @@ def make_fourbody(particles, pvs = make_pvs() vertex_code = require_all(F.CHI2DOF < vchi2pdof_max, F.BPVFDCHI2(pvs) > bpvvdchi2_min, + F.BPVIPCHI2(pvs) > bpvipchi2_min, F.BPVDIRA(pvs) > bpvdira_min, in_range(am_min, F.MASS, am_max)) return ParticleCombiner( @@ -410,11 +422,9 @@ def make_selected_ks(input_ks, ''' pvs = make_pvs() code = require_all( - #F.MAXDOCACHI2CUT(adocachi2cut), # not available for ParticleFilter - F.CHI2DOF < - chi2vx) # for a two body decay the NDOF of the vertex fit is just 1 - # missing: NINTREE((ABSID=="pi+") & (P > {pi_pmin}))>1.5 - # NINTREE((ABSID=="pi+") & (MIPCHI2DV(PRIMARY) > {pi_mipchi2pv}))>1.5 + F.MAXDOCACHI2CUT(adocachi2cut), F.CHI2DOF < chi2vx, + F.MIN(F.P) > pi_pmin, + F.MIN(F.MINIPCHI2(pvs)) > pi_mipchi2pv) if bpvvdchi2_min is not None: code = require_all(code, F.BPVFDCHI2(pvs) > bpvvdchi2_min) return ParticleFilter(input_ks, F.FILTER(code), name=name) @@ -504,6 +514,8 @@ def make_kstar0(name="B2OCKstarCombiner", make_pvs=make_pvs, am_min=742 * MeV, am_max=1042 * MeV, + pi_pidk_max=5, + k_pidk_min=-5, pi_p_min=2 * GeV, pi_pt_min=100 * MeV, k_p_min=2 * GeV, @@ -517,8 +529,9 @@ def make_kstar0(name="B2OCKstarCombiner", "HH" cuts. ''' - pions = make_pions(p_min=pi_p_min, pt_min=pi_pt_min) - kaons = make_kaons(p_min=k_p_min, pt_min=k_pt_min) + pions = make_pions( + pi_pidk_max=pi_pidk_max, p_min=pi_p_min, pt_min=pi_pt_min) + kaons = make_kaons(k_pidk_min=k_pidk_min, p_min=k_p_min, pt_min=k_pt_min) descriptor = '[K*(892)0 -> pi- K+]cc' combination_code = require_all( in_range(am_min, F.MASS, am_max), diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/cbaryon_builder.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/cbaryon_builder.py index 068144942fc20e6dc94959f1d2484df90cc0892e..13c050349f993825328094f9fbd48d4a043ff539 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/cbaryon_builder.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/cbaryon_builder.py @@ -27,8 +27,8 @@ from . import d_builder @configurable -def make_lc_to_pkpi(am_min=2236 * MeV, - am_max=2336 * MeV, +def make_lc_to_pkpi(am_min=2260 * MeV, + am_max=2320 * MeV, pi_pidk_max=5, k_pidk_min=-5, p_pidp_min=-5, @@ -64,8 +64,8 @@ def make_lc_to_pkpi(am_min=2236 * MeV, @configurable -def make_lc_to_pkk(am_min=2236 * MeV, - am_max=2336 * MeV, +def make_lc_to_pkk(am_min=2260 * MeV, + am_max=2320 * MeV, k_pidk_min=-5, p_pidp_min=-5, k_p_min=2 * GeV, @@ -96,8 +96,8 @@ def make_lc_to_pkk(am_min=2236 * MeV, @configurable -def make_lc_to_ppipi(am_min=2236 * MeV, - am_max=2336 * MeV, +def make_lc_to_ppipi(am_min=2260 * MeV, + am_max=2320 * MeV, pi_pidk_max=5, p_pidp_min=-5, pi_p_min=2 * GeV, @@ -127,6 +127,90 @@ def make_lc_to_ppipi(am_min=2236 * MeV, **decay_arguments) +@configurable +def make_lc_to_lambdapi(lm, + am_min=2236 * MeV, + am_max=2336 * MeV, + pi_pidk_max=5, + pi_p_min=2 * GeV, + pi_pt_min=250 * MeV, + **decay_arguments): + """ + Return a Lambda_c+ -> Lambda0 pi+ decay maker. + + Parameters + ---------- + **decay_arguments : keyword arguments are passed on to the HC->3body + maker + """ + pions = basic_builder.make_pions( + pi_pidk_max=pi_pidk_max, p_min=pi_p_min, pt_min=pi_pt_min) + + return basic_builder.make_twobody( + particles=[lm, pions], + descriptor="[Lambda_c+ -> Lambda0 pi+]cc", + am_min=am_min, + am_max=am_max, + name="B2OCLc2LambdaPiCombiner", + **decay_arguments) + + +@configurable +def make_lc_to_lambdak(lm, + am_min=2236 * MeV, + am_max=2336 * MeV, + k_pidk_min=-5, + k_p_min=2 * GeV, + k_pt_min=250 * MeV, + **decay_arguments): + """ + Return a Lambda_c+ -> Lambda0 K+ decay maker. + + Parameters + ---------- + **decay_arguments : keyword arguments are passed on to the HC->3body + maker + """ + kaons = basic_builder.make_kaons( + k_pidk_min=k_pidk_min, p_min=k_p_min, pt_min=k_pt_min) + + return basic_builder.make_twobody( + particles=[lm, kaons], + descriptor="[Lambda_c+ -> Lambda0 K+]cc", + am_min=am_min, + am_max=am_max, + name="B2OCLc2LambdaKCombiner", + **decay_arguments) + + +@configurable +def make_lc_to_pks(ks, + am_min=2236 * MeV, + am_max=2336 * MeV, + p_pidp_min=-5, + p_p_min=2 * GeV, + p_pt_min=250 * MeV, + **decay_arguments): + """ + Return a Lambda_c+ -> p KS decay maker. + + Parameters + ---------- + **decay_arguments : keyword arguments are passed on to the HC->3body + maker + """ + protons = basic_builder.make_protons( + p_pidp_min=p_pidp_min, p_min=p_p_min, pt_min=p_pt_min) + + return basic_builder.make_twobody( + particles=[protons, ks], + descriptor="[Lambda_c+ -> p+ KS0]cc", + am_min=am_min, + am_max=am_max, + name="B2OCLc2PKSCombiner", + **decay_arguments) + + @configurable def make_xicp_to_pkpi(am_min=2418 * MeV, am_max=2518 * MeV, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/d_builder.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/d_builder.py index 08f5846c0f768b07a370f76093440f58f07e0e77..06f8a3770bfbba64e511af5e916fdee01d6a486b 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/d_builder.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/d_builder.py @@ -191,12 +191,14 @@ def make_tight_dzero_to_kpi(**decay_arguments): @configurable -def make_tight_dzero_to_hh(**decay_arguments): +def make_tight_dzero_to_hh(pi_pidk_max=2, k_pidk_min=-2, **decay_arguments): """ tighter D0's for B->D0 hhh """ return make_dzero_to_hh( name='B2OCD02HHTightCombiner', am_min=1805 * MeV, am_max=1925 * MeV, + pi_pidk_max=pi_pidk_max, + k_pidk_min=k_pidk_min, **decay_arguments) @@ -287,12 +289,14 @@ def make_dzero_to_hh_ws(name='B2OCD02HHWSCombiner', @configurable -def make_tight_dzero_to_hh_ws(**decay_arguments): +def make_tight_dzero_to_hh_ws(pi_pidk_max=2, k_pidk_min=-2, **decay_arguments): """ tighter D0's for B->D0 hh """ return make_dzero_to_hh_ws( name='B2OCD02HHWSTightCombiner', am_min=1805 * MeV, am_max=1925 * MeV, + pi_pidk_max=pi_pidk_max, + k_pidk_min=k_pidk_min, **decay_arguments) @@ -1098,12 +1102,14 @@ def make_dzero_to_hhhh(name='B2OCD02HHHHCombiner', @configurable -def make_tight_dzero_to_hhhh(**decay_arguments): +def make_tight_dzero_to_hhhh(pi_pidk_max=2, k_pidk_min=-2, **decay_arguments): """ tighter D0's for B->D0 hh """ return make_dzero_to_hhhh( name='B2OCD02HHHHTightCombiner', am_min=1805 * MeV, am_max=1925 * MeV, + pi_pidk_max=pi_pidk_max, + k_pidk_min=k_pidk_min, **decay_arguments) @@ -1222,12 +1228,16 @@ def make_dzero_to_hhhh_ws(name='B2OCD02HHHHWSCombiner', @configurable -def make_tight_dzero_to_hhhh_ws(**decay_arguments): +def make_tight_dzero_to_hhhh_ws(pi_pidk_max=2, + k_pidk_min=-2, + **decay_arguments): """ tighter D0's for B->D0 hh """ return make_dzero_to_hhhh_ws( name='B2OCD02HHHHWSTightCombiner', am_min=1805 * MeV, am_max=1925 * MeV, + pi_pidk_max=pi_pidk_max, + k_pidk_min=k_pidk_min, **decay_arguments) @@ -1428,7 +1438,11 @@ def make_dstar_to_dzeropi(dzero, deltamass_min=90 * MeV, vchi2pdof_max=10, bpvvdchi2_min=36, - bpvdira_min=0): + bpvdira_min=0, + soft_pi_pidk_max=5., + soft_pi_p_min=2 * GeV, + soft_pi_pt_min=250 * MeV, + soft_pi_mipchi2_min=4): """ Return D*+ maker for tagging a D0 with a soft pion. @@ -1448,7 +1462,11 @@ def make_dstar_to_dzeropi(dzero, F.BPVDIRA(pvs) > bpvdira_min, in_range(_D0_M + deltamass_min, F.MASS, _D0_M + deltamass_max)) - soft_pions = basic_builder.make_pions() + soft_pions = basic_builder.make_pions( + pi_pidk_max=soft_pi_pidk_max, + p_min=soft_pi_p_min, + pt_min=soft_pi_pt_min, + mipchi2_min=soft_pi_mipchi2_min) dstp_to_dzeropip = ParticleCombiner([dzero, soft_pions], name='B2OCDstp2D0PipCombiner', diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/filters.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/filters.py index a7523c0e55d05ecc6fc71c93926cdb91a7c6c2d7..b14ae52ba064f4d1b25d749f3033e12dd617a271 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/filters.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/filters.py @@ -16,7 +16,13 @@ """ from __future__ import absolute_import, division, print_function -from Hlt2Conf.algorithms import require_all, ParticleFilterWithTMVA +from Hlt2Conf.algorithms import require_all as require_all_loki +from Hlt2Conf.algorithms import ParticleFilterWithTMVA + +import Functors as F +import Functors.math as fmath + +from Hlt2Conf.algorithms_thor import require_all, ParticleFilter def b_bdt_filter(particles, pvs, MVACut=-0.2): @@ -29,8 +35,9 @@ def b_bdt_filter(particles, pvs, MVACut=-0.2): "log_B_IPCHI2_OWNPV": "log(BPVIPCHI2())", "log_B_IP_OWNPV": "log(BPVIP())" } - code = require_all("VALUE('LoKi::Hybrid::DictValue/BeautyBDT')>{MVACut}" - ).format(MVACut=MVACut) + code = require_all_loki( + "VALUE('LoKi::Hybrid::DictValue/BeautyBDT')>{MVACut}").format( + MVACut=MVACut) return ParticleFilterWithTMVA( name="B2OCBBDTFilter", particles=particles, @@ -61,8 +68,8 @@ def b_to_dh_bdt_filter(particles, pvs, MVACut=-0.2, with_neutrals=False): "log_D_MINIPCHI2": log_D_MINIPCHI2_var, "log_Bac_MINIPCHI2": "log(CHILD(MIPCHI2DV(PRIMARY),2))" } - code = require_all("VALUE('LoKi::Hybrid::DictValue/B2DHBDT')>{MVACut}" - ).format(MVACut=MVACut) + code = require_all_loki("VALUE('LoKi::Hybrid::DictValue/B2DHBDT')>{MVACut}" + ).format(MVACut=MVACut) return ParticleFilterWithTMVA( name="B2OCB2DHBDTFilter", particles=particles, @@ -111,8 +118,9 @@ def b_to_d0hhh_bdt_filter(particles, pvs, MVACut=-0.9): "log_Max_D0dau_IPCHI2_OWNPV": "log(max(CHILD(MIPCHI2DV(PRIMARY),4,1),CHILD(MIPCHI2DV(PRIMARY),4,2)))" } - code = require_all("VALUE('LoKi::Hybrid::DictValue/B2D0HHHBDT')>{MVACut}" - ).format(MVACut=MVACut) + code = require_all_loki( + "VALUE('LoKi::Hybrid::DictValue/B2D0HHHBDT')>{MVACut}").format( + MVACut=MVACut) return ParticleFilterWithTMVA( name="B2OCB2D0HHHBDTFilter", particles=particles, @@ -121,3 +129,37 @@ def b_to_d0hhh_bdt_filter(particles, pvs, MVACut=-0.9): mva_name="B2D0HHHBDT", xml_file=BDTWeightsFile, bdt_vars=BDTVars) + + +def b_sigmanet_filter(particles, pvs, MVACut=0.): + + mva = (F.MVA( + MVAType='SigmaNet', + Config={ + 'File': + "${PARAMFILESROOT}/data/Hlt2B2OC_B_SigmaNet_Run3.json", + 'Name': + "B2OC_SigmaNet_Generic", + 'Lambda': + "2.0", + 'NLayers': + "3", + 'InputSize': + "6", + 'Monotone_Constraints': + '[1,-1,-1,-1,-1,-1]', + 'Variables': + 'log_B_PT,B_ETA,log_B_DIRA,log_B_ENDVERTEX_CHI2,log_B_IPCHI2_OWNPV,log_B_IP_OWNPV', + }, + Inputs={ + "log_B_PT": fmath.log(F.PT), + "B_ETA": F.ETA, + "log_B_DIRA": fmath.log(1. - F.BPVDIRA(pvs)), + "log_B_ENDVERTEX_CHI2": fmath.log(F.CHI2DOF), + "log_B_IPCHI2_OWNPV": fmath.log(F.BPVIPCHI2(pvs)), + "log_B_IP_OWNPV": fmath.log(F.BPVIP(pvs)), + }) > MVACut) + + code = require_all(mva) + + return ParticleFilter(particles, F.FILTER(code)) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/hlt2_b2oc.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/hlt2_b2oc.py index 60fb489006af27924d242508974dda1034d4a745..9de9fa05ec6a0ff7bcb056f6e8301fa885c99df7 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/hlt2_b2oc.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/hlt2_b2oc.py @@ -29,12 +29,17 @@ from __future__ import absolute_import, division, print_function from Moore.config import HltLine, register_line_builder -from Hlt2Conf.standard_particles import make_long_pions, make_up_pions +###from RecoConf.hlt1_tracking import default_ft_decoding_version -from Hlt2Conf.lines.b_to_open_charm.utils import update_makers, check_overlap +from RecoConf.reconstruction_objects import make_pvs + +from PyConf.Algorithms import GetFlavourTaggingParticles + +from Hlt2Conf.standard_particles import make_has_rich_long_pions + +from Hlt2Conf.lines.b_to_open_charm.utils import update_makers from Hlt2Conf.lines.b_to_open_charm import prefilters -from Hlt2Conf.lines.b_to_open_charm.builders import basic_builder from Hlt2Conf.lines.b_to_open_charm import b_to_dh from Hlt2Conf.lines.b_to_open_charm import b_to_dx_ltu @@ -84,6 +89,8 @@ update_makers(line_makers, bbaryon_to_lightbaryon_dh) update_makers(line_makers, bbaryon_to_lightbaryon_dd) update_makers(line_makers, bbaryon_to_lightbaryon_ddh) +###default_ft_decoding_version.global_bind(value=6) + ############################################ # Define functions for line booking # # Make it possible to register lines # @@ -139,20 +146,18 @@ def make_flavor_tagging_hlt2_lines(line_dict=hlt2_lines, maker_name='make_%s' % decay, prescale=1): line_alg = line_makers[maker_name](process=PROCESS) - LongT = basic_builder.get_particles_WithPVs( - make_long_pions, mipchi2_min=0) - UpstreamT = basic_builder.get_particles_WithPVs( - make_up_pions, mipchi2_min=0) - LongALL = basic_builder.get_particles_WithPVs(make_long_pions) - UpstreamALL = basic_builder.get_particles_WithPVs(make_up_pions) + pvs = make_pvs() + longPions = make_has_rich_long_pions() + longTaggingParticles = GetFlavourTaggingParticles( + BCandidates=line_alg, + TaggingParticles=longPions, + PrimaryVertices=pvs) + return HltLine( name=name, prescale=prescale, algs=prefilters.b2oc_prefilters() + [line_alg], - extra_outputs=[("LongTracks", LongT), - ("UpstreamTracks", UpstreamT), - ("LongTracksOS", LongALL), - ("UpstreamTracksOS", UpstreamALL)]) + extra_outputs=[('LongTaggingParticles', longTaggingParticles)]) # lines need isolation info, currently the same as default @@ -200,14 +205,9 @@ def make_mva_filtered_hlt2_lines(line_dict=hlt2_lines, # default lines without any further configuration default_lines = [ - # lines from b_to_dh - 'BdToDsmK_DsmToHHH', - - # commented out due to Rec#208 - #'BdToDsstmPi_DsstmToDsmGamma_DsmToHHH', - #'BdToDsstmK_DsstmToDsmGamma_DsmToHHH', 'BuToD0Pi_D0ToHH', 'BuToD0K_D0ToHH', + ###'BdToDsmPi_DsmToKpKmPim_Turcal', # commented out due to Rec#208 #'BuToD0Pi_D0ToKsLLPi0Resolved', @@ -219,13 +219,9 @@ default_lines = [ #'BuToD0K_D0ToKsLLPi0Merged', #'BuToD0K_D0ToKsDDPi0Merged', 'BuToD0Pi_D0ToKsLLHH', - 'BuToD0Pi_D0ToKsDDHH', + #'BuToD0Pi_D0ToKsDDHH', 'BuToD0K_D0ToKsLLHH', - 'BuToD0K_D0ToKsDDHH', - 'BuToD0Pi_PartialD0ToKsLLHH', - 'BuToD0Pi_PartialD0ToKsDDHH', - 'BuToD0K_PartialD0ToKsLLHH', - 'BuToD0K_PartialD0ToKsDDHH', + #'BuToD0K_D0ToKsDDHH', # commented out due to Rec#208 #'BuToD0K_D0ToHHPi0Resolved', @@ -274,113 +270,46 @@ default_lines = [ #'BuToDst0K_Dst0ToD0Gamma_D0ToHHHH', #'BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHHHH', #'BuToDst0K_Dst0ToD0Pi0Merged_D0ToHHHH', - 'BcToD0Pi_D0ToHH', - 'BcToD0K_D0ToHH', - 'BcToD0Pi_D0ToKsLLHH', - 'BcToD0Pi_D0ToKsDDHH', - 'BcToD0K_D0ToKsLLHH', - 'BcToD0K_D0ToKsDDHH', - 'BcToD0Pi_D0ToHHHH', - 'BcToD0K_D0ToHHHH', - 'BcToDmKst0_DmToHHH', - 'BcToDsmKst0_DsmToHHH', - #'BcToDmPhi_DmToHHH', - #'BcToDsmPhi_DsmToHHH', - 'BcToDmKsLL_DmToHHH', - 'BcToDmKsDD_DmToHHH', - 'BcToDsmKsLL_DsmToHHH', - 'BcToDsmKsDD_DsmToHHH', - 'BcToDmF0_DmToHHH', - 'BcToDsmF0_DsmToHHH', # lines from b_to_dhh - 'BdToD0PiPi_D0ToHH', 'BdToD0KPi_D0ToHH', - 'BdToD0KK_D0ToHH', - 'BdToD0PiPi_D0ToKsLLHH', - 'BdToD0PiPi_D0ToKsDDHH', 'BdToD0KPi_D0ToKsLLHH', - 'BdToD0KPi_D0ToKsDDHH', - 'BdToD0KK_D0ToKsLLHH', - 'BdToD0KK_D0ToKsDDHH', + #'BdToD0KPi_D0ToKsDDHH', # commented out due to Rec#208 - #'BdToD0PiPi_D0ToHHPi0Resolved', - #'BdToD0PiPi_D0ToHHPi0Merged', #'BdToD0KPi_D0ToHHPi0Resolved', #'BdToD0KPi_D0ToHHPi0Merged', - #'BdToD0KK_D0ToHHPi0Resolved', - #'BdToD0KK_D0ToHHPi0Merged', - 'BdToD0PiPi_D0ToHHHH', 'BdToD0KPi_D0ToHHHH', - 'BdToD0KK_D0ToHHHH', 'BdToD0PbarP_D0ToHHHH', - 'BdToDsmKsLLPi_DsmToHHH', - 'BdToDsmKsDDPi_DsmToHHH', - 'BdToDmKsLLPi_DmToHHH', - 'BdToDmKsDDPi_DmToHHH', # commented out due to Rec#208 - #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToHH', #'BdToDst0KPi_Dst0ToD0Gamma_D0ToHH', - #'BdToDst0KK_Dst0ToD0Gamma_D0ToHH', - #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHH', #'BdToDst0KPi_Dst0ToD0Pi0Resolved_D0ToHH', - #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHH', # commented out due to Rec#208 - #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToKsLLHH', - #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToKsDDHH', #'BdToDst0KPi_Dst0ToD0Gamma_D0ToKsLLHH', #'BdToDst0KPi_Dst0ToD0Gamma_D0ToKsDDHH', - #'BdToDst0KK_Dst0ToD0Gamma_D0ToKsLLHH', - #'BdToDst0KK_Dst0ToD0Gamma_D0ToKsDDHH', - #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToKsLLHH', - #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToKsDDHH', #'BdToDst0KPi_Dst0ToD0Pi0Resolved_D0ToKsLLHH', #'BdToDst0KPi_Dst0ToD0Pi0Resolved_D0ToKsDDHH', - #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToKsLLHH', - #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToKsDDHH', # commented out due to Rec#208 - #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToHHPi0Resolved', #'BdToDst0KPi_Dst0ToD0Gamma_D0ToHHPi0Resolved', - #'BdToDst0KK_Dst0ToD0Gamma_D0ToHHPi0Resolved', - #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHHPi0Resolved', #'BdToDst0KPi_Dst0ToD0Pi0Resolved_D0ToHHPi0Resolved', - #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHHPi0Resolved', - #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToHHPi0Merged', #'BdToDst0KPi_Dst0ToD0Gamma_D0ToHHPi0Merged', - #'BdToDst0KK_Dst0ToD0Gamma_D0ToHHPi0Merged', - #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHHPi0Merged', #'BdToDst0KPi_Dst0ToD0Pi0Resolved_D0ToHHPi0Merged', - #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHHPi0Merged', # commented out due to Rec#208 - #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToHHHH', #'BdToDst0KPi_Dst0ToD0Gamma_D0ToHHHH', - #'BdToDst0KK_Dst0ToD0Gamma_D0ToHHHH', - #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHHHH', #'BdToDst0KPi_Dst0ToD0Pi0Resolved_D0ToHHHH', - #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHHHH', # commented out due to Rec#208 #'BdToDsstmKsLLPi_DsstmToDsmGamma_DsmToHHH', #'BdToDsstmKsDDPi_DsstmToDsmGamma_DsmToHHH', 'BuToDmPiPi_DmToHHH', 'BuToDpPiPi_DpToHHH', - 'BuToDmKPi_DmToHHH', - 'BuToDpKPi_DpToHHH', 'BuToDmKK_DmToHHH', - 'BuToDpKK_DpToHHH', - 'BuToDpPbarP_DpToHHH', 'BuToDsmPiPi_DsmToHHH', - 'BuToDspPiPi_DspToHHH', - 'BuToDsmKPi_DsmToHHH', - 'BuToDspKPi_DspToHHH', 'BuToDsmKK_DsmToHHH', - 'BuToDspKK_DspToHHH', - 'BuToDspPbarP_DspToHHH', 'BuToDstmPiPi_DstmToD0Pi_D0ToHH', 'BuToDstpPiPi_DstpToD0Pi_D0ToHH', 'BuToDstmKPi_DstmToD0Pi_D0ToHH', @@ -388,14 +317,6 @@ default_lines = [ 'BuToDstmKK_DstmToD0Pi_D0ToHH', 'BuToDstpKK_DstpToD0Pi_D0ToHH', 'BuToDstpPbarP_DstpToD0Pi_D0ToHH', - 'BuToD0KsLLPi_D0ToHH', - 'BuToD0KsDDPi_D0ToHH', - 'BuToD0KsLLPi_D0ToKsLLHH', - 'BuToD0KsDDPi_D0ToKsLLHH', - 'BuToD0KsLLPi_D0ToKsDDHH', - 'BuToD0KsDDPi_D0ToKsDDHH', - 'BuToD0KsLLPi_D0ToHHHH', - 'BuToD0KsDDPi_D0ToHHHH', # commented out because pi0 builder crash hlt2_pp_thor test #'BuToD0PiPi0Resolved_D0ToHH', @@ -419,28 +340,13 @@ default_lines = [ #'BuToD0KPi0Resolved_D0ToHHHH', #'BuToD0KPi0Merged_D0ToHHHH', - # lines from b_to_dll - 'BcToDsmMupMum_DsmToHHH', - 'BcToDspMumMum_DspToHHH', - # lines from b_to_dmunu 'BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHH', - 'BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHH', + #'BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHH', 'BdToDstmMuNu_DstmToD0Pi_D0ToHHHH', # lines from b_to_dhhh - 'BdToDmPiPiPi_DmToPimPimKp', - 'BdToDmKPiPi_DmToPimPimKp', - 'BdToDmKKPi_DmToPimPimKp', - 'BdToDmPbarPPi_DmToPimPimKp', 'BdToDsmKKPi_DsmToKmKpPim', - 'BdToDsmPbarPPi_DsmToKmKpPim', - 'BuToD0PiPiPi_D0ToKsLLHH', - 'BuToD0PiPiPi_D0ToKsDDHH', - 'BuToD0KPiPi_D0ToKsLLHH', - 'BuToD0KPiPi_D0ToKsDDHH', - 'BuToD0PiPiPi_D0ToHHHH', - 'BuToD0KPiPi_D0ToHHHH', # lines from b_to_dd 'BuToD0Dp_D0ToHH_DpToHHH', @@ -451,30 +357,39 @@ default_lines = [ 'BuToDstD0_DstToD0Pi_D0ToHH_D0ToHHHH', 'BuToDstD0_DstToD0Pi_D0ToHHHH_D0ToHH', 'BuToDstD0_DstToD0Pi_D0ToHHHH_D0ToHHHH', + 'BcToD0Dp_D0ToHH_DpToHHH', + 'BcToD0Dp_D0ToHHHH_DpToHHH', + 'BcToD0Dp_D0ToKsLLHH_DpToHHH', + #'BcToD0Dp_D0ToKsDDHH_DpToHHH', + 'BcToD0Dsp_D0ToHH_DspToHHH', + 'BcToD0Dsp_D0ToHHHH_DspToHHH', + 'BcToD0Dsp_D0ToKsLLHH_DspToHHH', + #'BcToD0Dsp_D0ToKsDDHH_DspToHHH', + 'BcToDstD0_DstToD0Pi_D0ToHH_D0ToHH', + 'BcToDstD0_DstToD0Pi_D0ToHH_D0ToHHHH', + 'BcToDstD0_DstToD0Pi_D0ToHH_D0ToKsLLHH', + #'BcToDstD0_DstToD0Pi_D0ToHH_D0ToKsDDHH', + 'BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToHH', + 'BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToHHHH', + #'BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToKsDDHH', + 'BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToKsLLHH', # lines from b_to_ddh 'BdToD0D0Kst_D0ToHHOrHHHH', 'BdToDstD0K_DstToD0Pi_D0ToHH_D0ToHH', # lines from b_to_ddh_standalone - 'BdToD0DPi_D0ToKPiOrKPiPiPi_DToHHH', - 'BdToD0DK_D0ToKPiOrKPiPiPi_DToHHH', 'BdToD0D0KsLL_D0ToKPiOrKPiPiPi', - 'BdToD0D0KsDD_D0ToKPiOrKPiPiPi', - 'BdToD0D0Phi_D0ToKPiOrKPiPiPi', + #'BdToD0D0KsDD_D0ToKPiOrKPiPiPi', 'BdToDpDmKsLL_DpToHHH', - 'BdToDpDmKsDD_DpToHHH', + #'BdToDpDmKsDD_DpToHHH', 'BdToDpDmKst_DpToHHH', 'BdToDpDmPhi_DpToHHH', - 'BdToDsDPhi_DsToHHH_DToHHH', - 'BdToDspDmRho0_DspToHHH_DmToHHH', - 'BdToDsD0Pi_DsToHHH_D0ToKPiOrKPiPiPi', - 'BdToDspDsmKst_DspToHHH', 'BdToDspDsmPhi_DspToHHH', 'BdToDstD0Pi_DstToD0Pi_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi', 'BdToDstD0K_DstToD0Pi_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi', 'BdToDstDmKSLL_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH', - 'BdToDstDmKsDD_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH', + #'BdToDstDmKsDD_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH', 'BdToDstpDmKst_DstpToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH', 'BdToDstmDpKst_DstmToD0Pi_D0ToKPiOrKPiPiPi_DpToHHH', #'BdToDst0DK_Dst0ToD0Gamma_D0ToKPiOrKPiPiPi_DToHHH', @@ -486,25 +401,17 @@ default_lines = [ #'BdToDst0DsPi_Dst0ToD0Pi0Resolved_D0ToKPiOrKPiPiPi_DsToHHH', #'BdToDst0DsPi_Dst0ToD0Pi0Merged_D0ToKPiOrKPiPiPi_DsToHHH', 'BdToDstpDstmKsLL_DstpToD0Pi_D0ToKPiorKPiPiPi', - 'BdToDstpDstmKsDD_DstpToD0Pi_D0ToKPiorKPiPiPi', + #'BdToDstpDstmKsDD_DstpToD0Pi_D0ToKPiorKPiPiPi', 'BdToDstpDstmPhi_DstpToD0Pi_D0ToKPiOrKPiPiPi', #'BdToDsstpD0Pi_DsstpToDspGamma_DspToHHH_D0ToKPiOrKPiPiPi', - 'BuToD0D0Pi_D0ToKPiOrKPiPiPi', - 'BuToD0D0K_D0ToKPiOrKPiPiPi', 'BuToDpDmPi_DpToHHH', 'BuToDpDmK_DpToHHH', - 'BuToDspDmPi_DspToHHH_DmToHHH', - 'BuToDspDsmPi_DsToHHH', - 'BuToDspDsmK_DspToHHH', 'BuToD0DpKsLL_D0ToKPiOrKPiPiPi_DpToHHH', - 'BuToD0DpKsDD_D0ToKPiOrKPiPiPi_DpToHHH', - 'BuToD0DpKst_D0ToKPiOrKPiPiPi_DpToHHH', - 'BuToDsD0Phi_DsToHHH_D0ToKPiOrKPiPiPi', - 'BuToDspD0Rho0_DspToHHH_D0ToKPiOrKPiPiPi', + #'BuToD0DpKsDD_D0ToKPiOrKPiPiPi_DpToHHH', 'BuToDstDPi_DstToD0Pi_D0ToKPiOrKPiPiPi_DToHHH', 'BuToDstDK_DstToD0Pi_D0ToKPiOrKPiPiPi_DToHHH', 'BuToDstpD0KsLL_DstpToD0Pi_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi', - 'BuToDstpD0KsDD_DstpToD0Pi_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi', + #'BuToDstpD0KsDD_DstpToD0Pi_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi', 'BuToDstpD0Kst_DstpToD0Pi_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi', 'BuToDstmDspPi_DstmToD0Pi_D0ToKPiOrKPiPiPi_DspToHHH', #'BuToDst0D0K_Dst0ToD0Gamma_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi', @@ -518,8 +425,6 @@ default_lines = [ # lines from b_to_cbaryon_hh 'BdToXic0PPi_Xic0ToPKKPi', 'BdToXic0PK_Xic0ToPKKPi', - 'BdToOmc0PPi_Omc0ToPKKPi', - 'BdToOmc0PK_Omc0ToPKKPi', 'BuToLcmPPi_LcmToPKPi', 'BuToLcpPPi_LcpToPKPi', 'BuToLcmPK_LcmToPKPi', @@ -539,23 +444,34 @@ default_lines = [ 'LbToLcpPi_LcpToPKPi', 'LbToLcpPi_LcpToPKK', 'LbToLcpK_LcpToPKPi', + 'LbToLcpPi_LcpToLambdaLLPi', + #'LbToLcpPi_LcpToLambdaDDPi', + 'LbToLcpPi_LcpToLambdaLLK', + #'LbToLcpPi_LcpToLambdaDDK', + 'LbToLcpK_LcpToLambdaLLPi', + #'LbToLcpK_LcpToLambdaDDPi', + 'LbToLcpK_LcpToLambdaLLK', + #'LbToLcpK_LcpToLambdaDDK', + 'LbToLcpPi_LcpToPKsLL', + #'LbToLcpPi_LcpToPKsDD', + 'LbToLcpK_LcpToPKsLL', + #'LbToLcpK_LcpToPKsDD', 'LbToXicpK_XicpToPKPi', 'Xib0ToXicpPi_XicpToPKPi', 'Xib0ToXicpK_XicpToPKPi', 'XibmToXic0Pi_Xic0ToPKKPi', + 'XibmToXic0PiWS_Xic0ToPKKPi', 'XibmToXic0K_Xic0ToPKKPi', 'OmbmToOmc0Pi_Omc0ToPKKPi', 'OmbmToOmc0K_Omc0ToPKKPi', 'Xibc0ToXiccpPi_XiccpToXic0Pi_Xic0ToPKKPi', 'Xibc0ToXiccpPi_XiccpToLcpKmPip_LcpToPKPi', 'Xibc0ToXiccpPi_XiccpToPDpKm_DpToPipPipKm', - 'Xibc0ToXicpPi_XicpToPKPi', 'Xibc0ToLcpPi_LcpToPKPi', 'Xibc0ToLcpK_LcpToPKPi', 'XibcpToXiccppPi_XiccppToXicpPi_XicpToPKPi', 'XibcpToXiccppPi_XiccppToLcpKPiPi_LcpToPKPi', 'XibcpToXic0Pi_Xic0ToPKKPi', - 'Ombc0ToXicpK_XicpToPKPi', # lines from bbaryon_to_cbaryon_hh 'LbToXic0PiPi_Xic0ToPKKPi', @@ -564,31 +480,18 @@ default_lines = [ 'LbToOmc0PiPi_Omc0ToPKKPi', 'LbToOmc0KPi_Omc0ToPKKPi', 'LbToOmc0KK_Omc0ToPKKPi', - 'LbToLcpKsLLK_LcpToPKPi', - 'LbToLcpKsDDK_LcpToPKPi', 'XibmToLcpPiPi_LcpToPKPi', 'XibmToLcpKPi_LcpToPKPi', 'XibmToLcpKK_LcpToPKPi', 'XibmToXicpPiPi_XicpToPKPi', 'XibmToXicpKPi_XicpToPKPi', - 'XibmToXicpKK_XicpToPKPi', 'Xibc0ToXic0PiPi_Xic0ToPKKPi', - 'XibcpToLcpPiPi_LcpToPKPi', - 'XibcpToLcpKmPip_LcpToPKPi', - 'XibcpToXicpPiPi_XicpToPKPi', 'Ombc0ToXic0KmPip_Xic0ToPKKPi', + 'OmbmToXicpKPi_XicpToPKPi', # lines from bbaryon_to_cbaryon_hhh - 'LbToLcpPiPiPi_LcpToPPiPi', - 'LbToLcpPiPiPi_LcpToPKPi', 'LbToLcpPiPiPi_LcpToPKK', 'LbToLcpKPiPi_LcpToPKPi', - 'LbToLcpKKPi_LcpToPKPi', - 'LbToLcpPbarPPi_LcpToPKPi', - 'Xib0ToXicpPiPiPi_XicpToPKPi', - 'Xib0ToXicpKPiPi_XicpToPKPi', - 'Xib0ToXicpKKPi_XicpToPKPi', - 'Xib0ToXicpPbarPPi_XicpToPKPi', 'XibmToXic0PiPiPi_Xic0ToPKKPi', 'XibmToXic0KPiPi_Xic0ToPKKPi', 'XibmToXic0KKPi_Xic0ToPKKPi', @@ -597,6 +500,8 @@ default_lines = [ 'OmbmToOmc0KPiPi_Omc0ToPKKPi', 'OmbmToOmc0KKPi_Omc0ToPKKPi', 'OmbmToOmc0PbarPPi_Omc0ToPKKPi', + 'OmbmToXic0KmPipPim_Omc0ToPKKPi', + 'OmbmToXic0KmPipPimWS_Omc0ToPKKPi', # lines from bbaryon_to_cbaryon_d 'LbToLcpDm_LcpToPKPi_DmToPimPimKp', @@ -605,44 +510,34 @@ default_lines = [ 'Ombc0ToXic0D0_Xic0ToPKKPi_D0ToKPi', # lines from bbaryon_to_lightbaryon_d + 'LbToLambdaLLD0_D0ToKsLLHH', + #'LbToLambdaLLD0_D0ToKsDDHH', + #'LbToLambdaDDD0_D0ToKsLLHH', + #'LbToLambdaDDD0_D0ToKsDDHH', 'LbToXimDsp_DspToKKPi_XimToLambdaLLPi', - 'LbToXimDsp_DspToKKPi_XimToLambdaDDPi', - 'LbToDsmP_DsmToHHH', + #'LbToXimDsp_DspToKKPi_XimToLambdaDDPi', 'Xib0ToXimDp_DpToKPiPi_XimToLambdaLLPi', - 'Xib0ToXimDp_DpToKPiPi_XimToLambdaDDPi', + #'Xib0ToXimDp_DpToKPiPi_XimToLambdaDDPi', 'XibmToXimD0_D0ToKPiOrKPiPiPi_XimToLambdaLLPi', - 'XibmToXimD0_D0ToKPiOrKPiPiPi_XimToLambdaDDPi', + #'XibmToXimD0_D0ToKPiOrKPiPiPi_XimToLambdaDDPi', 'OmbmToXimD0_D0ToKPiOrKPiPiPi_XimToLambdaLLPi', - 'OmbmToXimD0_D0ToKPiOrKPiPiPi_XimToLambdaDDPi', + #'OmbmToXimD0_D0ToKPiOrKPiPiPi_XimToLambdaDDPi', 'OmbmToOmmD0_D0ToKPiOrKPiPiPi_OmmToLambdaLLK', - 'OmbmToOmmD0_D0ToKPiOrKPiPiPi_OmmToLambdaDDK', - 'XibcpToPD0_D0ToKPi', + #'OmbmToOmmD0_D0ToKPiOrKPiPiPi_OmmToLambdaDDK', # lines from bbaryon_to_lightbaryon_dh - 'LbToD0PPi_D0ToHH', - 'LbToD0PK_D0ToHH', 'LbToD0PPi_D0ToKsLLHH', - 'LbToD0PPi_D0ToKsDDHH', + #'LbToD0PPi_D0ToKsDDHH', 'LbToD0PK_D0ToKsLLHH', - 'LbToD0PK_D0ToKsDDHH', + #'LbToD0PK_D0ToKsDDHH', 'LbToD0PPi_D0ToHHHH', 'LbToD0PK_D0ToHHHH', - 'XibmToDmPPi_DmToHHH', - 'XibmToDmPK_DmToHHH', - 'XibmToDsmPPi_DsmToHHH', - 'XibmToDsmPK_DsmToHHH', 'XibmToDstmPPi_DstmToD0Pi_D0ToHH', 'XibmToDstmPK_DstmToD0Pi_D0ToHH', 'LbToXimD0Kp_D0ToKPiOrKPiPiPi_XimToLambdaLLPi', - 'LbToXimD0Kp_D0ToKPiOrKPiPiPi_XimToLambdaDDPi', + #'LbToXimD0Kp_D0ToKPiOrKPiPiPi_XimToLambdaDDPi', 'Xib0ToXimD0Pip_D0ToKPiOrKPiPiPi_XimToLambdaLLPi', - 'Xib0ToXimD0Pip_D0ToKPiOrKPiPiPi_XimToLambdaDDPi', - 'Xibc0ToPD0K_D0ToKPi', - 'XibcpToPDpK_DpToKmPipPip', - - # lines from bbaryon_to_lightbaryon_dd - 'LbToD0DsmP_D0ToKPiOrKPiPiPi_DsmToHHH', - 'XibcpToPD0D0_D0ToKPi', + #'Xib0ToXimD0Pip_D0ToKPiOrKPiPiPi_XimToLambdaDDPi', # lines from bbaryon_to_lightbaryon_ddh 'LbToDpDmPK_DpToHHH', @@ -654,13 +549,9 @@ prescaled_lines = { 'BuToD0Pi_D0ToHHWS': 0.1, 'BuToD0K_D0ToHHWS': 0.1, 'BuToD0Pi_D0ToKsLLHHWS': 0.1, - 'BuToD0Pi_D0ToKsDDHHWS': 0.1, + #'BuToD0Pi_D0ToKsDDHHWS': 0.1, 'BuToD0K_D0ToKsLLHHWS': 0.1, - 'BuToD0K_D0ToKsDDHHWS': 0.1, - 'BuToD0Pi_PartialD0ToKsLLHHWS': 0.1, - 'BuToD0Pi_PartialD0ToKsDDHHWS': 0.1, - 'BuToD0K_PartialD0ToKsLLHHWS': 0.1, - 'BuToD0K_PartialD0ToKsDDHHWS': 0.1, + #'BuToD0K_D0ToKsDDHHWS': 0.1, # commented out due to Rec#208 #'BuToD0Pi_D0ToHHPi0ResolvedWS': 0.1, @@ -709,42 +600,24 @@ prescaled_lines = { #'BuToDst0K_Dst0ToD0Gamma_D0ToHHHHWS': 0.1, #'BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHHHHWS': 0.1, #'BuToDst0K_Dst0ToD0Pi0Merged_D0ToHHHHWS': 0.1, - 'BcToD0Pi_D0ToHHWS': 0.1, - 'BcToD0K_D0ToHHWS': 0.1, - 'BcToD0Pi_D0ToKsLLHHWS': 0.1, - 'BcToD0Pi_D0ToKsDDHHWS': 0.1, - 'BcToD0K_D0ToKsLLHHWS': 0.1, - 'BcToD0K_D0ToKsDDHHWS': 0.1, - 'BcToD0Pi_D0ToHHHHWS': 0.1, - 'BcToD0K_D0ToHHHHWS': 0.1, - 'BcToDmKst0_DmToHHHWS': 0.1, - 'BcToDsmKst0_DsmToHHHWS': 0.1, # lines from b_to_dx_ltu - 'BdToDsmK_DsmToHHH_LTU': 0.1, + 'BdToDsmK_DsmToKpKmPim_LTU': 0.01, # lines from b_to_dhh 'BdToD0PiPiWS_D0ToHH': 0.1, 'BdToD0KPiWS_D0ToHH': 0.1, 'BdToD0KKWS_D0ToHH': 0.1, 'BdToD0PiPiWS_D0ToKsLLHH': 0.1, - 'BdToD0PiPiWS_D0ToKsDDHH': 0.1, + #'BdToD0PiPiWS_D0ToKsDDHH': 0.1, 'BdToD0KPiWS_D0ToKsLLHH': 0.1, - 'BdToD0KPiWS_D0ToKsDDHH': 0.1, + #'BdToD0KPiWS_D0ToKsDDHH': 0.1, 'BdToD0KKWS_D0ToKsLLHH': 0.1, - 'BdToD0KKWS_D0ToKsDDHH': 0.1, + #'BdToD0KKWS_D0ToKsDDHH': 0.1, 'BdToD0PiPiWS_D0ToHHHH': 0.1, 'BdToD0KPiWS_D0ToHHHH': 0.1, 'BdToD0KKWS_D0ToHHHH': 0.1, 'BdToD0PbarPWS_D0ToHHHH': 0.1, - 'BuToD0KsLLPi_D0ToHHWS': 0.1, - 'BuToD0KsDDPi_D0ToHHWS': 0.1, - 'BuToD0KsLLPi_D0ToKsLLHHWS': 0.1, - 'BuToD0KsDDPi_D0ToKsLLHHWS': 0.1, - 'BuToD0KsLLPi_D0ToKsDDHHWS': 0.1, - 'BuToD0KsDDPi_D0ToKsDDHHWS': 0.1, - 'BuToD0KsLLPi_D0ToHHHHWS': 0.1, - 'BuToD0KsDDPi_D0ToHHHHWS': 0.1, # commented out due to Rec#208 #'BdToD0PiPiWS_D0ToHHPi0Resolved': 0.1, @@ -818,32 +691,31 @@ prescaled_lines = { #'BdToDst0KPiWS_Dst0ToD0Pi0Resolved_D0ToHHHH': 0.1, #'BdToDst0KKWS_Dst0ToD0Pi0Resolved_D0ToHHHH': 0.1, - # lines from b_to_dll - 'BcToDsmMumMumWS_DsmToHHH': 0.1, - # lines from b_to_dhhh - 'BuToD0KPiPi_D0ToHHWS': 0.1, - 'BuToD0PiPiPi_D0ToHHWS': 0.1, - 'BuToD0KPiPi_D0ToHHHHWS': 0.1, - 'BuToD0PiPiPi_D0ToHHHHWS': 0.1, # lines from bbaryon_to_cbaryon_h 'LbToLcpPiWS_LcpToPPiPi': 0.1, 'LbToLcpPiWS_LcpToPKK': 0.1, + 'OmbmToOmc0PiWS_Omc0ToPKKPi': 0.1, + + # lines from bbaryon_to_cbaryon_hh + 'XibmToLcpKPiWS_LcpToPKPi': 0.1, + 'OmbmToXicpKPiWS_XicpToPKPi': 0.1, # lines from bbaryon_to_cbaryon_hhh 'LbToLcpPiPiPiWS_LcpToPPiPi': 0.1, 'LbToLcpPiPiPiWS_LcpToPKK': 0.1, + 'OmbmToOmc0PiPiPiWS_Omc0ToPKKPi': 0.1, # lines from bbaryon_to_lightbaryon_dh 'LbToD0PPi_D0ToKsLLHHWS': 0.1, - 'LbToD0PPi_D0ToKsDDHHWS': 0.1, + #'LbToD0PPi_D0ToKsDDHHWS': 0.1, 'LbToD0PK_D0ToKsLLHHWS': 0.1, - 'LbToD0PK_D0ToKsDDHHWS': 0.1, + #'LbToD0PK_D0ToKsDDHHWS': 0.1, 'LbToD0PPiWS_D0ToKsLLHH': 0.1, - 'LbToD0PPiWS_D0ToKsDDHH': 0.1, + #'LbToD0PPiWS_D0ToKsDDHH': 0.1, 'LbToD0PKWS_D0ToKsLLHH': 0.1, - 'LbToD0PKWS_D0ToKsDDHH': 0.1, + #'LbToD0PKWS_D0ToKsDDHH': 0.1, 'LbToD0PPi_D0ToHHHHWS': 0.1, 'LbToD0PK_D0ToHHHHWS': 0.1, 'LbToD0PPiWS_D0ToHHHH': 0.1, @@ -853,7 +725,57 @@ prescaled_lines = { # lines need flavor tagging flavor_tagging_lines = [ # lines from b_to_dh - 'BdToDsmPi_DsmToHHH', + 'BdToDsmPi_DsmToKpKmPim', + 'BdToDsmK_DsmToKpKmPim', + + # commented out due to Rec#208 + #'BdToDsstmPi_DsstmToDsmGamma_DsmToKpKmPim', + #'BdToDsstmK_DsstmToDsmGamma_DsmToKpKmPim', + 'BdToDmPi_DmToPimPimKp', + + # lines from b_to_dhh + 'BdToD0KK_D0ToHH', + 'BdToD0KK_D0ToHHHH', + + # commented out due to Rec#208 + #'BdToD0KK_D0ToHHPi0Resolved', + #'BdToD0KK_D0ToHHPi0Merged', + 'BdToD0KK_D0ToKsLLHH', + #'BdToD0KK_D0ToKsDDHH', + 'BdToD0PiPi_D0ToHH', + 'BdToD0PiPi_D0ToHHHH', + + # commented out due to Rec#208 + #'BdToD0PiPi_D0ToHHPi0Resolved', + #'BdToD0PiPi_D0ToHHPi0Merged', + 'BdToD0PiPi_D0ToKsLLHH', + #'BdToD0PiPi_D0ToKsDDHH', + + # commented out due to Rec#208 + #'BdToDst0KK_Dst0ToD0Gamma_D0ToHH', + #'BdToDst0KK_Dst0ToD0Gamma_D0ToHHHH', + #'BdToDst0KK_Dst0ToD0Gamma_D0ToHHPi0Merged', + #'BdToDst0KK_Dst0ToD0Gamma_D0ToHHPi0Resolved', + #'BdToDst0KK_Dst0ToD0Gamma_D0ToKsDDHH', + #'BdToDst0KK_Dst0ToD0Gamma_D0ToKsLLHH', + #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHH', + #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHHHH', + #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHHPi0Merged', + #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHHPi0Resolved', + #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToKsDDHH', + #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToKsLLHH', + #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToHH', + #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToHHHH', + #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToHHPi0Merged', + #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToHHPi0Resolved', + #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToKsDDHH', + #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToKsLLHH', + #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHH', + #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHHHH', + #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHHPi0Merged', + #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHHPi0Resolved', + #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToKsDDHH', + #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToKsLLHH', ] # lines need isolation variables @@ -862,14 +784,14 @@ isolation_lines = [] # lines need to be filtered by a MVA algorithm mva_filtered_lines = { # lines from b_to_dh - 'BdToDmPi_DmToPimPimKp': -1., - 'BdToDmK_DmToPimPimKp': -1., + 'BdToDmK_DmToPimPimKp': 0., # lines from b_to_dhhh - 'BuToD0PiPiPi_D0ToHH': -0.7, - 'BuToD0KPiPi_D0ToHH': -0.7, - 'BuToD0KKPi_D0ToKPi': -0.7, - 'BuToD0PbarPPi_D0ToKPi': -0.9, + # commented out due to missing ThOr implementantion of TMVA + #'BuToD0PiPiPi_D0ToHH': -0.7, + #'BuToD0KPiPi_D0ToHH': -0.7, + #'BuToD0KKPi_D0ToKPi': -0.7, + #'BuToD0PbarPPi_D0ToKPi': -0.9, } ################################ @@ -877,12 +799,6 @@ mva_filtered_lines = { # with generic functions # ################################ -lines_list = [ - default_lines, - list(prescaled_lines.keys()), flavor_tagging_lines, isolation_lines, - list(mva_filtered_lines.keys()) -] -check_overlap(lines_list) make_default_hlt2_lines( line_dict=hlt2_lines, line_makers=line_makers, default_lines=default_lines) make_prescaled_hlt2_lines( diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/spruce_b2oc.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/spruce_b2oc.py index c47a5523dbc9e7f64c6c44f45582de975206ae0e..553f3c62348924e00ed5ea2c87708d6f5ece18d7 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/spruce_b2oc.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/spruce_b2oc.py @@ -29,23 +29,31 @@ from __future__ import absolute_import, division, print_function from Moore.config import SpruceLine, register_line_builder -from Hlt2Conf.standard_particles import make_long_pions, make_up_pions +from RecoConf.reconstruction_objects import make_pvs -from Hlt2Conf.lines.b_to_open_charm.utils import update_makers, check_overlap +from PyConf.Algorithms import GetFlavourTaggingParticles + +from Hlt2Conf.standard_particles import make_has_rich_long_pions + +from Hlt2Conf.lines.b_to_open_charm.utils import update_makers from Hlt2Conf.lines.b_to_open_charm import prefilters -from Hlt2Conf.lines.b_to_open_charm.builders import basic_builder from Hlt2Conf.lines.b_to_open_charm import b_to_dh from Hlt2Conf.lines.b_to_open_charm import b_to_dx_ltu +from Hlt2Conf.lines.b_to_open_charm import b_to_dll from Hlt2Conf.lines.b_to_open_charm import b_to_dhh from Hlt2Conf.lines.b_to_open_charm import b_to_dmunu from Hlt2Conf.lines.b_to_open_charm import b_to_dhhh from Hlt2Conf.lines.b_to_open_charm import b_to_dd from Hlt2Conf.lines.b_to_open_charm import b_to_ddh_standalone from Hlt2Conf.lines.b_to_open_charm import b_to_cbaryon_hh +from Hlt2Conf.lines.b_to_open_charm import bbaryon_to_cbaryon_h from Hlt2Conf.lines.b_to_open_charm import bbaryon_to_cbaryon_hh +from Hlt2Conf.lines.b_to_open_charm import bbaryon_to_cbaryon_hhh from Hlt2Conf.lines.b_to_open_charm import bbaryon_to_cbaryon_dh +from Hlt2Conf.lines.b_to_open_charm import bbaryon_to_lightbaryon_d +from Hlt2Conf.lines.b_to_open_charm import bbaryon_to_lightbaryon_dh from Hlt2Conf.lines.b_to_open_charm import bbaryon_to_lightbaryon_dd PROCESS = 'spruce' @@ -58,14 +66,19 @@ sprucing_lines = {} line_makers = {} update_makers(line_makers, b_to_dh) update_makers(line_makers, b_to_dx_ltu) +update_makers(line_makers, b_to_dll) update_makers(line_makers, b_to_dhh) update_makers(line_makers, b_to_dmunu) update_makers(line_makers, b_to_dhhh) update_makers(line_makers, b_to_dd) update_makers(line_makers, b_to_ddh_standalone) update_makers(line_makers, b_to_cbaryon_hh) +update_makers(line_makers, bbaryon_to_cbaryon_h) update_makers(line_makers, bbaryon_to_cbaryon_hh) +update_makers(line_makers, bbaryon_to_cbaryon_hhh) update_makers(line_makers, bbaryon_to_cbaryon_dh) +update_makers(line_makers, bbaryon_to_lightbaryon_d) +update_makers(line_makers, bbaryon_to_lightbaryon_dh) update_makers(line_makers, bbaryon_to_lightbaryon_dd) ############################################ @@ -123,20 +136,18 @@ def make_flavor_tagging_sprucing_lines(line_dict=sprucing_lines, maker_name='make_%s' % decay, prescale=1): line_alg = line_makers[maker_name](process=PROCESS) - LongT = basic_builder.get_particles_WithPVs( - make_long_pions, mipchi2_min=0) - UpstreamT = basic_builder.get_particles_WithPVs( - make_up_pions, mipchi2_min=0) - LongALL = basic_builder.get_particles_WithPVs(make_long_pions) - UpstreamALL = basic_builder.get_particles_WithPVs(make_up_pions) + pvs = make_pvs() + longPions = make_has_rich_long_pions() + longTaggingParticles = GetFlavourTaggingParticles( + BCandidates=line_alg, + TaggingParticles=longPions, + PrimaryVertices=pvs) + return SpruceLine( name=name, prescale=prescale, algs=prefilters.b2oc_prefilters() + [line_alg], - extra_outputs=[("LongTracks", LongT), - ("UpstreamTracks", UpstreamT), - ("LongTracksOS", LongALL), - ("UpstreamTracksOS", UpstreamALL)]) + extra_outputs=[('LongTaggingParticles', longTaggingParticles)]) # lines need isolation info, currently the same as default @@ -185,13 +196,9 @@ def make_mva_filtered_sprucing_lines(line_dict=sprucing_lines, # default lines without any further configuration default_lines = [ # lines from b_to_dh - 'BdToDsmPi_DsmToHHH', - 'BdToDsmK_DsmToHHH', # commented out due to Rec#208 #'BdToDsstmK_DsstmToDsmGamma_DsmToHHH', - 'BuToD0Pi_D0ToHH', - 'BuToD0K_D0ToHH', # commented out due to Rec#208 #'BuToD0Pi_D0ToKsLLPi0Resolved', @@ -202,16 +209,10 @@ default_lines = [ #'BuToD0K_D0ToKsDDPi0Resolved', #'BuToD0K_D0ToKsLLPi0Merged', #'BuToD0K_D0ToKsDDPi0Merged', - 'BuToD0Pi_D0ToKsLLHH', - 'BuToD0Pi_D0ToKsDDHH', - 'BuToD0K_D0ToKsLLHH', - 'BuToD0K_D0ToKsDDHH', 'BuToD0Pi_PartialD0ToKsLLHH', - 'BuToD0Pi_PartialD0ToKsDDHH', + #'BuToD0Pi_PartialD0ToKsDDHH', 'BuToD0K_PartialD0ToKsLLHH', - 'BuToD0K_PartialD0ToKsDDHH', - 'BuToD0Pi_D0ToHHHH', - 'BuToD0K_D0ToHHHH', + #'BuToD0K_PartialD0ToKsDDHH', # commented out due to Rec#208 #'BuToD0Pi_D0ToKsLLHHPi0Resolved', @@ -252,54 +253,60 @@ default_lines = [ #'BuToDst0K_Dst0ToD0Gamma_D0ToHHHH', #'BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHHHH', #'BuToDst0K_Dst0ToD0Pi0Merged_D0ToHHHH', + 'BcToD0Pi_D0ToHH', + 'BcToD0K_D0ToHH', + 'BcToD0Pi_D0ToKsLLHH', + #'BcToD0Pi_D0ToKsDDHH', + 'BcToD0K_D0ToKsLLHH', + #'BcToD0K_D0ToKsDDHH', + 'BcToD0Pi_D0ToHHHH', + 'BcToD0K_D0ToHHHH', + 'BcToDmKst0_DmToHHH', + 'BcToDsmKst0_DsmToHHH', + 'BcToDmPhi_DmToHHH', + 'BcToDsmPhi_DsmToHHH', + 'BcToDmKsLL_DmToHHH', + #'BcToDmKsDD_DmToHHH', + 'BcToDsmKsLL_DsmToHHH', + #'BcToDsmKsDD_DsmToHHH', + 'BcToDmF0_DmToHHH', + 'BcToDsmF0_DsmToHHH', + + # lines from b_to_dll + 'BcToDsmMupMum_DsmToHHH', + 'BcToDspMumMum_DspToHHH', # lines from b_to_dhh - 'BdToD0PiPi_D0ToHH', 'BdToD0KPi_D0ToHH', - 'BdToD0KK_D0ToHH', 'BdToD0PiPiWS_D0ToHH', 'BdToD0KPiWS_D0ToHH', 'BdToD0KKWS_D0ToHH', - 'BdToD0PiPi_D0ToKsLLHH', - 'BdToD0PiPi_D0ToKsDDHH', 'BdToD0KPi_D0ToKsLLHH', - 'BdToD0KPi_D0ToKsDDHH', - 'BdToD0KK_D0ToKsLLHH', - 'BdToD0KK_D0ToKsDDHH', + #'BdToD0KPi_D0ToKsDDHH', 'BdToD0PiPiWS_D0ToKsLLHH', - 'BdToD0PiPiWS_D0ToKsDDHH', + #'BdToD0PiPiWS_D0ToKsDDHH', 'BdToD0KPiWS_D0ToKsLLHH', - 'BdToD0KPiWS_D0ToKsDDHH', + #'BdToD0KPiWS_D0ToKsDDHH', 'BdToD0KKWS_D0ToKsLLHH', - 'BdToD0KKWS_D0ToKsDDHH', - 'BdToD0PiPi_D0ToHHHH', + #'BdToD0KKWS_D0ToKsDDHH', 'BdToD0KPi_D0ToHHHH', - 'BdToD0KK_D0ToHHHH', 'BdToD0PiPiWS_D0ToHHHH', 'BdToD0KPiWS_D0ToHHHH', 'BdToD0KKWS_D0ToHHHH', - 'BdToDsmKsLLPi_DsmToHHH', - 'BdToDsmKsDDPi_DsmToHHH', - 'BdToDmKsLLPi_DmToHHH', - 'BdToDmKsDDPi_DmToHHH', 'BdToD0PbarP_D0ToHH', 'BdToD0PbarPWS_D0ToHH', 'BdToDstpKsLLPi_DstpToD0Pi_D0ToHH', - 'BdToDstpKsDDPi_DstpToD0Pi_D0ToHH', + #'BdToDstpKsDDPi_DstpToD0Pi_D0ToHH', 'BdToDstpKsLLK_DstpToD0Pi_D0ToHH', - 'BdToDstpKsDDK_DstpToD0Pi_D0ToHH', + #'BdToDstpKsDDK_DstpToD0Pi_D0ToHH', 'BdToDstpKsLLPi_DstpToD0Pi_D0ToHHHH', - 'BdToDstpKsDDPi_DstpToD0Pi_D0ToHHHH', + #'BdToDstpKsDDPi_DstpToD0Pi_D0ToHHHH', 'BdToDstpKsLLK_DstpToD0Pi_D0ToHHHH', - 'BdToDstpKsDDK_DstpToD0Pi_D0ToHHHH', + #'BdToDstpKsDDK_DstpToD0Pi_D0ToHHHH', # commented out due to Rec#208 - #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToHH', - #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHH', #'BdToDst0KPi_Dst0ToD0Gamma_D0ToHH', #'BdToDst0KPi_Dst0ToD0Pi0Resolved_D0ToHH', - #'BdToDst0KK_Dst0ToD0Gamma_D0ToHH', - #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHH', # commented out due to Rec#208 #'BdToDsstmKsLLPi_DsstmToDsmGamma_DsmToHHH', @@ -308,26 +315,30 @@ default_lines = [ 'BuToDmKPi_DmToHHH', 'BuToDmKK_DmToHHH', 'BuToD0KsLLPi_D0ToHH', - 'BuToD0KsDDPi_D0ToHH', + #'BuToD0KsDDPi_D0ToHH', 'BuToD0KsLLPi_D0ToKsLLHH', - 'BuToD0KsDDPi_D0ToKsLLHH', - 'BuToD0KsLLPi_D0ToKsDDHH', - 'BuToD0KsDDPi_D0ToKsDDHH', + #'BuToD0KsDDPi_D0ToKsLLHH', + #'BuToD0KsLLPi_D0ToKsDDHH', + #'BuToD0KsDDPi_D0ToKsDDHH', 'BuToD0KsLLPi_D0ToHHHH', - 'BuToD0KsDDPi_D0ToHHHH', + #'BuToD0KsDDPi_D0ToHHHH', + 'BuToDspPiPi_DspToHHH', + 'BuToDspPbarP_DspToHHH', + 'BuToDspKPi_DspToHHH', + 'BuToDspKK_DspToHHH', + 'BuToDsmKPi_DsmToHHH', + 'BuToDpPbarP_DpToHHH', + 'BuToDpKPi_DpToHHH', + 'BuToDpKK_DpToHHH', + 'BdToDmKsLLPi_DmToHHH', # lines from b_to_dmunu - 'BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHH', - 'BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHH', - 'BdToDstmMuNu_DstmToD0Pi_D0ToHHHH', - 'BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHHPi0Resolved', - 'BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHHPi0Resolved', - 'BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHHPi0Merged', - 'BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHHPi0Merged', + #'BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHHPi0Resolved', + #'BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHHPi0Resolved', + #'BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHHPi0Merged', + #'BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHHPi0Merged', # lines from b_to_dhhh - 'BdToDsmPiPiPi_DsmToKmKpPim', - 'BdToDsmKPiPi_DsmToKmKpPim', 'BdToDstpPiPiPi_DstpToD0Pi_D0ToHH', 'BdToDstpKPiPi_DstpToD0Pi_D0ToHH', 'BdToDstpKKPi_DstpToD0Pi_D0ToHH', @@ -342,35 +353,13 @@ default_lines = [ 'BdToDstpPbarPK_DstpToD0Pi_D0ToHHHH', 'BuToD0PiPiPi_D0ToHHHH', 'BuToD0KPiPi_D0ToHHHH', - - # lines from b_to_dd - 'BdToD0D0_D0ToHHOrHHHH', - 'BdToDpDm_DpToHHH', - 'BdToDspDm_DspToHHH_DmToHHH', - 'BdToDspDsm_DspToHHH', - 'BdToDstpDm_DstpToD0Pi_D0ToHH_DmToHHH', - 'BdToDstpDm_DstpToD0Pi_D0ToHHHH_DmToHHH', - 'BdToDstpDsm_DstpToD0Pi_D0ToHH_DsmToHHH', - 'BdToDstpDsm_DstpToD0Pi_D0ToHHHH_DsmToHHH', - 'BdToDstpDstm_DstpToD0Pi_D0ToHH', - 'BdToDstpDstm_DstpToD0Pi_D0ToHHHH', - 'BdToDstpDstm_DstpToD0Pi_D0ToHH_D0ToHHHH', - 'BcToD0Dp_D0ToHH_DpToHHH', - 'BcToD0Dp_D0ToHHHH_DpToHHH', - 'BcToD0Dp_D0ToKsLLHH_DpToHHH', - 'BcToD0Dp_D0ToKsDDHH_DpToHHH', - 'BcToD0Dsp_D0ToHH_DspToHHH', - 'BcToD0Dsp_D0ToHHHH_DspToHHH', - 'BcToD0Dsp_D0ToKsLLHH_DspToHHH', - 'BcToD0Dsp_D0ToKsDDHH_DspToHHH', - 'BcToDstD0_DstToD0Pi_D0ToHH_D0ToHH', - 'BcToDstD0_DstToD0Pi_D0ToHH_D0ToHHHH', - 'BcToDstD0_DstToD0Pi_D0ToHH_D0ToKsLLHH', - 'BcToDstD0_DstToD0Pi_D0ToHH_D0ToKsDDHH', - 'BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToHH', - 'BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToHHHH', - 'BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToKsDDHH', - 'BcToDstD0_DstToD0Pi_D0ToHHHH_D0ToKsLLHH', + 'BuToD0PiPiPi_D0ToKsLLHH', + #'BuToD0PiPiPi_D0ToKsDDHH', + 'BuToD0KPiPi_D0ToKsLLHH', + #'BuToD0KPiPi_D0ToKsDDHH', + 'BdToDsmPbarPPi_DsmToKmKpPim', + 'BdToDmPbarPPi_DmToPimPimKp', + 'BdToDmKKPi_DmToPimPimKp', # lines from b_to_ddh_standalone 'BdToD0D0Phi_D0ToKPiOrKPiPiPi', @@ -383,10 +372,26 @@ default_lines = [ 'BuToDsD0Phi_DsToHHH_D0ToKPiOrKPiPiPi', 'BuToDspDmPi_DspToHHH_DmToHHH', 'BuToDstmDspPi_DstmToD0Pi_D0ToKPiOrKPiPiPi_DspToHHH', + 'BuToDspDsmPi_DsToHHH', + 'BuToDspDsmK_DspToHHH', + 'BuToDspD0Rho0_DspToHHH_D0ToKPiOrKPiPiPi', + 'BuToD0DpKst_D0ToKPiOrKPiPiPi_DpToHHH', + 'BuToD0D0Pi_D0ToKPiOrKPiPiPi', + 'BuToD0D0K_D0ToKPiOrKPiPiPi', + 'BdToDspDsmKst_DspToHHH', + 'BdToDspDmRho0_DspToHHH_DmToHHH', + 'BdToD0DPi_D0ToKPiOrKPiPiPi_DToHHH', + 'BdToD0DK_D0ToKPiOrKPiPiPi_DToHHH', # lines from b_to_cbaryon_hh 'BuToLcmPPi_LcmToPKPi', 'BuToLcmPK_LcmToPKPi', + 'BdToOmc0PPi_Omc0ToPKKPi', + 'BdToOmc0PK_Omc0ToPKKPi', + + # lines from bbaryon_to_cbaryon_h + 'Xibc0ToXicpPi_XicpToPKPi', + 'Ombc0ToXicpK_XicpToPKPi', # lines from bbaryon_to_cbaryon_hh 'XibmToLcpPiPi_LcpToPKPi', @@ -395,6 +400,21 @@ default_lines = [ 'XibmToXicpPiPi_XicpToPKPi', 'XibmToXicpKPi_XicpToPKPi', 'XibmToXicpKK_XicpToPKPi', + 'XibcpToXicpPiPi_XicpToPKPi', + 'XibcpToLcpPiPi_LcpToPKPi', + 'XibcpToLcpKmPip_LcpToPKPi', + 'Xib0ToXicpPiPiPi_XicpToPKPi', + 'LbToLcpKsLLK_LcpToPKPi', + #'LbToLcpKsDDK_LcpToPKPi', + + # lines from bbaryon_to_cbaryon_hhh + 'Xib0ToXicpPbarPPi_XicpToPKPi', + 'Xib0ToXicpKPiPi_XicpToPKPi', + 'Xib0ToXicpKKPi_XicpToPKPi', + 'LbToLcpPiPiPi_LcpToPPiPi', + 'LbToLcpPiPiPi_LcpToPKPi', + 'LbToLcpPbarPPi_LcpToPKPi', + 'LbToLcpKKPi_LcpToPKPi', # lines from bbaryon_to_cbaryon_dh 'Xibc0ToLcpD0Pi_LcpToPKPi_D0ToKPi', @@ -402,32 +422,40 @@ default_lines = [ 'Xib0ToXicpD0K_XicpToPKPi_D0ToKPiPiPi', 'Ombc0ToLcpD0K_LcpToPKPi_D0ToKPi', + # lines from bbaryon_to_lightbaryon_d + 'XibcpToPD0_D0ToKPi', + 'LbToDsmP_DsmToHHH', + + # lines from bbaryon_to_lightbaryon_dh + 'XibmToDmPK_DmToHHH', + 'XibmToDmPPi_DmToHHH', + 'XibmToDsmPK_DsmToHHH', + 'XibmToDsmPPi_DsmToHHH', + 'XibcpToPDpK_DpToKmPipPip', + 'Xibc0ToPD0K_D0ToKPi', + 'LbToD0PPi_D0ToHH', + 'LbToD0PK_D0ToHH', + # lines from bbaryon_to_lightbaryon_dd 'LbToDpDmLambdaLL_DpToHHH', - 'LbToDpDmLambdaDD_DpToHHH', + #'LbToDpDmLambdaDD_DpToHHH', 'LbToD0D0LambdaLL_D0ToKPiOrKPiPiPi', - 'LbToD0D0LambdaDD_D0ToKPiOrKPiPiPi', + #'LbToD0D0LambdaDD_D0ToKPiOrKPiPiPi', 'LbToDstDLambdaLL_DstToD0Pi_D0ToHH_DToHHH', - 'LbToDstDLambdaDD_DstToD0Pi_D0ToHH_DToHHH', + #'LbToDstDLambdaDD_DstToD0Pi_D0ToHH_DToHHH', 'LbToDstDLambdaLL_DstToD0Pi_D0ToKPiPiPi_DToHHH', - 'LbToDstDLambdaDD_DstToD0Pi_D0ToKPiPiPi_DToHHH', + #'LbToDstDLambdaDD_DstToD0Pi_D0ToKPiPiPi_DToHHH', + 'XibcpToPD0D0_D0ToKPi', + 'LbToD0DsmP_D0ToKPiOrKPiPiPi_DsmToHHH', ] # lines need non-default prescale value prescaled_lines = { # lines from b_to_dh - 'BuToD0Pi_D0ToHHWS': 0.1, - 'BuToD0K_D0ToHHWS': 0.1, - 'BuToD0Pi_D0ToKsLLHHWS': 0.1, - 'BuToD0Pi_D0ToKsDDHHWS': 0.1, - 'BuToD0K_D0ToKsLLHHWS': 0.1, - 'BuToD0K_D0ToKsDDHHWS': 0.1, 'BuToD0Pi_PartialD0ToKsLLHHWS': 0.1, - 'BuToD0Pi_PartialD0ToKsDDHHWS': 0.1, + #'BuToD0Pi_PartialD0ToKsDDHHWS': 0.1, 'BuToD0K_PartialD0ToKsLLHHWS': 0.1, - 'BuToD0K_PartialD0ToKsDDHHWS': 0.1, - 'BuToD0Pi_D0ToHHHHWS': 0.1, - 'BuToD0K_D0ToHHHHWS': 0.1, + #'BuToD0K_PartialD0ToKsDDHHWS': 0.1, # commented out due to Rec#208 #'BuToD0Pi_D0ToKsLLHHWSPi0Resolved': 0.1, @@ -468,20 +496,33 @@ prescaled_lines = { #'BuToDst0K_Dst0ToD0Gamma_D0ToHHHHWS': 0.1, #'BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHHHHWS': 0.1, #'BuToDst0K_Dst0ToD0Pi0Merged_D0ToHHHHWS': 0.1, + 'BcToD0Pi_D0ToHHWS': 0.1, + 'BcToD0K_D0ToHHWS': 0.1, + 'BcToD0Pi_D0ToKsLLHHWS': 0.1, + #'BcToD0Pi_D0ToKsDDHHWS': 0.1, + 'BcToD0K_D0ToKsLLHHWS': 0.1, + #'BcToD0K_D0ToKsDDHHWS': 0.1, + 'BcToD0Pi_D0ToHHHHWS': 0.1, + 'BcToD0K_D0ToHHHHWS': 0.1, + 'BcToDmKst0_DmToHHHWS': 0.1, + 'BcToDsmKst0_DsmToHHHWS': 0.1, + + # lines from b_to_dll + 'BcToDsmMumMumWS_DsmToHHH': 0.1, # lines from b_to_dx_ltu - 'BdToDsmK_DsmToHHH_LTU': 0.1, + 'BdToDsmK_DsmToKpKmPim_LTU': 0.01, 'BdToDsmKPiPi_DsmToKmKpPim_LTU': 0.04, # lines from b_to_dhh 'BuToD0KsLLPi_D0ToHHWS': 0.1, - 'BuToD0KsDDPi_D0ToHHWS': 0.1, + #'BuToD0KsDDPi_D0ToHHWS': 0.1, 'BuToD0KsLLPi_D0ToKsLLHHWS': 0.1, - 'BuToD0KsDDPi_D0ToKsLLHHWS': 0.1, - 'BuToD0KsLLPi_D0ToKsDDHHWS': 0.1, - 'BuToD0KsDDPi_D0ToKsDDHHWS': 0.1, + #'BuToD0KsDDPi_D0ToKsLLHHWS': 0.1, + #'BuToD0KsLLPi_D0ToKsDDHHWS': 0.1, + #'BuToD0KsDDPi_D0ToKsDDHHWS': 0.1, 'BuToD0KsLLPi_D0ToHHHHWS': 0.1, - 'BuToD0KsDDPi_D0ToHHHHWS': 0.1, + #'BuToD0KsDDPi_D0ToHHHHWS': 0.1, # commented out because pi0 builder crash hlt2_pp_thor test #'BuToD0PiPi0Resolved_D0ToHH': 0.1, @@ -532,10 +573,70 @@ prescaled_lines = { 'BuToD0KPiPi_D0ToHHWS': 0.1, 'BuToD0PiPiPi_D0ToHHHHWS': 0.1, 'BuToD0KPiPi_D0ToHHHHWS': 0.1, + + # lines of beauty -> charm + charged hadron(s) + neutral decays + # prescale for now. When photon CL and AM12 get available we will further optimize the selection + #'OmbmToOmc0PiGammaWS_Omc0ToPKKPi': 0.5, + #'OmbmToOmc0PiGamma_Omc0ToPKKPi': 0.5, + #'OmbmToOmc0PiPi0ResolvedWS_Omc0ToPKKPi': 0.1, + #'OmbmToOmc0PiPi0Resolved_Omc0ToPKKPi': 0.1, + #'OmbmToXicpKPiGammaWS_XicpToPKPi': 0.5, + #'OmbmToXicpKPiGamma_XicpToPKPi': 0.5, } # lines need flavor tagging -flavor_tagging_lines = [] +flavor_tagging_lines = { + # lines from b_to_dh + 'BdToDsmPi_DsmToKpKmPim', + 'BdToDsmK_DsmToKpKmPim', + + # commented out due to Rec#208 + #'BdToDsstmPi_DsstmToDsmGamma_DsmToHHH', + #'BdToDsstmK_DsstmToDsmGamma_DsmToHHH', + 'BdToDmPi_DmToPimPimKp', + + # lines from b_to_dhh + 'BdToD0KK_D0ToHH', + 'BdToD0KK_D0ToHHHH', + + # commented out due to Rec#208 + 'BdToD0KK_D0ToKsLLHH', + #'BdToD0KK_D0ToKsDDHH', + 'BdToD0PiPi_D0ToHH', + 'BdToD0PiPi_D0ToHHHH', + + # commented out due to Rec#208 + 'BdToD0PiPi_D0ToKsLLHH', + #'BdToD0PiPi_D0ToKsDDHH', + + # commented out due to Rec#208 + #'BdToDst0KK_Dst0ToD0Gamma_D0ToHH', + #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHH', + #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToHH', + #'BdToDst0PiPi_Dst0ToD0Pi0Resolved_D0ToHH', + #'BdToDmKsDDPi_DmToHHH', + 'BdToDsmKsLLPi_DsmToHHH', + #'BdToDsmKsDDPi_DsmToHHH', + + # lines from b_to_dhhh + 'BdToDsmKPiPi_DsmToKmKpPim', + 'BdToDsmPiPiPi_DsmToKmKpPim', + 'BdToDmKPiPi_DmToPimPimKp', + 'BdToDmPiPiPi_DmToPimPimKp', + + # lines from b_to_dd + 'BdToD0D0_D0ToHHOrHHHH', + 'BdToDpDm_DpToHHH', + 'BdToDspDm_DspToHHH_DmToHHH', + 'BdToDspDsm_DspToHHH', + 'BdToDstpDm_DstpToD0Pi_D0ToHHHH_DmToHHH', + 'BdToDstpDm_DstpToD0Pi_D0ToHH_DmToHHH', + 'BdToDstpDsm_DstpToD0Pi_D0ToHHHH_DsmToHHH', + 'BdToDstpDsm_DstpToD0Pi_D0ToHH_DsmToHHH', + 'BdToDstpDstm_DstpToD0Pi_D0ToHH', + 'BdToDstpDstm_DstpToD0Pi_D0ToHHHH', + 'BdToDstpDstm_DstpToD0Pi_D0ToHH_D0ToHHHH', +} # lines need isolation variables isolation_lines = [] @@ -543,11 +644,7 @@ isolation_lines = [] # lines need to be filtered by a MVA algorithm mva_filtered_lines = { # lines from b_to_dh - 'BdToDmPi_DmToPimPimKp': -1., 'BdToDmK_DmToPimPimKp': -1., - - # commented out due to Rec#208 - #'BdToDsstmPi_DsstmToDsmGamma_DsmToHHH': -1., } #################################### @@ -555,12 +652,6 @@ mva_filtered_lines = { # with generic functions # #################################### -lines_list = [ - default_lines, - list(prescaled_lines.keys()), flavor_tagging_lines, isolation_lines, - list(mva_filtered_lines.keys()) -] -check_overlap(lines_list) make_default_sprucing_lines( line_dict=sprucing_lines, line_makers=line_makers, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/utils.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/utils.py index fdbe282529c358bb3ef65bfc2c5ad7401e0a435e..ff64cb5bbebddd8c5174c8c7132858b2e90538d8 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/utils.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/utils.py @@ -12,14 +12,12 @@ check_process: make sure the `process` argument is 'hlt2' or 'spruce' update_makers: read and store line makers in dictionaries -check_overlap: check if one line is defined more than once in different categories """ from __future__ import absolute_import, division, print_function from inspect import getmembers, isfunction -from itertools import combinations from PyConf.utilities import ConfigurationError @@ -53,12 +51,3 @@ def update_makers(line_makers, line_module): for k, v in dict(getmembers(line_module, isfunction)).items() if k.startswith('make') }) - - -def check_overlap(line_list): - comb_list = list(combinations(line_list, 2)) - for comb_tuple in comb_list: - overlap = list(set(comb_tuple[0]) & set(comb_tuple[1])) - if bool(overlap): - raise ConfigurationError('Lines declared more than once: ' + - str(overlap)) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/test/spruce_test.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/test/spruce_test.py index b38a9fce2ae7eb6471d64bd9bd3ac10412aafc0a..1635dee9c5d60b9012137c026045ef7f46f958af 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/test/spruce_test.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/test/spruce_test.py @@ -41,7 +41,7 @@ sprucing_lines = {} def Test_sprucing_line(name='SpruceTest_Line', prescale=1): - line_alg = b_to_dh.make_BdToDsmK_DsmToHHH(process=PROCESS) + line_alg = b_to_dh.make_BdToDsmK_DsmToKpKmPim(process=PROCESS) return SpruceLine( name=name, prescale=prescale, @@ -50,7 +50,7 @@ def Test_sprucing_line(name='SpruceTest_Line', prescale=1): def Test_extraoutputs_sprucing_line(name='SpruceTest_ExtraOutputs_Line', prescale=1): - line_alg = b_to_dh.make_BdToDsmK_DsmToHHH(process=PROCESS) + line_alg = b_to_dh.make_BdToDsmK_DsmToKpKmPim(process=PROCESS) LongT = basic_builder.get_particles_WithPVs(make_long_pions, mipchi2_min=0) return SpruceLine( name=name, @@ -61,7 +61,7 @@ def Test_extraoutputs_sprucing_line(name='SpruceTest_ExtraOutputs_Line', def Test_persistreco_sprucing_line(name='SpruceTest_PersistReco_Line', prescale=1): - line_alg = b_to_dh.make_BdToDsmK_DsmToHHH(process=PROCESS) + line_alg = b_to_dh.make_BdToDsmK_DsmToKpKmPim(process=PROCESS) return SpruceLine( name=name, prescale=prescale, diff --git a/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_all_lines_analytics.qmt b/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_all_lines_analytics.qmt index adc63f328659ee5223c117aecd8ebb2d6c0e65ce..4e2ee98b434c6653ed4e4fd5016f1ea965c77dc2 100644 --- a/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_all_lines_analytics.qmt +++ b/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_all_lines_analytics.qmt @@ -84,7 +84,7 @@ log_results(table_headers + table) for i in range(0, len(names)): - if float(dstdata[i]) > 60000: + if float(dstdata[i]) > 80000: causes.append('DstData RawBank of line {} is on average {} bytes!! This is big!\n'.format(names[i], dstdata[i])) </text></argument>