diff --git a/doc/release.notes b/doc/release.notes
index b316c791fdc954256d26f26ab8c29848b8d3ef2c..e0788b558eae603633937ac35eefc30793db3dc8 100644
--- a/doc/release.notes
+++ b/doc/release.notes
@@ -3,6 +3,14 @@
 ! Responsible : Jessy Daniel, Yuya Shimizu
 ! Purpose     : Script repository for B2OC configurables
 -----------------------------------------------------------------------------
+=========================== 2022-09-06 B2OCConfig v1r140 =========================
+!2022-09-06 - Linxuan Zhu
+- Added options/MCFiltering/Lb02D0DsmP_strip21r1_filter_mDST.py
+- Added options/MCFiltering/Lb02D0DsmP_strip21_filter_mDST.py
+- Added options/MCFiltering/Lb02D0DsmP_strip24r2_filter_mDST.py
+- Added options/MCFiltering/Lb02D0DsmP_strip28r2_filter_mDST.py
+- Added options/MCFiltering/Lb02D0DsmP_strip29r2_filter_mDST.py
+- Added options/MCFiltering/Lb02D0DsmP_strip34_filter_mDST.py
 =========================== 2022-06-23 B2OCConfig v1r139 =========================
 !2022-06-23 - Lei Hao
 - Added options/MCFiltering/Filter_B2OC_bdh_strip24r2_mdst.py
diff --git a/options/MCFiltering/Lb02D0DsmP_strip21_filter_mDST.py b/options/MCFiltering/Lb02D0DsmP_strip21_filter_mDST.py
new file mode 100644
index 0000000000000000000000000000000000000000..22cc135cbaffce27f2b4355799326eee6f50aff2
--- /dev/null
+++ b/options/MCFiltering/Lb02D0DsmP_strip21_filter_mDST.py
@@ -0,0 +1,172 @@
+"""
+Stripping filtering Template for B2OC filtering requests
+stripping for Lb02D0DsmP in mDST
+@author Linxuan Zhu
+@date   2022-09-06
+"""
+##################################################################
+# ONLY THESE SECTIONS NEED TO BE MODIFIED FOR STANDARD FILTERING
+##################################################################
+
+#stripping version
+##################################################################
+stripping='stripping21'
+##################################################################
+
+#use CommonParticlesArchive
+from CommonParticlesArchive import CommonParticlesArchiveConf
+CommonParticlesArchiveConf().redirect(stripping)
+ 
+from Gaudi.Configuration import *
+MessageSvc().Format = "% F%30W%S%7W%R%T %0W%M"
+ 
+#Raw event juggler to split Other/RawEvent into Velo/RawEvent and Tracker/RawEvent
+#
+from Configurables import RawEventJuggler
+juggler = RawEventJuggler( DataOnDemand=True, Input=2.0, Output=4.0 )
+#
+# Build the streams and stripping object
+#
+from StrippingConf.Configuration import StrippingConf, StrippingStream
+from StrippingSettings.Utils import strippingConfiguration
+from StrippingArchive.Utils import buildStreams, cloneLinesFromStream
+from StrippingArchive import strippingArchive
+ 
+ 
+#get the configuration dictionary from the database
+config  = strippingConfiguration(stripping)
+#get the line builders from the archive
+archive = strippingArchive(stripping)
+ 
+streams = buildStreams(stripping = config, archive = archive)
+# Select my lines
+#OUTPUT STREAM NAME
+##################################################################
+AllStreams = StrippingStream("Lb02D0DsmP.Strip")			 
+##################################################################
+linesToAdd = []
+
+#LIST OF FILTERED LINES
+##################################################################
+MyLines = [ 'StrippingB02D0DKBeauty2CharmLine',
+            'StrippingB02D0DKD02K3PiBeauty2CharmLine']
+##################################################################
+
+ 
+for stream in streams:
+    if 'Bhadron' in stream.name():
+        for line in stream.lines:
+            line._prescale = 1.0
+            if line.name() in MyLines:
+                linesToAdd.append(line)
+AllStreams.appendLines(linesToAdd)
+ 
+ 
+ 
+sc = StrippingConf( Streams = [ AllStreams ],
+                    MaxCandidates = 2000,
+                    TESPrefix = 'Strip'
+                    )
+ 
+ 
+AllStreams.sequence().IgnoreFilterPassed = False # so that we do not get all events written out
+ 
+#
+ 
+# Configuration of SelDSTWriter
+#
+'''
+#STANDARD CONFIGURATION FOR FULL DST OUTPUT 
+#(change this for the following commented section for mDST output)
+##################################################################
+enablePacking = True 
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements
+                                      )
+ 
+SelDSTWriterElements = {
+    'default'               : stripDSTElements(pack=enablePacking)
+    }
+ 
+SelDSTWriterConf = {
+    'default'               : stripDSTStreamConf(pack=enablePacking)
+    }
+##################################################################
+'''
+
+#STANDARD CONFIGURATION FOR MDST OUTPUT
+##################################################################
+enablePacking = True
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements,
+                                      stripMicroDSTStreamConf,
+                                      stripMicroDSTElements,
+                                      stripCalibMicroDSTStreamConf 
+                                      )
+
+SelDSTWriterElements = {
+    'default'               : stripMicroDSTElements(pack=enablePacking,isMC=True)
+    }
+
+SelDSTWriterConf = {
+    'default'               : stripMicroDSTStreamConf(pack=enablePacking, isMC=True)
+    }
+##################################################################
+
+
+#Items that might get lost when running the CALO+PROTO ReProcessing in DV
+caloProtoReprocessLocs = [ "/Event/pRec/ProtoP#99", "/Event/pRec/Calo#99" ]
+ 
+# Make sure they are present on full DST streams
+SelDSTWriterConf['default'].extraItems += caloProtoReprocessLocs
+ 
+dstWriter = SelDSTWriter( "MyDSTWriter",
+                          StreamConf = SelDSTWriterConf,
+                          MicroDSTElements = SelDSTWriterElements,
+                          OutputFileSuffix ='Filtered',
+                          SelectionSequences = sc.activeStreams()
+                          )
+ 
+# Add stripping TCK
+from Configurables import StrippingTCK
+
+#TCK IN THE FOLLOWING FORMAT: DaVinci version (XXrXpX) Stripping version (XXrXpX) (i.e. DaVinci 41r4p5 with Stripping28r1p1 -> TCK:41452811)
+#you can find the associated DaVinci version for each stripping in: https://twiki.cern.ch/twiki/bin/view/Main/ProcessingPasses
+##################################################################
+stck = StrippingTCK(HDRLocation = '/Event/Strip/Phys/DecReports', TCK=0x361121)
+##################################################################
+
+#
+# DaVinci Configuration
+#
+from Configurables import DaVinci
+DaVinci().Simulation = True
+DaVinci().EvtMax = -1                     # Number of events
+DaVinci().HistogramFile = "DVHistos.root"
+DaVinci().appendToMainSequence( [ sc.sequence() ] )
+DaVinci().appendToMainSequence( [ stck ] )
+DaVinci().appendToMainSequence( [ dstWriter.sequence() ] )
+DaVinci().ProductionType = "Stripping"
+ 
+# Change the column size of Timing table
+from Configurables import TimingAuditor, SequencerTimerTool
+TimingAuditor().addTool(SequencerTimerTool,name="TIMER")
+TimingAuditor().TIMER.NameSize = 60
+
+
+"""
+#Testing on local data
+##################################################################
+from GaudiConf import IOHelper
+DaVinci().DataType = '2011'
+IOHelper().inputFiles([
+    '2011/B2DD0KK3PiPHSP/00039303_00000008_2.AllStreams.dst'
+], clear=True)
+##################################################################
+"""
+
+
diff --git a/options/MCFiltering/Lb02D0DsmP_strip21r1_filter_mDST.py b/options/MCFiltering/Lb02D0DsmP_strip21r1_filter_mDST.py
new file mode 100644
index 0000000000000000000000000000000000000000..9e7579780af5e276b663f80c907ba67cec420afc
--- /dev/null
+++ b/options/MCFiltering/Lb02D0DsmP_strip21r1_filter_mDST.py
@@ -0,0 +1,172 @@
+"""
+Stripping filtering Template for B2OC filtering requests
+stripping for Lb02D0DsmP in mDST
+@author Linxuan Zhu
+@date   2022-09-06
+"""
+##################################################################
+# ONLY THESE SECTIONS NEED TO BE MODIFIED FOR STANDARD FILTERING
+##################################################################
+
+#stripping version
+##################################################################
+stripping='stripping21r1'
+##################################################################
+
+#use CommonParticlesArchive
+from CommonParticlesArchive import CommonParticlesArchiveConf
+CommonParticlesArchiveConf().redirect(stripping)
+ 
+from Gaudi.Configuration import *
+MessageSvc().Format = "% F%30W%S%7W%R%T %0W%M"
+ 
+#Raw event juggler to split Other/RawEvent into Velo/RawEvent and Tracker/RawEvent
+#
+from Configurables import RawEventJuggler
+juggler = RawEventJuggler( DataOnDemand=True, Input=2.0, Output=4.0 )
+#
+# Build the streams and stripping object
+#
+from StrippingConf.Configuration import StrippingConf, StrippingStream
+from StrippingSettings.Utils import strippingConfiguration
+from StrippingArchive.Utils import buildStreams, cloneLinesFromStream
+from StrippingArchive import strippingArchive
+ 
+ 
+#get the configuration dictionary from the database
+config  = strippingConfiguration(stripping)
+#get the line builders from the archive
+archive = strippingArchive(stripping)
+ 
+streams = buildStreams(stripping = config, archive = archive)
+# Select my lines
+#OUTPUT STREAM NAME
+##################################################################
+AllStreams = StrippingStream("Lb02D0DsmP.Strip")			 
+##################################################################
+linesToAdd = []
+
+#LIST OF FILTERED LINES
+##################################################################
+MyLines = [ 'StrippingB02D0DKBeauty2CharmLine',
+            'StrippingB02D0DKD02K3PiBeauty2CharmLine']
+##################################################################
+
+ 
+for stream in streams:
+    if 'Bhadron' in stream.name():
+        for line in stream.lines:
+            line._prescale = 1.0
+            if line.name() in MyLines:
+                linesToAdd.append(line)
+AllStreams.appendLines(linesToAdd)
+ 
+ 
+ 
+sc = StrippingConf( Streams = [ AllStreams ],
+                    MaxCandidates = 2000,
+                    TESPrefix = 'Strip'
+                    )
+ 
+ 
+AllStreams.sequence().IgnoreFilterPassed = False # so that we do not get all events written out
+ 
+#
+ 
+# Configuration of SelDSTWriter
+#
+"""
+#STANDARD CONFIGURATION FOR FULL DST OUTPUT 
+#(change this for the following commented section for mDST output)
+##################################################################
+enablePacking = True 
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements
+                                      )
+ 
+SelDSTWriterElements = {
+    'default'               : stripDSTElements(pack=enablePacking)
+    }
+ 
+SelDSTWriterConf = {
+    'default'               : stripDSTStreamConf(pack=enablePacking)
+    }
+##################################################################
+"""
+
+#STANDARD CONFIGURATION FOR MDST OUTPUT
+##################################################################
+enablePacking = True
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements,
+                                      stripMicroDSTStreamConf,
+                                      stripMicroDSTElements,
+                                      stripCalibMicroDSTStreamConf 
+                                      )
+
+SelDSTWriterElements = {
+    'default'               : stripMicroDSTElements(pack=enablePacking,isMC=True)
+    }
+
+SelDSTWriterConf = {
+    'default'               : stripMicroDSTStreamConf(pack=enablePacking, isMC=True)
+    }
+##################################################################
+
+
+#Items that might get lost when running the CALO+PROTO ReProcessing in DV
+caloProtoReprocessLocs = [ "/Event/pRec/ProtoP#99", "/Event/pRec/Calo#99" ]
+ 
+# Make sure they are present on full DST streams
+SelDSTWriterConf['default'].extraItems += caloProtoReprocessLocs
+ 
+dstWriter = SelDSTWriter( "MyDSTWriter",
+                          StreamConf = SelDSTWriterConf,
+                          MicroDSTElements = SelDSTWriterElements,
+                          OutputFileSuffix ='Filtered',
+                          SelectionSequences = sc.activeStreams()
+                          )
+ 
+# Add stripping TCK
+from Configurables import StrippingTCK
+
+#TCK IN THE FOLLOWING FORMAT: DaVinci version (XXrXpX) Stripping version (XXrXpX) (i.e. DaVinci 41r4p5 with Stripping28r1p1 -> TCK:41452811)
+#you can find the associated DaVinci version for each stripping in: https://twiki.cern.ch/twiki/bin/view/Main/ProcessingPasses
+##################################################################
+stck = StrippingTCK(HDRLocation = '/Event/Strip/Phys/DecReports', TCK=0x3611211)
+##################################################################
+
+#
+# DaVinci Configuration
+#
+from Configurables import DaVinci
+DaVinci().Simulation = True
+DaVinci().EvtMax = -1                     # Number of events
+DaVinci().HistogramFile = "DVHistos.root"
+DaVinci().appendToMainSequence( [ sc.sequence() ] )
+DaVinci().appendToMainSequence( [ stck ] )
+DaVinci().appendToMainSequence( [ dstWriter.sequence() ] )
+DaVinci().ProductionType = "Stripping"
+ 
+# Change the column size of Timing table
+from Configurables import TimingAuditor, SequencerTimerTool
+TimingAuditor().addTool(SequencerTimerTool,name="TIMER")
+TimingAuditor().TIMER.NameSize = 60
+
+
+"""
+#Testing on local data
+##################################################################
+from GaudiConf import IOHelper
+DaVinci().DataType = '2011'
+IOHelper().inputFiles([
+    '2011/B2DD0KK3PiPHSP/00039303_00000008_2.AllStreams.dst'
+], clear=True)
+##################################################################
+"""
+
+
diff --git a/options/MCFiltering/Lb02D0DsmP_strip24r2_filter_mDST.py b/options/MCFiltering/Lb02D0DsmP_strip24r2_filter_mDST.py
new file mode 100644
index 0000000000000000000000000000000000000000..1afdfd446a517281e5d97b14a4332b421eb2495c
--- /dev/null
+++ b/options/MCFiltering/Lb02D0DsmP_strip24r2_filter_mDST.py
@@ -0,0 +1,177 @@
+"""
+Stripping filtering Template for B2OC filtering requests
+stripping for Lb02D0DsmP in mDST
+@author Linxuan Zhu
+@date   2022-09-06
+"""
+##################################################################
+# ONLY THESE SECTIONS NEED TO BE MODIFIED FOR STANDARD FILTERING
+##################################################################
+
+#stripping version
+##################################################################
+stripping='stripping24r2'
+##################################################################
+
+#use CommonParticlesArchive
+from CommonParticlesArchive import CommonParticlesArchiveConf
+CommonParticlesArchiveConf().redirect(stripping)
+ 
+from Gaudi.Configuration import *
+MessageSvc().Format = "% F%30W%S%7W%R%T %0W%M"
+ 
+#Raw event juggler to split Other/RawEvent into Velo/RawEvent and Tracker/RawEvent
+#
+from Configurables import RawEventJuggler
+juggler = RawEventJuggler( DataOnDemand=True, Input=2.0, Output=4.0 )
+#
+# Build the streams and stripping object
+#
+from StrippingConf.Configuration import StrippingConf, StrippingStream
+from StrippingSettings.Utils import strippingConfiguration
+from StrippingArchive.Utils import buildStreams, cloneLinesFromStream
+from StrippingArchive import strippingArchive
+ 
+ 
+#get the configuration dictionary from the database
+config  = strippingConfiguration(stripping)
+#get the line builders from the archive
+archive = strippingArchive(stripping)
+ 
+streams = buildStreams(stripping = config, archive = archive)
+# Select my lines
+#OUTPUT STREAM NAME
+##################################################################
+AllStreams = StrippingStream("Lb02D0DsmP.Strip")			 
+##################################################################
+linesToAdd = []
+
+#LIST OF FILTERED LINES
+##################################################################
+MyLines = [ 'StrippingB02D0DKBeauty2CharmLine',
+            'StrippingB02D0DKD02K3PiBeauty2CharmLine',
+            'StrippingB02D0DPiBeauty2CharmLine',
+            'StrippingB02D0DPiD02K3PiBeauty2CharmLine',
+            'StrippingLb2DD0pD2HHHD02K3PiBeauty2CharmLine',
+            'StrippingLb2DD0pD2HHHD2HHBeauty2CharmLine']
+##################################################################
+
+ 
+for stream in streams:
+    if 'Bhadron' in stream.name():
+        for line in stream.lines:
+            line._prescale = 1.0
+            if line.name() in MyLines:
+                linesToAdd.append(line)
+AllStreams.appendLines(linesToAdd)
+ 
+ 
+ 
+sc = StrippingConf( Streams = [ AllStreams ],
+                    MaxCandidates = 2000,
+                    TESPrefix = 'Strip'
+                    )
+ 
+ 
+AllStreams.sequence().IgnoreFilterPassed = False # so that we do not get all events written out
+ 
+#
+ 
+# Configuration of SelDSTWriter
+'''
+#
+#STANDARD CONFIGURATION FOR FULL DST OUTPUT 
+#(change this for the following commented section for mDST output)
+##################################################################
+enablePacking = True 
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements
+                                      )
+ 
+SelDSTWriterElements = {
+    'default'               : stripDSTElements(pack=enablePacking)
+    }
+ 
+SelDSTWriterConf = {
+    'default'               : stripDSTStreamConf(pack=enablePacking)
+    }
+##################################################################
+'''
+
+#STANDARD CONFIGURATION FOR MDST OUTPUT
+##################################################################
+enablePacking = True
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements,
+                                      stripMicroDSTStreamConf,
+                                      stripMicroDSTElements,
+                                      stripCalibMicroDSTStreamConf 
+                                      )
+
+SelDSTWriterElements = {
+    'default'               : stripMicroDSTElements(pack=enablePacking,isMC=True)
+    }
+
+SelDSTWriterConf = {
+    'default'               : stripMicroDSTStreamConf(pack=enablePacking, isMC=True)
+    }
+##################################################################
+
+
+
+#Items that might get lost when running the CALO+PROTO ReProcessing in DV
+caloProtoReprocessLocs = [ "/Event/pRec/ProtoP#99", "/Event/pRec/Calo#99" ]
+ 
+# Make sure they are present on full DST streams
+SelDSTWriterConf['default'].extraItems += caloProtoReprocessLocs
+ 
+dstWriter = SelDSTWriter( "MyDSTWriter",
+                          StreamConf = SelDSTWriterConf,
+                          MicroDSTElements = SelDSTWriterElements,
+                          OutputFileSuffix ='Filtered',
+                          SelectionSequences = sc.activeStreams()
+                          )
+ 
+# Add stripping TCK
+from Configurables import StrippingTCK
+
+#TCK IN THE FOLLOWING FORMAT: DaVinci version (XXrXpX) Stripping version (XXrXpX) (i.e. DaVinci 41r4p5 with Stripping28r1p1 -> TCK:41452811)
+#you can find the associated DaVinci version for each stripping in: https://twiki.cern.ch/twiki/bin/view/Main/ProcessingPasses
+##################################################################
+stck = StrippingTCK(HDRLocation = '/Event/Strip/Phys/DecReports', TCK=0x44105242)
+##################################################################
+
+#
+# DaVinci Configuration
+#
+from Configurables import DaVinci
+DaVinci().Simulation = True
+DaVinci().EvtMax = -1                     # Number of events
+DaVinci().HistogramFile = "DVHistos.root"
+DaVinci().appendToMainSequence( [ sc.sequence() ] )
+DaVinci().appendToMainSequence( [ stck ] )
+DaVinci().appendToMainSequence( [ dstWriter.sequence() ] )
+DaVinci().ProductionType = "Stripping"
+ 
+# Change the column size of Timing table
+from Configurables import TimingAuditor, SequencerTimerTool
+TimingAuditor().addTool(SequencerTimerTool,name="TIMER")
+TimingAuditor().TIMER.NameSize = 60
+
+
+"""
+#Testing on local data
+##################################################################
+from GaudiConf import IOHelper
+DaVinci().DataType = '2016'
+IOHelper().inputFiles([
+    '2016/B2DD0KPHSP/00059985_00000043_7.AllStreams.dst'
+], clear=True)
+##################################################################
+"""
+
+
diff --git a/options/MCFiltering/Lb02D0DsmP_strip28r2_filter_mDST.py b/options/MCFiltering/Lb02D0DsmP_strip28r2_filter_mDST.py
new file mode 100644
index 0000000000000000000000000000000000000000..8eb970f2e7d90c96c2476a336616d0c7a28f8420
--- /dev/null
+++ b/options/MCFiltering/Lb02D0DsmP_strip28r2_filter_mDST.py
@@ -0,0 +1,175 @@
+"""
+Stripping filtering Template for B2OC filtering requests
+stripping for Lb02D0DsmP in mDST
+@author Linxuan Zhu
+@date   2022-09-06
+"""
+##################################################################
+# ONLY THESE SECTIONS NEED TO BE MODIFIED FOR STANDARD FILTERING
+##################################################################
+
+#stripping version
+##################################################################
+stripping='stripping28r2'
+##################################################################
+
+#use CommonParticlesArchive
+from CommonParticlesArchive import CommonParticlesArchiveConf
+CommonParticlesArchiveConf().redirect(stripping)
+ 
+from Gaudi.Configuration import *
+MessageSvc().Format = "% F%30W%S%7W%R%T %0W%M"
+ 
+#Raw event juggler to split Other/RawEvent into Velo/RawEvent and Tracker/RawEvent
+#
+from Configurables import RawEventJuggler
+juggler = RawEventJuggler( DataOnDemand=True, Input=2.0, Output=4.0 )
+#
+# Build the streams and stripping object
+#
+from StrippingConf.Configuration import StrippingConf, StrippingStream
+from StrippingSettings.Utils import strippingConfiguration
+from StrippingArchive.Utils import buildStreams, cloneLinesFromStream
+from StrippingArchive import strippingArchive
+ 
+ 
+#get the configuration dictionary from the database
+config  = strippingConfiguration(stripping)
+#get the line builders from the archive
+archive = strippingArchive(stripping)
+ 
+streams = buildStreams(stripping = config, archive = archive)
+# Select my lines
+#OUTPUT STREAM NAME
+##################################################################
+AllStreams = StrippingStream("Lb02D0DsmP.Strip")			 
+##################################################################
+linesToAdd = []
+
+#LIST OF FILTERED LINES
+##################################################################
+MyLines = [ 'StrippingB02D0DKBeauty2CharmLine',
+            'StrippingB02D0DKD02K3PiBeauty2CharmLine',
+            'StrippingB02D0DPiBeauty2CharmLine',
+            'StrippingB02D0DPiD02K3PiBeauty2CharmLine',
+            'StrippingLb2DD0pD2HHHD02K3PiBeauty2CharmLine',
+            'StrippingLb2DD0pD2HHHD2HHBeauty2CharmLine']
+##################################################################
+
+ 
+for stream in streams:
+    if 'Bhadron' in stream.name():
+        for line in stream.lines:
+            line._prescale = 1.0
+            if line.name() in MyLines:
+                linesToAdd.append(line)
+AllStreams.appendLines(linesToAdd)
+ 
+ 
+ 
+sc = StrippingConf( Streams = [ AllStreams ],
+                    MaxCandidates = 2000,
+                    TESPrefix = 'Strip'
+                    )
+ 
+ 
+AllStreams.sequence().IgnoreFilterPassed = False # so that we do not get all events written out
+ 
+#
+ 
+# Configuration of SelDSTWriter
+#
+'''
+#STANDARD CONFIGURATION FOR FULL DST OUTPUT 
+#(change this for the following commented section for mDST output)
+##################################################################
+enablePacking = True 
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements
+                                      )
+ 
+SelDSTWriterElements = {
+    'default'               : stripDSTElements(pack=enablePacking)
+    }
+ 
+SelDSTWriterConf = {
+    'default'               : stripDSTStreamConf(pack=enablePacking)
+    }
+##################################################################
+'''
+#STANDARD CONFIGURATION FOR MDST OUTPUT
+##################################################################
+enablePacking = True
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements,
+                                      stripMicroDSTStreamConf,
+                                      stripMicroDSTElements,
+                                      stripCalibMicroDSTStreamConf 
+                                      )
+
+SelDSTWriterElements = {
+    'default'               : stripMicroDSTElements(pack=enablePacking,isMC=True)
+    }
+
+SelDSTWriterConf = {
+    'default'               : stripMicroDSTStreamConf(pack=enablePacking, isMC=True)
+    }
+##################################################################
+
+
+#Items that might get lost when running the CALO+PROTO ReProcessing in DV
+caloProtoReprocessLocs = [ "/Event/pRec/ProtoP#99", "/Event/pRec/Calo#99" ]
+ 
+# Make sure they are present on full DST streams
+SelDSTWriterConf['default'].extraItems += caloProtoReprocessLocs
+ 
+dstWriter = SelDSTWriter( "MyDSTWriter",
+                          StreamConf = SelDSTWriterConf,
+                          MicroDSTElements = SelDSTWriterElements,
+                          OutputFileSuffix ='Filtered',
+                          SelectionSequences = sc.activeStreams()
+                          )
+ 
+# Add stripping TCK
+from Configurables import StrippingTCK
+
+#TCK IN THE FOLLOWING FORMAT: DaVinci version (XXrXpX) Stripping version (XXrXpX) (i.e. DaVinci 41r4p5 with Stripping28r1p1 -> TCK:41452811)
+#you can find the associated DaVinci version for each stripping in: https://twiki.cern.ch/twiki/bin/view/Main/ProcessingPasses
+##################################################################
+stck = StrippingTCK(HDRLocation = '/Event/Strip/Phys/DecReports', TCK=0x44105282)
+##################################################################
+
+#
+# DaVinci Configuration
+#
+from Configurables import DaVinci
+DaVinci().Simulation = True
+DaVinci().EvtMax = -1                     # Number of events
+DaVinci().HistogramFile = "DVHistos.root"
+DaVinci().appendToMainSequence( [ sc.sequence() ] )
+DaVinci().appendToMainSequence( [ stck ] )
+DaVinci().appendToMainSequence( [ dstWriter.sequence() ] )
+DaVinci().ProductionType = "Stripping"
+ 
+# Change the column size of Timing table
+from Configurables import TimingAuditor, SequencerTimerTool
+TimingAuditor().addTool(SequencerTimerTool,name="TIMER")
+TimingAuditor().TIMER.NameSize = 60
+
+
+"""
+#Testing on local data
+##################################################################
+from GaudiConf import IOHelper
+DaVinci().DataType = '2016'
+IOHelper().inputFiles([
+    '2016/B2DD0KPHSP/00059985_00000043_7.AllStreams.dst'
+], clear=True)
+##################################################################
+"""
+
+
diff --git a/options/MCFiltering/Lb02D0DsmP_strip29r2_filter_mDST.py b/options/MCFiltering/Lb02D0DsmP_strip29r2_filter_mDST.py
new file mode 100644
index 0000000000000000000000000000000000000000..f0161e9159f76b76428527d83f027fa8a6adb573
--- /dev/null
+++ b/options/MCFiltering/Lb02D0DsmP_strip29r2_filter_mDST.py
@@ -0,0 +1,175 @@
+"""
+Stripping filtering Template for B2OC filtering requests
+stripping for Lb02D0DsmP in mDST
+@author Linxuan Zhu
+@date   2022-09-06
+"""
+##################################################################
+# ONLY THESE SECTIONS NEED TO BE MODIFIED FOR STANDARD FILTERING
+##################################################################
+
+#stripping version
+##################################################################
+stripping='stripping29r2'
+##################################################################
+
+#use CommonParticlesArchive
+from CommonParticlesArchive import CommonParticlesArchiveConf
+CommonParticlesArchiveConf().redirect(stripping)
+ 
+from Gaudi.Configuration import *
+MessageSvc().Format = "% F%30W%S%7W%R%T %0W%M"
+ 
+#Raw event juggler to split Other/RawEvent into Velo/RawEvent and Tracker/RawEvent
+#
+from Configurables import RawEventJuggler
+juggler = RawEventJuggler( DataOnDemand=True, Input=2.0, Output=4.0 )
+#
+# Build the streams and stripping object
+#
+from StrippingConf.Configuration import StrippingConf, StrippingStream
+from StrippingSettings.Utils import strippingConfiguration
+from StrippingArchive.Utils import buildStreams, cloneLinesFromStream
+from StrippingArchive import strippingArchive
+ 
+ 
+#get the configuration dictionary from the database
+config  = strippingConfiguration(stripping)
+#get the line builders from the archive
+archive = strippingArchive(stripping)
+ 
+streams = buildStreams(stripping = config, archive = archive)
+# Select my lines
+#OUTPUT STREAM NAME
+##################################################################
+AllStreams = StrippingStream("Lb02D0DsmP.Strip")			 
+##################################################################
+linesToAdd = []
+
+#LIST OF FILTERED LINES
+##################################################################
+MyLines = [ 'StrippingB02D0DKBeauty2CharmLine',
+            'StrippingB02D0DKD02K3PiBeauty2CharmLine',
+            'StrippingB02D0DPiBeauty2CharmLine',
+            'StrippingB02D0DPiD02K3PiBeauty2CharmLine']
+##################################################################
+
+ 
+for stream in streams:
+    if 'Bhadron' in stream.name():
+        for line in stream.lines:
+            line._prescale = 1.0
+            if line.name() in MyLines:
+                linesToAdd.append(line)
+AllStreams.appendLines(linesToAdd)
+ 
+ 
+ 
+sc = StrippingConf( Streams = [ AllStreams ],
+                    MaxCandidates = 2000,
+                    TESPrefix = 'Strip'
+                    )
+ 
+ 
+AllStreams.sequence().IgnoreFilterPassed = False # so that we do not get all events written out
+ 
+#
+ 
+# Configuration of SelDSTWriter
+#
+'''
+#STANDARD CONFIGURATION FOR FULL DST OUTPUT 
+#(change this for the following commented section for mDST output)
+##################################################################
+enablePacking = True 
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements
+                                      )
+ 
+SelDSTWriterElements = {
+    'default'               : stripDSTElements(pack=enablePacking)
+    }
+ 
+SelDSTWriterConf = {
+    'default'               : stripDSTStreamConf(pack=enablePacking)
+    }
+##################################################################
+'''
+
+#STANDARD CONFIGURATION FOR MDST OUTPUT
+##################################################################
+enablePacking = True
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements,
+                                      stripMicroDSTStreamConf,
+                                      stripMicroDSTElements,
+                                      stripCalibMicroDSTStreamConf 
+                                      )
+
+SelDSTWriterElements = {
+    'default'               : stripMicroDSTElements(pack=enablePacking,isMC=True)
+    }
+
+SelDSTWriterConf = {
+    'default'               : stripMicroDSTStreamConf(pack=enablePacking, isMC=True)
+    }
+##################################################################
+
+
+
+#Items that might get lost when running the CALO+PROTO ReProcessing in DV
+caloProtoReprocessLocs = [ "/Event/pRec/ProtoP#99", "/Event/pRec/Calo#99" ]
+ 
+# Make sure they are present on full DST streams
+SelDSTWriterConf['default'].extraItems += caloProtoReprocessLocs
+ 
+dstWriter = SelDSTWriter( "MyDSTWriter",
+                          StreamConf = SelDSTWriterConf,
+                          MicroDSTElements = SelDSTWriterElements,
+                          OutputFileSuffix ='Filtered',
+                          SelectionSequences = sc.activeStreams()
+                          )
+ 
+# Add stripping TCK
+from Configurables import StrippingTCK
+
+#TCK IN THE FOLLOWING FORMAT: DaVinci version (XXrXpX) Stripping version (XXrXpX) (i.e. DaVinci 41r4p5 with Stripping28r1p1 -> TCK:41452811)
+#you can find the associated DaVinci version for each stripping in: https://twiki.cern.ch/twiki/bin/view/Main/ProcessingPasses
+##################################################################
+stck = StrippingTCK(HDRLocation = '/Event/Strip/Phys/DecReports', TCK=0x4272292)
+##################################################################
+
+#
+# DaVinci Configuration
+#
+from Configurables import DaVinci
+DaVinci().Simulation = True
+DaVinci().EvtMax = -1                     # Number of events
+DaVinci().HistogramFile = "DVHistos.root"
+DaVinci().appendToMainSequence( [ sc.sequence() ] )
+DaVinci().appendToMainSequence( [ stck ] )
+DaVinci().appendToMainSequence( [ dstWriter.sequence() ] )
+DaVinci().ProductionType = "Stripping"
+ 
+# Change the column size of Timing table
+from Configurables import TimingAuditor, SequencerTimerTool
+TimingAuditor().addTool(SequencerTimerTool,name="TIMER")
+TimingAuditor().TIMER.NameSize = 60
+
+
+"""
+#Testing on local data
+##################################################################
+from GaudiConf import IOHelper
+DaVinci().DataType = '2016'
+IOHelper().inputFiles([
+    '2016/B2DD0KPHSP/00059985_00000043_7.AllStreams.dst'
+], clear=True)
+##################################################################
+"""
+
+
diff --git a/options/MCFiltering/Lb02D0DsmP_strip34_filter_mDST.py b/options/MCFiltering/Lb02D0DsmP_strip34_filter_mDST.py
new file mode 100644
index 0000000000000000000000000000000000000000..6d7cd2325acbba6bc3ba8fa848768aded2fbb8f7
--- /dev/null
+++ b/options/MCFiltering/Lb02D0DsmP_strip34_filter_mDST.py
@@ -0,0 +1,175 @@
+"""
+Stripping filtering Template for B2OC filtering requests
+stripping for Lb02D0DsmP in mDST
+@author Linxuan Zhu
+@date   2022-09-06
+"""
+##################################################################
+# ONLY THESE SECTIONS NEED TO BE MODIFIED FOR STANDARD FILTERING
+##################################################################
+
+#stripping version
+##################################################################
+stripping='stripping34'
+##################################################################
+
+#use CommonParticlesArchive
+from CommonParticlesArchive import CommonParticlesArchiveConf
+CommonParticlesArchiveConf().redirect(stripping)
+ 
+from Gaudi.Configuration import *
+MessageSvc().Format = "% F%30W%S%7W%R%T %0W%M"
+ 
+#Raw event juggler to split Other/RawEvent into Velo/RawEvent and Tracker/RawEvent
+#
+from Configurables import RawEventJuggler
+juggler = RawEventJuggler( DataOnDemand=True, Input=2.0, Output=4.0 )
+#
+# Build the streams and stripping object
+#
+from StrippingConf.Configuration import StrippingConf, StrippingStream
+from StrippingSettings.Utils import strippingConfiguration
+from StrippingArchive.Utils import buildStreams, cloneLinesFromStream
+from StrippingArchive import strippingArchive
+ 
+ 
+#get the configuration dictionary from the database
+config  = strippingConfiguration(stripping)
+#get the line builders from the archive
+archive = strippingArchive(stripping)
+ 
+streams = buildStreams(stripping = config, archive = archive)
+# Select my lines
+#OUTPUT STREAM NAME
+##################################################################
+AllStreams = StrippingStream("Lb02D0DsmP.Strip")			 
+##################################################################
+linesToAdd = []
+
+#LIST OF FILTERED LINES
+##################################################################
+MyLines = [ 'StrippingB02D0DKBeauty2CharmLine',
+            'StrippingB02D0DKD02K3PiBeauty2CharmLine',
+            'StrippingB02D0DPiBeauty2CharmLine',
+            'StrippingB02D0DPiD02K3PiBeauty2CharmLine']
+##################################################################
+
+ 
+for stream in streams:
+    if 'Bhadron' in stream.name():
+        for line in stream.lines:
+            line._prescale = 1.0
+            if line.name() in MyLines:
+                linesToAdd.append(line)
+AllStreams.appendLines(linesToAdd)
+ 
+ 
+ 
+sc = StrippingConf( Streams = [ AllStreams ],
+                    MaxCandidates = 2000,
+                    TESPrefix = 'Strip'
+                    )
+ 
+ 
+AllStreams.sequence().IgnoreFilterPassed = False # so that we do not get all events written out
+ 
+#
+ 
+# Configuration of SelDSTWriter
+#
+'''
+#STANDARD CONFIGURATION FOR FULL DST OUTPUT 
+#(change this for the following commented section for mDST output)
+##################################################################
+enablePacking = True 
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements
+                                      )
+ 
+SelDSTWriterElements = {
+    'default'               : stripDSTElements(pack=enablePacking)
+    }
+ 
+SelDSTWriterConf = {
+    'default'               : stripDSTStreamConf(pack=enablePacking)
+    }
+##################################################################
+'''
+
+#STANDARD CONFIGURATION FOR MDST OUTPUT
+##################################################################
+enablePacking = True
+from DSTWriters.microdstelements import *
+from DSTWriters.Configuration import (SelDSTWriter,
+                                      stripDSTStreamConf,
+                                      stripDSTElements,
+                                      stripMicroDSTStreamConf,
+                                      stripMicroDSTElements,
+                                      stripCalibMicroDSTStreamConf 
+                                      )
+
+SelDSTWriterElements = {
+    'default'               : stripMicroDSTElements(pack=enablePacking,isMC=True)
+    }
+
+SelDSTWriterConf = {
+    'default'               : stripMicroDSTStreamConf(pack=enablePacking, isMC=True)
+    }
+##################################################################
+
+
+
+#Items that might get lost when running the CALO+PROTO ReProcessing in DV
+caloProtoReprocessLocs = [ "/Event/pRec/ProtoP#99", "/Event/pRec/Calo#99" ]
+ 
+# Make sure they are present on full DST streams
+SelDSTWriterConf['default'].extraItems += caloProtoReprocessLocs
+ 
+dstWriter = SelDSTWriter( "MyDSTWriter",
+                          StreamConf = SelDSTWriterConf,
+                          MicroDSTElements = SelDSTWriterElements,
+                          OutputFileSuffix ='Filtered',
+                          SelectionSequences = sc.activeStreams()
+                          )
+ 
+# Add stripping TCK
+from Configurables import StrippingTCK
+
+#TCK IN THE FOLLOWING FORMAT: DaVinci version (XXrXpX) Stripping version (XXrXpX) (i.e. DaVinci 41r4p5 with Stripping28r1p1 -> TCK:41452811)
+#you can find the associated DaVinci version for each stripping in: https://twiki.cern.ch/twiki/bin/view/Main/ProcessingPasses
+##################################################################
+stck = StrippingTCK(HDRLocation = '/Event/Strip/Phys/DecReports', TCK=0x44434)
+##################################################################
+
+#
+# DaVinci Configuration
+#
+from Configurables import DaVinci
+DaVinci().Simulation = True
+DaVinci().EvtMax = -1                     # Number of events
+DaVinci().HistogramFile = "DVHistos.root"
+DaVinci().appendToMainSequence( [ sc.sequence() ] )
+DaVinci().appendToMainSequence( [ stck ] )
+DaVinci().appendToMainSequence( [ dstWriter.sequence() ] )
+DaVinci().ProductionType = "Stripping"
+ 
+# Change the column size of Timing table
+from Configurables import TimingAuditor, SequencerTimerTool
+TimingAuditor().addTool(SequencerTimerTool,name="TIMER")
+TimingAuditor().TIMER.NameSize = 60
+
+
+"""
+#Testing on local data
+##################################################################
+from GaudiConf import IOHelper
+DaVinci().DataType = '2016'
+IOHelper().inputFiles([
+    '2016/B2DD0KPHSP/00059985_00000043_7.AllStreams.dst'
+], clear=True)
+##################################################################
+"""
+
+