diff --git a/Hlt/Hlt2Conf/options/examples/b_to_open_charm/hlt2_b2oc_example.py b/Hlt/Hlt2Conf/options/examples/b_to_open_charm/hlt2_b2oc_example.py index 9c808936fa5c33b8cd3f31407096dca2564d856e..4cf8cc17e8c655a63c703c31872c673377ebadd4 100644 --- a/Hlt/Hlt2Conf/options/examples/b_to_open_charm/hlt2_b2oc_example.py +++ b/Hlt/Hlt2Conf/options/examples/b_to_open_charm/hlt2_b2oc_example.py @@ -39,28 +39,35 @@ make_hlt2_lines( # configure which lines to test ############################################################################### # Run on ALL B2OC lines +from DDDB.CheckDD4Hep import UseDD4Hep from Hlt2Conf.lines.b_to_open_charm import all_lines +from Hlt2Conf.settings.hlt2_binds import config_pp_2024 from Moore import options, run_moore -from RecoConf.global_tools import stateProvider_with_simplified_geom +from Moore.streams import DETECTORS, Stream, Streams +from RecoConf.global_tools import ( + stateProvider_with_simplified_geom, + trackMasterExtrapolator_with_simplified_geom, +) from RecoConf.reconstruction_objects import reconstruction ############################################################################### # configure input data set ############################################################################### -options.set_input_and_conds_from_testfiledb("expected_2024_min_bias_hlt1_filtered") +options.set_input_and_conds_from_testfiledb("hlt2_bandwidth_input_2024") options.input_raw_format = 0.5 +options.ioalg_buffer_nb_events = 300 # Set a reasonable number of events -options.evt_max = 100 +options.evt_max = 1000 ############################################################################### # configure output files ############################################################################### # Write the output file -options.output_file = "hlt2_b2oc_lines.dst" -options.output_type = "ROOT" +options.output_file = "hlt2_{stream}.mdf" +options.output_type = "MDF" options.output_manifest_file = "hlt2_b2oc_lines.tck.json" # Hlt2 monitoring histos options.histo_file = "hlt2_b2oc_monitoring.root" @@ -70,11 +77,37 @@ options.histo_file = "hlt2_b2oc_monitoring.root" ############################################################################### -def make_lines(): - lines = [builder() for builder in all_lines.values()] - return lines +def make_streams() -> Streams: + streams = [ + Stream( + "b2oc", + lines=[builder() for builder in all_lines.values()], # whole module + routing_bit=85, # some dummy value != 94 or 95 + # lines=[line_to_run()] # single line + detectors=[], + ) # Turbo and Full case - no detector raw banks + # detectors=DETECTORS) # if persisting detector raw banks i.e. special cases or TurCal lines + ] + return Streams(streams=streams) + + +options.scheduler_legacy_mode = False +if UseDD4Hep: + # This needs to happen before the public tools are instantiated, + # which means we cannot put it inside make_streams(). + from PyConf.Tools import TrackMasterExtrapolator, TrackMasterFitter + TrackMasterExtrapolator.global_bind( + ApplyMultScattCorr=False, + ApplyEnergyLossCorr=False, + ApplyElectronEnergyLossCorr=False, + ) + TrackMasterFitter.global_bind(ApplyMaterialCorrections=False) -public_tools = [stateProvider_with_simplified_geom()] -with reconstruction.bind(from_file=False): - config = run_moore(options, make_lines, public_tools, exclude_incompatible=True) + +public_tools = [ + trackMasterExtrapolator_with_simplified_geom(), + stateProvider_with_simplified_geom(), +] +with reconstruction.bind(from_file=False), config_pp_2024(): + config = run_moore(options, make_streams, public_tools, exclude_incompatible=True) diff --git a/Hlt/Hlt2Conf/options/examples/b_to_open_charm/spruce_b2oc_example.py b/Hlt/Hlt2Conf/options/examples/b_to_open_charm/spruce_b2oc_example.py index 9832c3c921a76e0a0e962565adc69eca469fd047..85faa5fc847da6b76c26b562d8e1d9eae6bf2577 100644 --- a/Hlt/Hlt2Conf/options/examples/b_to_open_charm/spruce_b2oc_example.py +++ b/Hlt/Hlt2Conf/options/examples/b_to_open_charm/spruce_b2oc_example.py @@ -60,33 +60,20 @@ from SprucingConfig.Spruce24.fullline_config.pp_Collision24c4 import ( ############################################################################### # Configure input data from testfiledb -input_files = [ - "mdf:root://eoslhcb.cern.ch//eos/lhcb/wg/dpa/wp1/data/EoY-spruce-2024/307781_00090010_0105.raw", - "mdf:root://eoslhcb.cern.ch//eos/lhcb/wg/dpa/wp1/data/EoY-spruce-2024/307781_00090011_0074.raw", - "mdf:root://eoslhcb.cern.ch//eos/lhcb/wg/dpa/wp1/data/EoY-spruce-2024/307781_00090012_0106.raw", - "mdf:root://eoslhcb.cern.ch//eos/lhcb/wg/dpa/wp1/data/EoY-spruce-2024/307781_00090015_0004.raw", - "mdf:root://eoslhcb.cern.ch//eos/lhcb/wg/dpa/wp1/data/EoY-spruce-2024/307781_00090015_0073.raw", -] -options.input_files = input_files - +options.set_input_and_conds_from_testfiledb("spruce_bandwidth_input") options.input_raw_format = 0.5 -options.input_type = "RAW" -options.simulation = False -options.data_type = "Upgrade" -options.geometry_version = "run3/2024.Q1.2-v00.00" -options.conditions_version = "master" +options.ioalg_buffer_nb_events = 300 options.input_process = "Hlt2" -options.scheduler_legacy_mode = False # Set a reasonable number of events -options.evt_max = 100 +options.evt_max = 1000 ############################################################################### # configure output files ############################################################################### # Write the output file -options.output_file = "spruce_b2oc_lines.dst" +options.output_file = "spruce_{stream}.dst" options.output_type = "ROOT" options.output_manifest_file = "spruce_b2oc_lines.tck.json" # Hlt2 monitoring histos @@ -111,6 +98,7 @@ def make_streams() -> Streams: from DDDB.CheckDD4Hep import UseDD4Hep +options.scheduler_legacy_mode = False if UseDD4Hep: from Configurables import LHCb__Det__LbDD4hep__DD4hepSvc as DD4hepSvc 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 891eb7bf567cf1dbb405044ac8316d3767b4a724..f7e516384d5d53cf1b330ad62f8f7766b60323c0 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 @@ -40,12 +40,12 @@ def make_BdToD0D0Kst_D0ToHH(process, MVACut=0.5): # 2x2-body D0 decay modes (is @check_process -def make_BdToD0D0Kst_D0ToHH_D0ToHHHH( +def make_BdToD0D0Kst_D0ToHH_D0ToKPiPiPi( process, MVACut=0.5 ): # 2x4-body D0 decay modes (isolated) 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) + dzero_hhhh = d_builder.make_dzero_to_kmpimpippip(k_pidk_min=-2) b = b_builder.make_b2cch( particles=[dzero_hh, dzero_hhhh, kst], descriptors=["B0 -> D0 D0 K*(892)0", "B0 -> D0 D0 K*(892)~0"], @@ -219,8 +219,11 @@ def make_BdToDstD0K_DstToD0Pi_D0ToHH_D0ToHH(process): ############################################################################# + + +############################################################ # Form the Tbc -> D0 D+ pi-, D0 --> Kpi & K3pi, D+ --> Kpipi -############################################################################## +############################################################ @check_process @@ -235,18 +238,20 @@ def make_TbcToD0DpPim_D0ToKPiOrKPiPiPi(process): return line_alg -###################################################################### -###################################################################### +######################################################################################### +# Form the B0/B+ -> D-/D0/D*- D_s1(2460)+, D_s1(2460)+ -> D_s+ pi+ pi-, D_s+ -> K+ K- pi+ +######################################################################################### @check_process def make_BuToD0Ds2460p_Ds2460pToDsPiPi_DsToKHH_D0ToKPi(process, MVACut=0.2): - dz = d_builder.make_dzero_to_kpi() + dz = d_builder.make_dzero_to_kpi( + am_min=1784.84, + am_max=1944.84, + ) ds = d_builder.make_dsplus_to_hhh( - am_min=1868.35, - am_max=2068.35, - k_pidk_min=0, DsToKKPi=True, - DsToKPiPi=True, + DsToKPiPi=False, DsToPiPiPi=False, + k_pidk_min=0, ) ds1 = d_builder.make_ds2460_to_dspipi(ds) @@ -260,14 +265,15 @@ def make_BuToD0Ds2460p_Ds2460pToDsPiPi_DsToKHH_D0ToKPi(process, MVACut=0.2): @check_process def make_BuToD0Ds2460p_Ds2460pToDsPiPi_DsToKHH_D0ToKPiPiPi(process, MVACut=0.2): - dz = d_builder.make_dzero_to_kpipipi() + dz = d_builder.make_dzero_to_kpipipi( + am_min=1784.84, + am_max=1944.84, + ) ds = d_builder.make_dsplus_to_hhh( - am_min=1868.35, - am_max=2068.35, - k_pidk_min=0, DsToKKPi=True, - DsToKPiPi=True, + DsToKPiPi=False, DsToPiPiPi=False, + k_pidk_min=0, ) ds1 = d_builder.make_ds2460_to_dspipi(ds) @@ -282,16 +288,14 @@ def make_BuToD0Ds2460p_Ds2460pToDsPiPi_DsToKHH_D0ToKPiPiPi(process, MVACut=0.2): @check_process def make_BdToDmDs2460p_Ds2460pToDsPiPi_DsToKHH_DmToHHH(process, MVACut=0.2): dm = d_builder.make_dplus_to_kpipi_or_kkpi( - am_min=1769.66, - am_max=1969.66, + am_min=1789.66, + am_max=1949.66, ) ds = d_builder.make_dsplus_to_hhh( - am_min=1868.35, - am_max=2068.35, - k_pidk_min=0, DsToKKPi=True, - DsToKPiPi=True, + DsToKPiPi=False, DsToPiPiPi=False, + k_pidk_min=0, ) ds1 = d_builder.make_ds2460_to_dspipi(ds) @@ -306,16 +310,14 @@ def make_BdToDmDs2460p_Ds2460pToDsPiPi_DsToKHH_DmToHHH(process, MVACut=0.2): @check_process def make_BdToDstmDs2460p_DstmToD0Pi_Ds2460pToDsPiPi_DsToKHH(process, MVACut=0.2): dstm = d_builder.make_dstar_to_dzeropi_cf( - am_min=1764.84, - am_max=1964.84, + am_min=1784.84, + am_max=1944.84, ) ds = d_builder.make_dsplus_to_hhh( - am_min=1868.35, - am_max=2068.35, - k_pidk_min=0, DsToKKPi=True, - DsToKPiPi=True, + DsToKPiPi=False, DsToPiPiPi=False, + k_pidk_min=0, ) ds1 = d_builder.make_ds2460_to_dspipi(ds) @@ -328,30 +330,30 @@ def make_BdToDstmDs2460p_DstmToD0Pi_Ds2460pToDsPiPi_DsToKHH(process, MVACut=0.2) @check_process -def make_BdToDst0DsPi_Dst0ToD0Pi0Merged_D0ToKPiOrKPiPiPi_DsToHHH(process): - if process == "spruce": - dz = d_builder.make_dzero_to_kpi_or_kpipipi(pi_pidk_max=None, k_pidk_min=None) - ds = d_builder.make_dsplus_to_hhh(pi_pidk_max=None, k_pidk_min=None) - pion = basic_builder.make_tight_pions(pi_pidk_max=None) - elif process == "hlt2": - dz = d_builder.make_dzero_to_kpi_or_kpipipi() - ds = d_builder.make_dsplus_to_hhh() - pion = basic_builder.make_tight_pions() - pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz, pi0) +def make_BdToDsDs2460p_Ds2460pToDsPiPi_DsToKKPi(process, MVACut=0.2): + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + ds1 = d_builder.make_ds2460_to_dspipi(ds) + line_alg = b_builder.make_b2x( - particles=[dst, ds, pion], - descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], + particles=[ds, ds1], + descriptors=["B0 -> D_s- D_s1(2460)+", "B0 -> D_s+ D_s1(2460)-"], sum_pt_min=6 * GeV, ) return line_alg -############################################################################# +################################################################################ # Moved from b_to_ddh_standalone because these lines do not require make_b2ddh() -############################################################################## +################################################################################ -# BuToD0D0K lines +################################################################## +############## B+ -> D0 D0 K+ lines ############################## +################################################################## @check_process @@ -459,9 +461,9 @@ def make_BuToD0D0K_D0ToHH_D0ToKsDDHH(process, MVACut=0.2): # 2x3(DD)-body @check_process -def make_BuToD0D0K_D0ToHH_D0ToHHHH(process, MVACut=0.2): # 2x4-body +def make_BuToD0D0K_D0ToHH_D0ToKPiPiPi(process, MVACut=0.2): # 2x4-body dz_hh = d_builder.make_dzero_to_hh() - dzb_hhhh = d_builder.make_dzero_to_hhhh() + dzb_hhhh = d_builder.make_dzero_to_kmpimpippip() kaon = basic_builder.make_tight_kaons() line_alg = b_builder.make_b2x( @@ -532,7 +534,9 @@ def make_BuToD0D0K_D0ToKsDDHH_D0ToHHHH(process, MVACut=0.2): # 3x(DD)x4-body return line_alg -# BuToD0D0Pi lines +############################################################## +############ B+ -> D0 D0 pi+ lines ########################### +############################################################## @check_process @@ -640,9 +644,9 @@ def make_BuToD0D0Pi_D0ToHH_D0ToKsDDHH(process, MVACut=0.2): # 2x3(DD)-body @check_process -def make_BuToD0D0Pi_D0ToHH_D0ToHHHH(process, MVACut=0.2): # 2x4-body +def make_BuToD0D0Pi_D0ToHH_D0ToKPiPiPi(process, MVACut=0.2): # 2x4-body dz_hh = d_builder.make_dzero_to_hh() - dzb_hhhh = d_builder.make_dzero_to_hhhh() + dzb_hhhh = d_builder.make_dzero_to_kmpimpippip() pion = basic_builder.make_tight_pions() line_alg = b_builder.make_b2x( @@ -714,39 +718,9 @@ def make_BuToD0D0Pi_D0ToKsDDHH_D0ToHHHH(process, MVACut=0.2): # 3x(DD)x4-body # excited dst to d gamma/pi0 lines - - -@check_process -def make_BdToDst0DspPi_Dst0ToD0Gamma_D0ToKPiOrKPiPiPi_DspToHHH(process, MVACut=0.2): - if process == "spruce": - dz = d_builder.make_dzero_to_kpi_or_kpipipi( - k_pidk_min=0, - ) - ds = d_builder.make_dsplus_to_hhh( - k_pidk_min=0, - am_min=1868.35, - am_max=2068.35, - ) - pion = basic_builder.make_tight_pions(pi_pidk_max=None) - elif process == "hlt2": - dz = d_builder.make_dzero_to_kpi_or_kpipipi( - k_pidk_min=0, - ) - ds = d_builder.make_dsplus_to_hhh( - k_pidk_min=0, - am_min=1878.35, - am_max=2058.35, - ) - pion = basic_builder.make_tight_pions() - dst = d_builder.make_dzerost_to_dzerogamma(dz) - - line_alg = b_builder.make_b2x( - particles=[dst, ds, pion], - descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], - sum_pt_min=6 * GeV, - b2dstdh_sep_min=(0) * mm, - ) - return line_alg +########################################################## +############## B0 -> D*_s+ D0 pi- ######################## +########################################################## @check_process @@ -782,6 +756,11 @@ def make_BdToDsstpD0Pi_DsstpToDspGamma_DspToHHH_D0ToKPiOrKPiPiPi(process, MVACut return line_alg +########################################################## +############## B+ -> D*_s+ D- pi+ ######################## +########################################################## + + @check_process def make_BuToDsstpDmPi_DsstpToDspGamma_DspToHHH_DmToHHH(process, MVACut=0.2): if process == "spruce": @@ -819,26 +798,25 @@ def make_BuToDsstpDmPi_DsstpToDspGamma_DspToHHH_DmToHHH(process, MVACut=0.2): return line_alg -# BuToDst0D0K (Dst0ToD0Gamma) lines +######################################################## +###### B+ -> D*(2007)0 D0 K+ ########################### +######################################################## + +################## Dst0ToD0Gamma ####################### @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToHH( - process, MVACut=0.2 -): # 2x2-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - kaon = basic_builder.make_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - kaon = basic_builder.make_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_hh) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hh) line_alg = b_builder.make_b2x( - particles=[dst, dz_hh, kaon], + particles=[dst0, dz_hh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -847,26 +825,16 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToKsLLHH( - process, MVACut=0.2 -): # 3(LL)x3(LL)-body D0 decays - if process == "spruce": - dz_KshhLL = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_KshhLL = 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_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_KshhLL) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToKsLLHH(process, MVACut=0.2): + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksllhh) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhLL, kaon], + particles=[dst0, dz_ksllhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -875,26 +843,16 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToKsLLHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToKsDDHH( - process, MVACut=0.2 -): # 3(DD)x3(DD)-body D0 decays - if process == "spruce": - dz_KshhDD = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_KshhDD = 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_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_KshhDD) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToKsDDHH(process, MVACut=0.2): + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksddhh) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhDD, kaon], + particles=[dst0, dz_ksddhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -903,22 +861,19 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToKsDDHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToHHHH( - process, MVACut=0.2 -): # 4x4-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - kaon = basic_builder.make_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - kaon = basic_builder.make_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToHHHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) line_alg = b_builder.make_b2x( - particles=[dst, dz_hhhh, kaon], + particles=[dst0, dz_hhhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -927,32 +882,20 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToHHHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToKsLLHH( - process, MVACut=0.2 -): # 2_D0fromDstx3_D0(LL)-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - dz_KshhLL = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - dz_KshhLL = 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_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_hh) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToKsLLHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hh) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhLL, kaon], + particles=[dst0, dz_ksllhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -961,32 +904,20 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToKsLLHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToHH( - process, MVACut=0.2 -): # 3_D0fromDst(LL)x2_D0-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - dz_KshhLL = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - dz_KshhLL = 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_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_KshhLL) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksllhh) line_alg = b_builder.make_b2x( - particles=[dst, dz_hh, kaon], + particles=[dst0, dz_hh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -995,32 +926,20 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToKsDDHH( - process, MVACut=0.2 -): # 2_D0fromDstx3_D0(DD)-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - dz_KshhDD = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - dz_KshhDD = 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_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_hh) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToKsDDHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hh) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhDD, kaon], + particles=[dst0, dz_ksddhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1029,32 +948,20 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToKsDDHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToHH( - process, MVACut=0.2 -): # 3_D0fromDst(DD)x2_D0-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - dz_KshhDD = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - dz_KshhDD = 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_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_KshhDD) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksddhh) line_alg = b_builder.make_b2x( - particles=[dst, dz_hh, kaon], + particles=[dst0, dz_hh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1063,36 +970,19 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToKsDDHH( - process, MVACut=0.2 -): # 3_D0fromDst(LL)x3_D0(DD)-body D0 decays - if process == "spruce": - dz_KshhDD = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_DD(), - pi_pidk_max=20, - k_pidk_min=-10, - ) - dz_KshhLL = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_KshhDD = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_DD(), - pi_pidk_max=20, - k_pidk_min=-10, - ) - dz_KshhLL = 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_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_KshhLL) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToKsDDHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksllhh) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhDD, kaon], + particles=[dst0, dz_ksddhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1101,36 +991,19 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToKsDDHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToKsLLHH( - process, MVACut=0.2 -): # 3_D0fromDst(DD)x3_D0(LL)-body D0 decays - if process == "spruce": - dz_KshhLL = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_LL(), - pi_pidk_max=20, - k_pidk_min=-10, - ) - dz_KshhDD = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_KshhLL = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_LL(), - pi_pidk_max=20, - k_pidk_min=-10, - ) - dz_KshhDD = 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_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_KshhDD) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToKsLLHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksddhh) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhLL, kaon], + particles=[dst0, dz_ksllhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1139,28 +1012,23 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToKsLLHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToHHHH( - process, MVACut=0.2 -): # 2_D0fromDstx4_D0-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - kaon = basic_builder.make_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - kaon = basic_builder.make_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_hh) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToHHHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hh) line_alg = b_builder.make_b2x( - particles=[dst, dz_hhhh, kaon], + particles=[dst0, dz_hhhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1169,28 +1037,23 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToHHHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToHH( - process, MVACut=0.2 -): # 4_D0fromDstx2_D0-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - kaon = basic_builder.make_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - ) - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - kaon = basic_builder.make_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) line_alg = b_builder.make_b2x( - particles=[dst, dz_hh, kaon], + particles=[dst0, dz_hh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1199,32 +1062,22 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToKsLLHH( - process, MVACut=0.2 -): # 4_D0fromDstx3_D0(LL)-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - dz_KshhLL = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - dz_KshhLL = 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_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToKsLLHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhLL, kaon], + particles=[dst0, dz_ksllhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1233,32 +1086,22 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToKsLLHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToHHHH( - process, MVACut=0.2 -): # 3_D0fromDst(LL)x4_D0-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - dz_KshhLL = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - dz_KshhLL = 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_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_KshhLL) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToHHHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksllhh) line_alg = b_builder.make_b2x( - particles=[dst, dz_hhhh, kaon], + particles=[dst0, dz_hhhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1267,32 +1110,22 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToHHHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToKsDDHH( - process, MVACut=0.2 -): # 4_D0fromDstx3_D0(DD)-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - dz_KshhDD = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - dz_KshhDD = 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_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToKsDDHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhDD, kaon], + particles=[dst0, dz_ksddhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1301,32 +1134,22 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToKsDDHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToHHHH( - process, MVACut=0.2 -): # 3_D0fromDst(DD)x4_D0-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - dz_KshhDD = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - ) - dz_KshhDD = 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_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz_KshhDD) +def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToHHHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksddhh) line_alg = b_builder.make_b2x( - particles=[dst, dz_hhhh, kaon], + particles=[dst0, dz_hhhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1334,432 +1157,393 @@ def make_BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToHHHH( return line_alg -# BuToDst0D0K (Dst0ToD0Pi0Merged) lines +################## Dst0ToD0Pi0Merged ####################### @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToHH(process): # 2x2-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) - kaon = basic_builder.make_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh() - kaon = basic_builder.make_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hh, kaon], + particles=[dst0, dz_hh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToKsLLHH( - process, -): # 3(LL)x3(LL)-body D0 decays - if process == "spruce": - dz_KshhLL = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_KshhLL = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToKsLLHH(process, MVACut=0.2): + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhLL, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhLL, kaon], + particles=[dst0, dz_ksllhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToKsDDHH( - process, -): # 3(DD)x3(DD)-body D0 decays - if process == "spruce": - dz_KshhDD = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_KshhDD = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToKsDDHH(process, MVACut=0.2): + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhDD, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhDD, kaon], + particles=[dst0, dz_ksddhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToHHHH(process): # 4x4-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) - kaon = basic_builder.make_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh() - kaon = basic_builder.make_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToHHHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hhhh, kaon], + particles=[dst0, dz_hhhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToKsLLHH( - process, -): # 2_D0fromDstx3_D0(LL)-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) - dz_KshhLL = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh() - dz_KshhLL = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToKsLLHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhLL, kaon], + particles=[dst0, dz_ksllhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToHH( - process, -): # 3_D0fromDst(LL)x2_D0-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) - dz_KshhLL = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh() - dz_KshhLL = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhLL, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hh, kaon], + particles=[dst0, dz_hh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToKsDDHH( - process, -): # 2_D0fromDstx3_D0(DD)-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) - dz_KshhDD = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh() - dz_KshhDD = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToKsDDHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhDD, kaon], + particles=[dst0, dz_ksddhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToHH( - process, -): # 3_D0fromDst(DD)x2_D0-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) - dz_KshhDD = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh() - dz_KshhDD = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhDD, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hh, kaon], + particles=[dst0, dz_hh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToKsDDHH( - process, -): # 3_D0fromDst(LL)x3_D0(DD)-body D0 decays - if process == "spruce": - dz_KshhDD = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 - ) - dz_KshhLL = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_KshhDD = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 - ) - dz_KshhLL = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToKsDDHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhLL, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhDD, kaon], + particles=[dst0, dz_ksddhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToKsLLHH( - process, -): # 3_D0fromDst(DD)x3_D0(LL)-body D0 decays - if process == "spruce": - dz_KshhLL = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 - ) - dz_KshhDD = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_KshhLL = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 - ) - dz_KshhDD = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToKsLLHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhDD, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhLL, kaon], + particles=[dst0, dz_ksllhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToHHHH( - process, -): # 2_D0fromDstx4_D0-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) - dz_hhhh = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) - kaon = basic_builder.make_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh() - dz_hhhh = d_builder.make_dzero_to_hhhh() - kaon = basic_builder.make_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToHHHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hhhh, kaon], + particles=[dst0, dz_hhhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToHH( - process, -): # 4_D0fromDstx2_D0-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh(pi_pidk_max=None, k_pidk_min=None) - dz_hhhh = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) - kaon = basic_builder.make_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh() - dz_hhhh = d_builder.make_dzero_to_hhhh() - kaon = basic_builder.make_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hh, kaon], + particles=[dst0, dz_hh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToKsLLHH( - process, -): # 4_D0fromDstx3_D0(LL)-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) - dz_KshhLL = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh() - dz_KshhLL = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToKsLLHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhLL, kaon], + particles=[dst0, dz_ksllhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToHHHH( - process, -): # 3_D0fromDst(LL)x4_D0-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) - dz_KshhLL = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh() - dz_KshhLL = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToHHHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhLL, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hhhh, kaon], + particles=[dst0, dz_hhhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToKsDDHH( - process, -): # 4_D0fromDstx3_D0(DD)-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) - dz_KshhDD = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh() - dz_KshhDD = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToKsDDHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhDD, kaon], + particles=[dst0, dz_ksddhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToHHHH( - process, -): # 3_D0fromDst(DD)x4_D0-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh(pi_pidk_max=None, k_pidk_min=None) - dz_KshhDD = 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_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh() - dz_KshhDD = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToHHHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhDD, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hhhh, kaon], + particles=[dst0, dz_hhhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, ) return line_alg -# BuToDst0D0K (Dst0ToD0Pi0Resolved) lines +################## Dst0ToD0Pi0Resolved ####################### @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToHH( - process, MVACut=0.2 -): # 2x2-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - kaon = basic_builder.make_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - pi_pidk_max=1, - ) - kaon = basic_builder.make_tight_kaons( - k_pidk_min=0, - ) +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hh, kaon], + particles=[dst0, dz_hh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1768,27 +1552,17 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToKsLLHH( - process, MVACut=0.2 -): # 3(LL)x3(LL)-body D0 decays - if process == "spruce": - dz_KshhLL = 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_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_KshhLL = 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_tight_kaons( - k_pidk_min=0, - ) +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToKsLLHH(process, MVACut=0.2): + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhLL, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhLL, kaon], + particles=[dst0, dz_ksllhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1797,27 +1571,17 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToKsLLHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToKsDDHH( - process, MVACut=0.2 -): # 3(DD)x3(DD)-body D0 decays - if process == "spruce": - dz_KshhDD = 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_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_KshhDD = 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_tight_kaons( - k_pidk_min=0, - ) +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToKsDDHH(process, MVACut=0.2): + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhDD, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhDD, kaon], + particles=[dst0, dz_ksddhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1826,29 +1590,20 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToKsDDHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToHHHH( - process, MVACut=0.2 -): # 4x4-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - kaon = basic_builder.make_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - pi_pidk_max=1, - ) - kaon = basic_builder.make_tight_kaons( - k_pidk_min=0, - ) +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToHHHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hhhh, kaon], + particles=[dst0, dz_hhhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1857,35 +1612,21 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToHHHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToKsLLHH( - process, MVACut=0.2 -): # 2_D0fromDstx3_D0(LL)-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - dz_KshhLL = 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_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - pi_pidk_max=1, - ) - dz_KshhLL = 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_tight_kaons( - k_pidk_min=0, - ) +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToKsLLHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhLL, kaon], + particles=[dst0, dz_ksllhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1894,36 +1635,22 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToKsLLHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToHH( - process, MVACut=0.2 -): # 3_D0fromDst(LL)x2_D0-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - dz_KshhLL = 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_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - pi_pidk_max=1, - ) - dz_KshhLL = 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_tight_kaons( - k_pidk_min=0, - ) - pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhLL, pi0) - line_alg = b_builder.make_b2x( - particles=[dst, dz_hh, kaon], - descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) + line_alg = b_builder.make_b2x( + particles=[dst0, dz_hh, kaon], + descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, ) @@ -1931,35 +1658,21 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToKsDDHH( - process, MVACut=0.2 -): # 2_D0fromDstx3_D0(DD)-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - dz_KshhDD = 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_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - pi_pidk_max=1, - ) - dz_KshhDD = 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_tight_kaons( - k_pidk_min=0, - ) +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToKsDDHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhDD, kaon], + particles=[dst0, dz_ksddhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -1968,35 +1681,21 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToKsDDHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToHH( - process, MVACut=0.2 -): # 3_D0fromDst(DD)x2_D0-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - dz_KshhDD = 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_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - pi_pidk_max=1, - ) - dz_KshhDD = 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_tight_kaons( - k_pidk_min=0, - ) +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhDD, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hh, kaon], + particles=[dst0, dz_hh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -2005,33 +1704,20 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToKsDDHH( - process, MVACut=0.2 -): # 3_D0fromDst(LL)x3_D0(DD)-body D0 decays - if process == "spruce": - dz_KshhDD = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 - ) - dz_KshhLL = 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_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_KshhDD = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 - ) - dz_KshhLL = 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_tight_kaons( - k_pidk_min=0, - ) +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToKsDDHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhLL, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhDD, kaon], + particles=[dst0, dz_ksddhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -2040,33 +1726,20 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToKsDDHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToKsLLHH( - process, MVACut=0.2 -): # 3_D0fromDst(DD)x3_D0(LL)-body D0 decays - if process == "spruce": - dz_KshhLL = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 - ) - dz_KshhDD = 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_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_KshhLL = d_builder.make_dzero_to_kshh( - k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 - ) - dz_KshhDD = 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_tight_kaons( - k_pidk_min=0, - ) +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToKsLLHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhDD, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhLL, kaon], + particles=[dst0, dz_ksllhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -2075,35 +1748,24 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToKsLLHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToHHHH( - process, MVACut=0.2 -): # 2_D0fromDstx4_D0-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - kaon = basic_builder.make_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - pi_pidk_max=1, - ) - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - pi_pidk_max=1, - ) - kaon = basic_builder.make_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToHHHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hhhh, kaon], + particles=[dst0, dz_hhhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -2112,35 +1774,24 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToHHHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToHH( - process, MVACut=0.2 -): # 4_D0fromDstx2_D0-body D0 decays - if process == "spruce": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - kaon = basic_builder.make_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_hh = d_builder.make_dzero_to_hh( - k_pidk_min=0, - pi_pidk_max=1, - ) - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - pi_pidk_max=1, - ) - kaon = basic_builder.make_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hh, kaon], + particles=[dst0, dz_hh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -2149,33 +1800,23 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToKsLLHH( - process, MVACut=0.2 -): # 4_D0fromDstx3_D0(LL)-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - dz_KshhLL = 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_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - pi_pidk_max=1, - ) - dz_KshhLL = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToKsLLHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhLL, kaon], + particles=[dst0, dz_ksllhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -2184,33 +1825,23 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToKsLLHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToHHHH( - process, MVACut=0.2 -): # 3_D0fromDst(LL)x4_D0-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - dz_KshhLL = 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_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - pi_pidk_max=1, - ) - dz_KshhLL = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToHHHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhLL, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hhhh, kaon], + particles=[dst0, dz_hhhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -2219,33 +1850,23 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToHHHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToKsDDHH( - process, MVACut=0.2 -): # 4_D0fromDstx3_D0(DD)-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - dz_KshhDD = 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_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - pi_pidk_max=1, - ) - dz_KshhDD = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToKsDDHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_KshhDD, kaon], + particles=[dst0, dz_ksddhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -2254,33 +1875,23 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToKsDDHH( @check_process -def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToHHHH( - process, MVACut=0.2 -): # 3_D0fromDst(DD)x4_D0-body D0 decays - if process == "spruce": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - dz_KshhDD = 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_tight_kaons( - k_pidk_min=0, - ) - elif process == "hlt2": - dz_hhhh = d_builder.make_dzero_to_hhhh( - k_pidk_min=0, - pi_pidk_max=1, - ) - dz_KshhDD = 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_tight_kaons() +def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToHHHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz_KshhDD, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dz_hhhh, kaon], + particles=[dst0, dz_hhhh, kaon], descriptors=["B+ -> D*(2007)0 D0 K+", "B- -> D*(2007)0 D0 K-"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -2288,128 +1899,1740 @@ def make_BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToHHHH( return line_alg -# BuToDsD0Pi0 lines +############################################################ +################ B0 -> D*(2007)0 D*(2010)- K+ ############## +############################################################ + +###################### Dst0ToD0Gamma ####################### @check_process -def make_BuToDsD0Pi0Merged_DsToKKPi_D0ToKPiOrKPiPiPi(process, MVACut=0.2): - if process == "spruce": - dz = d_builder.make_dzero_to_kpi_or_kpipipi( - k_pidk_min=-5, - pi_pidk_max=5, - ) - ds = d_builder.make_dsplus_to_kpkmpip( - k_pidk_min=-5, - pi_pidk_max=5, - ) - else: - dz = d_builder.make_dzero_to_kpi_or_kpipipi( - k_pidk_min=0, - pi_pidk_max=1, - ) - ds = d_builder.make_dsplus_to_kpkmpip( - k_pidk_min=0, - pi_pidk_max=1, - ) - pi0 = basic_builder.make_merged_pi0s() +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHH_D0ToHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hh) + dst = d_builder.make_dstar_to_dzeropi(dz_hh) line_alg = b_builder.make_b2x( - particles=[ds, dz, pi0], - descriptors=["B+ -> D_s+ D0 pi0", "B- -> D_s- D0 pi0"], + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], sum_pt_min=6 * GeV, - b2ddh_sep_min=(0) * mm, + b2dstdsth_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDsD0Pi0Resolved_DsToKKPi_D0ToKPi(process, MVACut=0.2): - if process == "spruce": - dz = d_builder.make_dzero_to_kpi( - k_pidk_min=0, - pi_pidk_max=1, - ) - ds = d_builder.make_dsplus_to_kpkmpip( - k_pidk_min=0, - pi_pidk_max=1, - ) - else: - dz = d_builder.make_dzero_to_kpi( - k_pidk_min=0, - pi_pidk_max=1, - ) - ds = d_builder.make_dsplus_to_kpkmpip( - k_pidk_min=0, - pi_pidk_max=1, - ) - pi0 = basic_builder.make_resolved_pi0s() +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsLLHH_D0ToKsLLHH( + process, MVACut=0.2 +): + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksllhh) + dst = d_builder.make_dstar_to_dzeropi(dz_ksllhh) line_alg = b_builder.make_b2x( - particles=[ds, dz, pi0], - descriptors=["B+ -> D_s+ D0 pi0", "B- -> D_s- D0 pi0"], + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], sum_pt_min=6 * GeV, - b2ddh_sep_min=(0) * mm, + b2dstdsth_sep_min=(0) * mm, ) return line_alg @check_process -def make_BuToDsD0Pi0Resolved_DsToKKPi_D0ToKPiPiPi(process, MVACut=0.2): - if process == "spruce": - dz = d_builder.make_dzero_to_kpipipi( - k_pidk_min=0, - pi_pidk_max=1, - ) - ds = d_builder.make_dsplus_to_kpkmpip( - k_pidk_min=0, - pi_pidk_max=1, - ) - else: - dz = d_builder.make_dzero_to_kpipipi( - k_pidk_min=0, - pi_pidk_max=1, - ) - ds = d_builder.make_dsplus_to_kpkmpip( - k_pidk_min=0, - pi_pidk_max=1, - ) - pi0 = basic_builder.make_resolved_pi0s() +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsDDHH_D0ToKsDDHH( + process, MVACut=0.2 +): + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksddhh) + dst = d_builder.make_dstar_to_dzeropi(dz_ksddhh) line_alg = b_builder.make_b2x( - particles=[ds, dz, pi0], - descriptors=["B+ -> D_s+ D0 pi0", "B- -> D_s- D0 pi0"], + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], sum_pt_min=6 * GeV, - b2ddh_sep_min=(0) * mm, + b2dstdsth_sep_min=(0) * mm, ) return line_alg -# BdToDst0DK (Dst0ToD0Gamma) line - - @check_process -def make_BdToDst0DK_Dst0ToD0Gamma_D0ToKPiOrKPiPiPi_DToHHH(process, MVACut=0.2): - if process == "spruce": - dz = d_builder.make_dzero_to_kpi_or_kpipipi( +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHHHH_D0ToHHHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) + dst = d_builder.make_dstar_to_dzeropi(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHH_D0ToKsLLHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hh) + dst = d_builder.make_dstar_to_dzeropi(dz_ksllhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsLLHH_D0ToHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksllhh) + dst = d_builder.make_dstar_to_dzeropi(dz_hh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHH_D0ToKsDDHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hh) + dst = d_builder.make_dstar_to_dzeropi(dz_ksddhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsDDHH_D0ToHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksddhh) + dst = d_builder.make_dstar_to_dzeropi(dz_hh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsLLHH_D0ToKsDDHH( + process, MVACut=0.2 +): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksllhh) + dst = d_builder.make_dstar_to_dzeropi(dz_ksddhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsDDHH_D0ToKsLLHH( + process, MVACut=0.2 +): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksddhh) + dst = d_builder.make_dstar_to_dzeropi(dz_ksllhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHH_D0ToHHHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hh) + dst = d_builder.make_dstar_to_dzeropi(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHHHH_D0ToHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) + dst = d_builder.make_dstar_to_dzeropi(dz_hh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHHHH_D0ToKsLLHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) + dst = d_builder.make_dstar_to_dzeropi(dz_ksllhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsLLHH_D0ToHHHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksllhh) + dst = d_builder.make_dstar_to_dzeropi(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHHHH_D0ToKsDDHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) + dst = d_builder.make_dstar_to_dzeropi(dz_ksddhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsDDHH_D0ToHHHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksddhh) + dst = d_builder.make_dstar_to_dzeropi(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +######################Dst0ToD0Pi0 Merged####################### + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHH_D0ToHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsLLHH_D0ToKsLLHH( + process, MVACut=0.2 +): + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksllhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsDDHH_D0ToKsDDHH( + process, MVACut=0.2 +): + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksddhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHHHH_D0ToHHHH( + process, MVACut=0.2 +): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHH_D0ToKsLLHH( + process, MVACut=0.2 +): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksllhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsLLHH_D0ToHH( + process, MVACut=0.2 +): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHH_D0ToKsDDHH( + process, MVACut=0.2 +): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksddhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsDDHH_D0ToHH( + process, MVACut=0.2 +): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsLLHH_D0ToKsDDHH( + process, MVACut=0.2 +): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksddhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsDDHH_D0ToKsLLHH( + process, MVACut=0.2 +): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksllhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHH_D0ToHHHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHHHH_D0ToHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHHHH_D0ToKsLLHH( + process, MVACut=0.2 +): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksllhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsLLHH_D0ToHHHH( + process, MVACut=0.2 +): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHHHH_D0ToKsDDHH( + process, MVACut=0.2 +): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksddhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsDDHH_D0ToHHHH( + process, MVACut=0.2 +): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +######################Dst0ToD0Pi0 Resolved####################### +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHH_D0ToHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsLLHH_D0ToKsLLHH( + process, MVACut=0.2 +): + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksllhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsDDHH_D0ToKsDDHH( + process, MVACut=0.2 +): + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksddhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHHHH_D0ToHHHH( + process, MVACut=0.2 +): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHH_D0ToKsLLHH( + process, MVACut=0.2 +): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksllhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsLLHH_D0ToHH( + process, MVACut=0.2 +): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHH_D0ToKsDDHH( + process, MVACut=0.2 +): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksddhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsDDHH_D0ToHH( + process, MVACut=0.2 +): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsLLHH_D0ToKsDDHH( + process, MVACut=0.2 +): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksddhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsDDHH_D0ToKsLLHH( + process, MVACut=0.2 +): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksllhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHH_D0ToHHHH( + process, MVACut=0.2 +): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHHHH_D0ToHH( + process, MVACut=0.2 +): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHHHH_D0ToKsLLHH( + process, MVACut=0.2 +): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_ksllhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksllhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsLLHH_D0ToHHHH( + process, MVACut=0.2 +): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHHHH_D0ToKsDDHH( + process, MVACut=0.2 +): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dz_ksddhh = 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_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_ksddhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsDDHH_D0ToHHHH( + process, MVACut=0.2 +): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) + dst = d_builder.make_dstar_to_dzeropi(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dst, kaon], + descriptors=["B0 -> D*(2007)0 D*(2010)- K+", "B0 -> D*(2007)0 D*(2010)+ K-"], + sum_pt_min=6 * GeV, + b2dstdsth_sep_min=(0) * mm, + ) + return line_alg + + +###################################################### +############## B0->D_s+ D- Pi0 ####################### +###################################################### + + +############### Pi0 Merged ########################### +@check_process +def make_BdToDsDmPi0Merged_DsToKKPi_DToHHH(process, MVACut=0.2): + if process == "spruce": + dm = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=-5, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + else: + dm = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=0, + pi_pidk_max=5, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pi0 = basic_builder.make_merged_pi0s() + line_alg = b_builder.make_b2x( + particles=[ds, dm, pi0], + descriptors=["B0 -> D_s+ D- pi0", "B0 -> D_s- D+ pi0"], + sum_pt_min=6 * GeV, + b2ddh_sep_min=(0) * mm, + ) + return line_alg + + +############### Pi0 Resolved ########################### + + +@check_process +def make_BdToDsDmPi0Resolved_DsToKKPi_DToHHH(process, MVACut=0.2): + if process == "spruce": + dm = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=0, + pi_pidk_max=5, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + else: + dm = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=0, + pi_pidk_max=5, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pi0 = basic_builder.make_resolved_pi0s() + line_alg = b_builder.make_b2x( + particles=[ds, dm, pi0], + descriptors=["B0 -> D_s+ D- pi0", "B0 -> D_s- D+ pi0"], + sum_pt_min=6 * GeV, + b2ddh_sep_min=(0) * mm, + ) + return line_alg + + +###################################################### +############## B+->D_s+ D0 Pi0 ####################### +###################################################### + + +############### Pi0 Merged ########################### +@check_process +def make_BuToDsD0Pi0Merged_DsToKKPi_D0ToKPi(process, MVACut=0.2): + if process == "spruce": + dz = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=-5, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + else: + dz = d_builder.make_dzero_to_kpi( k_pidk_min=0, + pi_pidk_max=5, ) - dp = d_builder.make_dplus_to_kpipi_or_kkpi( + ds = d_builder.make_dsplus_to_hhh( k_pidk_min=0, - am_min=1769.66, - am_max=1969.66, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, ) - kaon = basic_builder.make_tight_kaons(k_pidk_min=None) - elif process == "hlt2": - dz = d_builder.make_dzero_to_kpi_or_kpipipi( + pi0 = basic_builder.make_merged_pi0s() + line_alg = b_builder.make_b2x( + particles=[ds, dz, pi0], + descriptors=["B+ -> D_s+ D0 pi0", "B- -> D_s- D0 pi0"], + sum_pt_min=6 * GeV, + b2ddh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BuToDsD0Pi0Merged_DsToKKPi_D0ToKPiPiPi(process, MVACut=0.2): + if process == "spruce": + dz = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=-5, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + else: + dz = d_builder.make_dzero_to_kpipipi( k_pidk_min=0, + pi_pidk_max=5, ) - dp = d_builder.make_dplus_to_kpipi_or_kkpi( + ds = d_builder.make_dsplus_to_hhh( k_pidk_min=0, - am_min=1769.66, - am_max=1969.66, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pi0 = basic_builder.make_merged_pi0s() + line_alg = b_builder.make_b2x( + particles=[ds, dz, pi0], + descriptors=["B+ -> D_s+ D0 pi0", "B- -> D_s- D0 pi0"], + sum_pt_min=6 * GeV, + b2ddh_sep_min=(0) * mm, + ) + return line_alg + + +############### Pi0 Resolved ########################### + + +@check_process +def make_BuToDsD0Pi0Resolved_DsToKKPi_D0ToKPi(process, MVACut=0.2): + if process == "spruce": + dz = d_builder.make_dzero_to_kpi( + k_pidk_min=0, + pi_pidk_max=5, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + else: + dz = d_builder.make_dzero_to_kpi( + k_pidk_min=0, + pi_pidk_max=5, ) - kaon = basic_builder.make_tight_kaons() - dst = d_builder.make_dzerost_to_dzerogamma(dz) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pi0 = basic_builder.make_resolved_pi0s() + line_alg = b_builder.make_b2x( + particles=[ds, dz, pi0], + descriptors=["B+ -> D_s+ D0 pi0", "B- -> D_s- D0 pi0"], + sum_pt_min=6 * GeV, + b2ddh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BuToDsD0Pi0Resolved_DsToKKPi_D0ToKPiPiPi(process, MVACut=0.2): + if process == "spruce": + dz = d_builder.make_dzero_to_kpipipi( + k_pidk_min=0, + pi_pidk_max=5, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + else: + dz = d_builder.make_dzero_to_kpipipi( + k_pidk_min=0, + pi_pidk_max=5, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pi0 = basic_builder.make_resolved_pi0s() + line_alg = b_builder.make_b2x( + particles=[ds, dz, pi0], + descriptors=["B+ -> D_s+ D0 pi0", "B- -> D_s- D0 pi0"], + sum_pt_min=6 * GeV, + b2ddh_sep_min=(0) * mm, + ) + return line_alg + + +########################################################## +########### B0 -> D*(2007)0 D+ K ######################### +########################################################## + + +###################Dst0ToD0Gamma########################## +@check_process +def make_BdToDst0DK_Dst0ToD0Gamma_D0ToHH_DToHHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hh) + line_alg = b_builder.make_b2x( + particles=[dst0, dp, kaon], + descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DK_Dst0ToD0Gamma_D0ToKsLLHH_DToHHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksllhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dp, kaon], + descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DK_Dst0ToD0Gamma_D0ToKsDDHH_DToHHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksddhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dp, kaon], + descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DK_Dst0ToD0Gamma_D0ToHHHH_DToHHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, dp, kaon], + descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +###################Dst0ToD0Pi0 Merged########################## + + +@check_process +def make_BdToDst0DK_Dst0ToD0Pi0Merged_D0ToHH_DToHHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + line_alg = b_builder.make_b2x( + particles=[dst0, dp, kaon], + descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DK_Dst0ToD0Pi0Merged_D0ToKsLLHH_DToHHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) + line_alg = b_builder.make_b2x( + particles=[dst0, dp, kaon], + descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DK_Dst0ToD0Pi0Merged_D0ToKsDDHH_DToHHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) + line_alg = b_builder.make_b2x( + particles=[dst0, dp, kaon], + descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DK_Dst0ToD0Pi0Merged_D0ToHHHH_DToHHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + line_alg = b_builder.make_b2x( + particles=[dst0, dp, kaon], + descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +###################Dst0ToD0Pi0 Resolved########################## + + +@check_process +def make_BdToDst0DK_Dst0ToD0Pi0Resolved_D0ToHH_DToHHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) + line_alg = b_builder.make_b2x( + particles=[dst0, dp, kaon], + descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DK_Dst0ToD0Pi0Resolved_D0ToKsLLHH_DToHHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) + line_alg = b_builder.make_b2x( + particles=[dst0, dp, kaon], + descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DK_Dst0ToD0Pi0Resolved_D0ToKsDDHH_DToHHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) + line_alg = b_builder.make_b2x( + particles=[dst0, dp, kaon], + descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + +@check_process +def make_BdToDst0DK_Dst0ToD0Pi0Resolved_D0ToHHHH_DToHHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + dp = d_builder.make_dplus_to_kpipi_or_kkpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + kaon = basic_builder.make_tight_kaons( + k_pidk_min=0, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dp, kaon], + particles=[dst0, dp, kaon], descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, @@ -2417,76 +3640,383 @@ def make_BdToDst0DK_Dst0ToD0Gamma_D0ToKPiOrKPiPiPi_DToHHH(process, MVACut=0.2): return line_alg -# BdToDst0DK (Dst0ToD0Pi0) lines +########################################################### +################ B0 -> D*(2007)0 D_s+ pi- ################# +########################################################### + +###################Dst0ToD0Gamma########################## + + +@check_process +def make_BdToDst0DsPi_Dst0ToD0Gamma_D0ToHH_DsToHHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pion = basic_builder.make_tight_pions( + pi_pidk_max=5, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hh) + line_alg = b_builder.make_b2x( + particles=[dst0, ds, pion], + descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DsPi_Dst0ToD0Gamma_D0ToKsLLHH_DsToHHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pion = basic_builder.make_tight_pions( + pi_pidk_max=5, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksllhh) + line_alg = b_builder.make_b2x( + particles=[dst0, ds, pion], + descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DsPi_Dst0ToD0Gamma_D0ToKsDDHH_DsToHHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pion = basic_builder.make_tight_pions( + pi_pidk_max=5, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_ksddhh) + line_alg = b_builder.make_b2x( + particles=[dst0, ds, pion], + descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DsPi_Dst0ToD0Gamma_D0ToHHHH_DsToHHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pion = basic_builder.make_tight_pions( + pi_pidk_max=5, + ) + dst0 = d_builder.make_dzerost_to_dzerogamma(dz_hhhh) + line_alg = b_builder.make_b2x( + particles=[dst0, ds, pion], + descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +###################Dst0ToD0Pi0 Merged########################## @check_process -def make_BdToDst0DK_Dst0ToD0Pi0Merged_D0ToKPiOrKPiPiPi_DToHHH(process): - dz = d_builder.make_dzero_to_kpi_or_kpipipi() - dp = d_builder.make_dplus_to_kpipi_or_kkpi() - kaon = basic_builder.make_tightpid_tight_kaons() +def make_BdToDst0DsPi_Dst0ToD0Pi0Merged_D0ToHH_DsToHHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pion = basic_builder.make_tight_pions( + pi_pidk_max=5, + ) pi0 = basic_builder.make_merged_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dp, kaon], - descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], + particles=[dst0, ds, pion], + descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DsPi_Dst0ToD0Pi0Merged_D0ToKsLLHH_DsToHHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pion = basic_builder.make_tight_pions( + pi_pidk_max=5, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) + line_alg = b_builder.make_b2x( + particles=[dst0, ds, pion], + descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DsPi_Dst0ToD0Pi0Merged_D0ToKsDDHH_DsToHHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pion = basic_builder.make_tight_pions( + pi_pidk_max=5, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) + line_alg = b_builder.make_b2x( + particles=[dst0, ds, pion], + descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DsPi_Dst0ToD0Pi0Merged_D0ToHHHH_DsToHHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pion = basic_builder.make_tight_pions( + pi_pidk_max=5, + ) + pi0 = basic_builder.make_merged_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) + line_alg = b_builder.make_b2x( + particles=[dst0, ds, pion], + descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], sum_pt_min=6 * GeV, - b2dstdh_sep_min=(-0.5) * mm, + b2dstdh_sep_min=(0) * mm, ) return line_alg +###################Dst0ToD0Pi0 Resolved########################## + + @check_process -def make_BdToDst0DK_Dst0ToD0Pi0Resolved_D0ToKPiOrKPiPiPi_DToHHH(process): - dz = d_builder.make_dzero_to_kpi_or_kpipipi() - dp = d_builder.make_dplus_to_kpipi_or_kkpi() - kaon = basic_builder.make_tightpid_tight_kaons() +def make_BdToDst0DsPi_Dst0ToD0Pi0Resolved_D0ToHH_DsToHHH(process, MVACut=0.2): + dz_hh = d_builder.make_dzero_to_kpi( + k_pidk_min=-5, + pi_pidk_max=5, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pion = basic_builder.make_tight_pions( + pi_pidk_max=5, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, dp, kaon], - descriptors=["B0 -> D*(2007)0 D+ K-", "B0 -> D*(2007)0 D- K+"], + particles=[dst0, ds, pion], + descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], sum_pt_min=6 * GeV, - b2dstdh_sep_min=(-0.5) * mm, + b2dstdh_sep_min=(0) * mm, ) return line_alg -# BdToDst0DsPi (Dst0ToD0Pi0Resolved) line +@check_process +def make_BdToDst0DsPi_Dst0ToD0Pi0Resolved_D0ToKsLLHH_DsToHHH(process, MVACut=0.2): + dz_ksllhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_LL(), pi_pidk_max=20, k_pidk_min=-10 + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pion = basic_builder.make_tight_pions( + pi_pidk_max=5, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksllhh, pi0) + line_alg = b_builder.make_b2x( + particles=[dst0, ds, pion], + descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg @check_process -def make_BdToDst0DsPi_Dst0ToD0Pi0Resolved_D0ToKPiOrKPiPiPi_DsToHHH(process, MVACut=0.2): - if process == "spruce": - dz = d_builder.make_dzero_to_kpi_or_kpipipi( - k_pidk_min=-5, - pi_pidk_max=5, - ) - ds = d_builder.make_dsplus_to_hhh( - k_pidk_min=-5, - pi_pidk_max=5, - ) - pion = basic_builder.make_tight_pions( - pi_pidk_max=1, - ) - elif process == "hlt2": - dz = d_builder.make_dzero_to_kpi_or_kpipipi( - k_pidk_min=0, - pi_pidk_max=1, - ) - ds = d_builder.make_dsplus_to_hhh( - k_pidk_min=0, - pi_pidk_max=1, - ) - pion = basic_builder.make_tight_pions( - pi_pidk_max=1, - ) +def make_BdToDst0DsPi_Dst0ToD0Pi0Resolved_D0ToKsDDHH_DsToHHH(process, MVACut=0.2): + dz_ksddhh = d_builder.make_dzero_to_kshh( + k_shorts=basic_builder.make_ks_DD(), pi_pidk_max=20, k_pidk_min=-10 + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pion = basic_builder.make_tight_pions( + pi_pidk_max=5, + ) + pi0 = basic_builder.make_resolved_pi0s() + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_ksddhh, pi0) + line_alg = b_builder.make_b2x( + particles=[dst0, ds, pion], + descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], + sum_pt_min=6 * GeV, + b2dstdh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDst0DsPi_Dst0ToD0Pi0Resolved_D0ToHHHH_DsToHHH(process, MVACut=0.2): + dz_hhhh = d_builder.make_dzero_to_kpipipi( + k_pidk_min=-5, + pi_pidk_max=5, + am_min=1774.84, + am_max=1954.84, + ) + ds = d_builder.make_dsplus_to_hhh( + k_pidk_min=0, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pion = basic_builder.make_tight_pions( + pi_pidk_max=5, + ) pi0 = basic_builder.make_resolved_pi0s() - dst = d_builder.make_dzerost_to_dzeropi0(dz, pi0) + dst0 = d_builder.make_dzerost_to_dzeropi0(dz_hhhh, pi0) line_alg = b_builder.make_b2x( - particles=[dst, ds, pion], + particles=[dst0, ds, pion], descriptors=["B0 -> D*(2007)0 D_s+ pi-", "B0 -> D*(2007)0 D_s- pi+"], sum_pt_min=6 * GeV, b2dstdh_sep_min=(0) * mm, ) return line_alg + + +###################################################### +############## B0->D_s+ D_s- Pi0 ##################### +###################################################### + + +############### Pi0 Merged ########################### +@check_process +def make_BdToDspDsmPi0Merged_DsToKKPi(process, MVACut=0.2): + dsp = d_builder.make_dsplus_to_hhh( + k_pidk_min=-5, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + dsm = d_builder.make_dsplus_to_hhh( + k_pidk_min=-5, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pi0 = basic_builder.make_merged_pi0s() + line_alg = b_builder.make_b2x( + particles=[dsp, dsm, pi0], + descriptors=["B0 -> D_s+ D_s- pi0", "B0 -> D_s- D_s+ pi0"], + sum_pt_min=6 * GeV, + b2ddh_sep_min=(0) * mm, + ) + return line_alg + + +############### Pi0 Resolved ########################### + + +@check_process +def make_BdToDspDsmPi0Resolved_DsToKKPi(process, MVACut=0.2): + dsp = d_builder.make_dsplus_to_hhh( + k_pidk_min=-5, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + dsm = d_builder.make_dsplus_to_hhh( + k_pidk_min=-5, + pi_pidk_max=5, + DsToKKPi=True, + DsToKPiPi=False, + DsToPiPiPi=False, + ) + pi0 = basic_builder.make_resolved_pi0s() + line_alg = b_builder.make_b2x( + particles=[dsp, dsm, pi0], + descriptors=["B0 -> D_s+ D_s- pi0", "B0 -> D_s- D_s+ pi0"], + sum_pt_min=6 * GeV, + b2ddh_sep_min=(0) * mm, + ) + return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_ddh_standalone.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_ddh_standalone.py index e6c50e4b3b279e13b13217e9690e453503637ebe..8da53d41c3f2887f77d9188f9f014882081a8e14 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_ddh_standalone.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/b_to_ddh_standalone.py @@ -117,20 +117,6 @@ dplus_tight_cut = { }, } -dzero_loose_cut = { - "D0": { - "am_min": 1764.84, - "am_max": 1964.84, - }, -} - -dstar_loose_cut = { - "D*(2010)+": { - "am_min": 1764.84, - "am_max": 1964.84, - } -} - ds_loose_cut = { "D_s+": { "am_min": 1868.35, @@ -141,8 +127,6 @@ ds_loose_cut = { dzero_tight_cut = { "D0": { "k_pidk_min": 0, - "am_min": 1764.84, - "am_max": 1964.84, }, } @@ -150,8 +134,6 @@ dstar_tight_cut = { "D*(2010)+": { "soft_pi_pidk_max": 10, "k_pidk_min": 0, - "am_min": 1764.84, - "am_max": 1964.84, } } @@ -176,6 +158,7 @@ def make_b2ddh( D0ToKsDDHH=False, D0ToHHHH=False, DsToKHH=False, + DsToKKpi=False, D0ToKpi=False, D0ToK3pi=False, DstarToKpi1=False, @@ -185,6 +168,8 @@ def make_b2ddh( b2dstdsth_sep_min=None, b2dstdh_sep_min=None, b2ddh_sep_min=None, + vdrho_min=0.2, + particles_require_vdrho=["D+", "D-"], AllowDiffInputsForSameIDChildren=False, DoubleDstar=False, ): @@ -214,6 +199,10 @@ def make_b2ddh( builders[dau] = b2ddh_builders["D_s+"]( **kwargs, DsToKKPi=True, DsToKPiPi=True, DsToPiPiPi=False ) + elif (dau == "D_s+" and DsToKKpi) or (dau == "D_s-" and DsToKKpi): + builders[dau] = b2ddh_builders["D_s+"]( + **kwargs, DsToKKPi=True, DsToKPiPi=False, DsToPiPiPi=False + ) elif dau == "D0" and D0ToKpi: builders[dau] = b2ddh_builders["D0kpi"](**kwargs) elif dau == "D0" and D0ToK3pi: @@ -228,6 +217,12 @@ def make_b2ddh( ) elif dau == "D0" and D0ToHHHH: # 4x4-body builders[dau] = b2ddh_builders["D0_hhhh"](**kwargs) + elif ( + vdrho_min is not None + and "vdrho_min" not in kwargs + and dau in particles_require_vdrho + ): + builders[dau] = b2ddh_builders[dau](vdrho_min=vdrho_min, **kwargs) else: builders[dau] = b2ddh_builders[dau](**kwargs) particles = [builders[dau] for dau in daughters] @@ -282,6 +277,12 @@ def make_b2ddh( ) elif dau == "D0_1" and D0ToKsDDHH and D0ToHHHH: builders[dau] = b2ddh_builders["D0_hhhh"](**kwargs) + elif ( + vdrho_min is not None + and "vdrho_min" not in kwargs + and dau in particles_require_vdrho + ): + builders[dau] = b2ddh_builders[dau](vdrho_min=vdrho_min, **kwargs) else: builders[dau] = b2ddh_builders[dau](**kwargs) particles = [builders[dau] for dau in daughters] @@ -360,7 +361,6 @@ def make_BdToD0DK_D0ToKPiOrKPiPiPi_DToHHH(process, MVACut=0.2): cuts={ **b2ddh_hlt2_kwargs, **dplus_loose_cut, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, ) @@ -376,7 +376,6 @@ def make_BdToD0DPi_D0ToKPi_DToHHH(process, MVACut=0.2): cuts={ **b2ddh_hlt2_kwargs, **dplus_loose_cut, - **dzero_loose_cut, }, D0ToKpi=True, b2ddh_sep_min=(0) * mm, @@ -393,7 +392,6 @@ def make_BdToD0DPi_D0ToKPiPiPi_DToHHH(process, MVACut=0.2): cuts={ **b2ddh_hlt2_kwargs, **dplus_loose_cut, - **dzero_loose_cut, }, D0ToK3pi=True, b2ddh_sep_min=(0) * mm, @@ -466,6 +464,40 @@ def make_BdToDpDmKsLL_DpToHHH(process, MVACut=0.2): return line_alg +@check_process +def make_BdToDspDmKsDD_DpToHHH(process, MVACut=0.2): + line_alg = make_b2ddh( + process=process, + descriptors=["B0 -> D_s+ D- KS0", "B0 -> D_s- D+ KS0"], + KS0="DD", + cuts={ + **b2ddh_hlt2_kwargs, + **dplus_tight_cut, + **ds_loose_cut, + }, + b2ddh_sep_min=(0) * mm, + ) + + return line_alg + + +@check_process +def make_BdToDspDmKsLL_DpToHHH(process, MVACut=0.2): + line_alg = make_b2ddh( + process=process, + descriptors=["B0 -> D_s+ D- KS0", "B0 -> D_s- D+ KS0"], + KS0="LL", + cuts={ + **b2ddh_hlt2_kwargs, + **dplus_tight_cut, + **ds_loose_cut, + }, + b2ddh_sep_min=(0) * mm, + ) + + return line_alg + + @check_process def make_BdToDstDmKsDD_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH(process, MVACut=0.2): line_alg = make_b2ddh( @@ -484,7 +516,7 @@ def make_BdToDstDmKsDD_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH(process, MVACut=0.2): @check_process -def make_BdToDstDmKSLL_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH(process, MVACut=0.2): +def make_BdToDstDmKsLL_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH(process, MVACut=0.2): line_alg = make_b2ddh( process=process, descriptors=["B0 -> D*(2010)+ D- KS0", "B0 -> D*(2010)- D+ KS0"], @@ -500,6 +532,40 @@ def make_BdToDstDmKSLL_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH(process, MVACut=0.2): return line_alg +@check_process +def make_BdToDstDsmKsDD_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH(process, MVACut=0.2): + line_alg = make_b2ddh( + process=process, + descriptors=["B0 -> D*(2010)+ D_s- KS0", "B0 -> D*(2010)- D_s+ KS0"], + KS0="DD", + cuts={ + **b2ddh_hlt2_kwargs, + **ds_tight_cut, + **dstar_tight_cut, + }, + b2dstdh_sep_min=(0) * mm, + ) + + return line_alg + + +@check_process +def make_BdToDstDsmKsLL_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH(process, MVACut=0.2): + line_alg = make_b2ddh( + process=process, + descriptors=["B0 -> D*(2010)+ D_s- KS0", "B0 -> D*(2010)- D_s+ KS0"], + KS0="LL", + cuts={ + **b2ddh_hlt2_kwargs, + **ds_tight_cut, + **dstar_tight_cut, + }, + b2dstdh_sep_min=(0) * mm, + ) + + return line_alg + + @check_process def make_BdToDstpDstmKsDD_DstpToD0Pi_D0ToKPiorKPiPiPi(process, MVACut=0.2): line_alg = make_b2ddh( @@ -897,7 +963,6 @@ def make_BdToDstpDmKst_DstpToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH(process, MVACut=0.2): cuts={ **b2ddh_hlt2_kwargs, **dplus_loose_cut, - **dstar_loose_cut, }, b2dstdh_sep_min=(0) * mm, ) @@ -913,7 +978,6 @@ def make_BdToDstmDpKst_DstmToD0Pi_D0ToKPiOrKPiPiPi_DpToHHH(process, MVACut=0.2): cuts={ **b2ddh_hlt2_kwargs, **dplus_loose_cut, - **dstar_loose_cut, }, b2dstdh_sep_min=(0) * mm, ) @@ -922,7 +986,7 @@ def make_BdToDstmDpKst_DstmToD0Pi_D0ToKPiOrKPiPiPi_DpToHHH(process, MVACut=0.2): @check_process -def make_BdToDspDsmKst_DspToKHH(process, MVACut=0.2): +def make_BdToDspDsmKst_DspToKKPi(process, MVACut=0.2): line_alg = make_b2ddh( process=process, descriptors=["B0 -> D_s+ D_s- K*(892)0", "B0 -> D_s- D_s+ K*(892)~0"], @@ -930,7 +994,25 @@ def make_BdToDspDsmKst_DspToKHH(process, MVACut=0.2): **b2ddh_hlt2_kwargs, **ds_loose_cut, }, - DsToKHH=True, + DsToKKpi=True, + b2ddh_sep_min=(0) * mm, + ) + return line_alg + + +@check_process +def make_BdToDspDmKst_DspToKKPi(process, MVACut=0.2): + kst_cut = {"K*(892)0": {"k_pidk_min": 0.0}} + line_alg = make_b2ddh( + process=process, + descriptors=["B0 -> D_s+ D- K*(892)0", "B0 -> D_s- D+ K*(892)~0"], + cuts={ + **b2ddh_hlt2_kwargs, + **ds_loose_cut, + **dplus_loose_cut, + **kst_cut, + }, + DsToKKpi=True, b2ddh_sep_min=(0) * mm, ) return line_alg @@ -1054,7 +1136,7 @@ def make_BuToDstpDstmPi_DstpToD0Pi_D0ToKPiOrKPiPiPi(process): @check_process -def make_BuToDspDsmPi_DspToKHH(process, MVACut=0.2): +def make_BuToDspDsmPi_DspToKKPi(process, MVACut=0.2): line_alg = make_b2ddh( process=process, descriptors=["[B+ -> D_s+ D_s- pi+]cc"], @@ -1062,7 +1144,7 @@ def make_BuToDspDsmPi_DspToKHH(process, MVACut=0.2): **b2ddh_hlt2_kwargs, **ds_loose_cut, }, - DsToKHH=True, + DsToKKpi=True, b2ddh_sep_min=(0) * mm, ) @@ -1129,7 +1211,7 @@ def make_BuToDstpD0KsLL_DstpToD0Pi_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi( line_alg = make_b2ddh( process=process, descriptors=["B+ -> D*(2010)+ D0 KS0", "B- -> D*(2010)- D0 KS0"], - KS0="DD", + KS0="LL", cuts={ **b2ddh_hlt2_kwargs, **dzero_tight_cut, @@ -1214,7 +1296,6 @@ def make_BuToDstmDspPi_DstmToD0Pi_D0ToKPiOrKPiPiPi_DspToHHH(process, MVACut=0.2) descriptors=["[B+ -> D*(2010)- D_s+ pi+]cc"], cuts={ **b2ddh_hlt2_kwargs, - **dstar_loose_cut, **ds_loose_cut, }, b2dstdh_sep_min=(0) * mm, @@ -1229,7 +1310,6 @@ def make_BdToDsD0Pi_DsToHHH_D0ToKPi(process, MVACut=0.2): descriptors=["B0 -> D_s+ D0 pi-", "B0 -> D_s- D0 pi+"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, **ds_loose_cut, }, D0ToKpi=True, @@ -1246,7 +1326,38 @@ def make_BdToDsD0Pi_DsToHHH_D0ToKPiPiPi(process, MVACut=0.2): descriptors=["B0 -> D_s+ D0 pi-", "B0 -> D_s- D0 pi+"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, + **ds_loose_cut, + }, + D0ToK3pi=True, + b2ddh_sep_min=(0) * mm, + ) + + return line_alg + + +@check_process +def make_BdToDsD0K_DsToHHH_D0ToKPi(process, MVACut=0.2): + line_alg = make_b2ddh( + process=process, + descriptors=["B0 -> D_s+ D0 K-", "B0 -> D_s- D0 K+"], + cuts={ + **b2ddh_hlt2_kwargs, + **ds_loose_cut, + }, + D0ToKpi=True, + b2ddh_sep_min=(0) * mm, + ) + + return line_alg + + +@check_process +def make_BdToDsD0K_DsToHHH_D0ToKPiPiPi(process, MVACut=0.2): + line_alg = make_b2ddh( + process=process, + descriptors=["B0 -> D_s+ D0 K-", "B0 -> D_s- D0 K+"], + cuts={ + **b2ddh_hlt2_kwargs, **ds_loose_cut, }, D0ToK3pi=True, @@ -1263,7 +1374,6 @@ def make_BuToDsD0Phi_DspToKHH_D0ToKPi(process, MVACut=0.2): descriptors=["B+ -> D_s+ D0 phi(1020)", "B- -> D_s- D0 phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, **ds_loose_cut, }, D0ToKpi=True, @@ -1280,7 +1390,6 @@ def make_BuToDsD0Phi_DspToKHH_D0ToKPiPiPi(process, MVACut=0.2): descriptors=["B+ -> D_s+ D0 phi(1020)", "B- -> D_s- D0 phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, **ds_loose_cut, }, D0ToK3pi=True, @@ -1297,7 +1406,6 @@ def make_BdToD0D0Phi_D0ToHH(process, MVACut=0.2): # 2x2-body descriptors=["B0 -> D0 D0 phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, D0ToHH=True, @@ -1312,7 +1420,6 @@ def make_BdToD0D0Phi_D0ToKsLLHH(process, MVACut=0.2): # 3(LL)x3(LL)-body descriptors=["B0 -> D0 D0 phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, D0ToKsLLHH=True, @@ -1327,7 +1434,6 @@ def make_BdToD0D0Phi_D0ToKsDDHH(process, MVACut=0.2): # 3(LL)x3(DD)-body descriptors=["B0 -> D0 D0 phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, D0ToKsDDHH=True, @@ -1342,7 +1448,6 @@ def make_BdToD0D0Phi_D0ToHHHH(process, MVACut=0.2): # 4x4-body descriptors=["B0 -> D0 D0 phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, D0ToHHHH=True, @@ -1357,7 +1462,6 @@ def make_BdToD0D0Phi_D0ToHH_D0ToKsLLHH(process, MVACut=0.2): # 2x3(LL)-body descriptors=["B0 -> D0 D0 phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, D0ToHH=True, @@ -1374,7 +1478,6 @@ def make_BdToD0D0Phi_D0ToHH_D0ToKsDDHH(process, MVACut=0.2): # 2x3(DD)-body descriptors=["B0 -> D0 D0 phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, D0ToHH=True, @@ -1391,7 +1494,6 @@ def make_BdToD0D0Phi_D0ToHH_D0ToHHHH(process, MVACut=0.2): # 2x4-body descriptors=["B0 -> D0 D0 phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, D0ToHH=True, @@ -1408,7 +1510,6 @@ def make_BdToD0D0Phi_D0ToKsLLHH_D0ToKsDDHH(process, MVACut=0.2): # 3(LL)x3(DD)- descriptors=["B0 -> D0 D0 phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, D0ToKsLLHH=True, @@ -1425,7 +1526,6 @@ def make_BdToD0D0Phi_D0ToKsLLHH_D0ToHHHH(process, MVACut=0.2): # 3(LL)x4-body descriptors=["B0 -> D0 D0 phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, D0ToKsLLHH=True, @@ -1442,7 +1542,6 @@ def make_BdToD0D0Phi_D0ToKsDDHH_D0ToHHHH(process, MVACut=0.2): # 3(LL)x4-body descriptors=["B0 -> D0 D0 phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, D0ToKsDDHH=True, @@ -1505,7 +1604,6 @@ def make_BdToDstDsPhi_DstToD0Pi_D0ToKPiOrKPiPiPi_DsToHHH(process, MVACut=0.2): ], cuts={ **b2ddh_hlt2_kwargs, - **dstar_loose_cut, **ds_loose_cut, }, b2dstdh_sep_min=(0) * mm, @@ -1520,7 +1618,6 @@ def make_BuToD0DPhi_D0ToKPi_DToHHH(process, MVACut=0.2): # 2x2-body descriptors=["B+ -> D0 D+ phi(1020)", "B- -> D0 D- phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, D0ToKpi=True, @@ -1535,7 +1632,6 @@ def make_BuToD0DPhi_D0ToKPiPiPi_DToHHH(process, MVACut=0.2): # 2x2-body descriptors=["B+ -> D0 D+ phi(1020)", "B- -> D0 D- phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, D0ToK3pi=True, @@ -1552,7 +1648,6 @@ def make_BuToDstD0Phi_DstToD0Pi_D0ToKPiorKPiPiPi_D0ToKPiorKPiPiPi( descriptors=["B+ -> D*(2010)+ D0 phi(1020)", "B- -> D*(2010)- D0 phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, ) @@ -1566,7 +1661,6 @@ def make_BdToDstDPhi_DstToD0Pi_D0ToKPiorKPiPiPi_DToHHH(process, MVACut=0.2): # descriptors=["B0 -> D*(2010)+ D- phi(1020)", "B0 -> D*(2010)- D+ phi(1020)"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, }, b2ddh_sep_min=(0) * mm, D0ToK3pi=True, @@ -1685,7 +1779,6 @@ def make_BuToDsD0Rho0_DspToKHH_D0ToKPi(process, MVACut=0.2): descriptors=["B+ -> D_s+ D0 rho(770)0", "B- -> D_s- D0 rho(770)0"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, **ds_loose_cut, }, DsToKHH=True, @@ -1702,7 +1795,6 @@ def make_BuToDsD0Rho0_DspToKHH_D0ToKPiPiPi(process, MVACut=0.2): descriptors=["B+ -> D_s+ D0 rho(770)0", "B- -> D_s- D0 rho(770)0"], cuts={ **b2ddh_hlt2_kwargs, - **dzero_loose_cut, **ds_loose_cut, }, DsToKHH=True, @@ -1713,7 +1805,7 @@ def make_BuToDsD0Rho0_DspToKHH_D0ToKPiPiPi(process, MVACut=0.2): @check_process -def make_BdToDspDmRho0_DspToKHH_DmToHHH(process, MVACut=0.2): +def make_BdToDspDmRho0_DspToKKPi_DmToHHH(process, MVACut=0.2): line_alg = make_b2ddh( process=process, descriptors=["B0 -> D_s+ D- rho(770)0", "B0 -> D_s- D+ rho(770)0"], @@ -1722,7 +1814,7 @@ def make_BdToDspDmRho0_DspToKHH_DmToHHH(process, MVACut=0.2): **ds_loose_cut, **dplus_loose_cut, }, - DsToKHH=True, + DsToKKpi=True, b2ddh_sep_min=(0) * mm, ) return line_alg @@ -1739,9 +1831,29 @@ def make_BdToDstmDspRho0_DstmToD0Pi_D0ToKPiOrKPiPiPi_DspToKHH(process, MVACut=0. cuts={ **b2ddh_hlt2_kwargs, **ds_loose_cut, - **dstar_loose_cut, }, DsToKHH=True, b2dstdh_sep_min=(0) * mm, ) return line_alg + + +@check_process +def make_BdToDspDsmRho_DspToKKPi(process, MVACut=0.2): + ds_cut = { + "D_s+": { + "am_min": 1908.35, + "am_max": 2028.35, + } + } + line_alg = make_b2ddh( + process=process, + descriptors=["B0 -> D_s+ D_s- rho(770)0"], + cuts={ + **b2ddh_hlt2_kwargs, + **ds_cut, + }, + DsToKKpi=True, + b2ddh_sep_min=(0) * mm, + ) + 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 9c908b7fc5d3d9e663224dcffc581d73ba28e1a8..883a95a92c99c0979333a22fd766aae5930a28a0 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 @@ -18,8 +18,12 @@ every function returns a line_alg """ +import Functors as F +from Functors import require_all +from Functors.math import in_range from GaudiKernel.SystemOfUnits import GeV, MeV, mm, picosecond from RecoConf import standard_particles +from RecoConf.algorithms_thor import ParticleFilter from Hlt2Conf.lines.b_to_open_charm.builders import b_builder, basic_builder, d_builder from Hlt2Conf.lines.b_to_open_charm.filters import b_sigmanet_filter @@ -38,8 +42,12 @@ def make_BdToDsmK_DsmToKpKmPim(process, MVACut=0.25): elif process == "hlt2": kaon = basic_builder.make_tight_kaons(k_pidk_min=0) d = d_builder.make_dsplus_to_kpkmpip() + code = require_all( + in_range(1930.0, F.MASS, 2025.0), + ) + d_narrow = ParticleFilter(d, F.FILTER(code)) b = b_builder.make_b2x( - particles=[d, kaon], + particles=[d_narrow, kaon], descriptors=["[B0 -> D_s- K+]cc"], am_min=5000 * MeV, am_max=7000 * MeV, @@ -61,8 +69,12 @@ def make_BdToDsmK_DsmToKpPipPim(process, MVACut=0.25): elif process == "hlt2": kaon = basic_builder.make_tight_kaons(k_pidk_min=0) d = d_builder.make_dsplus_to_kppippim() + code = require_all( + in_range(1930.0, F.MASS, 2025.0), + ) + d_narrow = ParticleFilter(d, F.FILTER(code)) b = b_builder.make_b2x( - particles=[d, kaon], + particles=[d_narrow, kaon], descriptors=["[B0 -> D_s- K+]cc"], am_min=5000 * MeV, am_max=7000 * MeV, @@ -84,8 +96,12 @@ def make_BdToDsmK_DsmToPipPipPim(process, MVACut=0.25): elif process == "hlt2": kaon = basic_builder.make_tight_kaons(k_pidk_min=0) d = d_builder.make_dsplus_to_pippippim() + code = require_all( + in_range(1930.0, F.MASS, 2025.0), + ) + d_narrow = ParticleFilter(d, F.FILTER(code)) b = b_builder.make_b2x( - particles=[d, kaon], + particles=[d_narrow, kaon], descriptors=["[B0 -> D_s- K+]cc"], am_min=5000 * MeV, am_max=7000 * MeV, @@ -107,8 +123,12 @@ def make_BdToDsmPi_DsmToKpKmPim(process, MVACut=0.25): elif process == "hlt2": pion = basic_builder.make_tight_pions(pi_pidk_max=0) d = d_builder.make_dsplus_to_kpkmpip() + code = require_all( + in_range(1930.0, F.MASS, 2025.0), + ) + d_narrow = ParticleFilter(d, F.FILTER(code)) b = b_builder.make_b2x( - particles=[d, pion], + particles=[d_narrow, pion], descriptors=["[B0 -> D_s- pi+]cc"], am_min=5000 * MeV, am_max=7000 * MeV, @@ -130,8 +150,12 @@ def make_BdToDsmPi_DsmToKpPipPim(process, MVACut=0.25): elif process == "hlt2": pion = basic_builder.make_tight_pions(pi_pidk_max=0) d = d_builder.make_dsplus_to_kppippim() + code = require_all( + in_range(1930.0, F.MASS, 2025.0), + ) + d_narrow = ParticleFilter(d, F.FILTER(code)) b = b_builder.make_b2x( - particles=[d, pion], + particles=[d_narrow, pion], descriptors=["[B0 -> D_s- pi+]cc"], am_min=5000 * MeV, am_max=7000 * MeV, @@ -153,8 +177,12 @@ def make_BdToDsmPi_DsmToPipPipPim(process, MVACut=0.25): elif process == "hlt2": pion = basic_builder.make_tight_pions(pi_pidk_max=0) d = d_builder.make_dsplus_to_pippippim() + code = require_all( + in_range(1930.0, F.MASS, 2025.0), + ) + d_narrow = ParticleFilter(d, F.FILTER(code)) b = b_builder.make_b2x( - particles=[d, pion], + particles=[d_narrow, pion], descriptors=["[B0 -> D_s- pi+]cc"], am_min=5000 * MeV, am_max=7000 * MeV, @@ -175,8 +203,12 @@ def make_BdToDsmPi_DsmToKpKmPim_Calib(process, MVACut=0.5): # request from Vava d = d_builder.make_dsplus_to_kppippim(pi_pidk_max=0.0, k_pidk_min=5.0) elif process == "hlt2": d = d_builder.make_dsplus_to_kpkmpip() + code = require_all( + in_range(1930.0, F.MASS, 2025.0), + ) + d_narrow = ParticleFilter(d, F.FILTER(code)) b = b_builder.make_b2x( - particles=[d, pion], + particles=[d_narrow, pion], descriptors=["[B0 -> D_s- pi+]cc"], am_min=5000 * MeV, am_max=6000 * MeV, @@ -195,8 +227,12 @@ def make_BdToDmPi_DmToPimPimKp(process, MVACut=0.25): elif process == "hlt2": pion = basic_builder.make_tight_pions(pi_pidk_max=0) d = d_builder.make_dplus_to_kmpippip() + code = require_all( + in_range(1830.0, F.MASS, 1920.0), + ) + d_narrow = ParticleFilter(d, F.FILTER(code)) b = b_builder.make_b2x( - particles=[d, pion], + particles=[d_narrow, pion], descriptors=["[B0 -> D- pi+]cc"], am_min=4950 * MeV, am_max=6000 * MeV, @@ -214,8 +250,12 @@ def make_BdToDmPi_DmToPimPimKp(process, MVACut=0.25): def make_BdToDmPiSB_DmToPimPimKp(process): pion = basic_builder.make_tight_pions(pi_pidk_max=0) d = d_builder.make_dplus_to_kmpippip() + code = require_all( + in_range(1830.0, F.MASS, 1920.0), + ) + d_narrow = ParticleFilter(d, F.FILTER(code)) line_alg = b_builder.make_b2x( - particles=[d, pion], + particles=[d_narrow, pion], descriptors=["[B0 -> D- pi+]cc"], am_min=5500 * MeV, am_max=6000 * MeV, @@ -232,8 +272,12 @@ def make_BdToDmPi_DmToPimPimKp_Calib(process, MVACut=0.5): d = d_builder.make_dplus_to_kmpippip(k_pidk_min=5, pi_pidk_max=0) elif process == "hlt2": d = d_builder.make_dplus_to_kmpippip() + code = require_all( + in_range(1830.0, F.MASS, 1920.0), + ) + d_narrow = ParticleFilter(d, F.FILTER(code)) b = b_builder.make_b2x( - particles=[d, pion], + particles=[d_narrow, pion], descriptors=["[B0 -> D- pi+]cc"], am_min=4950 * MeV, am_max=6000 * MeV, @@ -252,8 +296,12 @@ def make_BdToDmK_DmToPimPimKp(process, MVACut=0.25): elif process == "hlt2": kaon = basic_builder.make_tight_kaons(k_pidk_min=0) d = d_builder.make_dplus_to_kmpippip() + code = require_all( + in_range(1830.0, F.MASS, 1920.0), + ) + d_narrow = ParticleFilter(d, F.FILTER(code)) b = b_builder.make_b2x( - particles=[d, kaon], + particles=[d_narrow, kaon], descriptors=["[B0 -> D- K+]cc"], am_min=4950 * MeV, am_max=6000 * MeV, @@ -1595,8 +1643,8 @@ def make_BuToD0Pi_D0ToKsLLHHPi0Resolved(process, MVACut=0.7): pi0=pi0, pi_pidk_max=0, k_pidk_min=0, - am_min=1814.84, - am_max=1914.84, + am_min=1764.84, + am_max=1964.84, ) line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion], @@ -1620,8 +1668,8 @@ def make_BuToD0Pi_D0ToKsDDHHPi0Resolved(process, MVACut=0.7): pi0=pi0, pi_pidk_max=0, k_pidk_min=0, - am_min=1814.84, - am_max=1914.84, + am_min=1764.84, + am_max=1964.84, ) line_alg = b_builder.make_loose_mass_b2x( particles=[d, pion], @@ -1645,8 +1693,8 @@ def make_BuToD0K_D0ToKsLLHHPi0Resolved(process, MVACut=0.7): pi0=pi0, pi_pidk_max=0, k_pidk_min=0, - am_min=1814.84, - am_max=1914.84, + am_min=1764.84, + am_max=1964.84, ) line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon], @@ -1670,8 +1718,8 @@ def make_BuToD0K_D0ToKsDDHHPi0Resolved(process, MVACut=0.7): pi0=pi0, pi_pidk_max=0, k_pidk_min=0, - am_min=1814.84, - am_max=1914.84, + am_min=1764.84, + am_max=1964.84, ) line_alg = b_builder.make_loose_mass_b2x( particles=[d, kaon], 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 86ae06ceebfa30ece51dd6d8cb2c45a521c6d587..8d12e00cf955aafe54f1688a87ffe26b652074a9 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 @@ -26,13 +26,17 @@ from Hlt2Conf.lines.b_to_open_charm.utils import check_process ### 2-body lines ### @check_process -def make_BdToD0PiPi_D0ToHH(process, MVACut=0.3): - pion = basic_builder.make_soft_pions(pi_pidk_max=0) +def make_BdToD0PiPi_D0ToHH(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) 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 b = b_builder.make_b2chh( - particles=[pion, pion, d], descriptors=["B0 -> pi+ pi- D0"] + particles=[pion, pion, d], + descriptors=["B0 -> pi+ pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) line_alg = b_sigmanet_filter(b, MVACut) return line_alg @@ -56,65 +60,79 @@ def make_BdToD0PiPiSB_D0ToHH(process): @check_process -def make_BdToD0PiPiWS_D0ToHH(process, MVACut=0.3): - pion = basic_builder.make_soft_pions(pi_pidk_max=0) +def make_BdToD0PiPiWS_D0ToHH(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) 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 b = b_builder.make_b2chh( - particles=[pion, pion, d], descriptors=["B0 -> pi+ pi+ D0", "B0 -> pi- pi- D0"] + particles=[pion, pion, d], + descriptors=["B0 -> pi+ pi+ D0", "B0 -> pi- pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) line_alg = b_sigmanet_filter(b, MVACut) return line_alg @check_process -def make_BdToD0KPi_D0ToHH(process, MVACut=0.3): - pion = basic_builder.make_soft_pions(pi_pidk_max=0) - kaon = basic_builder.make_soft_kaons(k_pidk_min=0) +def make_BdToD0KPi_D0ToHH(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_tight_dzero_to_hh() b = b_builder.make_b2chh( - particles=[kaon, pion, d], descriptors=["B0 -> K+ pi- D0", "B0 -> K- pi+ D0"] + particles=[kaon, pion, d], + descriptors=["B0 -> K+ pi- D0", "B0 -> K- pi+ D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) line_alg = b_sigmanet_filter(b, MVACut) return line_alg @check_process -def make_BdToD0KPiWS_D0ToHH(process, MVACut=0.3): - pion = basic_builder.make_soft_pions(pi_pidk_max=0) - kaon = basic_builder.make_soft_kaons(k_pidk_min=0) +def make_BdToD0KPiWS_D0ToHH(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_tight_dzero_to_hh() b = b_builder.make_b2chh( - particles=[kaon, pion, d], descriptors=["B0 -> K+ pi+ D0", "B0 -> K- pi- D0"] + particles=[kaon, pion, d], + descriptors=["B0 -> K+ pi+ D0", "B0 -> K- pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) line_alg = b_sigmanet_filter(b, MVACut) return line_alg @check_process -def make_BdToD0KK_D0ToHH(process, MVACut=0.3): - kaon = basic_builder.make_soft_kaons(k_pidk_min=0) +def make_BdToD0KK_D0ToHH(process, MVACut=0.5): + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_tight_dzero_to_hh() b = b_builder.make_b2chh( particles=[kaon, kaon, d], descriptors=["B0 -> K+ K- D0"], am_min=4750 * MeV, am_min_vtx=4750 * MeV, + sum_pt_min=6.5 * GeV, ) line_alg = b_sigmanet_filter(b, MVACut) return line_alg @check_process -def make_BdToD0KKWS_D0ToHH(process, MVACut=0.3): - kaon = basic_builder.make_soft_kaons(k_pidk_min=0) +def make_BdToD0KKWS_D0ToHH(process, MVACut=0.5): + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_tight_dzero_to_hh() b = b_builder.make_b2chh( particles=[kaon, kaon, d], descriptors=["B0 -> K+ K+ D0", "B0 -> K- K- D0"], am_min=4750 * MeV, am_min_vtx=4750 * MeV, + sum_pt_min=6.5 * GeV, ) line_alg = b_sigmanet_filter(b, MVACut) return line_alg @@ -203,12 +221,16 @@ def make_BdToDstpKsDDK_DstpToD0Pi_D0ToHH(process): ### 4-body lines ### @check_process def make_BdToD0PiPi_D0ToHHHH(process, MVACut=0.5): - pion = basic_builder.make_soft_pions(pi_pidk_max=0) + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) 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 b = b_builder.make_b2chh( - particles=[pion, pion, d], descriptors=["B0 -> pi+ pi- D0"] + particles=[pion, pion, d], + descriptors=["B0 -> pi+ pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) line_alg = b_sigmanet_filter(b, MVACut) return line_alg @@ -216,12 +238,16 @@ def make_BdToD0PiPi_D0ToHHHH(process, MVACut=0.5): @check_process def make_BdToD0PiPiWS_D0ToHHHH(process, MVACut=0.5): - pion = basic_builder.make_soft_pions(pi_pidk_max=0) + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) 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 b = b_builder.make_b2chh( - particles=[pion, pion, d], descriptors=["B0 -> pi+ pi+ D0", "B0 -> pi- pi- D0"] + particles=[pion, pion, d], + descriptors=["B0 -> pi+ pi+ D0", "B0 -> pi- pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) line_alg = b_sigmanet_filter(b, MVACut) return line_alg @@ -229,11 +255,15 @@ def make_BdToD0PiPiWS_D0ToHHHH(process, MVACut=0.5): @check_process def make_BdToD0KPi_D0ToHHHH(process, MVACut=0.5): - pion = basic_builder.make_soft_pions(pi_pidk_max=0) - kaon = basic_builder.make_soft_kaons(k_pidk_min=0) + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_tight_dzero_to_hhhh() b = b_builder.make_b2chh( - particles=[kaon, pion, d], descriptors=["B0 -> K+ pi- D0", "B0 -> K- pi+ D0"] + particles=[kaon, pion, d], + descriptors=["B0 -> K+ pi- D0", "B0 -> K- pi+ D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) line_alg = b_sigmanet_filter(b, MVACut) return line_alg @@ -241,11 +271,15 @@ def make_BdToD0KPi_D0ToHHHH(process, MVACut=0.5): @check_process def make_BdToD0KPiWS_D0ToHHHH(process, MVACut=0.5): - pion = basic_builder.make_soft_pions(pi_pidk_max=0) - kaon = basic_builder.make_soft_kaons(k_pidk_min=0) + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_tight_dzero_to_hhhh() b = b_builder.make_b2chh( - particles=[kaon, pion, d], descriptors=["B0 -> K+ pi+ D0", "B0 -> K- pi- D0"] + particles=[kaon, pion, d], + descriptors=["B0 -> K+ pi+ D0", "B0 -> K- pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) line_alg = b_sigmanet_filter(b, MVACut) return line_alg @@ -253,19 +287,29 @@ def make_BdToD0KPiWS_D0ToHHHH(process, MVACut=0.5): @check_process def make_BdToD0KK_D0ToHHHH(process, MVACut=0.5): - kaon = basic_builder.make_soft_kaons(k_pidk_min=0) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_tight_dzero_to_hhhh() - b = b_builder.make_b2chh(particles=[kaon, kaon, d], descriptors=["B0 -> K+ K- D0"]) + b = b_builder.make_b2chh( + particles=[kaon, kaon, d], + descriptors=["B0 -> K+ K- D0"], + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, + sum_pt_min=6.5 * GeV, + ) line_alg = b_sigmanet_filter(b, MVACut) return line_alg @check_process def make_BdToD0KKWS_D0ToHHHH(process, MVACut=0.5): - kaon = basic_builder.make_soft_kaons(k_pidk_min=0) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_tight_dzero_to_hhhh() b = b_builder.make_b2chh( - particles=[kaon, kaon, d], descriptors=["B0 -> K+ K+ D0", "B0 -> K- K- D0"] + particles=[kaon, kaon, d], + descriptors=["B0 -> K+ K+ D0", "B0 -> K- K- D0"], + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, + sum_pt_min=6.5 * GeV, ) line_alg = b_sigmanet_filter(b, MVACut) return line_alg @@ -348,134 +392,182 @@ def make_BdToDstpKsDDPi_DstpToD0Pi_D0ToHHHH(process): ### KsHH (LL) lines ### @check_process -def make_BdToD0PiPi_D0ToKsLLHH(process): - pion = basic_builder.make_soft_pions() +def make_BdToD0PiPi_D0ToKsLLHH(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) d = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_LL()) # 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( - particles=[pion, pion, d], descriptors=["B0 -> pi+ pi- D0"] + particles=[pion, pion, d], + descriptors=["B0 -> pi+ pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0PiPiWS_D0ToKsLLHH(process): - pion = basic_builder.make_soft_pions() +def make_BdToD0PiPiWS_D0ToKsLLHH(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) d = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_LL()) # 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( - particles=[pion, pion, d], descriptors=["B0 -> pi+ pi+ D0", "B0 -> pi- pi- D0"] + particles=[pion, pion, d], + descriptors=["B0 -> pi+ pi+ D0", "B0 -> pi- pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KPi_D0ToKsLLHH(process): - pion = basic_builder.make_soft_pions() - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KPi_D0ToKsLLHH(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_LL()) line_alg = b_builder.make_b2chh( - particles=[kaon, pion, d], descriptors=["B0 -> K+ pi- D0", "B0 -> K- pi+ D0"] + particles=[kaon, pion, d], + descriptors=["B0 -> K+ pi- D0", "B0 -> K- pi+ D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KPiWS_D0ToKsLLHH(process): - pion = basic_builder.make_soft_pions() - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KPiWS_D0ToKsLLHH(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_LL()) line_alg = b_builder.make_b2chh( - particles=[kaon, pion, d], descriptors=["B0 -> K+ pi+ D0", "B0 -> K- pi- D0"] + particles=[kaon, pion, d], + descriptors=["B0 -> K+ pi+ D0", "B0 -> K- pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KK_D0ToKsLLHH(process): - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KK_D0ToKsLLHH(process, MVACut=0.5): + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_LL()) line_alg = b_builder.make_b2chh( - particles=[kaon, kaon, d], descriptors=["B0 -> K+ K- D0"] + particles=[kaon, kaon, d], + descriptors=["B0 -> K+ K- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KKWS_D0ToKsLLHH(process): - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KKWS_D0ToKsLLHH(process, MVACut=0.5): + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_LL()) line_alg = b_builder.make_b2chh( - particles=[kaon, kaon, d], descriptors=["B0 -> K+ K+ D0", "B0 -> K- K- D0"] + particles=[kaon, kaon, d], + descriptors=["B0 -> K+ K+ D0", "B0 -> K- K- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg ### KsHH (DD) lines ### @check_process -def make_BdToD0PiPi_D0ToKsDDHH(process): - pion = basic_builder.make_soft_pions() +def make_BdToD0PiPi_D0ToKsDDHH(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) d = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_DD()) # 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( - particles=[pion, pion, d], descriptors=["B0 -> pi+ pi- D0"] + particles=[pion, pion, d], + descriptors=["B0 -> pi+ pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0PiPiWS_D0ToKsDDHH(process): - pion = basic_builder.make_soft_pions() +def make_BdToD0PiPiWS_D0ToKsDDHH(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) d = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_DD()) # 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( - particles=[pion, pion, d], descriptors=["B0 -> pi+ pi+ D0", "B0 -> pi- pi- D0"] + particles=[pion, pion, d], + descriptors=["B0 -> pi+ pi+ D0", "B0 -> pi- pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KPi_D0ToKsDDHH(process): - pion = basic_builder.make_soft_pions() - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KPi_D0ToKsDDHH(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_DD()) line_alg = b_builder.make_b2chh( - particles=[kaon, pion, d], descriptors=["B0 -> K+ pi- D0", "B0 -> K- pi+ D0"] + particles=[kaon, pion, d], + descriptors=["B0 -> K+ pi- D0", "B0 -> K- pi+ D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KPiWS_D0ToKsDDHH(process): - pion = basic_builder.make_soft_pions() - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KPiWS_D0ToKsDDHH(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_DD()) line_alg = b_builder.make_b2chh( - particles=[kaon, pion, d], descriptors=["B0 -> K+ pi+ D0", "B0 -> K- pi- D0"] + particles=[kaon, pion, d], + descriptors=["B0 -> K+ pi+ D0", "B0 -> K- pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KK_D0ToKsDDHH(process): - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KK_D0ToKsDDHH(process, MVACut=0.5): + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_DD()) line_alg = b_builder.make_b2chh( - particles=[kaon, kaon, d], descriptors=["B0 -> K+ K- D0"] + particles=[kaon, kaon, d], + descriptors=["B0 -> K+ K- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KKWS_D0ToKsDDHH(process): - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KKWS_D0ToKsDDHH(process, MVACut=0.5): + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) d = d_builder.make_dzero_to_kshh(k_shorts=basic_builder.make_ks_DD()) line_alg = b_builder.make_b2chh( - particles=[kaon, kaon, d], descriptors=["B0 -> K+ K+ D0", "B0 -> K- K- D0"] + particles=[kaon, kaon, d], + descriptors=["B0 -> K+ K+ D0", "B0 -> K- K- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @@ -2611,145 +2703,193 @@ def make_BuToD0PiPi0Merged_D0ToHHHHWS(process, MVACut=0.7): @check_process -def make_BdToD0PiPi_D0ToHHPi0Resolved(process): - pion = basic_builder.make_soft_pions() +def make_BdToD0PiPi_D0ToHHPi0Resolved(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_hhpi0(pi0) # 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( - particles=[pion, pion, d], descriptors=["B0 -> pi+ pi- D0"] + particles=[pion, pion, d], + descriptors=["B0 -> pi+ pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KPi_D0ToHHPi0Resolved(process): - pion = basic_builder.make_soft_pions() - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KPi_D0ToHHPi0Resolved(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_hhpi0(pi0) line_alg = b_builder.make_b2chh( - particles=[kaon, pion, d], descriptors=["B0 -> K+ pi- D0", "B0 -> K- pi+ D0"] + particles=[kaon, pion, d], + descriptors=["B0 -> K+ pi- D0", "B0 -> K- pi+ D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KK_D0ToHHPi0Resolved(process): - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KK_D0ToHHPi0Resolved(process, MVACut=0.5): + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_hhpi0(pi0) line_alg = b_builder.make_b2chh( - particles=[kaon, kaon, d], descriptors=["B0 -> K+ K- D0"] + particles=[kaon, kaon, d], + descriptors=["B0 -> K+ K- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0PiPi_D0ToHHPi0Merged(process): - pion = basic_builder.make_soft_pions() +def make_BdToD0PiPi_D0ToHHPi0Merged(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_hhpi0(pi0) # 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( - particles=[pion, pion, d], descriptors=["B0 -> pi+ pi- D0"] + particles=[pion, pion, d], + descriptors=["B0 -> pi+ pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KPi_D0ToHHPi0Merged(process): - pion = basic_builder.make_soft_pions() - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KPi_D0ToHHPi0Merged(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_hhpi0(pi0) line_alg = b_builder.make_b2chh( - particles=[kaon, pion, d], descriptors=["B0 -> K+ pi- D0", "B0 -> K- pi+ D0"] + particles=[kaon, pion, d], + descriptors=["B0 -> K+ pi- D0", "B0 -> K- pi+ D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KK_D0ToHHPi0Merged(process): - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KK_D0ToHHPi0Merged(process, MVACut=0.5): + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_hhpi0(pi0) line_alg = b_builder.make_b2chh( - particles=[kaon, kaon, d], descriptors=["B0 -> K+ K- D0"] + particles=[kaon, kaon, d], + descriptors=["B0 -> K+ K- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0PiPiWS_D0ToHHPi0Resolved(process): - pion = basic_builder.make_soft_pions() +def make_BdToD0PiPiWS_D0ToHHPi0Resolved(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_hhpi0(pi0) # 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( - particles=[pion, pion, d], descriptors=["B0 -> pi+ pi+ D0", "B0 -> pi- pi- D0"] + particles=[pion, pion, d], + descriptors=["B0 -> pi+ pi+ D0", "B0 -> pi- pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KPiWS_D0ToHHPi0Resolved(process): - pion = basic_builder.make_soft_pions() - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KPiWS_D0ToHHPi0Resolved(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_hhpi0(pi0) line_alg = b_builder.make_b2chh( - particles=[kaon, pion, d], descriptors=["B0 -> K+ pi+ D0", "B0 -> K- pi- D0"] + particles=[kaon, pion, d], + descriptors=["B0 -> K+ pi+ D0", "B0 -> K- pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KKWS_D0ToHHPi0Resolved(process): - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KKWS_D0ToHHPi0Resolved(process, MVACut=0.5): + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) pi0 = basic_builder.make_resolved_pi0s() d = d_builder.make_dzero_to_hhpi0(pi0) line_alg = b_builder.make_b2chh( - particles=[kaon, kaon, d], descriptors=["B0 -> K+ K+ D0", "B0 -> K- K- D0"] + particles=[kaon, kaon, d], + descriptors=["B0 -> K+ K+ D0", "B0 -> K- K- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0PiPiWS_D0ToHHPi0Merged(process): - pion = basic_builder.make_soft_pions() +def make_BdToD0PiPiWS_D0ToHHPi0Merged(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_hhpi0(pi0) # 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( - particles=[pion, pion, d], descriptors=["B0 -> pi+ pi+ D0", "B0 -> pi- pi- D0"] + particles=[pion, pion, d], + descriptors=["B0 -> pi+ pi+ D0", "B0 -> pi- pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KPiWS_D0ToHHPi0Merged(process): - pion = basic_builder.make_soft_pions() - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KPiWS_D0ToHHPi0Merged(process, MVACut=0.5): + pion = basic_builder.make_soft_pions(pi_pidk_max=0, pt_min=150 * MeV) + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_hhpi0(pi0) line_alg = b_builder.make_b2chh( - particles=[kaon, pion, d], descriptors=["B0 -> K+ pi+ D0", "B0 -> K- pi- D0"] + particles=[kaon, pion, d], + descriptors=["B0 -> K+ pi+ D0", "B0 -> K- pi- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) return line_alg @check_process -def make_BdToD0KKWS_D0ToHHPi0Merged(process): - kaon = basic_builder.make_soft_kaons() +def make_BdToD0KKWS_D0ToHHPi0Merged(process, MVACut=0.5): + kaon = basic_builder.make_soft_kaons(k_pidk_min=0, pt_min=150 * MeV) pi0 = basic_builder.make_merged_pi0s() d = d_builder.make_dzero_to_hhpi0(pi0) line_alg = b_builder.make_b2chh( - particles=[kaon, kaon, d], descriptors=["B0 -> K+ K+ D0", "B0 -> K- K- D0"] + particles=[kaon, kaon, d], + descriptors=["B0 -> K+ K+ D0", "B0 -> K- K- D0"], + sum_pt_min=6.5 * GeV, + am_min=4750 * MeV, + am_min_vtx=4750 * MeV, ) 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 546da896fc1c27507e6c2ef722841ba2f2b4bda2..8d8524d612cf3bb71cd3f81e17935b0b7d058c94 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 @@ -13,7 +13,11 @@ * do NOT use SigmaNet NN here, these lines are instead prescaled """ +import Functors as F +from Functors import require_all +from Functors.math import in_range from GaudiKernel.SystemOfUnits import MeV +from RecoConf.algorithms_thor import ParticleFilter from Hlt2Conf.lines.b_to_open_charm.builders import b_builder, basic_builder, d_builder from Hlt2Conf.lines.b_to_open_charm.utils import check_process @@ -30,8 +34,12 @@ https://gitlab.cern.ch/lhcb/Stripping/-/blob/run2-patches/Phys/StrippingSelectio def make_BdToDsmK_DsmToKpKmPim_LTU(process): kaon = basic_builder.make_tight_kaons(k_pidk_min=None, mipchi2_min=0) d = d_builder.make_dsplus_to_kpkmpip(bpvvdchi2_min=0) + code = require_all( + in_range(1930.0, F.MASS, 2025.0), + ) + d_narrow = ParticleFilter(d, F.FILTER(code)) line_alg = b_builder.make_lifetime_unbiased_b2x( - particles=[d, kaon], descriptors=["[B0 -> D_s- K+]cc"] + particles=[d_narrow, kaon], descriptors=["[B0 -> D_s- K+]cc"] ) return line_alg @@ -40,8 +48,12 @@ def make_BdToDsmK_DsmToKpKmPim_LTU(process): def make_BdToDmPi_DmToPimPimKp_LTU(process): pion = basic_builder.make_tight_pions(pi_pidk_max=0, mipchi2_min=0) d = d_builder.make_dplus_to_kmpippip(bpvvdchi2_min=0) + code = require_all( + in_range(1830.0, F.MASS, 1920.0), + ) + d_narrow = ParticleFilter(d, F.FILTER(code)) line_alg = b_builder.make_lifetime_unbiased_b2x( - particles=[d, pion], + particles=[d_narrow, pion], descriptors=["[B0 -> D- pi+]cc"], am_min=4950 * MeV, am_min_vtx=4950 * MeV, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryons_h.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryons_h.py index e9f21416a4b19aedbbc82ee154977217f148dba6..b474ef65af57efb6ed1ccdcb144ca68e3677a6b1 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryons_h.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryons_h.py @@ -24,7 +24,7 @@ from Hlt2Conf.lines.b_to_open_charm.utils import check_process # Author: juan.baptista.leite@cern.ch # https://lhcbdoc.web.cern.ch/lhcbdoc/stripping/config/stripping34r0p3/bhadroncompleteevent/strippinglb2lclcnlc2pkpibeauty2charmline.html @check_process -def make_Lb0ToLcpLcmN0(process): +def make_LbToLcpLcmN0(process): if process == "spruce": lc = cbaryon_builder.make_lc_to_pkpi( # make_lc_to_pkpi pi_pidk_max=10, @@ -57,7 +57,7 @@ def make_Lb0ToLcpLcmN0(process): # Author: juan.baptista.leite@cern.ch @check_process -def make_Lb0ToPbarPN0(process): +def make_LbToPbarPN0(process): line_alg = None if process == "spruce": proton = basic_builder.make_tight_protons(p_pidkmp_max=20.0, pt_min=750 * MeV) 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 6c1db847a072915a7af76d727a9a23da157483e4..5d9cdbb29af282f496193c169286ddaa1bf75891 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 @@ -30,7 +30,7 @@ def _make_b2x( am_min_vtx=5050 * MeV, am_max_vtx=5650 * MeV, sum_pt_min=5 * GeV, - vtx_chi2pdof_max=20.0, # was 10 in Run1+2 + vtx_chi2pdof_max=10.0, bpvipchi2_max=25.0, bpvltime_min=0.2 * picosecond, bpvdira_min=0.999, @@ -146,8 +146,8 @@ def _make_lifetime_unbiased_b2x( am_min_vtx=5050 * MeV, am_max_vtx=5650 * MeV, sum_pt_min=5 * GeV, - vtx_chi2pdof_max=20.0, -): # was 10 in Run1+2 + vtx_chi2pdof_max=10.0, +): """ LifeTime Unbiased B decay maker: defines default cuts and B mass range. """ @@ -196,7 +196,7 @@ def _make_b2chh( am_min_vtx=5000 * MeV, am_max_vtx=6000 * MeV, sum_pt_min=5.5 * GeV, - vtx_chi2pdof_max=20, # was 10 in Run1+2 + vtx_chi2pdof_max=10, bpvipchi2_max=9, bpvltime_min=0.2 * picosecond, bpvdira_min=0.99995, @@ -273,13 +273,14 @@ def _make_b2cch( 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 + vtx_chi2pdof_max=10, 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, + vdrho_min=0.2, AllowDiffInputsForSameIDChildren=False, ): """ @@ -295,6 +296,8 @@ def _make_b2cch( 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.CHILD(1, F.OWNPVVDRHO) > vdrho_min, + F.CHILD(2, F.OWNPVVDRHO) > vdrho_min, F.OWNPVIPCHI2 < bpvipchi2_max, F.OWNPVLTIME > bpvltime_min, F.OWNPVDIRA > bpvdira_min, @@ -355,7 +358,7 @@ def _make_b2chhh( am_min_vtx=5100 * MeV, am_max_vtx=5700 * MeV, sum_pt_min=5 * GeV, - vtx_chi2pdof_max=10, # was 10 in Run1+2 + vtx_chi2pdof_max=10, bpvipchi2_max=9, bpvltime_min=0.2 * picosecond, bpvdira_min=0.99993, @@ -439,7 +442,7 @@ def _make_b2dd( am_min_vtx=4800 * MeV, am_max_vtx=5650 * MeV, sum_pt_min=5 * GeV, - vtx_chi2pdof_max=20.0, # was 10 in Run1+2 + vtx_chi2pdof_max=10.0, bpvipchi2_max=20.0, bpvltime_min=0.05 * picosecond, bpvdira_min=0.999, @@ -494,7 +497,7 @@ def _make_b2dstd( am_min_vtx=4800 * MeV, am_max_vtx=5650 * MeV, sum_pt_min=5 * GeV, - vtx_chi2pdof_max=20.0, # was 10 in Run1+2 + vtx_chi2pdof_max=10.0, bpvipchi2_max=20.0, bpvltime_min=0.05 * picosecond, bpvdira_min=0.999, @@ -551,7 +554,7 @@ def make_bc2x( am_min_vtx=6000 * MeV, am_max_vtx=6600 * MeV, sum_pt_min=5 * GeV, - vtx_chi2pdof_max=20, + vtx_chi2pdof_max=10, bpvipchi2_max=20, bpvltime_min=0.05 * picosecond, bpvdira_min=0.999, @@ -862,7 +865,7 @@ def _make_xibc2x( am_min_vtx=6400 * MeV, am_max_vtx=7800 * MeV, sum_pt_min=6.0 * GeV, - vtx_chi2pdof_max=10, # was 10 in Run1+2 + vtx_chi2pdof_max=10, bpvipchi2_max=16, bpvltime_min=0.1 * picosecond, # reduced from 0.2 ps for regular b-hadron bpvdira_min=0.999, 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 94c889433dc1e85109d4c5531a6d1474c87a3344..94a6d9582f7650905d16a501323551955e0faf9b 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 @@ -298,6 +298,7 @@ def make_twobody( bpvvdchi2_min=36, bpvipchi2_min=0, bpvdira_min=0, + vdrho_min=None, ): """ A generic 2body decay maker. @@ -324,6 +325,9 @@ def make_twobody( in_range(am_min, F.MASS, am_max), ) + if vdrho_min is not None: + vertex_code &= F.OWNPVVDRHO > vdrho_min + return ParticleCombiner( particles, name=name, @@ -373,7 +377,7 @@ def _make_threebody( ) for i in range(1, 4): for j in range(i + 1, 4): - combination_code &= 1.0 - F.ALV(i, j) > 1.4e-7 + combination_code &= (1.0 - F.ALV(i, j)) > 1.4e-7 if adoca13_max is not None: combination_code &= F.SDOCA(1, 3) < adoca13_max if adoca23_max is not None: @@ -410,6 +414,7 @@ def make_threebody( bpvvdchi2_min=36, bpvipchi2_min=0, bpvdira_min=0, + vdrho_min=None, ): preselected = _make_threebody( particles, @@ -436,6 +441,8 @@ def make_threebody( code &= F.OWNPVIPCHI2 > bpvipchi2_min if bpvdira_min > 0: code &= F.OWNPVDIRA > bpvdira_min + if vdrho_min is not None: + code &= F.OWNPVVDRHO > vdrho_min return ParticleFilter(preselected, F.FILTER(code)) @@ -482,7 +489,7 @@ def _make_fourbody( ) for i in range(1, 5): for j in range(i + 1, 5): - combination_code &= 1.0 - F.ALV(i, j) > 1.4e-7 + combination_code &= (1.0 - F.ALV(i, j)) > 1.4e-7 if adoca12_max is not None: combination_code &= F.SDOCA(1, 2) < adoca12_max if adoca13_max is not None: @@ -534,6 +541,7 @@ def make_fourbody( bpvvdchi2_min=36, bpvipchi2_min=0, bpvdira_min=0, + vdrho_min=None, ): preselected = _make_fourbody( particles, @@ -563,6 +571,8 @@ def make_fourbody( code &= F.OWNPVIPCHI2 > bpvipchi2_min if bpvdira_min > 0: code &= F.OWNPVDIRA > bpvdira_min + if vdrho_min is not None: + code &= F.OWNPVVDRHO > vdrho_min return ParticleFilter(preselected, F.FILTER(code)) @@ -686,8 +696,8 @@ def make_rho0( make_pions=make_pions, am_min=250 * MeV, am_max=3000 * MeV, - pi_p_min=1 * GeV, - pi_pt_min=100 * MeV, + pi_p_min=2 * GeV, + pi_pt_min=200 * MeV, pi_pidk_max=20, adoca12_max=0.5 * mm, asumpt_min=500 * MeV, @@ -726,9 +736,9 @@ def make_kstar0( pi_pidk_max=5, k_pidk_min=-5, pi_p_min=2 * GeV, - pi_pt_min=100 * MeV, + pi_pt_min=200 * MeV, k_p_min=2 * GeV, - k_pt_min=100 * MeV, + k_pt_min=200 * MeV, adoca12_max=0.5 * mm, asumpt_min=1000 * MeV, bpvvdchi2_min=16, @@ -784,7 +794,7 @@ def make_phi2kk( F.SUM(F.PT) > asumpt_min, F.MAXSDOCACUT(adoca12_max), ) - combination_code &= 1.0 - F.ALV(1, 2) > 1.4e-7 + combination_code &= (1.0 - F.ALV(1, 2)) > 1.4e-7 vertex_code = F.require_all(F.MASS < am_max, F.CHI2 < vchi2) if mipchi2_min is not None: vertex_code &= F.OWNPVIPCHI2 > mipchi2_min 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 4b9dd75f6a60668c40d5eed5fbb333e54e6adf31..623022a109f946198ec70fe94ad6c47fc7595ea7 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 @@ -164,8 +164,15 @@ def make_dzero_to_hh( dzero_to_kpkm = make_dzero_to_kpkm( k_pidk_min=k_pidk_min, k_p_min=k_p_min, k_pt_min=k_pt_min, **decay_arguments ) + return ParticleContainersMerger( - [dzero_to_kmpip, dzero_to_kppim, dzero_to_pippim, dzero_to_kpkm], name=name + [ + dzero_to_kmpip, + dzero_to_kppim, + dzero_to_kpkm, + dzero_to_pippim, + ], + name=name, ) @@ -549,8 +556,8 @@ def make_dzero_to_kshh( @configurable def make_dplus_to_pippippim( - am_min=1830 * MeV, - am_max=1920 * MeV, + am_min=1790 * MeV, + am_max=1950 * MeV, pi_p_min=2 * GeV, pi_pt_min=250 * MeV, pi_pidk_max=5, @@ -571,8 +578,8 @@ def make_dplus_to_pippippim( @configurable def make_dplus_to_kmpippip( - am_min=1830 * MeV, - am_max=1920 * MeV, + am_min=1790 * MeV, + am_max=1950 * MeV, pi_p_min=2 * GeV, pi_pt_min=250 * MeV, pi_pidk_max=5, @@ -599,8 +606,8 @@ def make_dplus_to_kmpippip( @configurable def make_dplus_to_kpkmpip( - am_min=1830 * MeV, - am_max=1920 * MeV, + am_min=1790 * MeV, + am_max=1950 * MeV, pi_p_min=2 * GeV, pi_pt_min=250 * MeV, pi_pidk_max=5, @@ -703,8 +710,8 @@ def make_tight_dplus_to_kmpippip_for_xibc(**decay_arguments): @configurable def make_dsplus_to_pippippim( - am_min=1930 * MeV, - am_max=2020 * MeV, + am_min=1890 * MeV, + am_max=2050 * MeV, pi_p_min=2 * GeV, pi_pt_min=250 * MeV, pi_pidk_max=5, @@ -725,8 +732,8 @@ def make_dsplus_to_pippippim( @configurable def make_dsplus_to_kppippim( - am_min=1930 * MeV, - am_max=2020 * MeV, + am_min=1890 * MeV, + am_max=2050 * MeV, pi_p_min=2 * GeV, pi_pt_min=250 * MeV, pi_pidk_max=5, @@ -753,8 +760,8 @@ def make_dsplus_to_kppippim( @configurable def make_dsplus_to_kpkmpip( - am_min=1930 * MeV, - am_max=2020 * MeV, + am_min=1890 * MeV, + am_max=2050 * MeV, pi_p_min=2 * GeV, pi_pt_min=250 * MeV, pi_pidk_max=5, @@ -831,7 +838,7 @@ def make_dsplus_to_hhh( # D -> hhh WS KKPi, KPiPi, PiPiPi # @configurable def _make_dplus_to_hhh_ws( - name, particles, descriptor, am_min=1830 * MeV, am_max=1920 * MeV, **decay_arguments + name, particles, descriptor, am_min=1790 * MeV, am_max=1950 * MeV, **decay_arguments ): return basic_builder.make_threebody( particles=particles, @@ -886,7 +893,7 @@ def make_dplus_to_hhh_ws( # Ds -> hhh WS KKPi, KPiPi, PiPiPi # @configurable def _make_dsplus_to_hhh_ws( - name, particles, descriptor, am_min=1930 * MeV, am_max=2020 * MeV, **decay_arguments + name, particles, descriptor, am_min=1890 * MeV, am_max=2050 * MeV, **decay_arguments ): return basic_builder.make_threebody( particles=particles, @@ -1412,12 +1419,13 @@ def make_dzero_to_hhhh( k_pt_min=k_pt_min, **decay_arguments, ) + return ParticleContainersMerger( [ - dzero_to_pippippimpim, dzero_to_kppippimpim, dzero_to_kmpimpippip, dzero_to_kpkmpippim, + dzero_to_pippippimpim, ], name=name, ) @@ -1878,9 +1886,9 @@ def make_dstar_to_dzeropi_cf( F.CHI2DOF < vchi2pdof_max, F.MASS - F.CHILD(1, F.MASS) < deltamass_max ) if bpvvdchi2_min is not None: - vertex_code &= F.OWNFDCHI2 > bpvvdchi2_min + vertex_code &= F.OWNPVFDCHI2 > bpvvdchi2_min if bpvdira_min is not None: - vertex_code &= F.OWNDIRA > bpvdira_min + vertex_code &= F.OWNPVDIRA > bpvdira_min doca_args_k3pi = { "adoca12_max": 0.2 * mm, @@ -1960,8 +1968,8 @@ def make_ds2460_to_dspipi( am_min=2200 * MeV, am_max=2700 * MeV, soft_pi_pidk_max=5, - soft_pi_p_min=1 * GeV, - soft_pi_pt_min=100 * MeV, + soft_pi_p_min=2.0 * GeV, + soft_pi_pt_min=150 * MeV, soft_pi_mipchi2_min=0, ): """ @@ -1974,10 +1982,13 @@ def make_ds2460_to_dspipi( F.SDOCA(1, 3) < adoca13_max, F.SDOCA(2, 3) < adoca23_max, ) - combination_code &= 1.0 - F.ALV(2, 3) > 1.4e-7 + combination_code &= (1.0 - F.ALV(2, 3)) > 1.4e-7 M12 = F.SUBCOMB(Functor=F.MASS, Indices=[1, 2]) combination12_code = M12 < am_max combination_code &= combination12_code + M13 = F.SUBCOMB(Functor=F.MASS, Indices=[1, 3]) + combination13_code = M13 < am_max + combination_code &= combination13_code soft_pions = basic_builder.make_pions( pi_pidk_max=soft_pi_pidk_max, 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 9166ec243946f1442bef2ae9e6a9fed040ec45a5..ac398343342c9d0aad7e78e8c35601c25c4408d6 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 @@ -29,7 +29,7 @@ def b_sigmanet_filter(particles, MVACut=0.0): F.MVA( MVAType="SigmaNet", Config={ - "File": "paramfile://data/Hlt2B2OC_B_SigmaNet_Run3-v2.json", + "File": "paramfile://data/Hlt2B2OC_B_SigmaNet_Run3-v3.json", "Name": "B2OC_SigmaNet_Generic", "Lambda": "2.0", "NLayers": "3", 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 b4459bca1c66350ee3bf55688f3e3692f79be648..3d239be53b6ccc0e3850d8c346b218fb1e76001f 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 @@ -58,6 +58,7 @@ from Hlt2Conf.lines.b_to_open_charm import ( prefilters, ) from Hlt2Conf.lines.b_to_open_charm.filters import b_sigmanet_filter +from Hlt2Conf.lines.b_to_open_charm.persistency import make_iso_particles from Hlt2Conf.lines.b_to_open_charm.utils import update_makers, validate_config PROCESS = "hlt2" @@ -119,6 +120,7 @@ def make_hlt2_lines( custom_mva = extra_config.get("mva", {}) flavour_tagging = extra_config.get("flavour_tagging", []) pv_unbiasing = extra_config.get("pv_unbiasing", []) + isolation = extra_config.get("isolation", []) for decay in all_lines: # default configs @@ -126,6 +128,7 @@ def make_hlt2_lines( MVACut = -1 include_ft = False include_pv_tracks = False + include_isolation = False # custom configs if decay in custom_prescales.keys(): @@ -137,6 +140,8 @@ def make_hlt2_lines( MVACut = custom_mva[decay] # can be None or a non-default value if decay in pv_unbiasing: include_pv_tracks = True + if decay in isolation: + include_isolation = True @register_line_builder(line_dict) def make_hlt2_line( @@ -146,7 +151,9 @@ def make_hlt2_lines( MVACut=MVACut, include_ft=include_ft, include_pv_tracks=include_pv_tracks, + include_isolation=include_isolation, ): + extra_outputs = [] if MVACut == -1: # use default MVA b = line_makers[maker_name](process=PROCESS) line_alg = b_sigmanet_filter(b, default_MVACut) @@ -154,10 +161,13 @@ def make_hlt2_lines( line_alg = line_makers[maker_name](process=PROCESS) else: # use custom MVA line_alg = line_makers[maker_name](process=PROCESS, MVACut=MVACut) + if include_isolation: + extra_outputs += make_iso_particles(line_alg, name="B") return Hlt2Line( name=name, prescale=prescale, algs=prefilters.b2oc_prefilters() + [line_alg], + extra_outputs=extra_outputs, tagging_particles=include_ft, pv_tracks=include_pv_tracks, ) @@ -180,22 +190,22 @@ all_lines = [ "BdToDmK_DmToPimPimKp", "BdToDsmPi_DsmToKpKmPim", "BdToDsmK_DsmToKpKmPim", - #'BuToD0Pi_D0ToKsLLPi0Resolved', - #'BuToD0Pi_D0ToKsDDPi0Resolved', + "BuToD0Pi_D0ToKsLLPi0Resolved", + "BuToD0Pi_D0ToKsDDPi0Resolved", #'BuToD0Pi_D0ToKsLLPi0Merged', #'BuToD0Pi_D0ToKsDDPi0Merged', - #'BuToD0K_D0ToKsLLPi0Resolved', - #'BuToD0K_D0ToKsDDPi0Resolved', + "BuToD0K_D0ToKsLLPi0Resolved", + "BuToD0K_D0ToKsDDPi0Resolved", #'BuToD0K_D0ToKsLLPi0Merged', #'BuToD0K_D0ToKsDDPi0Merged', "BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToHH", "BuToDst0Pi_Dst0ToD0Gamma_D0ToHH", - #'BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHH', - #'BuToDst0K_Dst0ToD0Gamma_D0ToHH', - #'BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToHHWS', - #'BuToDst0Pi_Dst0ToD0Gamma_D0ToHHWS', - #'BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHHWS', - #'BuToDst0K_Dst0ToD0Gamma_D0ToHHWS', + "BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHH", + "BuToDst0K_Dst0ToD0Gamma_D0ToHH", + "BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToHHWS", + "BuToDst0Pi_Dst0ToD0Gamma_D0ToHHWS", + "BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHHWS", + "BuToDst0K_Dst0ToD0Gamma_D0ToHHWS", "BuToD0Pi_D0ToKsLLHH", "BuToD0Pi_D0ToKsDDHH", "BuToD0K_D0ToKsLLHH", @@ -204,13 +214,13 @@ all_lines = [ "BuToD0Pi_D0ToKsDDHHWS", "BuToD0K_D0ToKsLLHHWS", "BuToD0K_D0ToKsDDHHWS", - #'BuToD0K_D0ToHHPi0Resolved', - #'BuToD0Pi_D0ToHHPi0Resolved', + "BuToD0K_D0ToHHPi0Resolved", + "BuToD0Pi_D0ToHHPi0Resolved", #'BuToD0K_D0ToHHPi0Merged', #'BuToD0Pi_D0ToHHPi0Merged', - #'BuToD0Pi_D0ToHHPi0ResolvedWS', + "BuToD0Pi_D0ToHHPi0ResolvedWS", #'BuToD0Pi_D0ToHHPi0MergedWS', - #'BuToD0K_D0ToHHPi0ResolvedWS', + "BuToD0K_D0ToHHPi0ResolvedWS", #'BuToD0K_D0ToHHPi0MergedWS', "BuToD0Pi_D0ToHHHH", "BuToD0K_D0ToHHHH", @@ -224,12 +234,12 @@ all_lines = [ "BuToD0K_D0ToKsDDHHPi0Resolved", # rate checked to be fine, jessy.daniel@cern.ch #'BuToD0K_D0ToKsLLHHPi0Merged', #'BuToD0K_D0ToKsDDHHPi0Merged', - #'BuToD0Pi_D0ToKsLLHHWSPi0Resolved', - #'BuToD0Pi_D0ToKsDDHHWSPi0Resolved', + "BuToD0Pi_D0ToKsLLHHWSPi0Resolved", + "BuToD0Pi_D0ToKsDDHHWSPi0Resolved", #'BuToD0Pi_D0ToKsLLHHWSPi0Merged', #'BuToD0Pi_D0ToKsDDHHWSPi0Merged', - #'BuToD0K_D0ToKsLLHHWSPi0Resolved', - #'BuToD0K_D0ToKsDDHHWSPi0Resolved', + "BuToD0K_D0ToKsLLHHWSPi0Resolved", + "BuToD0K_D0ToKsDDHHWSPi0Resolved", #'BuToD0K_D0ToKsLLHHWSPi0Merged', #'BuToD0K_D0ToKsDDHHWSPi0Merged', "TbcToDpKm_DpToKmPipPip", @@ -256,7 +266,6 @@ all_lines = [ #'BdToD0KPi_D0ToHHPi0Merged', #'BdToD0KK_D0ToHHPi0Resolved', #'BdToD0KK_D0ToHHPi0Merged', - "BdToD0KK_D0ToHHHH", "BdToD0PbarP_D0ToHHHH", "BdToD0PiPiWS_D0ToHH", "BdToD0KPiWS_D0ToHH", @@ -268,9 +277,6 @@ all_lines = [ "BdToD0KPiWS_D0ToKsDDHH", "BdToD0KKWS_D0ToKsLLHH", "BdToD0KKWS_D0ToKsDDHH", - "BdToD0PiPiWS_D0ToHHHH", - "BdToD0KPiWS_D0ToHHHH", - "BdToD0KKWS_D0ToHHHH", "BdToD0PbarPWS_D0ToHHHH", #'BdToDst0KK_Dst0ToD0Gamma_D0ToHH', #'BdToDst0KK_Dst0ToD0Gamma_D0ToHHHH', @@ -407,11 +413,53 @@ all_lines = [ # lines from b_to_ddh "BdToDstD0K_DstToD0Pi_D0ToHH_D0ToHH", "TbcToD0DpPim_D0ToKPiOrKPiPiPi", + "BuToD0Ds2460p_Ds2460pToDsPiPi_DsToKHH_D0ToKPi", + "BuToD0Ds2460p_Ds2460pToDsPiPi_DsToKHH_D0ToKPiPiPi", + "BdToDmDs2460p_Ds2460pToDsPiPi_DsToKHH_DmToHHH", + "BdToDstmDs2460p_DstmToD0Pi_Ds2460pToDsPiPi_DsToKHH", + "BdToDsDs2460p_Ds2460pToDsPiPi_DsToKKPi", + "BdToD0D0Kst_D0ToHH", + "BdToD0D0Kst_D0ToHH_D0ToKPiPiPi", + "BdToD0D0Kst_D0ToHHHH", + "BdToD0D0Kst_D0ToHH_D0ToKsLLHH", + "BdToD0D0Kst_D0ToHH_D0ToKsDDHH", + "BdToD0D0Kst_D0ToKsLLHH", + "BdToD0D0Kst_D0ToKsLLHH_D0ToKsDDHH", + "BdToD0D0Kst_D0ToKsDDHH", + "BdToD0D0Kst_D0ToKsLLHH_D0ToHHHH", + "BdToD0D0Kst_D0ToKsDDHH_D0ToHHHH", + "BuToD0D0K_D0ToHH", + "BuToD0D0K_D0ToKsLLHH", + "BuToD0D0K_D0ToKsDDHH", + "BuToD0D0K_D0ToHHHH", + "BuToD0D0K_D0ToHH_D0ToKsLLHH", + "BuToD0D0K_D0ToHH_D0ToKsDDHH", + "BuToD0D0K_D0ToHH_D0ToKPiPiPi", + "BuToD0D0K_D0ToKsLLHH_D0ToKsDDHH", + "BuToD0D0K_D0ToKsLLHH_D0ToHHHH", + "BuToD0D0K_D0ToKsDDHH_D0ToHHHH", + "BuToD0D0Pi_D0ToHH", + "BuToD0D0Pi_D0ToKsLLHH", + "BuToD0D0Pi_D0ToKsDDHH", + "BuToD0D0Pi_D0ToHHHH", + "BuToD0D0Pi_D0ToHH_D0ToKsLLHH", + "BuToD0D0Pi_D0ToHH_D0ToKsDDHH", + "BuToD0D0Pi_D0ToHH_D0ToKPiPiPi", + "BuToD0D0Pi_D0ToKsLLHH_D0ToKsDDHH", + "BuToD0D0Pi_D0ToKsLLHH_D0ToHHHH", + "BuToD0D0Pi_D0ToKsDDHH_D0ToHHHH", + "BdToD0DK_D0ToKPiOrKPiPiPi_DToHHH", + "BdToD0DPi_D0ToKPi_DToHHH", + "BdToD0DPi_D0ToKPiPiPi_DToHHH", # lines from b_to_ddh_standalone "BdToDpDmKsDD_DpToHHH", "BdToDpDmKsLL_DpToHHH", + "BdToDspDmKsDD_DpToHHH", + "BdToDspDmKsLL_DpToHHH", "BdToDstDmKsDD_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH", - "BdToDstDmKSLL_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH", + "BdToDstDmKsLL_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH", + "BdToDstDsmKsDD_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH", + "BdToDstDsmKsLL_DstToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH", "BdToDstpDstmKsDD_DstpToD0Pi_D0ToKPiorKPiPiPi", "BdToDstpDstmKsLL_DstpToD0Pi_D0ToKPiorKPiPiPi", "BdToD0D0KsDD_D0ToHH", @@ -435,6 +483,7 @@ all_lines = [ "BdToD0D0KsLL_D0ToKsLLHH_D0ToHHHH", "BdToD0D0KsLL_D0ToKsDDHH_D0ToHHHH", "BuToDpDmK_DpToHHH", + "BdToDspDmKst_DspToKKPi", "BuToDstDK_DstToD0Pi_D0ToKPiOrKPiPiPi_DToHHH", "BuToDspDsmK_DspToKHH", "BuToDpDmPi_DpToHHH", @@ -446,6 +495,51 @@ all_lines = [ "BdToDstpDstmPhi_DstpToD0Pi_D0ToKPi_D0ToKPiPiPi", "BdToDstpDstmPhi_DstpToD0Pi_D0ToKPiPiPi_D0ToKPi", "BdToDstpDstmPhi_DstpToD0Pi_D0ToKPiPiPi_D0ToKPiPiPi", + "BdToDstD0K_DstToD0Pi_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi", + "BuToDstpDstmK_DstToD0Pi_D0ToKPiOrKPiPiPi", + "BdToDsD0Pi_DsToHHH_D0ToKPi", + "BdToDsD0Pi_DsToHHH_D0ToKPiPiPi", + "BdToDsD0K_DsToHHH_D0ToKPi", + "BdToDsD0K_DsToHHH_D0ToKPiPiPi", + "BuToDsD0Rho0_DspToKHH_D0ToKPi", + "BuToDsD0Rho0_DspToKHH_D0ToKPiPiPi", + "BdToDspDsmRho_DspToKKPi", + "BdToDstD0Pi_DstToD0Pi_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi", + "BdToDpDmKst_DpToHHH", + "BdToDstpDmKst_DstpToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH", + "BdToDstmDpKst_DstmToD0Pi_D0ToKPiOrKPiPiPi_DpToHHH", + "BdToDspDsmKst_DspToKKPi", + "BuToDstDPi_DstToD0Pi_D0ToKPiOrKPiPiPi_DToHHH", + "BuToDstpDstmPi_DstpToD0Pi_D0ToKPiOrKPiPiPi", + "BuToDspDsmPi_DspToKKPi", + "BuToD0DpKst_D0ToKPi_DpToHHH", + "BuToD0DpKst_D0ToKPiPiPi_DpToHHH", + "BuToDstpD0Kst_DstpToD0Pi_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi", + "BuToDspDmPi_DspToHHH_DmToHHH", + "BuToDstmDspPi_DstmToD0Pi_D0ToKPiOrKPiPiPi_DspToHHH", + "BuToDsD0Phi_DspToKHH_D0ToKPi", + "BuToDsD0Phi_DspToKHH_D0ToKPiPiPi", + "BdToD0D0Phi_D0ToHH", + "BdToD0D0Phi_D0ToKsLLHH", + "BdToD0D0Phi_D0ToKsDDHH", + "BdToD0D0Phi_D0ToHHHH", + "BdToD0D0Phi_D0ToHH_D0ToKsLLHH", + "BdToD0D0Phi_D0ToHH_D0ToKsDDHH", + "BdToD0D0Phi_D0ToHH_D0ToHHHH", + "BdToD0D0Phi_D0ToKsLLHH_D0ToKsDDHH", + "BdToD0D0Phi_D0ToKsLLHH_D0ToHHHH", + "BdToD0D0Phi_D0ToKsDDHH_D0ToHHHH", + "BdToDpDmPhi_DpToHHH", + "BdToDsDPhi_DsToHHH_DToHHH", + "BdToDspDsmPhi_DspToHHH", + "BdToDstDsPhi_DstToD0Pi_D0ToKPiOrKPiPiPi_DsToHHH", + "BuToD0DPhi_D0ToKPi_DToHHH", + "BuToD0DPhi_D0ToKPiPiPi_DToHHH", + "BuToDstD0Phi_DstToD0Pi_D0ToKPiorKPiPiPi_D0ToKPiorKPiPiPi", + "BdToDstDPhi_DstToD0Pi_D0ToKPiorKPiPiPi_DToHHH", + "BuToDstpDstmKst_DstpToD0Pi_D0ToKPiOrKPiPiPi", + "BdToDspDmRho0_DspToKKPi_DmToHHH", + "BdToDstmDspRho0_DstmToD0Pi_D0ToKPiOrKPiPiPi_DspToKHH", # lines from b_to_ddhh "TbcToD0D0PipPim_D0ToKPiOrKPiPiPi", # lines from b_to_cbaryon_h @@ -468,8 +562,8 @@ all_lines = [ "BuToLcpXicmPi_LcpToPKPi_XicmToPKPi", "BdToScmmLcpK_ScmmToLcmPi_LcmToPKPi_LcpToPKPi", # lines from bbaryon_to_cbaryons_h - "Lb0ToLcpLcmN0", - "Lb0ToPbarPN0", + "LbToLcpLcmN0", + "LbToPbarPN0", # lines from bbaryon_to_cbaryon_h "LbToLcpPi_LcpToPKPi", "LbToLcpPi_LcpToPPiPi", @@ -567,11 +661,18 @@ all_lines = [ "LbToLambdaTTD0_D0ToKsLLHHWS", "LbToLambdaLLD0_D0ToHH", "LbToLambdaLLD0_D0ToHHHH", - "LbToLambdaLLD0_D0ToHHHHWS", + "LbToLambdaDDD0_D0ToHH", + "LbToLambdaDDD0_D0ToHHHH", "LbToLambdaLLD0_D0ToKsLLHH", "LbToLambdaLLD0_D0ToKsDDHH", "LbToLambdaDDD0_D0ToKsLLHH", "LbToLambdaDDD0_D0ToKsDDHH", + "LbToLambdaLLD0_D0ToHHHHWS", + "LbToLambdaDDD0_D0ToHHHHWS", + "LbToLambdaLLD0_D0ToKsLLHHWS", + "LbToLambdaLLD0_D0ToKsDDHHWS", + "LbToLambdaDDD0_D0ToKsLLHHWS", + "LbToLambdaDDD0_D0ToKsDDHHWS", "LbToXimDsp_DspToKKPi_XimToLambdaLLPi", "LbToXimDsp_DspToKKPi_XimToLambdaDDPi", "Xib0ToXimDp_DpToKPiPi_XimToLambdaLLPi", @@ -620,6 +721,7 @@ all_lines = [ "XibcpToD0LambdaDDPip_D0ToKPiOrKPiPiPi", # lines from bbaryon_to_lightbaryon_dd "XibcpToPD0D0_D0ToKPiOrKPiPiPi", + "LbToD0DsmP_D0ToKPiOrKPiPiPi_DsmToHHH", # lines from bbaryon_to_lightbaryon_ddh "LbToDpDmPK_DpToHHH", "Xibc0ToD0D0PPim_D0ToKPiOrKPiPiPi", @@ -673,9 +775,6 @@ extra_config = { "BdToD0KPiWS_D0ToKsDDHH": 0.1, "BdToD0KKWS_D0ToKsLLHH": 0.1, "BdToD0KKWS_D0ToKsDDHH": 0.1, - "BdToD0PiPiWS_D0ToHHHH": 0.1, - "BdToD0KPiWS_D0ToHHHH": 0.1, - "BdToD0KKWS_D0ToHHHH": 0.1, "BdToD0PbarPWS_D0ToHHHH": 0.1, #'BdToD0PiPiWS_D0ToHHPi0Resolved': 0.1, #'BdToD0PiPiWS_D0ToHHPi0Merged': 0.1, @@ -731,6 +830,13 @@ extra_config = { "LbToLcpPiPiPiWS_LcpToPPiPi": 0.1, "LbToLcpPiPiPiWS_LcpToPKK": 0.1, "OmbmToOmc0PiPiPiWS_Omc0ToPKKPi": 0.1, + # lines from bbaryon_to_lightbaryon_d + "LbToLambdaLLD0_D0ToHHHHWS": 0.1, + "LbToLambdaDDD0_D0ToHHHHWS": 0.1, + "LbToLambdaLLD0_D0ToKsLLHHWS": 0.1, + "LbToLambdaLLD0_D0ToKsDDHHWS": 0.1, + "LbToLambdaDDD0_D0ToKsLLHHWS": 0.1, + "LbToLambdaDDD0_D0ToKsDDHHWS": 0.1, # lines from bbaryon_to_lightbaryon_dh "LbToD0PPi_D0ToKsLLHHWS": 0.1, "LbToD0PPi_D0ToKsDDHHWS": 0.1, @@ -745,10 +851,10 @@ extra_config = { "LbToD0PPiWS_D0ToHHHH": 0.1, "LbToD0PKWS_D0ToHHHH": 0.1, # lines for SigmaNet background - "BdToDmPiSB_DmToPimPimKp": 0.5, + "BdToDmPiSB_DmToPimPimKp": 0.25, "LbToLcpPiSB_LcpToPKPi": 1.0, - "BuToD0PiSB_D0ToHH": 0.25, - "BdToD0PiPiSB_D0ToHH": 1.0, + "BuToD0PiSB_D0ToHH": 0.125, + "BdToD0PiPiSB_D0ToHH": 0.25, }, # custom MVA cut # `None` means MVA-unfiltered @@ -773,7 +879,6 @@ extra_config = { "BdToDsmK_DsmToKpKmPim", # lines from b_to_dhh "BdToD0KK_D0ToHH", - "BdToD0KK_D0ToHHHH", #'BdToD0KK_D0ToHHPi0Resolved', #'BdToD0KK_D0ToHHPi0Merged', "BdToD0KK_D0ToKsLLHH", @@ -828,6 +933,16 @@ extra_config = { "BdToD0D0KsDD_D0ToKsLLHH_D0ToKsDDHH", "BdToD0D0KsDD_D0ToKsLLHH_D0ToHHHH", "BdToD0D0KsDD_D0ToKsDDHH_D0ToHHHH", + "BdToD0D0Phi_D0ToHH", + "BdToD0D0Phi_D0ToKsLLHH", + "BdToD0D0Phi_D0ToKsDDHH", + "BdToD0D0Phi_D0ToHHHH", + "BdToD0D0Phi_D0ToHH_D0ToKsLLHH", + "BdToD0D0Phi_D0ToHH_D0ToKsDDHH", + "BdToD0D0Phi_D0ToHH_D0ToHHHH", + "BdToD0D0Phi_D0ToKsLLHH_D0ToKsDDHH", + "BdToD0D0Phi_D0ToKsLLHH_D0ToHHHH", + "BdToD0D0Phi_D0ToKsDDHH_D0ToHHHH", ], "pv_unbiasing": [ # PV-unbiasing is automatically added for all FT lines, @@ -835,6 +950,74 @@ extra_config = { "BdToDmPi_DmToPimPimKp_LTU", "BdToDsmK_DsmToKpKmPim_LTU", "BdToDsmKPiPi_DsmToKmKpPim_LTU", + "BuToD0Pi_D0ToHH", + "LbToLcpPi_LcpToPKPi", + "OmbmToOmc0Pi_Omc0ToPKKPi", + "Xib0ToXicpPi_XicpToPKPi", + "XibmToXic0Pi_Xic0ToPKKPi", + "XibmToLcpKK_LcpToPKPi", + "XibmToLcpKPi_LcpToPKPi", + "XibmToLcpPiPi_LcpToPKPi", + "XibmToXicpKPi_XicpToPKPi", + "OmbmToOmc0PiPiPi_Omc0ToPKKPi", + "XibmToXic0PiPiPi_Xic0ToPKKPi", + ], + "isolation": [ + "BuToD0Pi_D0ToHH", + "BuToD0K_D0ToHH", + "BuToD0Pi_D0ToHHWS", + "BuToD0K_D0ToHHWS", + "BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToHH", + "BuToDst0Pi_Dst0ToD0Gamma_D0ToHH", + "BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHH", + "BuToDst0K_Dst0ToD0Gamma_D0ToHH", + "BuToDst0Pi_Dst0ToD0Pi0Resolved_D0ToHHWS", + "BuToDst0Pi_Dst0ToD0Gamma_D0ToHHWS", + "BuToDst0K_Dst0ToD0Pi0Resolved_D0ToHHWS", + "BuToDst0K_Dst0ToD0Gamma_D0ToHHWS", + "BuToD0Pi_D0ToKsLLHH", + "BuToD0Pi_D0ToKsDDHH", + "BuToD0K_D0ToKsLLHH", + "BuToD0K_D0ToKsDDHH", + "BuToD0Pi_D0ToKsLLHHWS", + "BuToD0Pi_D0ToKsDDHHWS", + "BuToD0K_D0ToKsLLHHWS", + "BuToD0K_D0ToKsDDHHWS", + "BuToD0K_D0ToHHPi0Resolved", + "BuToD0Pi_D0ToHHPi0Resolved", + #'BuToD0K_D0ToHHPi0Merged', + #'BuToD0Pi_D0ToHHPi0Merged', + "BuToD0Pi_D0ToHHPi0ResolvedWS", + #'BuToD0Pi_D0ToHHPi0MergedWS', + "BuToD0K_D0ToHHPi0ResolvedWS", + #'BuToD0K_D0ToHHPi0MergedWS', + "BuToD0Pi_D0ToHHHH", + "BuToD0K_D0ToHHHH", + "BuToD0Pi_D0ToHHHHWS", + "BuToD0K_D0ToHHHHWS", + "BuToD0Pi_D0ToKsLLHHPi0Resolved", + "BuToD0Pi_D0ToKsDDHHPi0Resolved", # rate checked to be fine, jessy.daniel@cern.ch + #'BuToD0Pi_D0ToKsLLHHPi0Merged', + #'BuToD0Pi_D0ToKsDDHHPi0Merged', + "BuToD0K_D0ToKsLLHHPi0Resolved", + "BuToD0K_D0ToKsDDHHPi0Resolved", # rate checked to be fine, jessy.daniel@cern.ch + #'BuToD0K_D0ToKsLLHHPi0Merged', + #'BuToD0K_D0ToKsDDHHPi0Merged', + "BuToD0Pi_D0ToKsLLHHWSPi0Resolved", + "BuToD0Pi_D0ToKsDDHHWSPi0Resolved", + #'BuToD0Pi_D0ToKsLLHHWSPi0Merged', + #'BuToD0Pi_D0ToKsDDHHWSPi0Merged', + "BuToD0K_D0ToKsLLHHWSPi0Resolved", + "BuToD0K_D0ToKsDDHHWSPi0Resolved", + #'BuToD0K_D0ToKsLLHHWSPi0Merged', + #'BuToD0K_D0ToKsDDHHWSPi0Merged', + "BuToD0K_D0ToKsDDPi0Resolved", + "BuToD0K_D0ToKsLLPi0Resolved", + "BuToD0Pi_D0ToKsDDPi0Resolved", + "BuToD0Pi_D0ToKsLLPi0Resolved", + "BdToDstmMuNu_DstmToD0Pi_D0ToHHHH", + "BdToDstmMuNu_DstmToD0Pi_D0ToKsDDHH", + "BdToDstmMuNu_DstmToD0Pi_D0ToKsLLHH", ], } diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/persistency.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/persistency.py index 0cfbe67ac941a23a7940f067e18b7721d381b3c5..8fa08d946ce3571445eaea2841c2ecaee49e9d0a 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/persistency.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/persistency.py @@ -98,7 +98,7 @@ def select_parts_for_isolation( def make_iso_particles( line_alg, name="B", - coneangle=2.5, + coneangle=1.0, LongTrackIso=True, TTrackIso=False, DownstreamTrackIso=False, 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 8d0a64019f633478e420ad19542e795bb1f003e1..8f39809110fa8f917ea554f04a473f6dd5c33535 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 @@ -319,18 +319,6 @@ all_lines = [ #'BdToD0KPiWS_D0ToHH', #'BdToD0KKWS_D0ToHH', #'BdToD0PbarPWS_D0ToHH', - "BdToD0PiPi_D0ToKsLLHH", - "BdToD0PiPi_D0ToKsDDHH", - "BdToD0KPi_D0ToKsLLHH", - "BdToD0KPi_D0ToKsDDHH", - "BdToD0KK_D0ToKsLLHH", - "BdToD0KK_D0ToKsDDHH", - "BdToD0PiPiWS_D0ToKsLLHH", - "BdToD0PiPiWS_D0ToKsDDHH", - "BdToD0KPiWS_D0ToKsLLHH", - "BdToD0KPiWS_D0ToKsDDHH", - "BdToD0KKWS_D0ToKsLLHH", - "BdToD0KKWS_D0ToKsDDHH", "BdToD0PiPi_D0ToHHHH", "BdToD0KPi_D0ToHHHH", "BdToD0KK_D0ToHHHH", @@ -468,145 +456,137 @@ all_lines = [ "BdToDstpDstm_DstpToD0Pi_D0ToHHHH", "BdToDstpDstm_DstpToD0Pi_D0ToHH_D0ToHHHH", # lines from b_to_ddh - "BdToD0D0Kst_D0ToHH", - "BdToD0D0Kst_D0ToHH_D0ToHHHH", - "BdToD0D0Kst_D0ToHHHH", - "BdToD0D0Kst_D0ToHH_D0ToKsLLHH", - "BdToD0D0Kst_D0ToHH_D0ToKsDDHH", - "BdToD0D0Kst_D0ToKsLLHH", - "BdToD0D0Kst_D0ToKsLLHH_D0ToKsDDHH", - "BdToD0D0Kst_D0ToKsDDHH", - "BdToD0D0Kst_D0ToKsLLHH_D0ToHHHH", - "BdToD0D0Kst_D0ToKsDDHH_D0ToHHHH", - "BuToD0Ds2460p_Ds2460pToDsPiPi_DsToKHH_D0ToKPi", - "BuToD0Ds2460p_Ds2460pToDsPiPi_DsToKHH_D0ToKPiPiPi", - "BdToDmDs2460p_Ds2460pToDsPiPi_DsToKHH_DmToHHH", - "BdToDstmDs2460p_DstmToD0Pi_Ds2460pToDsPiPi_DsToKHH", - "BdToDst0DsPi_Dst0ToD0Pi0Merged_D0ToKPiOrKPiPiPi_DsToHHH", - "BuToD0D0K_D0ToHH", - "BuToD0D0K_D0ToKsLLHH", - "BuToD0D0K_D0ToKsDDHH", - "BuToD0D0K_D0ToHHHH", - "BuToD0D0K_D0ToHH_D0ToKsLLHH", - "BuToD0D0K_D0ToHH_D0ToKsDDHH", - "BuToD0D0K_D0ToHH_D0ToHHHH", - "BuToD0D0K_D0ToKsLLHH_D0ToKsDDHH", - "BuToD0D0K_D0ToKsLLHH_D0ToHHHH", - "BuToD0D0K_D0ToKsDDHH_D0ToHHHH", - "BuToD0D0Pi_D0ToHH", - "BuToD0D0Pi_D0ToKsLLHH", - "BuToD0D0Pi_D0ToKsDDHH", - "BuToD0D0Pi_D0ToHHHH", - "BuToD0D0Pi_D0ToHH_D0ToKsLLHH", - "BuToD0D0Pi_D0ToHH_D0ToKsDDHH", - "BuToD0D0Pi_D0ToHH_D0ToHHHH", - "BuToD0D0Pi_D0ToKsLLHH_D0ToKsDDHH", - "BuToD0D0Pi_D0ToKsLLHH_D0ToHHHH", - "BuToD0D0Pi_D0ToKsDDHH_D0ToHHHH", - "BdToDst0DspPi_Dst0ToD0Gamma_D0ToKPiOrKPiPiPi_DspToHHH", "BdToDsstpD0Pi_DsstpToDspGamma_DspToHHH_D0ToKPiOrKPiPiPi", "BuToDsstpDmPi_DsstpToDspGamma_DspToHHH_DmToHHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToKsLLHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToKsLLHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToKsLLHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToKsLLHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToKsDDHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToKsDDHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToKsDDHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToKsDDHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToHHHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToHHHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToHHHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToHHHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToKsLLHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToKsLLHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToKsLLHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToKsLLHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToKsDDHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToKsDDHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToKsDDHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToKsDDHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToHH_D0ToHHHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToHHHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHH_D0ToHHHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHH_D0ToHHHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToKsDDHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToKsDDHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToKsDDHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToKsDDHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToKsLLHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToKsLLHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToKsLLHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToKsLLHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToKsLLHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToKsLLHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToKsLLHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToKsLLHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToKsLLHH_D0ToHHHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToHHHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsLLHH_D0ToHHHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH_D0ToHHHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToHHHH_D0ToKsDDHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToKsDDHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToHHHH_D0ToKsDDHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToHHHH_D0ToKsDDHH", "BuToDst0D0K_Dst0ToD0Gamma_D0ToKsDDHH_D0ToHHHH", - "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToHHHH", + # "BuToDst0D0K_Dst0ToD0Pi0Merged_D0ToKsDDHH_D0ToHHHH", "BuToDst0D0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH_D0ToHHHH", - "BuToDsD0Pi0Merged_DsToKKPi_D0ToKPiOrKPiPiPi", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHH_D0ToHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsLLHH_D0ToKsLLHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsDDHH_D0ToKsDDHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHHHH_D0ToHHHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHH_D0ToKsLLHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsLLHH_D0ToHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHH_D0ToKsDDHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsDDHH_D0ToHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsLLHH_D0ToKsDDHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsDDHH_D0ToKsLLHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHH_D0ToHHHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHHHH_D0ToHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHHHH_D0ToKsLLHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsLLHH_D0ToHHHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToHHHH_D0ToKsDDHH", + "BdToDst0DstK_Dst0ToD0Gamma_DstToD0Pi_D0ToKsDDHH_D0ToHHHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHH_D0ToHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsLLHH_D0ToKsLLHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsDDHH_D0ToKsDDHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHHHH_D0ToHHHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHH_D0ToKsLLHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsLLHH_D0ToHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHH_D0ToKsDDHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsDDHH_D0ToHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsLLHH_D0ToKsDDHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsDDHH_D0ToKsLLHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHH_D0ToHHHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHHHH_D0ToHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHHHH_D0ToKsLLHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsLLHH_D0ToHHHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToHHHH_D0ToKsDDHH", + # "BdToDst0DstK_Dst0ToD0Pi0Merged_DstToD0Pi_D0ToKsDDHH_D0ToHHHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHH_D0ToHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsLLHH_D0ToKsLLHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsDDHH_D0ToKsDDHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHHHH_D0ToHHHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHH_D0ToKsLLHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsLLHH_D0ToHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHH_D0ToKsDDHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsDDHH_D0ToHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsLLHH_D0ToKsDDHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsDDHH_D0ToKsLLHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHH_D0ToHHHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHHHH_D0ToHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHHHH_D0ToKsLLHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsLLHH_D0ToHHHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToHHHH_D0ToKsDDHH", + "BdToDst0DstK_Dst0ToD0Pi0Resolved_DstToD0Pi_D0ToKsDDHH_D0ToHHHH", + # "BuToDsD0Pi0Merged_DsToKKPi_D0ToKPi", + # "BuToDsD0Pi0Merged_DsToKKPi_D0ToKPiPiPi", "BuToDsD0Pi0Resolved_DsToKKPi_D0ToKPi", "BuToDsD0Pi0Resolved_DsToKKPi_D0ToKPiPiPi", - "BdToDst0DK_Dst0ToD0Gamma_D0ToKPiOrKPiPiPi_DToHHH", - "BdToDst0DK_Dst0ToD0Pi0Merged_D0ToKPiOrKPiPiPi_DToHHH", - "BdToDst0DK_Dst0ToD0Pi0Resolved_D0ToKPiOrKPiPiPi_DToHHH", - "BdToDst0DsPi_Dst0ToD0Pi0Resolved_D0ToKPiOrKPiPiPi_DsToHHH", + # "BdToDsDmPi0Merged_DsToKKPi_DToHHH", + "BdToDsDmPi0Resolved_DsToKKPi_DToHHH", + "BdToDst0DK_Dst0ToD0Gamma_D0ToHH_DToHHH", + "BdToDst0DK_Dst0ToD0Gamma_D0ToHHHH_DToHHH", + "BdToDst0DK_Dst0ToD0Gamma_D0ToKsLLHH_DToHHH", + "BdToDst0DK_Dst0ToD0Gamma_D0ToKsDDHH_DToHHH", + # "BdToDst0DK_Dst0ToD0Pi0Merged_D0ToHH_DToHHH", + # "BdToDst0DK_Dst0ToD0Pi0Merged_D0ToHHHH_DToHHH", + # "BdToDst0DK_Dst0ToD0Pi0Merged_D0ToKsLLHH_DToHHH", + # "BdToDst0DK_Dst0ToD0Pi0Merged_D0ToKsDDHH_DToHHH", + "BdToDst0DK_Dst0ToD0Pi0Resolved_D0ToHH_DToHHH", + "BdToDst0DK_Dst0ToD0Pi0Resolved_D0ToHHHH_DToHHH", + "BdToDst0DK_Dst0ToD0Pi0Resolved_D0ToKsLLHH_DToHHH", + "BdToDst0DK_Dst0ToD0Pi0Resolved_D0ToKsDDHH_DToHHH", + # "BdToDst0DsPi_Dst0ToD0Pi0Merged_D0ToHH_DsToHHH", + # "BdToDst0DsPi_Dst0ToD0Pi0Merged_D0ToHHHH_DsToHHH", + # "BdToDst0DsPi_Dst0ToD0Pi0Merged_D0ToKsLLHH_DsToHHH", + # "BdToDst0DsPi_Dst0ToD0Pi0Merged_D0ToKsDDHH_DsToHHH", + "BdToDst0DsPi_Dst0ToD0Pi0Resolved_D0ToHH_DsToHHH", + "BdToDst0DsPi_Dst0ToD0Pi0Resolved_D0ToHHHH_DsToHHH", + "BdToDst0DsPi_Dst0ToD0Pi0Resolved_D0ToKsLLHH_DsToHHH", + "BdToDst0DsPi_Dst0ToD0Pi0Resolved_D0ToKsDDHH_DsToHHH", + "BdToDst0DsPi_Dst0ToD0Gamma_D0ToHH_DsToHHH", + "BdToDst0DsPi_Dst0ToD0Gamma_D0ToHHHH_DsToHHH", + "BdToDst0DsPi_Dst0ToD0Gamma_D0ToKsLLHH_DsToHHH", + "BdToDst0DsPi_Dst0ToD0Gamma_D0ToKsDDHH_DsToHHH", + # "BdToDspDsmPi0Merged_DsToKKPi", + "BdToDspDsmPi0Resolved_DsToKKPi", # lines from b_to_ddh_standalone - "BdToD0DK_D0ToKPiOrKPiPiPi_DToHHH", - "BdToD0DPi_D0ToKPi_DToHHH", - "BdToD0DPi_D0ToKPiPiPi_DToHHH", - "BdToDstD0K_DstToD0Pi_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi", - "BdToDstD0Pi_DstToD0Pi_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi", - "BdToDpDmKst_DpToHHH", - "BdToDstpDmKst_DstpToD0Pi_D0ToKPiOrKPiPiPi_DmToHHH", - "BdToDstmDpKst_DstmToD0Pi_D0ToKPiOrKPiPiPi_DpToHHH", - "BdToDspDsmKst_DspToKHH", - "BuToDstpDstmK_DstToD0Pi_D0ToKPiOrKPiPiPi", - "BuToDstDPi_DstToD0Pi_D0ToKPiOrKPiPiPi_DToHHH", - "BuToDstpDstmPi_DstpToD0Pi_D0ToKPiOrKPiPiPi", - "BuToDspDsmPi_DspToKHH", - "BuToD0DpKst_D0ToKPi_DpToHHH", - "BuToD0DpKst_D0ToKPiPiPi_DpToHHH", - "BuToDstpD0Kst_DstpToD0Pi_D0ToKPiOrKPiPiPi_D0ToKPiOrKPiPiPi", - "BuToDspDmPi_DspToHHH_DmToHHH", - "BuToDstmDspPi_DstmToD0Pi_D0ToKPiOrKPiPiPi_DspToHHH", - "BdToDsD0Pi_DsToHHH_D0ToKPi", - "BdToDsD0Pi_DsToHHH_D0ToKPiPiPi", - "BuToDsD0Phi_DspToKHH_D0ToKPi", - "BuToDsD0Phi_DspToKHH_D0ToKPiPiPi", - "BdToD0D0Phi_D0ToHH", - "BdToD0D0Phi_D0ToKsLLHH", - "BdToD0D0Phi_D0ToKsDDHH", - "BdToD0D0Phi_D0ToHHHH", - "BdToD0D0Phi_D0ToHH_D0ToKsLLHH", - "BdToD0D0Phi_D0ToHH_D0ToKsDDHH", - "BdToD0D0Phi_D0ToHH_D0ToHHHH", - "BdToD0D0Phi_D0ToKsLLHH_D0ToKsDDHH", - "BdToD0D0Phi_D0ToKsLLHH_D0ToHHHH", - "BdToD0D0Phi_D0ToKsDDHH_D0ToHHHH", - "BdToDpDmPhi_DpToHHH", - "BdToDsDPhi_DsToHHH_DToHHH", - "BdToDspDsmPhi_DspToHHH", - "BdToDstDsPhi_DstToD0Pi_D0ToKPiOrKPiPiPi_DsToHHH", - "BuToD0DPhi_D0ToKPi_DToHHH", - "BuToD0DPhi_D0ToKPiPiPi_DToHHH", - "BuToDstD0Phi_DstToD0Pi_D0ToKPiorKPiPiPi_D0ToKPiorKPiPiPi", - "BdToDstDPhi_DstToD0Pi_D0ToKPiorKPiPiPi_DToHHH", - "BuToDstpDstmKst_DstpToD0Pi_D0ToKPiOrKPiPiPi", - "BuToDsD0Rho0_DspToKHH_D0ToKPi", - "BuToDsD0Rho0_DspToKHH_D0ToKPiPiPi", - "BdToDspDmRho0_DspToKHH_DmToHHH", - "BdToDstmDspRho0_DstmToD0Pi_D0ToKPiOrKPiPiPi_DspToKHH", # lines from bbaryon_to_cbaryon_h #'OmbmToOmc0PiGammaWS_Omc0ToPKKPi', #'OmbmToOmc0PiGamma_Omc0ToPKKPi', @@ -649,20 +629,6 @@ all_lines = [ "LbToLcpDmPipKm_LcpToPKPi_DmToKPiPi", # lines from bbaryon_to_lightbaryon_d "LbToDsmP_DsmToHHH", - "LbToLambdaLLD0_D0ToHH", - "LbToLambdaLLD0_D0ToHHHH", - "LbToLambdaDDD0_D0ToHH", - "LbToLambdaDDD0_D0ToHHHH", - "LbToLambdaLLD0_D0ToKsLLHH", - "LbToLambdaLLD0_D0ToKsDDHH", - "LbToLambdaDDD0_D0ToKsLLHH", - "LbToLambdaDDD0_D0ToKsDDHH", - "LbToLambdaLLD0_D0ToHHHHWS", - "LbToLambdaDDD0_D0ToHHHHWS", - "LbToLambdaLLD0_D0ToKsLLHHWS", - "LbToLambdaLLD0_D0ToKsDDHHWS", - "LbToLambdaDDD0_D0ToKsLLHHWS", - "LbToLambdaDDD0_D0ToKsDDHHWS", # lines from bbaryon_to_lightbaryon_dh "XibmToDmPK_DmToHHH", "XibmToDmPPi_DmToHHH", @@ -701,10 +667,6 @@ all_lines = [ "LbToDstDLambdaDD_DstToD0Pi_D0ToHH_DToHHH", "LbToDstDLambdaLL_DstToD0Pi_D0ToKPiPiPi_DToHHH", "LbToDstDLambdaDD_DstToD0Pi_D0ToKPiPiPi_DToHHH", - "LbToD0DsmP_D0ToKPiOrKPiPiPi_DsmToHHH", - # lines from bbaryon_to_cbaryons_h - "Lb0ToLcpLcmN0", - "Lb0ToPbarPN0", # lines from b_to_cbaryons "BdToLcpLcm_LcpToPHH", "BdToXicpXicm_XicpToPKPi", @@ -780,13 +742,6 @@ extra_config = { "BuToD0KsDDPi_D0ToKsDDHHWS": 0.1, "BuToD0KsLLPi_D0ToHHHHWS": 0.1, "BuToD0KsDDPi_D0ToHHHHWS": 0.1, - # lines from bbaryon_to_lightbaryon_d - "LbToLambdaLLD0_D0ToHHHHWS": 0.1, - "LbToLambdaDDD0_D0ToHHHHWS": 0.1, - "LbToLambdaLLD0_D0ToKsLLHHWS": 0.1, - "LbToLambdaLLD0_D0ToKsDDHHWS": 0.1, - "LbToLambdaDDD0_D0ToKsLLHHWS": 0.1, - "LbToLambdaDDD0_D0ToKsDDHHWS": 0.1, #'BuToD0PiPi0Resolved_D0ToHH': 0.1, #'BuToD0PiPi0Merged_D0ToHH': 0.1, #'BuToD0KPi0Resolved_D0ToHH': 0.1, @@ -842,12 +797,7 @@ extra_config = { # lines from b_to_dhh #'BdToD0KK_D0ToHH', "BdToD0KK_D0ToHHHH", - "BdToD0KK_D0ToKsLLHH", - "BdToD0KK_D0ToKsDDHH", - #'BdToD0PiPi_D0ToHH', "BdToD0PiPi_D0ToHHHH", - "BdToD0PiPi_D0ToKsLLHH", - "BdToD0PiPi_D0ToKsDDHH", #'BdToDst0KK_Dst0ToD0Gamma_D0ToHH', #'BdToDst0KK_Dst0ToD0Pi0Resolved_D0ToHH', #'BdToDst0PiPi_Dst0ToD0Gamma_D0ToHH', @@ -883,21 +833,22 @@ extra_config = { "BdToDstpDstm_DstpToD0Pi_D0ToHHHH", "BdToDstpDstm_DstpToD0Pi_D0ToHH_D0ToHHHH", # lines from b_to_ddh_standalone - "BdToD0D0Phi_D0ToHH", - "BdToD0D0Phi_D0ToKsLLHH", - "BdToD0D0Phi_D0ToKsDDHH", - "BdToD0D0Phi_D0ToHHHH", - "BdToD0D0Phi_D0ToHH_D0ToKsLLHH", - "BdToD0D0Phi_D0ToHH_D0ToKsDDHH", - "BdToD0D0Phi_D0ToHH_D0ToHHHH", - "BdToD0D0Phi_D0ToKsLLHH_D0ToKsDDHH", - "BdToD0D0Phi_D0ToKsLLHH_D0ToHHHH", - "BdToD0D0Phi_D0ToKsDDHH_D0ToHHHH", + "BdToDsstmPi_DsstmToDsmGamma_DsmToHHH", + "BdToDmKsLLPi_DmToHHH", ], "pv_unbiasing": [ # PV-unbiasing is automatically added for all FT lines, # book line here if FT is not required but PV-unbiasing is required. "BdToDsmK_DsmToKpKmPim_LTU", + "BdToDmPiPiPi_DmToPimPimKp", + "BdToDsmPiPiPi_DsmToKmKpPim", + "BuToD0PiPiPi_D0ToHH", + "XibmToLcpKK_LcpToPKPi", + "XibmToLcpKPi_LcpToPKPi", + "XibmToLcpPiPi_LcpToPKPi", + "XibmToXicpKPi_XicpToPKPi", + "LbToLcpPiPiPi_LcpToPKPi", + "Xib0ToXicpPiPiPi_XicpToPKPi", ], "isolation": [ "BuToD0Pi_D0ToHH", @@ -908,6 +859,44 @@ extra_config = { "BuToD0K_D0ToKsDDHH", "BuToD0Pi_D0ToHHHH", "BuToD0K_D0ToHHHH", + "BuToD0K_PartialD0ToKsDDHH", + "BuToD0K_PartialD0ToKsDDHHWS", + "BuToD0K_PartialD0ToKsLLHH", + "BuToD0K_PartialD0ToKsLLHHWS", + "BuToD0Pi_PartialD0ToKsDDHH", + "BuToD0Pi_PartialD0ToKsDDHHWS", + "BuToD0Pi_PartialD0ToKsLLHH", + "BuToD0Pi_PartialD0ToKsLLHHWS", + "BuToDst0K_Dst0ToD0Gamma_D0ToKsDDHH", + "BuToDst0K_Dst0ToD0Gamma_D0ToKsLLHH", + "BuToDst0K_Dst0ToD0Pi0Merged_D0ToKsDDHH", + "BuToDst0K_Dst0ToD0Pi0Merged_D0ToKsLLHH", + "BuToDst0K_Dst0ToD0Pi0Resolved_D0ToKsDDHH", + "BuToDst0K_Dst0ToD0Pi0Resolved_D0ToKsLLHH", + "BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToKsDDHH", + "BuToDst0Pi_Dst0ToD0Pi0Merged_D0ToKsLLHH", + "BuToD0KsDDPi_D0ToHH", + "BuToD0KsDDPi_D0ToHHHH", + "BuToD0KsDDPi_D0ToHHHHWS", + "BuToD0KsDDPi_D0ToHHWS", + "BuToD0KsDDPi_D0ToKsDDHH", + "BuToD0KsDDPi_D0ToKsDDHHWS", + "BuToD0KsDDPi_D0ToKsLLHH", + "BuToD0KsDDPi_D0ToKsLLHHWS", + "BuToD0KsLLPi_D0ToHH", + "BuToD0KsLLPi_D0ToHHHH", + "BuToD0KsLLPi_D0ToHHHHWS", + "BuToD0KsLLPi_D0ToHHWS", + "BuToD0KsLLPi_D0ToKsDDHH", + "BuToD0KsLLPi_D0ToKsDDHHWS", + "BuToD0KsLLPi_D0ToKsLLHH", + "BuToD0KsLLPi_D0ToKsLLHHWS", + "BuToD0KPiPi_D0ToHHHH", + "BuToD0KPiPi_D0ToHHHHWS", + "BuToD0KPiPi_D0ToHHWS", + "BuToD0PiPiPi_D0ToHHHH", + "BuToD0PiPiPi_D0ToHHHHWS", + "BuToD0PiPiPi_D0ToHHWS", ], } diff --git a/Hlt/Moore/tests/qmtest/test_lbexec_spruce_pp_2024_flagging_mc.qmt b/Hlt/Moore/tests/qmtest/test_lbexec_spruce_pp_2024_flagging_mc.qmt index ca0672517af96b9731cdb6adf5008ffbf6d169e9..43fd6afd8851bf336cc8082797871afbe7a9a952 100644 --- a/Hlt/Moore/tests/qmtest/test_lbexec_spruce_pp_2024_flagging_mc.qmt +++ b/Hlt/Moore/tests/qmtest/test_lbexec_spruce_pp_2024_flagging_mc.qmt @@ -35,11 +35,11 @@ countErrorLines({"FATAL": 0, "ERROR": 0, "WARNING": 0}, findReferenceBlock(""" HLTControlFlowMgr INFO StateTree: CFNode #executed #passed -LAZY_AND: moore #=20 Sum=20 Eff=|( 100.0000 +- 0.00000 )%| - NONLAZY_OR: lines #=20 Sum=20 Eff=|( 100.0000 +- 0.00000 )%| - NONLAZY_OR: hlt_decision #=20 Sum=20 Eff=|( 100.0000 +- 0.00000 )%| - LAZY_AND: SpruceB2CC_BsToJpsiKstarWideDecisionWithOutput #=20 Sum=0 Eff=|( 0.000000 +- 0.00000 )%| - LAZY_AND: SpruceB2CC_BsToJpsiKstarWide #=20 Sum=0 Eff=|( 0.000000 +- 0.00000 )%| +LAZY_AND: moore #=20 Sum=20 Eff=|( 100.0000 +- 0.00000 )%| + NONLAZY_OR: lines #=20 Sum=20 Eff=|( 100.0000 +- 0.00000 )%| + NONLAZY_OR: hlt_decision #=20 Sum=20 Eff=|( 100.0000 +- 0.00000 )%| + LAZY_AND: SpruceB2CC_BsToJpsiKstarWideDecisionWithOutput #=20 Sum=0 Eff=|( 0.000000 +- 0.00000 )%| + LAZY_AND: SpruceB2CC_BsToJpsiKstarWide #=20 Sum=0 Eff=|( 0.000000 +- 0.00000 )%| """) diff --git a/Hlt/Moore/tests/qmtest/test_lbexec_spruce_pp_2024_noflagging_mc.qmt b/Hlt/Moore/tests/qmtest/test_lbexec_spruce_pp_2024_noflagging_mc.qmt index 190aa6bfe4dafe6153e94d50cd824da4019f5aac..938876a1d0a9e497b958aaae2a8eaa8f085779b3 100644 --- a/Hlt/Moore/tests/qmtest/test_lbexec_spruce_pp_2024_noflagging_mc.qmt +++ b/Hlt/Moore/tests/qmtest/test_lbexec_spruce_pp_2024_noflagging_mc.qmt @@ -29,11 +29,11 @@ Test that Spruce can run from LHCbDirac and that it produces the expected output findReferenceBlock(""" HLTControlFlowMgr INFO StateTree: CFNode #executed #passed -LAZY_AND: MC_spruce_control_node #=20 Sum=1 Eff=|( 5.000000 +- 4.87340 )%| - VoidFilter/full_stream_filter #=20 Sum=10 Eff=|( 50.00000 +- 11.1803 )%| - LAZY_AND: moore #=10 Sum=1 Eff=|( 10.00000 +- 9.48683 )%| - NONLAZY_OR: lines #=10 Sum=1 Eff=|( 10.00000 +- 9.48683 )%| - NONLAZY_OR: hlt_decision #=10 Sum=1 Eff=|( 10.00000 +- 9.48683 )%| +LAZY_AND: MC_spruce_control_node #=20 Sum=1 Eff=|( 5.000000 +- 4.87340 )%| + VoidFilter/full_stream_filter #=20 Sum=10 Eff=|( 50.00000 +- 11.1803 )%| + LAZY_AND: moore #=10 Sum=1 Eff=|( 10.00000 +- 9.48683 )%| + NONLAZY_OR: lines #=10 Sum=1 Eff=|( 10.00000 +- 9.48683 )%| + NONLAZY_OR: hlt_decision #=10 Sum=1 Eff=|( 10.00000 +- 9.48683 )%| """) from Moore.qmtest.exclusions import remove_known_warnings diff --git a/Hlt/Moore/tests/qmtest/test_lbexec_spruce_pp_default_flagging_persistreco_mc.qmt b/Hlt/Moore/tests/qmtest/test_lbexec_spruce_pp_default_flagging_persistreco_mc.qmt index a433bc5fafc29c6d03946f467416c85c731c2c80..0bc4ce1716a0f3a7dbec0d1d9e1f03e0a9fedf80 100644 --- a/Hlt/Moore/tests/qmtest/test_lbexec_spruce_pp_default_flagging_persistreco_mc.qmt +++ b/Hlt/Moore/tests/qmtest/test_lbexec_spruce_pp_default_flagging_persistreco_mc.qmt @@ -30,9 +30,9 @@ <argument name="use_temp_dir"><enumeral>true</enumeral></argument> <argument name="validator"><text> -findReferenceBlock(""" LAZY_AND: SpruceMCPassThroughPersistRecoDecisionWithOutput #=20 Sum=20 Eff=|( 100.0000 +- 0.00000 )%| - LAZY_AND: SpruceMCPassThroughPersistReco #=20 Sum=20 Eff=|( 100.0000 +- 0.00000 )%| - DeterministicPrescaler/SpruceMCPassThroughPersistReco_Prescaler #=20 Sum=20 Eff=|( 100.0000 +- 0.00000 )%| +findReferenceBlock(""" LAZY_AND: SpruceMCPassThroughPersistRecoDecisionWithOutput #=20 Sum=20 Eff=|( 100.0000 +- 0.00000 )%| + LAZY_AND: SpruceMCPassThroughPersistReco #=20 Sum=20 Eff=|( 100.0000 +- 0.00000 )%| + DeterministicPrescaler/SpruceMCPassThroughPersistReco_Prescaler #=20 Sum=20 Eff=|( 100.0000 +- 0.00000 )%| """) from Moore.qmtest.exclusions import remove_known_warnings