diff --git a/Phys/StrippingSelections/python/StrippingSelections/StrippingB2OC/Beauty2Charm_Lb2XBuilder.py b/Phys/StrippingSelections/python/StrippingSelections/StrippingB2OC/Beauty2Charm_Lb2XBuilder.py
index a288b2f4d0811a7fbb7a5f161c577dcf36445191..2d7c3396e19660aa341cecf2566a5a9bfe0d626e 100644
--- a/Phys/StrippingSelections/python/StrippingSelections/StrippingB2OC/Beauty2Charm_Lb2XBuilder.py
+++ b/Phys/StrippingSelections/python/StrippingSelections/StrippingB2OC/Beauty2Charm_Lb2XBuilder.py
@@ -20,20 +20,78 @@ from Beauty2Charm_Utils import *
 
 #\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\#
 
+class XimBuilder(object):
+    '''Produces all Xim baryons for the Beauty2Charm module.'''
+
+    def __init__(self, pions, kaons, protons, lambda0, config_Xim):
+        
+				#selections written in StrippingBeauty2Charm.py
+        self.pions = pions
+        self.kaons = kaons
+        self.protons = protons
+        self.lambda0 = lambda0
+        self.config_Xim = config_Xim #Xi- selections written in StrippingBeauty2Charm.py
+        
+				#Xi-
+        self.xim_lmd0pim_LL = [self._makeXim2Lmd0Pim("LL")]
+        self.xim_lmd0pim_DD = [self._makeXim2Lmd0Pim("DD")]
+		
+    def _makeXim2Lmd0Pim(self, lmd):
+        '''Makes Xi- -> Lambda0 Pim + cc'''
+        dm, units = LoKiCuts.cutValue(self.config_Xim['MASS_WINDOW'])
+        # Pre vertex fit
+        comboCuts = [
+            "(ADAMASS('Xi-') < %s*%s) " % (dm + 50, units)
+        ]
+        comboCuts.append(LoKiCuts(['ADOCA12'], self.config_Xim).code())
+        comboCuts = LoKiCuts.combine(comboCuts)
+        # Post vertex fit
+        momCuts = [
+            "(ADMASS('Xi-') < %s*%s) " % (dm + 40, units)
+        ]
+        momCuts = LoKiCuts.combine(momCuts)
+        cp = CombineParticles(
+            CombinationCut=comboCuts,
+            MotherCut=momCuts,
+            DecayDescriptors=["Xi- -> Lambda0 pi-", "Xi~+ -> Lambda~0 pi+"])
+        return Selection(
+            'Xim2Lambda0Pim' + lmd + 'Beauty2Charm',
+            Algorithm=cp,
+            RequiredSelections= self.lambda0[lmd] + [self.pions])
+
+#\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\#
 
 class LcBuilder(object):
     '''Produces all Lambda_c baryons for the Beauty2Charm module.'''
 
-    def __init__(self, pions, kaons, protons, lambda0, config, config_pid):
+    def __init__(self, pions, kaons, protons, lambda0, ks, xim, config, config_Xic0, config_pid):
         self.pions = pions
         self.kaons = kaons
         self.protons = protons
         self.lambda0 = lambda0
+        self.ks = ks
+        self.xim_lmd0pim_LL = xim.xim_lmd0pim_LL
+        self.xim_lmd0pim_DD = xim.xim_lmd0pim_DD
         self.config = config
         self.pkpi = [self._makeLc2phh()]
         self.pkk = [self._makeLc2phh("PKK")]
         self.ppipi = [self._makeLc2phh("PPiPi")]
-        self.lambdapiLL = [self._makeLc2Lambdapi("LL")]
+        self.xic_pkpi = [self._makeXic2pKpi()]
+        self.xic0_pkkpi = [self._makeXic02pKKpi()]
+        self.omegac0_pkkpi = [self._makeOmegac02pKKpi()]
+        self.config_Xic0 = config_Xic0
+        
+				# Xic0_XimPip
+        self.xic0_ximpip_LL = [self._makeXic02XimPip("LL")]
+        self.xic0_ximpip_DD = [self._makeXic02XimPip("DD")]
+        # xic0_Lambda0kmpip
+        self.xic0_lmd0kmpip_LL = [self._makeXic02Lambda0KmPip("LL")]
+        self.xic0_lmd0kmpip_DD = [self._makeXic02Lambda0KmPip("DD")]
+        # xic0_PKsKm
+        self.xic0_pkskm_LL = [self._makeXic02PKsKm("LL")]
+        self.xic0_pkskm_DD = [self._makeXic02PKsKm("DD")]
+        
+				self.lambdapiLL = [self._makeLc2Lambdapi("LL")]
         self.lambdapiDD = [self._makeLc2Lambdapi("DD")]
         self.xic_pkpi = [self._makeXic2pKpi()]
         self.xic0_pkkpi = [self._makeXic02pKKpi()]
@@ -240,6 +298,79 @@ class LcBuilder(object):
             Algorithm=cp,
             RequiredSelections=[self.pions, self.kaons, self.protons])
 
+    def _makeXic02XimPip(self, lmd):
+        '''Makes Xi_c0 -> Xi- pi+ + cc'''
+        dm, units = LoKiCuts.cutValue(self.config_Xic0['MASS_WINDOW'])
+        comboCuts = [
+            "(ADAMASS('Xi_c0') < %s*%s) " % (dm + 50, units)
+        ]
+        comboCuts.append(LoKiCuts(['ADOCA12'], self.config_Xic0).code())
+        comboCuts = LoKiCuts.combine(comboCuts)
+        momCuts = [
+            "(ADMASS('Xi_c0') < %s*%s) " % (dm + 30, units)
+        ]
+        momCuts = LoKiCuts.combine(momCuts)
+        cp = CombineParticles(
+            CombinationCut=comboCuts,
+            MotherCut=momCuts,
+            DecayDescriptors=["Xi_c0 -> Xi- pi+", "Xi_c~0 -> Xi~+ pi-"])
+        used_xim = self.xim_lmd0pim_DD
+        if "LL" in lmd:
+            used_xim = self.xim_lmd0pim_LL
+        else:
+            pass
+        return Selection(
+            'Xic02XimPip' + lmd + 'Beauty2Charm',
+            Algorithm=cp,
+            RequiredSelections=used_xim + [self.pions])
+    
+    def _makeXic02Lambda0KmPip(self, lmd):
+        '''Makes Xi_c0 -> Lambda0 K- Pi+ + cc'''
+        dm, units = LoKiCuts.cutValue(self.config_Xic0['MASS_WINDOW'])
+        comboCuts = [
+            "(ADAMASS('Xi_c0') < %s*%s) " % (dm - 50, units)
+        ]
+        comboCuts.append(LoKiCuts(['ADOCA12'], self.config_Xic0).code())
+        comboCuts.append(LoKiCuts(['ADOCA13'], self.config_Xic0).code())
+        comboCuts.append(LoKiCuts(['ADOCA23'], self.config_Xic0).code())
+        comboCuts = LoKiCuts.combine(comboCuts)
+        momCuts = [
+            "(ADMASS('Xi_c0') < %s*%s) " % (dm - 70, units)
+        ]
+        momCuts = LoKiCuts.combine(momCuts)
+        cp = CombineParticles(
+            CombinationCut=comboCuts,
+            MotherCut=momCuts,
+            DecayDescriptors=["Xi_c0 -> Lambda0 K- pi+", "Xi_c~0 -> Lambda~0 K+ pi-"])
+        return Selection(
+            'Xic02Lambda0KmPip' + lmd + 'Beauty2Charm',
+            Algorithm=cp,
+            RequiredSelections=self.lambda0[lmd] + [self.kaons] + [self.pions])
+		
+    def _makeXic02PKsKm(self, ks):
+        '''Makes Xi_c0 -> p Ks K- + cc'''
+        dm, units = LoKiCuts.cutValue(self.config_Xic0['MASS_WINDOW'])
+        comboCuts = [
+            LoKiCuts(['ASUMPT'], self.config).code(),
+            "(ADAMASS('Xi_c0') < %s*%s) " % (dm - 90, units)
+        ]
+        comboCuts.append(LoKiCuts(['ADOCA12'], self.config_Xic0).code())
+        comboCuts.append(LoKiCuts(['ADOCA13'], self.config_Xic0).code())
+        comboCuts.append(LoKiCuts(['ADOCA23'], self.config_Xic0).code())
+        comboCuts = LoKiCuts.combine(comboCuts)
+        momCuts = [
+            "(ADMASS('Xi_c0') < %s*%s) " % (dm - 110, units),
+            LoKiCuts(['VCHI2DOF', 'BPVVDCHI2', 'BPVDIRA'], self.config).code()
+        ]
+        momCuts = LoKiCuts.combine(momCuts)
+        cp = CombineParticles(
+            CombinationCut=comboCuts,
+            MotherCut=momCuts,
+            DecayDescriptors=["Xi_c0 -> p+ KS0 K-", "Xi_c~0 -> p~- KS0 K+"])
+        return Selection(
+            'Xic02PKsKm' + ks + 'Beauty2Charm',
+            Algorithm=cp,
+            RequiredSelections=self.ks[ks] + [self.protons, self.kaons])
 
 #\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\#
 
@@ -439,8 +570,6 @@ class LcstarBuilder(object):
             RequiredSelections=inputs[mode])
 
 
-
-
 class XiccBuilder(object):
     '''Produces Xi_cc baryons for the Beauty2Charm module.'''
 
@@ -851,18 +980,28 @@ class Lb2XBuilder(object):
 
     def __init__(self, lc, lcstar, xicc, d, hh, topoPions, topoPions_PID, topoKaons,
                  topoKaons_PID, topoProtons, topoProtons_PID, pions, kaons, ks,
-                 hhh, dst, lambda0, config):
+                 hhh, dst, lambda0, config, config_xibm):
 
         self.lc = lc.pkpi
         self.lc_pkk = lc.pkk
         self.lc_ppipi = lc.ppipi
-        self.lc_lambdapiLL = lc.lambdapiLL
+				self.xic = lc.xic_pkpi
+        self.xic0 = lc.xic0_pkkpi
+        self.xic0_ximpip_LL = lc.xic0_ximpip_LL
+        self.xic0_ximpip_DD = lc.xic0_ximpip_DD
+        self.xic0_lmd0kmpip_LL = lc.xic0_lmd0kmpip_LL
+        self.xic0_lmd0kmpip_DD = lc.xic0_lmd0kmpip_DD
+        self.xic0_pkskm_LL = lc.xic0_pkskm_LL
+        self.xic0_pkskm_DD = lc.xic0_pkskm_DD
+        
+				self.lc_lambdapiLL = lc.lambdapiLL
         self.lc_lambdapiDD = lc.lambdapiDD
         self.lcstar2595 = lcstar.lcstar2595
         self.lcstar2625 = lcstar.lcstar2625
         self.xic = lc.xic_pkpi
         self.xic0 = lc.xic0_pkkpi
-        self.omegac0 = lc.omegac0_pkkpi
+        
+				self.omegac0 = lc.omegac0_pkkpi
         self.lc_tight = lc.pkpi_tight_win  #tight Lc
         self.xic_tight = lc.xic_pkpi_tight_win  #tight Xic
         self.xic_tightest = lc.xic_pkpi_tightest_win  #tight Xic
@@ -892,6 +1031,7 @@ class Lb2XBuilder(object):
         self.protons_pid = [topoProtons_PID]
         self.ks = ks
         self.config = deepcopy(config)
+				self.config_xibm = config_xibm
         self.config['AM_MIN'] = '5200*MeV'
         self.lines = []
         # Lb -> Lc+- H-+ (+WS)
@@ -925,6 +1065,16 @@ class Lb2XBuilder(object):
         self._makeXib2LcDK()
         ### Xb- -> Lc+ Ds- K- Pi+
         self._makeXib02LcDsKPi()
+        ### Xb- -> Xic0 Pim,,Xic0 -> Xim Pip 
+        self._makeXibm2Xic0Pim2XimPipPim("LL")
+        self._makeXibm2Xic0Pim2XimPipPim("DD")
+        ### Xb- -> Xic0 Pim,,Xic0 -> Lambda0 Km pip 
+        self._makeXibm2Xic0Pim2Lambda0KmPipPim("LL")
+        self._makeXibm2Xic0Pim2Lambda0KmPipPim("DD")
+        ### Xb- -> Xic0 Pim,,Xic0 -> p Ks Km 
+        self._makeXibm2Xic0Pim2PKsKmPim("LL")
+        self._makeXibm2Xic0Pim2PKsKmPim("DD")
+        
         ### B- -> Lc+ Ds- pbar
         self._makeB2LcDspbar()
 
@@ -1458,6 +1608,87 @@ class Lb2XBuilder(object):
         self.lines.append(ProtoLine(rs, 1.0))
         self.lines.append(ProtoLine(ws, 0.1))
 
+    def _makeXibm2Xic0Pim2XimPipPim(self, lmd):
+        #Makes Xi_b- -> Xi_c0 pi-, Xi_c0 -> Xi- pi+ + cc
+        dm, units = LoKiCuts.cutValue(self.config_xibm['MASS_WINDOW'])
+        comboCuts = [
+            "(ADAMASS('Xi_b-') < %s*%s) " % (dm + 100, units)
+        ]
+        comboCuts.append(LoKiCuts(['ADOCA12'], self.config_xibm).code())
+        comboCuts = LoKiCuts.combine(comboCuts)
+        momCuts = [
+            "(ADMASS('Xi_b-') < %s*%s) " % (dm + 90, units),
+        ]
+        momCuts = LoKiCuts.combine(momCuts)
+        cp = CombineParticles(
+            CombinationCut=comboCuts,
+            MotherCut=momCuts,
+            DecayDescriptors=["Xi_b- -> Xi_c0 pi-", "Xi_b~+ -> Xi_c~0 pi+"])
+        used_xic0 = self.xic0_ximpip_DD
+        if "LL" in lmd:
+            used_xic0 = self.xic0_ximpip_LL
+        else:
+            pass
+        rs = [Selection(
+            'Xibm2Xic0Pim2XimPipPim' + lmd + 'Beauty2Charm',
+            Algorithm=cp,
+            RequiredSelections=used_xic0 + self.pions )]
+        self.lines.append(ProtoLine(rs, 1.0))
+    
+    def _makeXibm2Xic0Pim2Lambda0KmPipPim(self, lmd):
+        #Makes Xi_b- -> Xi_c0 pi-, Xi_c0 -> Lmd0 K- pi+ + cc
+        dm, units = LoKiCuts.cutValue(self.config_xibm['MASS_WINDOW'])
+        comboCuts = [
+            "(ADAMASS('Xi_b-') < %s*%s) " % (dm + 100, units)
+        ]
+        comboCuts.append(LoKiCuts(['ADOCA12'], self.config_xibm).code())
+        comboCuts = LoKiCuts.combine(comboCuts)
+        momCuts = [
+            "(ADMASS('Xi_b-') < %s*%s) " % (dm + 100, units),
+        ]
+        momCuts = LoKiCuts.combine(momCuts)
+        cp = CombineParticles(
+            CombinationCut=comboCuts,
+            MotherCut=momCuts,
+            DecayDescriptors=["Xi_b- -> Xi_c0 pi-", "Xi_b~+ -> Xi_c~0 pi+"])
+        used_xic0 = self.xic0_lmd0kmpip_DD
+        if "LL" in lmd:
+            used_xic0 = self.xic0_lmd0kmpip_LL
+        else:
+            pass
+        rs = [Selection(
+            'Xibm2Xic0Pim2Lambda0KmPipPim' + lmd + 'Beauty2Charm',
+            Algorithm=cp,
+            RequiredSelections=used_xic0 + self.pions )]
+        self.lines.append(ProtoLine(rs, 1.0))
+		
+    def _makeXibm2Xic0Pim2PKsKmPim(self, ks):
+        #Makes Xi_b- -> Xi_c0 pi-, Xi_c0 -> p Ks K- + cc
+        dm, units = LoKiCuts.cutValue(self.config_xibm['MASS_WINDOW'])
+        comboCuts = [
+            "(ADAMASS('Xi_b-') < %s*%s) " % (dm + 100, units)
+        ]
+        comboCuts.append(LoKiCuts(['ADOCA12'], self.config_xibm).code())
+        comboCuts = LoKiCuts.combine(comboCuts)
+        momCuts = [
+            "(ADMASS('Xi_b-') < %s*%s) " % (dm + 100, units),
+        ]
+        momCuts = LoKiCuts.combine(momCuts)
+        cp = CombineParticles(
+            CombinationCut=comboCuts,
+            MotherCut=momCuts,
+            DecayDescriptors=["Xi_b- -> Xi_c0 pi-", "Xi_b~+ -> Xi_c~0 pi+"])
+        used_xic0 = self.xic0_pkskm_DD
+        if "LL" in ks:
+            used_xic0 = self.xic0_pkskm_LL
+        else:
+            pass
+        rs = [Selection(
+            'Xibm2Xic0Pim2PKsKmPim' + ks + 'Beauty2Charm',
+            Algorithm=cp,
+            RequiredSelections=used_xic0 + self.pions )]
+        self.lines.append(ProtoLine(rs, 1.0))
+    
     def _makeXib02XicHHH(self):
         '''Make RS and WS Xi_b0 -> Xi_c+ HHH (HHH=3pi,Kpipi) + cc.'''
         pipipi = self.hhh.pipipi
diff --git a/Phys/StrippingSelections/python/StrippingSelections/StrippingB2OC/StrippingBeauty2Charm.py b/Phys/StrippingSelections/python/StrippingSelections/StrippingB2OC/StrippingBeauty2Charm.py
index e8e66f05fe05303c21c96288e2230e91726116d8..9afb0bdf3d5287adcd28b5a27aa22945eb9466d2 100644
--- a/Phys/StrippingSelections/python/StrippingSelections/StrippingB2OC/StrippingBeauty2Charm.py
+++ b/Phys/StrippingSelections/python/StrippingSelections/StrippingB2OC/StrippingBeauty2Charm.py
@@ -169,6 +169,32 @@ default_config = {
             'ISNOTE_MIN': -999.0,
             'PT_VLAPH': '145*MeV'
         },
+ 				"Xim": {  # Cuts made on charged Xi baryon
+             'ASUMPT_MIN': '1000*MeV',
+             'ADOCA12_MAX': '0.5*mm',
+             'VCHI2DOF_MAX': 25,
+             'BPVVDCHI2_MIN': 50,
+             'BPVDIRA_MIN': 0,
+             'MASS_WINDOW': '100*MeV'
+         },
+ 				"Xic0": {  # Cuts made on charged Xic0 baryon
+             'ASUMPT_MIN': '1000*MeV',
+              'ADOCA12_MAX': '0.5*mm',
+              'ADOCA13_MAX': '0.5*mm',
+              'ADOCA23_MAX': '0.5*mm',
+             'VCHI2DOF_MAX': 20,
+             'BPVVDCHI2_MIN': 30,
+             'BPVDIRA_MIN': 0.9,
+             'MASS_WINDOW': '200*MeV'
+         },
+ 				"Xibm": {  # Cuts made on charged Xibm baryon
+             'ASUMPT_MIN': '1000*MeV',
+             'ADOCA12_MAX': '0.5*mm',
+             'VCHI2DOF_MAX': 20,
+             'BPVVDCHI2_MIN': 30,
+             'BPVDIRA_MIN': 0,
+             'MASS_WINDOW': '200*MeV'
+          },
         "D2X": {  # Cuts made on all D's and Lc's used in all lines
             'ASUMPT_MIN': '1800*MeV',
             'ADOCA12_MAX': '0.5*mm',
@@ -1777,7 +1803,13 @@ default_config = {
             'StrippingXib02D0LambdaPiPiDDD02KPiBeauty2CharmLine',
             'StrippingXib02D0LambdaPiPiDDD02K3PiBeauty2CharmLine',
             'StrippingXib2LcKHHHLc2PKPiBeauty2CharmLine',
-            'StrippingXib2XicHHHHXic2PKPiBeauty2CharmLine'
+            'StrippingXib2XicHHHHXic2PKPiBeauty2CharmLine',
+ 						'StrippingXibm2Xic0Pim2XimPipPimLLBeauty2CharmLine',
+            'StrippingXibm2Xic0Pim2XimPipPimDDBeauty2CharmLine',
+ 						'StrippingXibm2Xic0Pim2Lambda0KmPipPimLLBeauty2CharmLine',
+ 						'StrippingXibm2Xic0Pim2Lambda0KmPipPimDDBeauty2CharmLine',
+ 						'StrippingXibm2Xic0Pim2PKsKmPimLLBeauty2CharmLine',
+ 						'StrippingXibm2Xic0Pim2PKsKmPimDDBeauty2CharmLine'
         ]
     },
     'WGs': ['B2OC']
@@ -1890,10 +1922,13 @@ class Beauty2CharmConf(LineBuilder):
         dst = DstarBuilder(d, pions, uppions, pi0, photons, vlaphotons,
                            config['Dstar'], config['PID'])
 
+ 				# Xim -> X
+        xim = XimBuilder(pions_pid, kaons_pid, protons_pid, lambda0, config['Xim'])
         # Lc -> X
-        lc = LcBuilder(pions_pid, kaons_pid, protons_pid, lambda0, config['D2X'],
+        lc = LcBuilder(pions_pid, kaons_pid, protons_pid, lambda0, ks, xim, config['D2X'], config['Xic0'],
                        config['PID'])
-        lcstar = LcstarBuilder(lc, pions_pid, config['Lcstar'])
+				
+				lcstar = LcstarBuilder(lc, pions_pid, config['Lcstar'])
         xicc = XiccBuilder(lc, pions_pid, config['D2X'])
         # Loose Lc, for Xibc
         lcLoose = LooseLcBuilder(pions_Xc_Xibc, kaons_Xc_Xibc, protons_Xc_Xibc,
@@ -1925,7 +1960,7 @@ class Beauty2CharmConf(LineBuilder):
         lb2x = Lb2XBuilder(lc, lcstar, xicc, d, hh, topoPions, topoPions_PID,
                            topoKaons, topoKaons_PID, topoProtons,
                            topoProtons_PID, pions, kaons, ks, hhh, dst,
-                           lambda0, config['B2X'])
+                           lambda0, config['B2X'], config['Xibm'])
         self._makeLines(lb2x.lines, config)
 
         # Xibc -> Xc hh, LcD0, Xicc h