From 573ce403bf4d86962e73e7d094a60fba501d4e88 Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Tue, 4 Mar 2025 17:45:30 +0100 Subject: [PATCH 01/20] Adding a new D->ksksh line --- .../python/Hlt2Conf/lines/charm/d_to_ksksh.py | 408 ++++++++++++++++++ 1 file changed, 408 insertions(+) create mode 100644 Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py new file mode 100644 index 00000000000..26a50211aed --- /dev/null +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -0,0 +1,408 @@ +############################################################################### +# (c) Copyright 2021 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# In applying this licence, CERN does not waive the privileges and immunities # +# granted to it by virtue of its status as an Intergovernmental Organization # +# or submit itself to any jurisdiction. # +############################################################################### +"""Following lines are defined: + + 1. D+ -> KS0 (-> pi+ pi-) KS0 (-> pi+ pi-) pi+ + 2. D+ -> KS0 (-> pi+ pi-) KS0 (-> pi+ pi-) K+ + 3. D_s+ -> KS0 (-> pi+ pi-) KS0 (-> pi+ pi-) pi+ + 4. D_s+ -> KS0 (-> pi+ pi-) KS0 (-> pi+ pi-) K+ + +All LLLL, LLDD and DDDD modes of KS are included as a separate lines. +The D+ and Ds+ decaying to the same final state are included in same line as +in Run 2. + +Proponents: Gediminas Sarpis + +TODO: +- check BPVIPCHI2 based on the data +- apply BPVLTIME requirements to KS and D(s)+ when functor will be fully working / not flooding logs with warnings +""" + +import Functors as F +import Functors.math as fmath +from Functors.math import in_range +from GaudiKernel.SystemOfUnits import GeV, MeV, mm +from GaudiKernel.SystemOfUnits import micrometer as um +from Moore.config import register_line_builder +from Moore.lines import Hlt2Line +from RecoConf.algorithms_thor import ParticleCombiner, ParticleFilter +from RecoConf.reconstruction_objects import make_pvs +from RecoConf.standard_particles import ( + make_has_rich_down_pions, + make_has_rich_long_kaons, + make_has_rich_long_pions, +) + +from .prefilters import charm_prefilters + +# from . import charm_isolation as isolation + +all_lines = {} + +################### +## track filters ## +################### + +## The code is based on a similar line: https://gitlab.cern.ch/lhcb/Moore/-/blob/master/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksh.py + + +def filter_long_pions( + pvs, pt_min=250 * MeV, p_min=2 * GeV, mipchi2_min=35.0, pion_pidk_max=5.0 +): + """Filter long pions with P PT, MINIPCHI2CUT and PIDk cuts.""" + cut = F.require_all( + F.PT > pt_min, + F.P > p_min, + F.MINIPCHI2CUT(IPChi2Cut=mipchi2_min, Vertices=pvs), + F.PID_K < pion_pidk_max, + ) + return ParticleFilter(make_has_rich_long_pions(), F.FILTER(cut)) + + +def filter_long_kaons( + pvs, pt_min=250 * MeV, p_min=3 * GeV, mipchi2_min=35.0, pidk_min=-5.0 +): + """Filter long kaons with P PT, MINIPCHI2CUT and PIDk cuts.""" + cut = F.require_all( + F.PT > pt_min, + F.P > p_min, + F.MINIPCHI2CUT(IPChi2Cut=mipchi2_min, Vertices=pvs), + F.PID_K > pidk_min, + ) + return ParticleFilter(make_has_rich_long_kaons(), F.FILTER(cut)) + + +def filter_long_pions_from_ks( + pvs, pt_min=250 * MeV, p_min=2 * GeV, mipchi2_min=35.0, pion_pidk_max=15.0 +): + """Filter long pions with P PT, MINIPCHI2CUT and PIDk cuts.""" + cut = F.require_all( + F.PT > pt_min, + F.P > p_min, + F.MINIPCHI2CUT(IPChi2Cut=mipchi2_min, Vertices=pvs), + F.PID_K < pion_pidk_max, + ) + return ParticleFilter(make_has_rich_long_pions(), F.FILTER(cut)) + + +def filter_down_pions_from_ks(pvs, pt_min=250 * MeV, p_min=2 * GeV, pion_pidk_max=15.0): + """Filter downstream pions with P PT, and PIDk cuts.""" + cut = F.require_all(F.PT > pt_min, F.P > p_min, F.PID_K < pion_pidk_max) + return ParticleFilter(make_has_rich_down_pions(), F.FILTER(cut)) + + +####################### +## strange combiners ## +####################### +def make_ks_ll( + pions1, + pions2, + pvs, + name="Charm_DToKsH_KsLL_{hash}", + comb_m_min=445 * MeV, + comb_m_max=550 * MeV, + m_min=460 * MeV, + m_max=535 * MeV, + comb_pt_min=300 * MeV, + pt_min=350 * MeV, + comb_p_min=3.5 * GeV, + p_min=4 * GeV, + doca_max=1 * mm, + vchi2pdof_max=7.0, + bpvvdz_min=10 * mm, + bpvfdchi2_min=3.0, + mipchi2_min=2, + # bpvltime_min=1. * picosecond +): + """Make KS -> pi+ pi- from long tracks.""" + comb_cut = F.require_all( + F.MAXDOCACUT(doca_max), + in_range(comb_m_min, F.MASS, comb_m_max), + F.PT > comb_pt_min, + F.P > comb_p_min, + ) + vertex_cut = F.require_all( + in_range(m_min, F.MASS, m_max), + F.PT > pt_min, + F.P > p_min, + F.CHI2DOF < vchi2pdof_max, + F.BPVVDZ(pvs) > bpvvdz_min, + F.BPVFDCHI2(pvs) > bpvfdchi2_min, + F.MINIPCHI2CUT(IPChi2Cut=mipchi2_min, Vertices=pvs), + # F.BPVLTIME(pvs) > bpvltime_min #<-- not converging at all + ) + return ParticleCombiner( + [pions1, pions2], + name=name, + DecayDescriptor="KS0 -> pi+ pi-", + CombinationCut=comb_cut, + CompositeCut=vertex_cut, + ) + + +def make_ks_dd( + pions1, + pions2, + pvs, + name="Charm_DToKsH_KsDD_{hash}", + comb_m_min=417 * MeV, + comb_m_max=577 * MeV, + m_min=437 * MeV, + m_max=557 * MeV, + comb_pt_min=400 * MeV, + pt_min=450 * MeV, + sum_pt_min=500 * MeV, + comb_p_min=4.5 * GeV, + p_min=5 * GeV, + doca_max=2 * mm, + docachi2_max=12.0, + vchi2pdof_max=10.0, + # bpvltime_min=1. * picosecond +): + """ + Make KS -> pi+ pi- from downstream tracks. + """ + comb_cut = F.require_all( + F.MAXDOCACUT(doca_max), + F.MAXDOCACHI2CUT(docachi2_max), + in_range(comb_m_min, F.MASS, comb_m_max), + F.PT > comb_pt_min, + F.SUM(F.PT) > sum_pt_min, + F.P > comb_p_min, + ) + vertex_cut = F.require_all( + in_range(m_min, F.MASS, m_max), + F.PT > pt_min, + F.P > p_min, + F.CHI2DOF < vchi2pdof_max, + # F.BPVLTIME(pvs) > bpvltime_min #--- not converging + ) + return ParticleCombiner( + [pions1, pions2], + name=name, + DecayDescriptor="KS0 -> pi+ pi-", + CombinationCut=comb_cut, + CompositeCut=vertex_cut, + ) + + +######################## +## D mesons combiners ## +######################## +def combine_d_ks_ks_h( + ks0, + ks1, + particle, + pvs, + decay_descriptor, + name="Charm_DToKsKsH_DToKsKsHCombiner_{hash}", + comb_m_min=1779 * MeV, + comb_m_max=2059 * MeV, + m_min=1789 * MeV, # lower range for D+ + m_max=2049 * MeV, # upper range for Ds+ + comb_pt_min=1.5 * GeV, + pt_min=2.0 * GeV, + sum_pt_min=1.8 * GeV, + comb_p_min=15 * GeV, + p_min=16 * GeV, + doca_max=100 * um, + vchi2pdof_max=5.0, + # bpvltime_min=0.25 * picosecond, + bpvvdz_min=0.5 * mm, + bpvfdchi2_min=25.0, + bpfdrho_max=5 * mm, + # bpvipchi2_max=999., + bpvdira_min=0.995, + dz1_min=5.0 * mm, + ks_fdrho_min=1 * mm, + dzero_vz_min=-300 * mm, +): + """Combine D meson with Ks Ks and additonal hadron (K/pi). + Make MASS, P, PT, SUM(PT), MAXDOCACUT cuts in the combination; + MASS, P, PT, CHI2DOF, BPVVDZ, BPVFDCHI2, BPVIPCHI2, BPVDIRA cuts after the vertex fit. + Cuts generally based on Run2 Turbo lines. + """ + comb_cut = F.require_all( + F.MAXSDOCACUT(doca_max), + in_range(comb_m_min, F.MASS, comb_m_max), + F.PT > comb_pt_min, + F.SUM(F.PT) > sum_pt_min, + F.P > comb_p_min, + ) + vertex_cut = F.require_all( + in_range(m_min, F.MASS, m_max), + F.END_VZ > dzero_vz_min, + F.BPVVDRHO() < bpfdrho_max, + F.PT > pt_min, + F.P > p_min, + F.CHI2DOF < vchi2pdof_max, + # F.BPVLTIME(pvs) > bpvltime_min, + F.BPVVDZ(pvs) > bpvvdz_min, + F.BPVFDCHI2(pvs) > bpvfdchi2_min, # <-- to be checked + # F.BPVIPCHI2(pvs) < bpvipchi2_max, #<-- to be checked + F.BPVDIRA(pvs) > bpvdira_min, + F.CHILD(1, F.END_VZ) - F.END_VZ > dz1_min, + fmath.sqrt( + (F.CHILD(1, F.END_VX) - F.END_VX) ** 2 + + (F.CHILD(1, F.END_VY) - F.END_VY) ** 2 + ) + > ks_fdrho_min, + ) + return ParticleCombiner( + [ks0, ks1, particle], + name=name, + DecayDescriptor=decay_descriptor, + CombinationCut=comb_cut, + CompositeCut=vertex_cut, + ) + + +########################### +## Hlt2 lines definition ## +########################### +@register_line_builder(all_lines) +def dp_to_kskspi_llll_line(name="Hlt2Charm_DpDspToKsKsPip_LLLL", prescale=1): + pvs = make_pvs() + long_pions = filter_long_pions(pvs) + ks_ll = make_ks_ll( + filter_long_pions_from_ks(pvs), filter_long_pions_from_ks(pvs), pvs + ) + dp_kskspi_llll = combine_d_ks_ks_h( + ks_ll, ks_ll, long_pions, pvs, "[D+ -> KS0 KS0 pi+]cc", name=f"{name}_Combiner" + ) + return Hlt2Line( + name=name, + algs=charm_prefilters() + [ks_ll, dp_kskspi_llll], + prescale=prescale, + # extra_outputs=isolation.make_iso_particles(dp_kspi_ll, coneangle=0.5) + ) + + +@register_line_builder(all_lines) +def dp_to_kskspi_lldd_line(name="Hlt2Charm_DpDspToKsKsPip_LLDD", prescale=1): + pvs = make_pvs() + long_pions = filter_long_pions(pvs) + ks_ld = make_ks_dd( + filter_long_pions_from_ks(pvs), filter_down_pions_from_ks(pvs), pvs + ) # Naming convention slightly misleading, this creates LD KS0, but function called is make_ks_dd + dp_kskspi_lldd = combine_d_ks_ks_h( + ks_ld, + ks_ld, + long_pions, + pvs, + "[D+ -> KS0 KS0 pi+]cc", + name=f"{name}_Combiner", + doca_max=2.0 * mm, + dz1_min=50.0 * mm, + ks_fdrho_min=10 * mm, + ) + return Hlt2Line( + name=name, + algs=charm_prefilters() + [ks_ld, dp_kskspi_lldd], + prescale=prescale, + # extra_outputs=isolation.make_iso_particles(dp_kspi_ld, coneangle=0.5, DownstreamTrackIso=True) + ) + + +@register_line_builder(all_lines) +def dp_to_kskspi_dddd_line(name="Hlt2Charm_DpDspToKsKsPip_DDDD", prescale=1): + pvs = make_pvs() + long_pions = filter_long_pions(pvs) + ks_dd = make_ks_dd( + filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs), pvs + ) + dp_kskspi_dddd = combine_d_ks_ks_h( + ks_dd, + ks_dd, + long_pions, + pvs, + "[D+ -> KS0 KS0 pi+]cc", + name=f"{name}_Combiner", + doca_max=2.0 * mm, + dz1_min=50.0 * mm, + ks_fdrho_min=10 * mm, + ) + return Hlt2Line( + name=name, + algs=charm_prefilters() + [ks_dd, dp_kskspi_dddd], + prescale=prescale, + # extra_outputs=isolation.make_iso_particles(dp_kspi_dd, coneangle=0.5, DownstreamTrackIso=True) + ) + + +@register_line_builder(all_lines) +def dp_to_kskskp_llll_line(name="Hlt2Charm_DpDspToKsKsKp_LLLL", prescale=1): + pvs = make_pvs() + long_kaons = filter_long_kaons(pvs) + ks_ll = make_ks_ll( + filter_long_pions_from_ks(pvs), filter_long_pions_from_ks(pvs), pvs + ) + dp_kskskp_llll = combine_d_ks_ks_h( + ks_ll, ks_ll, long_kaons, pvs, "[D+ -> KS0 KS0 K+]cc", name=f"{name}_Combiner" + ) + return Hlt2Line( + name=name, + algs=charm_prefilters() + [ks_ll, dp_kskskp_llll], + prescale=prescale, + # extra_outputs=isolation.make_iso_particles(dp_kskp_ll, coneangle=0.5) + ) + + +@register_line_builder(all_lines) +def dp_to_kskskp_lldd_line(name="Hlt2Charm_DpDspToKsKsKp_LLDD", prescale=1): + pvs = make_pvs() + long_kaons = filter_long_kaons(pvs) + ks_ld = make_ks_dd( + filter_long_pions_from_ks(pvs), filter_down_pions_from_ks(pvs), pvs + ) + dp_kskskp_lldd = combine_d_ks_ks_h( + ks_ld, + ks_ld, + long_kaons, + pvs, + "[D+ -> KS0 KS0 K+]cc", + name=f"{name}_Combiner", + doca_max=2.0 * mm, + dz1_min=50.0 * mm, + ks_fdrho_min=10 * mm, + ) + return Hlt2Line( + name=name, + algs=charm_prefilters() + [ks_ld, dp_kskskp_lldd], + prescale=prescale, + # extra_outputs=isolation.make_iso_particles(dp_kskp_ld, coneangle=0.5, DownstreamTrackIso=True) + ) + + +@register_line_builder(all_lines) +def dp_to_kskskp_dddd_line(name="Hlt2Charm_DpDspToKsKsKp_DDDD", prescale=1): + pvs = make_pvs() + long_kaons = filter_long_kaons(pvs) + ks_dd = make_ks_dd( + filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs), pvs + ) + dp_kskskp_dddd = combine_d_ks_ks_h( + ks_dd, + ks_dd, + long_kaons, + pvs, + "[D+ -> KS0 KS0 K+]cc", + name=f"{name}_Combiner", + doca_max=2.0 * mm, + dz1_min=50.0 * mm, + ks_fdrho_min=10 * mm, + ) + return Hlt2Line( + name=name, + algs=charm_prefilters() + [ks_dd, dp_kskskp_dddd], + prescale=prescale, + # extra_outputs=isolation.make_iso_particles(dp_kskp_dd, coneangle=0.5, DownstreamTrackIso=True) + ) -- GitLab From 98c5d7a4331d7ac487f64fe73cb7cfd097b0fed3 Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Mon, 17 Mar 2025 10:40:24 +0100 Subject: [PATCH 02/20] Updated CODEOWNERS --- CODEOWNERS | 1 + Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index 60647c93915..6ca68d53938 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -137,6 +137,7 @@ /Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/rare_charm_*.py @dbrundu @dmitzel @smaccoli /Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/taggers.py @lpica @mstahl @tpajero /Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d0_to_pi0pi0.py @smaccoli +/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @gesarpis # Inclusive detached dilepton lines /Hlt/Hlt2Conf/python/Hlt2Conf/lines/inclusive_detached_dilepton/cutbased_dilepton_*.py @jagoodin /Hlt/Hlt2Conf/python/Hlt2Conf/lines/inclusive_detached_dilepton/dilepton_mva_builder.py @lecarus diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index 26a50211aed..418bb8980b5 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -19,8 +19,6 @@ All LLLL, LLDD and DDDD modes of KS are included as a separate lines. The D+ and Ds+ decaying to the same final state are included in same line as in Run 2. -Proponents: Gediminas Sarpis - TODO: - check BPVIPCHI2 based on the data - apply BPVLTIME requirements to KS and D(s)+ when functor will be fully working / not flooding logs with warnings -- GitLab From 7636f459bbca2583a5e2ad9db72092ddcc477cd4 Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Tue, 18 Mar 2025 12:20:31 +0200 Subject: [PATCH 03/20] Major changes following D2Ksh updates --- .../python/Hlt2Conf/lines/charm/d_to_ksksh.py | 96 ++++++++++--------- 1 file changed, 50 insertions(+), 46 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index 418bb8980b5..7e8369e9a60 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -1,5 +1,5 @@ ############################################################################### -# (c) Copyright 2021 CERN for the benefit of the LHCb Collaboration # +# (c) Copyright 2021-2025 CERN for the benefit of the LHCb Collaboration # # # # This software is distributed under the terms of the GNU General Public # # Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # @@ -20,8 +20,8 @@ The D+ and Ds+ decaying to the same final state are included in same line as in Run 2. TODO: -- check BPVIPCHI2 based on the data -- apply BPVLTIME requirements to KS and D(s)+ when functor will be fully working / not flooding logs with warnings +- check OWNPVIPCHI2 based on the data +- apply OWNPVLTIME requirements to KS and D(s)+ when functor will be fully working / not flooding logs with warnings """ import Functors as F @@ -29,6 +29,7 @@ import Functors.math as fmath from Functors.math import in_range from GaudiKernel.SystemOfUnits import GeV, MeV, mm from GaudiKernel.SystemOfUnits import micrometer as um +from GaudiKernel.SystemOfUnits import picosecond as ps from Moore.config import register_line_builder from Moore.lines import Hlt2Line from RecoConf.algorithms_thor import ParticleCombiner, ParticleFilter @@ -37,6 +38,7 @@ from RecoConf.standard_particles import ( make_has_rich_down_pions, make_has_rich_long_kaons, make_has_rich_long_pions, + make_KsTT, ) from .prefilters import charm_prefilters @@ -104,7 +106,7 @@ def make_ks_ll( pions1, pions2, pvs, - name="Charm_DToKsH_KsLL_{hash}", + name="Charm_DToKsKsH_KsLL_{hash}", comb_m_min=445 * MeV, comb_m_max=550 * MeV, m_min=460 * MeV, @@ -115,10 +117,10 @@ def make_ks_ll( p_min=4 * GeV, doca_max=1 * mm, vchi2pdof_max=7.0, - bpvvdz_min=10 * mm, - bpvfdchi2_min=3.0, + ownpvvdz_min=10 * mm, + ownpvfdchi2_min=3.0, mipchi2_min=2, - # bpvltime_min=1. * picosecond + ownpvltime_min=1.0 * ps ): """Make KS -> pi+ pi- from long tracks.""" comb_cut = F.require_all( @@ -132,10 +134,10 @@ def make_ks_ll( F.PT > pt_min, F.P > p_min, F.CHI2DOF < vchi2pdof_max, - F.BPVVDZ(pvs) > bpvvdz_min, - F.BPVFDCHI2(pvs) > bpvfdchi2_min, + F.OWNPVVDZ(pvs) > ownpvvdz_min, + F.OWNPVFDCHI2(pvs) > ownpvfdchi2_min, F.MINIPCHI2CUT(IPChi2Cut=mipchi2_min, Vertices=pvs), - # F.BPVLTIME(pvs) > bpvltime_min #<-- not converging at all + F.OWNPVLTIME(pvs) > ownpvltime_min ) return ParticleCombiner( [pions1, pions2], @@ -149,8 +151,7 @@ def make_ks_ll( def make_ks_dd( pions1, pions2, - pvs, - name="Charm_DToKsH_KsDD_{hash}", + name="Charm_DToKsKsH_KsDD_{hash}", comb_m_min=417 * MeV, comb_m_max=577 * MeV, m_min=437 * MeV, @@ -163,7 +164,7 @@ def make_ks_dd( doca_max=2 * mm, docachi2_max=12.0, vchi2pdof_max=10.0, - # bpvltime_min=1. * picosecond + ownpvltime_min=1. * ps ): """ Make KS -> pi+ pi- from downstream tracks. @@ -181,7 +182,7 @@ def make_ks_dd( F.PT > pt_min, F.P > p_min, F.CHI2DOF < vchi2pdof_max, - # F.BPVLTIME(pvs) > bpvltime_min #--- not converging + F.OWNPVLTIME(pvs) > ownpvltime_min ) return ParticleCombiner( [pions1, pions2], @@ -213,40 +214,42 @@ def combine_d_ks_ks_h( p_min=16 * GeV, doca_max=100 * um, vchi2pdof_max=5.0, - # bpvltime_min=0.25 * picosecond, - bpvvdz_min=0.5 * mm, - bpvfdchi2_min=25.0, + ownpvltime_min=0.2 * ps, + ownpvvdz_min=0.5 * mm, + ownpvfdchi2_min=25.0, bpfdrho_max=5 * mm, - # bpvipchi2_max=999., - bpvdira_min=0.995, - dz1_min=5.0 * mm, + ownpvdira_min=0.9995, + dz1_min=20.0 * mm, ks_fdrho_min=1 * mm, dzero_vz_min=-300 * mm, ): """Combine D meson with Ks Ks and additonal hadron (K/pi). Make MASS, P, PT, SUM(PT), MAXDOCACUT cuts in the combination; - MASS, P, PT, CHI2DOF, BPVVDZ, BPVFDCHI2, BPVIPCHI2, BPVDIRA cuts after the vertex fit. + MASS, P, PT, CHI2DOF, OWNPVVDZ, OWNPVFDCHI2, OWNPVIPCHI2, OWNPVDIRA cuts after the vertex fit. Cuts generally based on Run2 Turbo lines. """ comb_cut = F.require_all( - F.MAXSDOCACUT(doca_max), in_range(comb_m_min, F.MASS, comb_m_max), F.PT > comb_pt_min, F.SUM(F.PT) > sum_pt_min, F.P > comb_p_min, ) + + + if doca_max is not None: + comb_cut &= F.MAXSDOCACUT(doca_max) + vertex_cut = F.require_all( in_range(m_min, F.MASS, m_max), F.END_VZ > dzero_vz_min, - F.BPVVDRHO() < bpfdrho_max, + F.OWNPVVDRHO() < bpfdrho_max, F.PT > pt_min, F.P > p_min, F.CHI2DOF < vchi2pdof_max, - # F.BPVLTIME(pvs) > bpvltime_min, - F.BPVVDZ(pvs) > bpvvdz_min, - F.BPVFDCHI2(pvs) > bpvfdchi2_min, # <-- to be checked - # F.BPVIPCHI2(pvs) < bpvipchi2_max, #<-- to be checked - F.BPVDIRA(pvs) > bpvdira_min, + F.OWNPVLTIME > ownpvltime_min, + F.OWNPVVDZ > ownpvvdz_min, + F.OWNPVFDCHI2 > ownpvfdchi2_min, + F.OWNPVDIRA > ownpvdira_min, F.CHILD(1, F.END_VZ) - F.END_VZ > dz1_min, fmath.sqrt( (F.CHILD(1, F.END_VX) - F.END_VX) ** 2 @@ -280,7 +283,6 @@ def dp_to_kskspi_llll_line(name="Hlt2Charm_DpDspToKsKsPip_LLLL", prescale=1): name=name, algs=charm_prefilters() + [ks_ll, dp_kskspi_llll], prescale=prescale, - # extra_outputs=isolation.make_iso_particles(dp_kspi_ll, coneangle=0.5) ) @@ -288,12 +290,15 @@ def dp_to_kskspi_llll_line(name="Hlt2Charm_DpDspToKsKsPip_LLLL", prescale=1): def dp_to_kskspi_lldd_line(name="Hlt2Charm_DpDspToKsKsPip_LLDD", prescale=1): pvs = make_pvs() long_pions = filter_long_pions(pvs) - ks_ld = make_ks_dd( - filter_long_pions_from_ks(pvs), filter_down_pions_from_ks(pvs), pvs - ) # Naming convention slightly misleading, this creates LD KS0, but function called is make_ks_dd + ks_ll = make_ks_ll( + filter_long_pions_from_ks(pvs), filter_long_pions_from_ks(pvs), pvs + ) + ks_dd = make_ks_dd( + filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs), pvs + ) dp_kskspi_lldd = combine_d_ks_ks_h( - ks_ld, - ks_ld, + ks_ll, + ks_dd, long_pions, pvs, "[D+ -> KS0 KS0 pi+]cc", @@ -305,8 +310,7 @@ def dp_to_kskspi_lldd_line(name="Hlt2Charm_DpDspToKsKsPip_LLDD", prescale=1): return Hlt2Line( name=name, algs=charm_prefilters() + [ks_ld, dp_kskspi_lldd], - prescale=prescale, - # extra_outputs=isolation.make_iso_particles(dp_kspi_ld, coneangle=0.5, DownstreamTrackIso=True) + prescale=prescale ) @@ -331,8 +335,7 @@ def dp_to_kskspi_dddd_line(name="Hlt2Charm_DpDspToKsKsPip_DDDD", prescale=1): return Hlt2Line( name=name, algs=charm_prefilters() + [ks_dd, dp_kskspi_dddd], - prescale=prescale, - # extra_outputs=isolation.make_iso_particles(dp_kspi_dd, coneangle=0.5, DownstreamTrackIso=True) + prescale=prescale ) @@ -349,8 +352,7 @@ def dp_to_kskskp_llll_line(name="Hlt2Charm_DpDspToKsKsKp_LLLL", prescale=1): return Hlt2Line( name=name, algs=charm_prefilters() + [ks_ll, dp_kskskp_llll], - prescale=prescale, - # extra_outputs=isolation.make_iso_particles(dp_kskp_ll, coneangle=0.5) + prescale=prescale ) @@ -358,12 +360,15 @@ def dp_to_kskskp_llll_line(name="Hlt2Charm_DpDspToKsKsKp_LLLL", prescale=1): def dp_to_kskskp_lldd_line(name="Hlt2Charm_DpDspToKsKsKp_LLDD", prescale=1): pvs = make_pvs() long_kaons = filter_long_kaons(pvs) - ks_ld = make_ks_dd( - filter_long_pions_from_ks(pvs), filter_down_pions_from_ks(pvs), pvs + ks_ll = make_ks_ll( + filter_long_pions_from_ks(pvs), filter_long_pions_from_ks(pvs), pvs + ) + ks_dd = make_ks_dd( + filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs), pvs ) dp_kskskp_lldd = combine_d_ks_ks_h( - ks_ld, - ks_ld, + ks_ll, + ks_dd, long_kaons, pvs, "[D+ -> KS0 KS0 K+]cc", @@ -401,6 +406,5 @@ def dp_to_kskskp_dddd_line(name="Hlt2Charm_DpDspToKsKsKp_DDDD", prescale=1): return Hlt2Line( name=name, algs=charm_prefilters() + [ks_dd, dp_kskskp_dddd], - prescale=prescale, - # extra_outputs=isolation.make_iso_particles(dp_kskp_dd, coneangle=0.5, DownstreamTrackIso=True) + prescale=prescale ) -- GitLab From 2ca0ef08c8135b35134891faed7d49d0b264b804 Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Tue, 18 Mar 2025 12:24:20 +0200 Subject: [PATCH 04/20] Quick Fixes --- Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index 7e8369e9a60..dba4627c994 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -182,7 +182,7 @@ def make_ks_dd( F.PT > pt_min, F.P > p_min, F.CHI2DOF < vchi2pdof_max, - F.OWNPVLTIME(pvs) > ownpvltime_min + F.OWNPVLTIME > ownpvltime_min ) return ParticleCombiner( [pions1, pions2], @@ -309,7 +309,7 @@ def dp_to_kskspi_lldd_line(name="Hlt2Charm_DpDspToKsKsPip_LLDD", prescale=1): ) return Hlt2Line( name=name, - algs=charm_prefilters() + [ks_ld, dp_kskspi_lldd], + algs=charm_prefilters() + [ks_ll, ks_dd, dp_kskspi_lldd], prescale=prescale ) @@ -379,7 +379,7 @@ def dp_to_kskskp_lldd_line(name="Hlt2Charm_DpDspToKsKsKp_LLDD", prescale=1): ) return Hlt2Line( name=name, - algs=charm_prefilters() + [ks_ld, dp_kskskp_lldd], + algs=charm_prefilters() + [ks_ll, ks_dd, dp_kskskp_lldd], prescale=prescale, # extra_outputs=isolation.make_iso_particles(dp_kskp_ld, coneangle=0.5, DownstreamTrackIso=True) ) -- GitLab From f2c697a1bfecee2ef8da9f7f3905d360765ade8c Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Tue, 18 Mar 2025 12:59:30 +0200 Subject: [PATCH 05/20] Removing outdated brackets from OWNPVVDZ --- Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index dba4627c994..0b4a1009944 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -134,7 +134,7 @@ def make_ks_ll( F.PT > pt_min, F.P > p_min, F.CHI2DOF < vchi2pdof_max, - F.OWNPVVDZ(pvs) > ownpvvdz_min, + F.OWNPVVDZ > ownpvvdz_min, F.OWNPVFDCHI2(pvs) > ownpvfdchi2_min, F.MINIPCHI2CUT(IPChi2Cut=mipchi2_min, Vertices=pvs), F.OWNPVLTIME(pvs) > ownpvltime_min @@ -256,6 +256,12 @@ def combine_d_ks_ks_h( + (F.CHILD(1, F.END_VY) - F.END_VY) ** 2 ) > ks_fdrho_min, + # F.CHILD(2, F.END_VZ) - F.END_VZ > dz1_min, + # fmath.sqrt( + # (F.CHILD(2, F.END_VX) - F.END_VX) ** 2 + # + (F.CHILD(2, F.END_VY) - F.END_VY) ** 2 + # ) + # > ks_fdrho_min, ) return ParticleCombiner( [ks0, ks1, particle], -- GitLab From 498e005e29beedbb9e37f69efde6d7ff84c44ff2 Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Tue, 18 Mar 2025 13:35:36 +0200 Subject: [PATCH 06/20] Removed pvs from make_ks_dd definition and calls --- .../python/Hlt2Conf/lines/charm/d_to_ksksh.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index 0b4a1009944..105bd8d23a1 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -254,8 +254,7 @@ def combine_d_ks_ks_h( fmath.sqrt( (F.CHILD(1, F.END_VX) - F.END_VX) ** 2 + (F.CHILD(1, F.END_VY) - F.END_VY) ** 2 - ) - > ks_fdrho_min, + ) > ks_fdrho_min, # F.CHILD(2, F.END_VZ) - F.END_VZ > dz1_min, # fmath.sqrt( # (F.CHILD(2, F.END_VX) - F.END_VX) ** 2 @@ -300,7 +299,7 @@ def dp_to_kskspi_lldd_line(name="Hlt2Charm_DpDspToKsKsPip_LLDD", prescale=1): filter_long_pions_from_ks(pvs), filter_long_pions_from_ks(pvs), pvs ) ks_dd = make_ks_dd( - filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs), pvs + filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs) ) dp_kskspi_lldd = combine_d_ks_ks_h( ks_ll, @@ -325,7 +324,7 @@ def dp_to_kskspi_dddd_line(name="Hlt2Charm_DpDspToKsKsPip_DDDD", prescale=1): pvs = make_pvs() long_pions = filter_long_pions(pvs) ks_dd = make_ks_dd( - filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs), pvs + filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs) ) dp_kskspi_dddd = combine_d_ks_ks_h( ks_dd, @@ -370,7 +369,7 @@ def dp_to_kskskp_lldd_line(name="Hlt2Charm_DpDspToKsKsKp_LLDD", prescale=1): filter_long_pions_from_ks(pvs), filter_long_pions_from_ks(pvs), pvs ) ks_dd = make_ks_dd( - filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs), pvs + filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs) ) dp_kskskp_lldd = combine_d_ks_ks_h( ks_ll, @@ -396,7 +395,7 @@ def dp_to_kskskp_dddd_line(name="Hlt2Charm_DpDspToKsKsKp_DDDD", prescale=1): pvs = make_pvs() long_kaons = filter_long_kaons(pvs) ks_dd = make_ks_dd( - filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs), pvs + filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs) ) dp_kskskp_dddd = combine_d_ks_ks_h( ks_dd, -- GitLab From c16b679b6f375b942574635d9edf09d705dc9a32 Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Tue, 18 Mar 2025 13:43:43 +0200 Subject: [PATCH 07/20] syntax --- .../python/Hlt2Conf/lines/charm/d_to_ksksh.py | 43 ++++++------------- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index 105bd8d23a1..4d1dfb0c272 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -120,7 +120,7 @@ def make_ks_ll( ownpvvdz_min=10 * mm, ownpvfdchi2_min=3.0, mipchi2_min=2, - ownpvltime_min=1.0 * ps + ownpvltime_min=1.0 * ps, ): """Make KS -> pi+ pi- from long tracks.""" comb_cut = F.require_all( @@ -137,7 +137,7 @@ def make_ks_ll( F.OWNPVVDZ > ownpvvdz_min, F.OWNPVFDCHI2(pvs) > ownpvfdchi2_min, F.MINIPCHI2CUT(IPChi2Cut=mipchi2_min, Vertices=pvs), - F.OWNPVLTIME(pvs) > ownpvltime_min + F.OWNPVLTIME(pvs) > ownpvltime_min, ) return ParticleCombiner( [pions1, pions2], @@ -164,7 +164,7 @@ def make_ks_dd( doca_max=2 * mm, docachi2_max=12.0, vchi2pdof_max=10.0, - ownpvltime_min=1. * ps + ownpvltime_min=1.0 * ps, ): """ Make KS -> pi+ pi- from downstream tracks. @@ -182,7 +182,7 @@ def make_ks_dd( F.PT > pt_min, F.P > p_min, F.CHI2DOF < vchi2pdof_max, - F.OWNPVLTIME > ownpvltime_min + F.OWNPVLTIME > ownpvltime_min, ) return ParticleCombiner( [pions1, pions2], @@ -235,7 +235,6 @@ def combine_d_ks_ks_h( F.P > comb_p_min, ) - if doca_max is not None: comb_cut &= F.MAXSDOCACUT(doca_max) @@ -254,7 +253,8 @@ def combine_d_ks_ks_h( fmath.sqrt( (F.CHILD(1, F.END_VX) - F.END_VX) ** 2 + (F.CHILD(1, F.END_VY) - F.END_VY) ** 2 - ) > ks_fdrho_min, + ) + > ks_fdrho_min, # F.CHILD(2, F.END_VZ) - F.END_VZ > dz1_min, # fmath.sqrt( # (F.CHILD(2, F.END_VX) - F.END_VX) ** 2 @@ -298,9 +298,7 @@ def dp_to_kskspi_lldd_line(name="Hlt2Charm_DpDspToKsKsPip_LLDD", prescale=1): ks_ll = make_ks_ll( filter_long_pions_from_ks(pvs), filter_long_pions_from_ks(pvs), pvs ) - ks_dd = make_ks_dd( - filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs) - ) + ks_dd = make_ks_dd(filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs)) dp_kskspi_lldd = combine_d_ks_ks_h( ks_ll, ks_dd, @@ -315,7 +313,7 @@ def dp_to_kskspi_lldd_line(name="Hlt2Charm_DpDspToKsKsPip_LLDD", prescale=1): return Hlt2Line( name=name, algs=charm_prefilters() + [ks_ll, ks_dd, dp_kskspi_lldd], - prescale=prescale + prescale=prescale, ) @@ -323,9 +321,7 @@ def dp_to_kskspi_lldd_line(name="Hlt2Charm_DpDspToKsKsPip_LLDD", prescale=1): def dp_to_kskspi_dddd_line(name="Hlt2Charm_DpDspToKsKsPip_DDDD", prescale=1): pvs = make_pvs() long_pions = filter_long_pions(pvs) - ks_dd = make_ks_dd( - filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs) - ) + ks_dd = make_ks_dd(filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs)) dp_kskspi_dddd = combine_d_ks_ks_h( ks_dd, ks_dd, @@ -338,9 +334,7 @@ def dp_to_kskspi_dddd_line(name="Hlt2Charm_DpDspToKsKsPip_DDDD", prescale=1): ks_fdrho_min=10 * mm, ) return Hlt2Line( - name=name, - algs=charm_prefilters() + [ks_dd, dp_kskspi_dddd], - prescale=prescale + name=name, algs=charm_prefilters() + [ks_dd, dp_kskspi_dddd], prescale=prescale ) @@ -354,10 +348,7 @@ def dp_to_kskskp_llll_line(name="Hlt2Charm_DpDspToKsKsKp_LLLL", prescale=1): dp_kskskp_llll = combine_d_ks_ks_h( ks_ll, ks_ll, long_kaons, pvs, "[D+ -> KS0 KS0 K+]cc", name=f"{name}_Combiner" ) - return Hlt2Line( - name=name, - algs=charm_prefilters() + [ks_ll, dp_kskskp_llll], - prescale=prescale + return Hlt2Line(name=name, algs=charm_prefilters() + [ks_ll, dp_kskskp_llll], prescale=prescale ) @@ -368,9 +359,7 @@ def dp_to_kskskp_lldd_line(name="Hlt2Charm_DpDspToKsKsKp_LLDD", prescale=1): ks_ll = make_ks_ll( filter_long_pions_from_ks(pvs), filter_long_pions_from_ks(pvs), pvs ) - ks_dd = make_ks_dd( - filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs) - ) + ks_dd = make_ks_dd(filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs)) dp_kskskp_lldd = combine_d_ks_ks_h( ks_ll, ks_dd, @@ -394,9 +383,7 @@ def dp_to_kskskp_lldd_line(name="Hlt2Charm_DpDspToKsKsKp_LLDD", prescale=1): def dp_to_kskskp_dddd_line(name="Hlt2Charm_DpDspToKsKsKp_DDDD", prescale=1): pvs = make_pvs() long_kaons = filter_long_kaons(pvs) - ks_dd = make_ks_dd( - filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs) - ) + ks_dd = make_ks_dd(filter_down_pions_from_ks(pvs), filter_down_pions_from_ks(pvs)) dp_kskskp_dddd = combine_d_ks_ks_h( ks_dd, ks_dd, @@ -409,7 +396,5 @@ def dp_to_kskskp_dddd_line(name="Hlt2Charm_DpDspToKsKsKp_DDDD", prescale=1): ks_fdrho_min=10 * mm, ) return Hlt2Line( - name=name, - algs=charm_prefilters() + [ks_dd, dp_kskskp_dddd], - prescale=prescale + name=name, algs=charm_prefilters() + [ks_dd, dp_kskskp_dddd], prescale=prescale ) -- GitLab From 647d4650e81deca17d6123204ed2ebf041cca0b2 Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Tue, 18 Mar 2025 13:46:34 +0200 Subject: [PATCH 08/20] more syntax --- Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index 4d1dfb0c272..a8002f18565 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -348,7 +348,8 @@ def dp_to_kskskp_llll_line(name="Hlt2Charm_DpDspToKsKsKp_LLLL", prescale=1): dp_kskskp_llll = combine_d_ks_ks_h( ks_ll, ks_ll, long_kaons, pvs, "[D+ -> KS0 KS0 K+]cc", name=f"{name}_Combiner" ) - return Hlt2Line(name=name, algs=charm_prefilters() + [ks_ll, dp_kskskp_llll], prescale=prescale + return Hlt2Line( + name=name, algs=charm_prefilters() + [ks_ll, dp_kskskp_llll], prescale=prescale ) -- GitLab From 35ebcc497cefcdc3693b58861f6bcd74b20bd7af Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Tue, 18 Mar 2025 15:18:09 +0200 Subject: [PATCH 09/20] Partial implementation of Run2 selection --- .../python/Hlt2Conf/lines/charm/d_to_ksksh.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index a8002f18565..c2138af072f 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -112,14 +112,14 @@ def make_ks_ll( m_min=460 * MeV, m_max=535 * MeV, comb_pt_min=300 * MeV, - pt_min=350 * MeV, + pt_min=500 * MeV, comb_p_min=3.5 * GeV, p_min=4 * GeV, doca_max=1 * mm, - vchi2pdof_max=7.0, + vchi2pdof_max=8.0, ownpvvdz_min=10 * mm, ownpvfdchi2_min=3.0, - mipchi2_min=2, + mipchi2_min=9.0, ownpvltime_min=1.0 * ps, ): """Make KS -> pi+ pi- from long tracks.""" @@ -157,13 +157,14 @@ def make_ks_dd( m_min=437 * MeV, m_max=557 * MeV, comb_pt_min=400 * MeV, - pt_min=450 * MeV, + pt_min=500 * MeV, sum_pt_min=500 * MeV, comb_p_min=4.5 * GeV, p_min=5 * GeV, doca_max=2 * mm, docachi2_max=12.0, vchi2pdof_max=10.0, + mipchi2_min=9.0, ownpvltime_min=1.0 * ps, ): """ @@ -203,17 +204,17 @@ def combine_d_ks_ks_h( pvs, decay_descriptor, name="Charm_DToKsKsH_DToKsKsHCombiner_{hash}", - comb_m_min=1779 * MeV, - comb_m_max=2059 * MeV, - m_min=1789 * MeV, # lower range for D+ - m_max=2049 * MeV, # upper range for Ds+ + comb_m_min=1765 * MeV, + comb_m_max=2065 * MeV, + m_min=1840 * MeV, # lower range for D+ + m_max=2090 * MeV, # upper range for Ds+ comb_pt_min=1.5 * GeV, pt_min=2.0 * GeV, sum_pt_min=1.8 * GeV, comb_p_min=15 * GeV, p_min=16 * GeV, doca_max=100 * um, - vchi2pdof_max=5.0, + vchi2pdof_max=8.0, ownpvltime_min=0.2 * ps, ownpvvdz_min=0.5 * mm, ownpvfdchi2_min=25.0, -- GitLab From 86c0939f8c292ee75ae4b261c77f765239581bd8 Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Tue, 18 Mar 2025 15:40:25 +0200 Subject: [PATCH 10/20] Aligning with Run2 selection --- Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index c2138af072f..ffe812355e9 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -163,7 +163,7 @@ def make_ks_dd( p_min=5 * GeV, doca_max=2 * mm, docachi2_max=12.0, - vchi2pdof_max=10.0, + vchi2pdof_max=8.0, mipchi2_min=9.0, ownpvltime_min=1.0 * ps, ): @@ -208,14 +208,14 @@ def combine_d_ks_ks_h( comb_m_max=2065 * MeV, m_min=1840 * MeV, # lower range for D+ m_max=2090 * MeV, # upper range for Ds+ - comb_pt_min=1.5 * GeV, + comb_pt_min=3 * GeV, pt_min=2.0 * GeV, - sum_pt_min=1.8 * GeV, - comb_p_min=15 * GeV, + sum_pt_min=1.5 * GeV, + comb_p_min=20 * GeV, p_min=16 * GeV, doca_max=100 * um, vchi2pdof_max=8.0, - ownpvltime_min=0.2 * ps, + ownpvltime_min=0.4 * ps, ownpvvdz_min=0.5 * mm, ownpvfdchi2_min=25.0, bpfdrho_max=5 * mm, -- GitLab From b6b2d6dad512ad116621fcad2a24fa00be42a946 Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Tue, 18 Mar 2025 15:56:54 +0200 Subject: [PATCH 11/20] applied cuts to 2nd Ks and aligned more cuts to Run2 --- .../python/Hlt2Conf/lines/charm/d_to_ksksh.py | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index ffe812355e9..22baab1abee 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -111,8 +111,8 @@ def make_ks_ll( comb_m_max=550 * MeV, m_min=460 * MeV, m_max=535 * MeV, - comb_pt_min=300 * MeV, - pt_min=500 * MeV, + comb_pt_min=500 * MeV, + pt_min=300 * MeV, comb_p_min=3.5 * GeV, p_min=4 * GeV, doca_max=1 * mm, @@ -156,8 +156,8 @@ def make_ks_dd( comb_m_max=577 * MeV, m_min=437 * MeV, m_max=557 * MeV, - comb_pt_min=400 * MeV, - pt_min=500 * MeV, + comb_pt_min=500 * MeV, + pt_min=450 * MeV, sum_pt_min=500 * MeV, comb_p_min=4.5 * GeV, p_min=5 * GeV, @@ -256,12 +256,12 @@ def combine_d_ks_ks_h( + (F.CHILD(1, F.END_VY) - F.END_VY) ** 2 ) > ks_fdrho_min, - # F.CHILD(2, F.END_VZ) - F.END_VZ > dz1_min, - # fmath.sqrt( - # (F.CHILD(2, F.END_VX) - F.END_VX) ** 2 - # + (F.CHILD(2, F.END_VY) - F.END_VY) ** 2 - # ) - # > ks_fdrho_min, + F.CHILD(2, F.END_VZ) - F.END_VZ > dz1_min, + fmath.sqrt( + (F.CHILD(2, F.END_VX) - F.END_VX) ** 2 + + (F.CHILD(2, F.END_VY) - F.END_VY) ** 2 + ) + > ks_fdrho_min, ) return ParticleCombiner( [ks0, ks1, particle], -- GitLab From a50642b96bc9822f353ddcd8962610fd3e9c80a1 Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Wed, 19 Mar 2025 16:45:14 +0200 Subject: [PATCH 12/20] Removed (pvs) after local testing and debugging 2nd Ks --- .../python/Hlt2Conf/lines/charm/d_to_ksksh.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index 22baab1abee..c838d06bde3 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -135,9 +135,9 @@ def make_ks_ll( F.P > p_min, F.CHI2DOF < vchi2pdof_max, F.OWNPVVDZ > ownpvvdz_min, - F.OWNPVFDCHI2(pvs) > ownpvfdchi2_min, + F.OWNPVFDCHI2 > ownpvfdchi2_min, F.MINIPCHI2CUT(IPChi2Cut=mipchi2_min, Vertices=pvs), - F.OWNPVLTIME(pvs) > ownpvltime_min, + F.OWNPVLTIME > ownpvltime_min, ) return ParticleCombiner( [pions1, pions2], @@ -256,12 +256,12 @@ def combine_d_ks_ks_h( + (F.CHILD(1, F.END_VY) - F.END_VY) ** 2 ) > ks_fdrho_min, - F.CHILD(2, F.END_VZ) - F.END_VZ > dz1_min, - fmath.sqrt( - (F.CHILD(2, F.END_VX) - F.END_VX) ** 2 - + (F.CHILD(2, F.END_VY) - F.END_VY) ** 2 - ) - > ks_fdrho_min, + # F.CHILD(2, F.END_VZ) - F.END_VZ > dz1_min, + # fmath.sqrt( + # (F.CHILD(2, F.END_VX) - F.END_VX) ** 2 + # + (F.CHILD(2, F.END_VY) - F.END_VY) ** 2 + # ) + # > ks_fdrho_min, ) return ParticleCombiner( [ks0, ks1, particle], -- GitLab From 2bf4fa2c294d29043837ce2ba4927e0ad2dd1a4e Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Wed, 19 Mar 2025 17:14:55 +0200 Subject: [PATCH 13/20] Adding AllowDiffInputsForSameIDChildren=True --- Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index c838d06bde3..557c62d8b3c 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -283,7 +283,7 @@ def dp_to_kskspi_llll_line(name="Hlt2Charm_DpDspToKsKsPip_LLLL", prescale=1): filter_long_pions_from_ks(pvs), filter_long_pions_from_ks(pvs), pvs ) dp_kskspi_llll = combine_d_ks_ks_h( - ks_ll, ks_ll, long_pions, pvs, "[D+ -> KS0 KS0 pi+]cc", name=f"{name}_Combiner" + ks_ll, ks_ll, long_pions, pvs, "[D+ -> KS0 KS0 pi+]cc", name=f"{name}_Combiner", AllowDiffInputsForSameIDChildren=True ) return Hlt2Line( name=name, @@ -307,6 +307,7 @@ def dp_to_kskspi_lldd_line(name="Hlt2Charm_DpDspToKsKsPip_LLDD", prescale=1): pvs, "[D+ -> KS0 KS0 pi+]cc", name=f"{name}_Combiner", + AllowDiffInputsForSameIDChildren=True, doca_max=2.0 * mm, dz1_min=50.0 * mm, ks_fdrho_min=10 * mm, @@ -330,6 +331,7 @@ def dp_to_kskspi_dddd_line(name="Hlt2Charm_DpDspToKsKsPip_DDDD", prescale=1): pvs, "[D+ -> KS0 KS0 pi+]cc", name=f"{name}_Combiner", + AllowDiffInputsForSameIDChildren=True, doca_max=2.0 * mm, dz1_min=50.0 * mm, ks_fdrho_min=10 * mm, @@ -347,7 +349,7 @@ def dp_to_kskskp_llll_line(name="Hlt2Charm_DpDspToKsKsKp_LLLL", prescale=1): filter_long_pions_from_ks(pvs), filter_long_pions_from_ks(pvs), pvs ) dp_kskskp_llll = combine_d_ks_ks_h( - ks_ll, ks_ll, long_kaons, pvs, "[D+ -> KS0 KS0 K+]cc", name=f"{name}_Combiner" + ks_ll, ks_ll, long_kaons, pvs, "[D+ -> KS0 KS0 K+]cc", name=f"{name}_Combiner", AllowDiffInputsForSameIDChildren=True, ) return Hlt2Line( name=name, algs=charm_prefilters() + [ks_ll, dp_kskskp_llll], prescale=prescale @@ -369,6 +371,7 @@ def dp_to_kskskp_lldd_line(name="Hlt2Charm_DpDspToKsKsKp_LLDD", prescale=1): pvs, "[D+ -> KS0 KS0 K+]cc", name=f"{name}_Combiner", + AllowDiffInputsForSameIDChildren=True, doca_max=2.0 * mm, dz1_min=50.0 * mm, ks_fdrho_min=10 * mm, @@ -393,6 +396,7 @@ def dp_to_kskskp_dddd_line(name="Hlt2Charm_DpDspToKsKsKp_DDDD", prescale=1): pvs, "[D+ -> KS0 KS0 K+]cc", name=f"{name}_Combiner", + AllowDiffInputsForSameIDChildren=True, doca_max=2.0 * mm, dz1_min=50.0 * mm, ks_fdrho_min=10 * mm, -- GitLab From 4c005d5de7c349074c49c4e597651b1373b431dc Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Wed, 19 Mar 2025 17:56:01 +0200 Subject: [PATCH 14/20] Syntax --- .../python/Hlt2Conf/lines/charm/d_to_ksksh.py | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index 557c62d8b3c..edda0916fd8 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -256,12 +256,12 @@ def combine_d_ks_ks_h( + (F.CHILD(1, F.END_VY) - F.END_VY) ** 2 ) > ks_fdrho_min, - # F.CHILD(2, F.END_VZ) - F.END_VZ > dz1_min, - # fmath.sqrt( - # (F.CHILD(2, F.END_VX) - F.END_VX) ** 2 - # + (F.CHILD(2, F.END_VY) - F.END_VY) ** 2 - # ) - # > ks_fdrho_min, + F.CHILD(2, F.END_VZ) - F.END_VZ > dz1_min, + fmath.sqrt( + (F.CHILD(2, F.END_VX) - F.END_VX) ** 2 + + (F.CHILD(2, F.END_VY) - F.END_VY) ** 2 + ) + > ks_fdrho_min, ) return ParticleCombiner( [ks0, ks1, particle], @@ -283,7 +283,13 @@ def dp_to_kskspi_llll_line(name="Hlt2Charm_DpDspToKsKsPip_LLLL", prescale=1): filter_long_pions_from_ks(pvs), filter_long_pions_from_ks(pvs), pvs ) dp_kskspi_llll = combine_d_ks_ks_h( - ks_ll, ks_ll, long_pions, pvs, "[D+ -> KS0 KS0 pi+]cc", name=f"{name}_Combiner", AllowDiffInputsForSameIDChildren=True + ks_ll, + ks_ll, + long_pions, + pvs, + "[D+ -> KS0 KS0 pi+]cc", + name=f"{name}_Combiner", + AllowDiffInputsForSameIDChildren=True, ) return Hlt2Line( name=name, @@ -349,7 +355,13 @@ def dp_to_kskskp_llll_line(name="Hlt2Charm_DpDspToKsKsKp_LLLL", prescale=1): filter_long_pions_from_ks(pvs), filter_long_pions_from_ks(pvs), pvs ) dp_kskskp_llll = combine_d_ks_ks_h( - ks_ll, ks_ll, long_kaons, pvs, "[D+ -> KS0 KS0 K+]cc", name=f"{name}_Combiner", AllowDiffInputsForSameIDChildren=True, + ks_ll, + ks_ll, + long_kaons, + pvs, + "[D+ -> KS0 KS0 K+]cc", + name=f"{name}_Combiner", + AllowDiffInputsForSameIDChildren=True, ) return Hlt2Line( name=name, algs=charm_prefilters() + [ks_ll, dp_kskskp_llll], prescale=prescale -- GitLab From 9b43bd784a90a50427c081664267a60b1a4f6279 Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Wed, 19 Mar 2025 19:30:32 +0200 Subject: [PATCH 15/20] Shuffling location of allow-statement --- Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index edda0916fd8..78c734573cc 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -266,6 +266,7 @@ def combine_d_ks_ks_h( return ParticleCombiner( [ks0, ks1, particle], name=name, + AllowDiffInputsForSameIDChildren=True, DecayDescriptor=decay_descriptor, CombinationCut=comb_cut, CompositeCut=vertex_cut, @@ -289,7 +290,6 @@ def dp_to_kskspi_llll_line(name="Hlt2Charm_DpDspToKsKsPip_LLLL", prescale=1): pvs, "[D+ -> KS0 KS0 pi+]cc", name=f"{name}_Combiner", - AllowDiffInputsForSameIDChildren=True, ) return Hlt2Line( name=name, @@ -313,7 +313,6 @@ def dp_to_kskspi_lldd_line(name="Hlt2Charm_DpDspToKsKsPip_LLDD", prescale=1): pvs, "[D+ -> KS0 KS0 pi+]cc", name=f"{name}_Combiner", - AllowDiffInputsForSameIDChildren=True, doca_max=2.0 * mm, dz1_min=50.0 * mm, ks_fdrho_min=10 * mm, @@ -337,7 +336,6 @@ def dp_to_kskspi_dddd_line(name="Hlt2Charm_DpDspToKsKsPip_DDDD", prescale=1): pvs, "[D+ -> KS0 KS0 pi+]cc", name=f"{name}_Combiner", - AllowDiffInputsForSameIDChildren=True, doca_max=2.0 * mm, dz1_min=50.0 * mm, ks_fdrho_min=10 * mm, @@ -361,7 +359,6 @@ def dp_to_kskskp_llll_line(name="Hlt2Charm_DpDspToKsKsKp_LLLL", prescale=1): pvs, "[D+ -> KS0 KS0 K+]cc", name=f"{name}_Combiner", - AllowDiffInputsForSameIDChildren=True, ) return Hlt2Line( name=name, algs=charm_prefilters() + [ks_ll, dp_kskskp_llll], prescale=prescale @@ -383,7 +380,6 @@ def dp_to_kskskp_lldd_line(name="Hlt2Charm_DpDspToKsKsKp_LLDD", prescale=1): pvs, "[D+ -> KS0 KS0 K+]cc", name=f"{name}_Combiner", - AllowDiffInputsForSameIDChildren=True, doca_max=2.0 * mm, dz1_min=50.0 * mm, ks_fdrho_min=10 * mm, @@ -408,7 +404,6 @@ def dp_to_kskskp_dddd_line(name="Hlt2Charm_DpDspToKsKsKp_DDDD", prescale=1): pvs, "[D+ -> KS0 KS0 K+]cc", name=f"{name}_Combiner", - AllowDiffInputsForSameIDChildren=True, doca_max=2.0 * mm, dz1_min=50.0 * mm, ks_fdrho_min=10 * mm, -- GitLab From 21006a7656fd0674dfd3a69c6f7dc2c79d4e8a5e Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Thu, 20 Mar 2025 14:23:31 +0200 Subject: [PATCH 16/20] Added suggestions 20.03 --- Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py index 78c734573cc..90141a6ee29 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/d_to_ksksh.py @@ -55,7 +55,7 @@ all_lines = {} def filter_long_pions( - pvs, pt_min=250 * MeV, p_min=2 * GeV, mipchi2_min=35.0, pion_pidk_max=5.0 + pvs, pt_min=250 * MeV, p_min=2 * GeV, mipchi2_min=4.0, pion_pidk_max=5.0 ): """Filter long pions with P PT, MINIPCHI2CUT and PIDk cuts.""" cut = F.require_all( @@ -68,7 +68,7 @@ def filter_long_pions( def filter_long_kaons( - pvs, pt_min=250 * MeV, p_min=3 * GeV, mipchi2_min=35.0, pidk_min=-5.0 + pvs, pt_min=250 * MeV, p_min=3 * GeV, mipchi2_min=4.0, pidk_min=-5.0 ): """Filter long kaons with P PT, MINIPCHI2CUT and PIDk cuts.""" cut = F.require_all( @@ -242,7 +242,7 @@ def combine_d_ks_ks_h( vertex_cut = F.require_all( in_range(m_min, F.MASS, m_max), F.END_VZ > dzero_vz_min, - F.OWNPVVDRHO() < bpfdrho_max, + F.OWNPVVDRHO < bpfdrho_max, F.PT > pt_min, F.P > p_min, F.CHI2DOF < vchi2pdof_max, -- GitLab From eda29019f508fe38c70e6f243b50205dd56d55ec Mon Sep 17 00:00:00 2001 From: Gediminas Sarpis <gediminas.sarpis@cern.ch> Date: Wed, 26 Mar 2025 12:28:00 +0200 Subject: [PATCH 17/20] rebased to pick up new changes --- .../lines/charm/detection_asymmetry_lines.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/detection_asymmetry_lines.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/detection_asymmetry_lines.py index e3aae8c982d..aa1e42e1323 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/detection_asymmetry_lines.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/detection_asymmetry_lines.py @@ -252,10 +252,18 @@ def make_prompt_dplus_to_kspi( cos_bpvdira_min = math.cos(acos_bpvdira_max) vertex_cuts = F.require_all( F.CHI2DOF < vchi2pdof_max, +<<<<<<< HEAD F.OWNPVDIRA > cos_bpvdira_min, F.ETA < charm_eta_max, F.OWNPVFDCHI2 > fdchi2_pv_min, F.OWNPVIPCHI2 < max_ipchi2_best_pv, +======= + F.BPVDIRA(pvs) > cos_bpvdira_min, + F.ETA < charm_eta_max, + F.BPVFDCHI2(pvs) > fdchi2_pv_min, + (F.CHILD(1, F.OWNPVZ) - F.OWNPVZ) ** 2 < pv_compatibility_z2, + F.BPVIPCHI2(pvs) < max_ipchi2_best_pv, +>>>>>>> 1194bdd1d (Charm detection asymmetry lines tuning for 2025) (F.CHILD(1, F.END_VZ) - F.END_VZ) > dz1_min, F.OWNPVVDRHO < vertex_rho_max, F.OWNPVLTIME > bpvltime_min, @@ -333,6 +341,7 @@ def make_prompt_ds_to_ksk( vertex_cuts = F.require_all( F.CHI2DOF < vchi2pdof_max, in_range(am_min, F.MASS, am_max), +<<<<<<< HEAD F.OWNPVDIRA > cos_bpvdira_min, F.OWNPVFDCHI2 > fdchi2_pv_min, F.OWNPVLTIME > bpvltime_min, @@ -340,6 +349,15 @@ def make_prompt_ds_to_ksk( F.ETA < charm_eta_max, (F.CHILD(1, F.OWNPVZ) - F.OWNPVZ) ** 2 < pv_compatibility_z2, F.OWNPVIPCHI2 < max_ipchi2_best_pv, +======= + F.BPVDIRA(pvs) > cos_bpvdira_min, + F.BPVFDCHI2(pvs) > fdchi2_pv_min, + F.BPVLTIME(pvs) > bpvltime_min, + F.BPVVDRHO(pvs) < vertex_rho_max, + F.ETA < charm_eta_max, + (F.CHILD(1, F.OWNPVZ) - F.OWNPVZ) ** 2 < pv_compatibility_z2, + F.BPVIPCHI2(pvs) < max_ipchi2_best_pv, +>>>>>>> 1194bdd1d (Charm detection asymmetry lines tuning for 2025) ( (F.CHILD(1, F.END_VX) - F.END_VX) ** 2 # FD of KS + (F.CHILD(1, F.END_VY) - F.END_VY) ** 2 -- GitLab From bbde28a5e1a2481389e2d2b04cfe3c5c7f962a73 Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Cocha Toapaxi <carlos.eduardo.cocha.toapaxi@cern.ch> Date: Wed, 26 Mar 2025 13:07:15 +0100 Subject: [PATCH 18/20] Checkout differences from target branch --- .../lines/charm/detection_asymmetry_lines.py | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/detection_asymmetry_lines.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/detection_asymmetry_lines.py index aa1e42e1323..e3aae8c982d 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/detection_asymmetry_lines.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/detection_asymmetry_lines.py @@ -252,18 +252,10 @@ def make_prompt_dplus_to_kspi( cos_bpvdira_min = math.cos(acos_bpvdira_max) vertex_cuts = F.require_all( F.CHI2DOF < vchi2pdof_max, -<<<<<<< HEAD F.OWNPVDIRA > cos_bpvdira_min, F.ETA < charm_eta_max, F.OWNPVFDCHI2 > fdchi2_pv_min, F.OWNPVIPCHI2 < max_ipchi2_best_pv, -======= - F.BPVDIRA(pvs) > cos_bpvdira_min, - F.ETA < charm_eta_max, - F.BPVFDCHI2(pvs) > fdchi2_pv_min, - (F.CHILD(1, F.OWNPVZ) - F.OWNPVZ) ** 2 < pv_compatibility_z2, - F.BPVIPCHI2(pvs) < max_ipchi2_best_pv, ->>>>>>> 1194bdd1d (Charm detection asymmetry lines tuning for 2025) (F.CHILD(1, F.END_VZ) - F.END_VZ) > dz1_min, F.OWNPVVDRHO < vertex_rho_max, F.OWNPVLTIME > bpvltime_min, @@ -341,7 +333,6 @@ def make_prompt_ds_to_ksk( vertex_cuts = F.require_all( F.CHI2DOF < vchi2pdof_max, in_range(am_min, F.MASS, am_max), -<<<<<<< HEAD F.OWNPVDIRA > cos_bpvdira_min, F.OWNPVFDCHI2 > fdchi2_pv_min, F.OWNPVLTIME > bpvltime_min, @@ -349,15 +340,6 @@ def make_prompt_ds_to_ksk( F.ETA < charm_eta_max, (F.CHILD(1, F.OWNPVZ) - F.OWNPVZ) ** 2 < pv_compatibility_z2, F.OWNPVIPCHI2 < max_ipchi2_best_pv, -======= - F.BPVDIRA(pvs) > cos_bpvdira_min, - F.BPVFDCHI2(pvs) > fdchi2_pv_min, - F.BPVLTIME(pvs) > bpvltime_min, - F.BPVVDRHO(pvs) < vertex_rho_max, - F.ETA < charm_eta_max, - (F.CHILD(1, F.OWNPVZ) - F.OWNPVZ) ** 2 < pv_compatibility_z2, - F.BPVIPCHI2(pvs) < max_ipchi2_best_pv, ->>>>>>> 1194bdd1d (Charm detection asymmetry lines tuning for 2025) ( (F.CHILD(1, F.END_VX) - F.END_VX) ** 2 # FD of KS + (F.CHILD(1, F.END_VY) - F.END_VY) ** 2 -- GitLab From e4ffb92c645f5069d4f789251070367a08ee56bf Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Cocha Toapaxi <carlos.eduardo.cocha.toapaxi@cern.ch> Date: Fri, 28 Mar 2025 18:44:13 +0100 Subject: [PATCH 19/20] Enabling d_to_ksksh module --- Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py index 9edd2dbf9e3..783e7023388 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py @@ -35,6 +35,7 @@ from . import ( d_to_hhh, d_to_hhhgamma, d_to_ksh, + d_to_ksksh, detection_asymmetry_lines, dsstar_to_dspipi, dst_to_dee, @@ -63,7 +64,8 @@ all_lines.update(d_to_etah.all_lines) all_lines.update(d_to_hhh.all_lines) all_lines.update(d_to_hhhgamma.all_lines) all_lines.update(d_to_ksh.all_lines) -all_lines.update(d0_to_hh.all_lines) +all_lines.update(d_to_ksh.all_lines) +all_lines.update(d_to_ksksh.all_lines) all_lines.update(d0_to_hhgamma.all_lines) all_lines.update(d0_to_hhhh.all_lines) all_lines.update(d0_to_hhpi0.all_lines) -- GitLab From 5522bd05ac752d2c4d909e309291340490689901 Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Cocha Toapaxi <carlos.eduardo.cocha.toapaxi@cern.ch> Date: Fri, 28 Mar 2025 18:46:21 +0100 Subject: [PATCH 20/20] Fix typo --- Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py index 783e7023388..3b523a1a989 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py @@ -64,8 +64,8 @@ all_lines.update(d_to_etah.all_lines) all_lines.update(d_to_hhh.all_lines) all_lines.update(d_to_hhhgamma.all_lines) all_lines.update(d_to_ksh.all_lines) -all_lines.update(d_to_ksh.all_lines) all_lines.update(d_to_ksksh.all_lines) +all_lines.update(d0_to_hh.all_lines) all_lines.update(d0_to_hhgamma.all_lines) all_lines.update(d0_to_hhhh.all_lines) all_lines.update(d0_to_hhpi0.all_lines) -- GitLab