diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix.py
index 4234599881658391c2e90304a0336597ae025384..88e51bdc68d2d8473d7c0c67df737f2a705895df 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix.py
@@ -255,6 +255,23 @@ def make_Bd2JpsimumuKshortKshort_detached(
     )
 
 
+def make_LbToJpsiKs_Neutron_tight(
+    particles,
+    descriptor,
+    name="B2CC_LbToJpsiKshort_Neutron_Combiner_{hash}",
+    comb_m_min=6050 * MeV,
+    comb_m_max=6555 * MeV,
+):
+    combination_code = in_range(comb_m_min, F.MASS, comb_m_max)
+
+    return ParticleCombiner(
+        name=name,
+        Inputs=particles,
+        DecayDescriptor=descriptor,
+        CombinationCut=combination_code,
+    )
+
+
 ### Define function for each line
 def make_BsToJpsiPhi_detached_line(process):
     assert process in ["hlt2", "spruce"], (
@@ -655,6 +672,93 @@ def make_LbToJpsipH_line(
     return [jpsi, lambda0, Lb2jpsipH]
 
 
+def make_LbToJpsiKs_LL_Neutron_tight_line(
+    process,
+    comb_m_min_jpsi=2916 * MeV,
+    comb_m_max_jpsi=3276 * MeV,
+    comb_m_min=3550 * MeV,
+    comb_m_max=4750 * MeV,
+):
+    assert process in ["hlt2", "spruce"], (
+        "Line must be defined as Hlt2 or Sprucing line!"
+    )
+    muons = basic_builder.filter_muons_loose(
+        particles=make_long_muons(), mu_pidk=10, mu_pidp=10
+    )
+    jpsi = basic_builder.make_selected_jpsi_bd2jpsimumukshort(
+        muons=muons, max_vchi2pdof=4
+    )
+    kshort_LL = basic_builder.make_ks_LL(bpvvdchi2=4, chi2vx=4, pi_mipchi2pv=4)
+
+    Lb2jpsiKs = make_LbToJpsiKs_Neutron_tight(
+        name="B2CC_LbToJpsiKshort_neutron_Combiner_{hash}",
+        particles=[jpsi, kshort_LL],
+        descriptor="[Lambda_b0 -> J/psi(1S) KS0 ]cc",
+        comb_m_min=comb_m_min,
+        comb_m_max=comb_m_max,
+    )
+
+    return [jpsi, kshort_LL, Lb2jpsiKs]
+
+
+def make_LbToJpsiKs_DD_Neutron_tight_line(
+    process,
+    comb_m_min_jpsi=2916 * MeV,
+    comb_m_max_jpsi=3276 * MeV,
+    comb_m_min=3550 * MeV,
+    comb_m_max=4750 * MeV,
+):
+    assert process in ["hlt2", "spruce"], (
+        "Line must be defined as Hlt2 or Sprucing line!"
+    )
+    muons = basic_builder.filter_muons_loose(
+        particles=make_long_muons(), mu_pidk=10, mu_pidp=10
+    )
+    jpsi = basic_builder.make_selected_jpsi_bd2jpsimumukshort(
+        muons=muons, max_vchi2pdof=4
+    )
+    kshort_DD = basic_builder.make_ks_DD(bpvvdchi2=4, chi2vx=4)
+
+    Lb2jpsiKs = make_LbToJpsiKs_Neutron_tight(
+        name="B2CC_LbToJpsiKshort_neutron_Combiner_{hash}",
+        particles=[jpsi, kshort_DD],
+        descriptor="[Lambda_b0 -> J/psi(1S) KS0 ]cc",
+        comb_m_min=comb_m_min,
+        comb_m_max=comb_m_max,
+    )
+
+    return [jpsi, kshort_DD, Lb2jpsiKs]
+
+
+def make_LbToJpsiKs_LD_Neutron_tight_line(
+    process,
+    comb_m_min_jpsi=2916 * MeV,
+    comb_m_max_jpsi=3276 * MeV,
+    comb_m_min=3550 * MeV,
+    comb_m_max=4750 * MeV,
+):
+    assert process in ["hlt2", "spruce"], (
+        "Line must be defined as Hlt2 or Sprucing line!"
+    )
+    muons = basic_builder.filter_muons_loose(
+        particles=make_long_muons(), mu_pidk=10, mu_pidp=10
+    )
+    jpsi = basic_builder.make_selected_jpsi_bd2jpsimumukshort(
+        muons=muons, max_vchi2pdof=4
+    )
+    kshort_LD = basic_builder.make_ks_LD(bpvvdchi2=4, chi2vx=4, pi_mipchi2pv=4)
+
+    Lb2jpsiKs = make_LbToJpsiKs_Neutron_tight(
+        name="B2CC_LbToJpsiKshort_neutron_Combiner_{hash}",
+        particles=[jpsi, kshort_LD],
+        descriptor="[Lambda_b0 -> J/psi(1S) KS0 ]cc",
+        comb_m_min=comb_m_min,
+        comb_m_max=comb_m_max,
+    )
+
+    return [jpsi, kshort_LD, Lb2jpsiKs]
+
+
 def make_BdToJpsieeKshort_LL_detached_line(process):
     assert process in ["hlt2", "spruce"], (
         "Line must be defined as Hlt2 or Sprucing line!"
diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py
index 5792c4b2e64e9bfadfbee799dc50fc139cc34866..70c6e5d85f7f9970adaf36900c0564f91ad98af9 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py
@@ -225,6 +225,52 @@ def LbToJpsipH_line(name="Hlt2B2CC_LbToJpsipH", prescale=1, persistreco=False):
     )
 
 
+@register_line_builder(all_lines)
+def LbToJpsiKs_Neutron_LL_tight_line(
+    name="Hlt2B2CC_LbToJpsiKs_LL_Neutron_tight", prescale=1, persistreco=False
+):
+    line_alg = b_to_jpsix.make_LbToJpsiKs_LL_Neutron_tight_line(process=PROCESS)
+    return Hlt2Line(
+        name=name,
+        prescale=prescale,
+        algs=b2cc_prefilters() + line_alg,
+        persistreco=persistreco,
+        calo_digits=True,
+        calo_clusters=True,
+        raw_banks=["Calo"],
+    )
+
+
+@register_line_builder(all_lines)
+def LbToJpsiKs_Neutron_DD_tight_line(
+    name="Hlt2B2CC_LbToJpsiKs_DD_Neutron_tight", prescale=1, persistreco=False
+):
+    line_alg = b_to_jpsix.make_LbToJpsiKs_DD_Neutron_tight_line(process=PROCESS)
+    return Hlt2Line(
+        name=name,
+        prescale=prescale,
+        algs=b2cc_prefilters() + line_alg,
+        persistreco=persistreco,
+        calo_digits=True,
+        calo_clusters=True,
+    )
+
+
+@register_line_builder(all_lines)
+def LbToJpsiKs_Neutron_LD_tight_line(
+    name="Hlt2B2CC_LbToJpsiKs_LD_Neutron_tight", prescale=1, persistreco=False
+):
+    line_alg = b_to_jpsix.make_LbToJpsiKs_LD_Neutron_tight_line(process=PROCESS)
+    return Hlt2Line(
+        name=name,
+        prescale=prescale,
+        algs=b2cc_prefilters() + line_alg,
+        persistreco=persistreco,
+        calo_digits=True,
+        calo_clusters=True,
+    )
+
+
 @register_line_builder(all_lines)
 def BdToJpsieeKshort_LL_detached_line(
     name="Hlt2B2CC_BdToJpsiKshort_JpsiToEE_LL_Detached", prescale=1, persistreco=False