diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/b_to_xgamma_conv_exclusive_hlt2.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/b_to_xgamma_conv_exclusive_hlt2.py
index b7769f5f2c365968b8479536a9fa58246af78743..d34cef02a29a309d02a2c4c312f040e1f40639ec 100755
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/b_to_xgamma_conv_exclusive_hlt2.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/b_to_xgamma_conv_exclusive_hlt2.py
@@ -34,6 +34,11 @@ data 13.03.25
 author: Fionn Bishop
 date: 20.03.25
 
+- B0 -> Lambda0bar P+ pi- gamma
+
+author: Niladri Sahoo
+date: 21.03.25
+
 """
 
 import Functors as F
@@ -53,6 +58,7 @@ from Hlt2Conf.lines.rd.builders.b_to_xgamma_exclusive_builders import (
     make_rad_dstp_dzpip,
     make_rad_kstarp,
     make_rad_l0barp,
+    make_rad_l0barppi,
     make_rad_lambda_dd,
     make_rad_lambda_ll,
     make_rad_loose_nonres_kk,
@@ -680,3 +686,124 @@ def bc_to_dsstgamma_gammatoeeDD_line(
         calo_digits=RD_PERSIST_CALO_DIGITS,
         monitoring_variables=_RD_MONITORING_VARIABLES,
     )
+
+
+###############################
+### B0 -> Lambdabar p+ pi- gamma ###
+###############################
+
+
+@register_line_builder(all_lines)
+def bd_to_lambdappigamma_LL_gammatoeeLL_line(
+    name="Hlt2RD_BdToL0barPPiGamma_LL_GammaToEELL",
+    persistreco=False,
+    prescale=1.0,
+):
+    l0barppi = make_rad_l0barppi(l0bar_topology="LL")
+
+    b = make_b2xgamma_gamma2ee_excl(
+        intermediate=l0barppi,
+        dielectron="LL",
+        descriptor="[B0 -> f_2(2300) gamma]cc",
+        name="rd_BdToL0barPPiGamma_LL_GammaToEELL_Combiner_{hash}",
+    )
+
+    iso_parts = isolation_parts(b)
+
+    return Hlt2Line(
+        name=name,
+        algs=rd_prefilter() + [l0barppi, b],
+        prescale=prescale,
+        persistreco=persistreco,
+        calo_digits=RD_PERSIST_CALO_DIGITS,
+        calo_clusters=RD_PERSIST_CALO_CLUSTERS,
+        monitoring_variables=_RD_MONITORING_VARIABLES,
+        extra_outputs=iso_parts,
+    )
+
+
+@register_line_builder(all_lines)
+def bd_to_lambdappigamma_DD_gammatoeeLL_line(
+    name="Hlt2RD_BdToL0barPPiGamma_DD_GammaToEELL",
+    persistreco=False,
+    prescale=1.0,
+):
+    l0barppi = make_rad_l0barppi(l0bar_topology="DD")
+
+    b = make_b2xgamma_gamma2ee_excl(
+        intermediate=l0barppi,
+        dielectron="LL",
+        descriptor="[B0 -> f_2(2300) gamma]cc",
+        name="rd_BdToL0barPPiGamma_DD_GammaToEELL_Combiner_{hash}",
+    )
+
+    iso_parts = isolation_parts(b)
+
+    return Hlt2Line(
+        name=name,
+        algs=rd_prefilter() + [l0barppi, b],
+        prescale=prescale,
+        persistreco=persistreco,
+        calo_digits=RD_PERSIST_CALO_DIGITS,
+        calo_clusters=RD_PERSIST_CALO_CLUSTERS,
+        monitoring_variables=_RD_MONITORING_VARIABLES,
+        extra_outputs=iso_parts,
+    )
+
+
+@register_line_builder(all_lines)
+def bd_to_lambdappigamma_LL_gammatoeeDD_line(
+    name="Hlt2RD_BdToL0barPPiGamma_LL_GammaToEEDD",
+    persistreco=False,
+    prescale=1.0,
+):
+    l0barppi = make_rad_l0barppi(l0bar_topology="LL")
+
+    b = make_b2xgamma_gamma2ee_excl(
+        intermediate=l0barppi,
+        dielectron="DD",
+        descriptor="[B0 -> f_2(2300) gamma]cc",
+        name="rd_BdToL0barPPiGamma_LL_GammaToEEDD_Combiner_{hash}",
+    )
+
+    iso_parts = isolation_parts(b)
+
+    return Hlt2Line(
+        name=name,
+        algs=rd_prefilter() + [l0barppi, b],
+        prescale=prescale,
+        persistreco=persistreco,
+        calo_digits=RD_PERSIST_CALO_DIGITS,
+        calo_clusters=RD_PERSIST_CALO_CLUSTERS,
+        monitoring_variables=_RD_MONITORING_VARIABLES,
+        extra_outputs=iso_parts,
+    )
+
+
+@register_line_builder(all_lines)
+def bd_to_lambdappigamma_DD_gammatoeeDD_line(
+    name="Hlt2RD_BdToL0barPPiGamma_DD_GammaToEEDD",
+    persistreco=False,
+    prescale=1.0,
+):
+    l0barppi = make_rad_l0barppi(l0bar_topology="DD")
+
+    b = make_b2xgamma_gamma2ee_excl(
+        intermediate=l0barppi,
+        dielectron="DD",
+        descriptor="[B0 -> f_2(2300) gamma]cc",
+        name="rd_BdToL0barPPiGamma_DD_GammaToEEDD_Combiner_{hash}",
+    )
+
+    iso_parts = isolation_parts(b)
+
+    return Hlt2Line(
+        name=name,
+        algs=rd_prefilter() + [l0barppi, b],
+        prescale=prescale,
+        persistreco=persistreco,
+        calo_digits=RD_PERSIST_CALO_DIGITS,
+        calo_clusters=RD_PERSIST_CALO_CLUSTERS,
+        monitoring_variables=_RD_MONITORING_VARIABLES,
+        extra_outputs=iso_parts,
+    )
diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/b_to_xgamma_conv_exclusive_spruce.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/b_to_xgamma_conv_exclusive_spruce.py
index c0336205ed5538af6de424d1af629f4c3c6bcad9..d92be3884358859acb6be1f7faa4bcf03c6d340e 100644
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/b_to_xgamma_conv_exclusive_spruce.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/b_to_xgamma_conv_exclusive_spruce.py
@@ -16,6 +16,12 @@ PID-exclusive B -> XX gamma Hlt2 lines with converted gamma
 author: Fionn Bishop
 date: 05.02.24
 
+
+- B0 -> Lambda0bar P+ pi- gamma
+
+author: Niladri Sahoo
+date: 21.03.25
+
 """
 
 from Moore.config import register_line_builder
@@ -25,6 +31,7 @@ from Hlt2Conf.lines.rd.builders.b_to_xgamma_exclusive_builders import (
     isolation_parts,
     make_b2xgamma_gamma2ee_excl,
     make_rad_l0barp,
+    make_rad_l0barppi,
     make_rad_loose_nonres_kpi,
 )
 from Hlt2Conf.lines.rd.builders.rd_prefilters import (
@@ -188,3 +195,111 @@ def bu_to_lambdapgamma_DD_gammatoeeDD_line(
         calo_digits=RD_PERSIST_CALO_DIGITS,
         calo_clusters=RD_PERSIST_CALO_CLUSTERS,
     )
+
+
+@register_line_builder(sprucing_lines)
+def bd_to_lambdappigamma_LL_gammatoeeLL_line(
+    name="SpruceRD_BdToL0barPPiGamma_LL_GammaToEELL",
+    prescale=1.0,
+):
+    l0barppi = make_rad_l0barppi(l0bar_topology="LL")
+
+    b = make_b2xgamma_gamma2ee_excl(
+        intermediate=l0barppi,
+        dielectron="LL",
+        descriptor="[B0 -> f_2(2300) gamma]cc",
+        name="rd_BdToL0barPPiGamma_LL_GammaToEELL_Combiner_{hash}",
+    )
+
+    iso_parts = isolation_parts(b)
+
+    return SpruceLine(
+        name=name,
+        algs=rd_prefilter() + [l0barppi, b],
+        prescale=prescale,
+        hlt2_filter_code=["Hlt2RD_BToHHGamma_GammaToEELL_Incl_FullDecision"],
+        extra_outputs=iso_parts,
+        calo_digits=RD_PERSIST_CALO_DIGITS,
+        calo_clusters=RD_PERSIST_CALO_CLUSTERS,
+    )
+
+
+@register_line_builder(sprucing_lines)
+def bd_to_lambdappigamma_LL_gammatoeeDD_line(
+    name="SpruceRD_BdToL0barPPiGamma_LL_GammaToEEDD",
+    prescale=1.0,
+):
+    l0barppi = make_rad_l0barppi(l0bar_topology="LL")
+
+    b = make_b2xgamma_gamma2ee_excl(
+        intermediate=l0barppi,
+        dielectron="DD",
+        descriptor="[B0 -> f_2(2300) gamma]cc",
+        name="rd_BdToL0barPPiGamma_LL_GammaToEEDD_Combiner_{hash}",
+    )
+
+    iso_parts = isolation_parts(b)
+
+    return SpruceLine(
+        name=name,
+        algs=rd_prefilter() + [l0barppi, b],
+        prescale=prescale,
+        hlt2_filter_code=["Hlt2RD_BToHHGamma_GammaToEEDD_Incl_FullDecision"],
+        extra_outputs=iso_parts,
+        calo_digits=RD_PERSIST_CALO_DIGITS,
+        calo_clusters=RD_PERSIST_CALO_CLUSTERS,
+    )
+
+
+@register_line_builder(sprucing_lines)
+def bd_to_lambdappigamma_DD_gammatoeeLL_line(
+    name="SpruceRD_BdToL0barPPiGamma_DD_GammaToEELL",
+    prescale=1.0,
+):
+    l0barppi = make_rad_l0barppi(l0bar_topology="DD")
+
+    b = make_b2xgamma_gamma2ee_excl(
+        intermediate=l0barppi,
+        dielectron="LL",
+        descriptor="[B0 -> f_2(2300) gamma]cc",
+        name="rd_BdToL0barPPiGamma_DD_GammaToEELL_Combiner_{hash}",
+    )
+
+    iso_parts = isolation_parts(b)
+
+    return SpruceLine(
+        name=name,
+        algs=rd_prefilter() + [l0barppi, b],
+        prescale=prescale,
+        hlt2_filter_code=["Hlt2RD_BToHHGamma_GammaToEELL_Incl_FullDecision"],
+        extra_outputs=iso_parts,
+        calo_digits=RD_PERSIST_CALO_DIGITS,
+        calo_clusters=RD_PERSIST_CALO_CLUSTERS,
+    )
+
+
+@register_line_builder(sprucing_lines)
+def bd_to_lambdappigamma_DD_gammatoeeDD_line(
+    name="SpruceRD_BdToL0barPPiGamma_DD_GammaToEEDD",
+    prescale=1.0,
+):
+    l0barppi = make_rad_l0barppi(l0bar_topology="DD")
+
+    b = make_b2xgamma_gamma2ee_excl(
+        intermediate=l0barppi,
+        dielectron="DD",
+        descriptor="[B0 -> f_2(2300) gamma]cc",
+        name="rd_BdToL0barPPiGamma_DD_GammaToEEDD_Combiner_{hash}",
+    )
+
+    iso_parts = isolation_parts(b)
+
+    return SpruceLine(
+        name=name,
+        algs=rd_prefilter() + [l0barppi, b],
+        prescale=prescale,
+        hlt2_filter_code=["Hlt2RD_BToHHGamma_GammaToEEDD_Incl_FullDecision"],
+        extra_outputs=iso_parts,
+        calo_digits=RD_PERSIST_CALO_DIGITS,
+        calo_clusters=RD_PERSIST_CALO_CLUSTERS,
+    )
diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/builders/b_to_xgamma_exclusive_builders.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/builders/b_to_xgamma_exclusive_builders.py
index 059dfd814f2beb96bcf8012b9148b4977c27f441..3256c435e949c5f40de9dc6932f099f357f726ea 100755
--- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/builders/b_to_xgamma_exclusive_builders.py
+++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/builders/b_to_xgamma_exclusive_builders.py
@@ -19,6 +19,7 @@ Exclusive builders for Bc
 authors: Debashis Sahoo, Biplab Dey
 date: 15.05.2024
 
+
 """
 
 from math import cos
@@ -732,6 +733,46 @@ def make_rad_lambda_dd(name="rad_lambda_dd_{hash}"):
     return lambdas
 
 
+@configurable
+def make_rad_l0barppi(
+    l0bar_topology: str,
+    name="rad_l0barppi_{hash}",
+    make_proton=make_rd_has_rich_detached_protons,
+    make_pion=make_rd_detached_pions,
+    am_min=2225 * MeV,
+    am_max=5000 * MeV,
+    adocachi2_max=30.0,
+    vchi2pdof_max=10,
+    pt_min=500 * MeV,
+):
+    """
+    Build L0barppi candidates.
+    """
+    if l0bar_topology == "LL":
+        make_l0 = make_rad_lambda_ll
+    if l0bar_topology == "DD":
+        make_l0 = make_rad_lambda_dd
+    l0 = make_l0()
+    protons = make_proton()
+    pions = make_pion()
+    descriptor = "[f_2(2300) -> Lambda~0 p+ pi-]cc"
+    combination_code = F.require_all(
+        in_range(am_min - 25 * MeV, F.MASS, am_max + 25 * MeV),
+        F.MAXSDOCACHI2CUT(adocachi2_max),
+        F.PT > pt_min,
+    )
+    vertex_code = F.require_all(
+        F.CHI2DOF < vchi2pdof_max, in_range(am_min, F.MASS, am_max)
+    )
+    return ParticleCombiner(
+        [l0, protons, pions],
+        name=name.replace("l0barppi", "l0barppi_" + l0bar_topology),
+        DecayDescriptor=descriptor,
+        CombinationCut=combination_code,
+        CompositeCut=vertex_code,
+    )
+
+
 @configurable
 def make_rad_kstarp(
     ks_topology: str,