diff --git a/Phys/StrippingSelections/python/StrippingSelections/StrippingRD/StrippingBeauty2MajoLep.py b/Phys/StrippingSelections/python/StrippingSelections/StrippingRD/StrippingBeauty2MajoLep.py
index fac6a920f4586a2d96727811b23261e9d61f26e3..bf1141cced597364623747a7a3a43429e2466565 100644
--- a/Phys/StrippingSelections/python/StrippingSelections/StrippingRD/StrippingBeauty2MajoLep.py
+++ b/Phys/StrippingSelections/python/StrippingSelections/StrippingRD/StrippingBeauty2MajoLep.py
@@ -26,7 +26,7 @@ from StrippingConf.StrippingLine import StrippingLine
 from StrippingUtils.Utils import LineBuilder
 from GaudiKernel.SystemOfUnits import *
 
-from StandardParticles import StdAllNoPIDsMuons as Muons
+from StandardParticles import StdLooseMuons as Muons
 from StandardParticles import StdAllNoPIDsPions as Pions
 from StandardParticles import StdAllNoPIDsElectrons as Electrons
 from StandardParticles import StdAllNoPIDsKaons as Kaons
@@ -41,32 +41,34 @@ default_config = {
     'STREAMS' : ['BhadronCompleteEvent'],
     'BUILDERTYPE' : 'Beauty2MajoLepConf',
     'CONFIG'      : {
-                     'Lep_IPChi2min'             : 25.0,
+                     'Lep_IPChi2min'             : 16.0,
                      'Lep_PTmin'                 : 300.,
-                     'Trk_GhostProb'             : 0.5,  
+                     'Trk_GhostProb'             : 0.5,
+                     'Trk_Chi2NDOF'              : 5.0,  
                      'Majo_AMhigh'               : 7000.0,
-                     'Majo_AMlow'                : 200.,
+                     'Majo_AMlow'                : 0.,
                      'Majo_PTmin'                : 700.0,
-                     'Majo_Bach_PTmin'           : 500.0,
-                     'Majo_DocaChi2'             : 25.0, 
-                     'Majo_VtxChi2'              : 10.0,
+                     'Majo_Bach_PTmin'           : 550.0,
+                     'Majo_DocaChi2'             : 16.0, 
+                     'Majo_VtxChi2'              : 9.0,
                      'AM_Mlow'                   : 0.,
                      'AM_Mhigh'                  : 7200.0, 
-                     'B_Mlow'                    : 4800.0,
+                     'B_Mlow'                    : 4500.0,
                      'B_Mhigh'                   : 6800.0,
                      'B_IPCHI2wrtPV'             : 16.0,
-                     'BVtxChi2'                  : 10.0, 
+                     'BVtxChi2'                  : 9.0, 
                      'B_DLS'                     : 5.0,
-                     'Bach_PTmin'                : 700.0,
-                     'Jpsi_pdg'                  : 100.,
+                     'Bach_PTmin'                : 750.0,
+                     'Jpsi_pdg'                  : 400.,
+                     'Jpsi_electron_pdg'         : 800., 
                      'D0_pdg'                    : 100., 
                      'Ks_pdg_DD'                 : 50.,
                      'B_pdg_Ks_DD'               : 200.0,           
-                     'Ks_Bach_PT_DD'             : 800.0,
+                     'Ks_Bach_PT'                : 800.0,
                      'B_Bach_PT_DD'              : 1000.0,
-                     'Ks_pdg'                    : 100.,
-                     'B_pdg'                     : 300.0,
-                     'B_electron_pdg'            : 500.0, 
+                     'Ks_pdg'                    : 80.,
+                     'B_pdg'                     : 400.0,
+                     'B_electron_pdg'            : 800.0, 
                      'Prescale1'                 : 0.05,
                      'Prescale2'                 : 0.1,
                      'Prescale3'                 : 0.2, 
@@ -347,7 +349,8 @@ class Beauty2MajoLepConf(LineBuilder) :
         # define all the cuts
         _bachPtCut      = "(PT>%s*MeV)"                  % config['Lep_PTmin']
         _trkGPCut       = "(TRGHOSTPROB<%s)"             % config['Trk_GhostProb']
-        _allCuts = _trkGPCut + '&' + _bachPtCut 
+        _trkChi2        = "(TRCHI2DOF<%s)"              % config['Trk_Chi2NDOF']
+        _allCuts = _trkGPCut + '&' + _bachPtCut + '&' + _trkChi2
 
         # make the filter
         _filterH = FilterDesktop( Code = _allCuts )
@@ -360,8 +363,10 @@ class Beauty2MajoLepConf(LineBuilder) :
         # define all the cuts
         _bachPtCut      = "(PT>%s*MeV)"                  % config['Lep_PTmin']
         _trkGPCut       = "(TRGHOSTPROB<%s)"             % config['Trk_GhostProb']
-         
-        _allCuts = _trkGPCut + '&' + _bachPtCut 
+        _trkChi2        = "(TRCHI2DOF<%s)"              % config['Trk_Chi2NDOF']
+ 
+        _pidCut = "(~(ISMUON))"
+        _allCuts = _trkGPCut + '&' + _bachPtCut + '&' + _pidCut + '&' + _trkChi2
 
         # make the filter
         _filterH = FilterDesktop( Code = _allCuts )
@@ -370,11 +375,12 @@ class Beauty2MajoLepConf(LineBuilder) :
         self.selDownPi = Selection( name, Algorithm = _filterH, RequiredSelections = [self.downpions] )
 
     def makeDownMu( self, name, config ) :
-        # define all the cuts
+        # define all the cuts Note: isMUON is already applied
         _bachPtCut      = "(PT>%s*MeV)"                  % config['Lep_PTmin']
         _trkGPCut       = "(TRGHOSTPROB<%s)"             % config['Trk_GhostProb']
-
-        _allCuts = _trkGPCut + '&' + _bachPtCut 
+        _trkChi2        = "(TRCHI2DOF<%s)"              % config['Trk_Chi2NDOF']
+ 
+        _allCuts = _trkGPCut + '&' + _bachPtCut + '&' + _trkChi2
 
         # make the filter
         _filterH = FilterDesktop( Code = _allCuts )
@@ -388,8 +394,9 @@ class Beauty2MajoLepConf(LineBuilder) :
         _bachPtCut      = "(PT>%s*MeV)"                  % config['Lep_PTmin']
         _bachIPChi2Cut  = "(MIPCHI2DV(PRIMARY) > %s)"    % config['Lep_IPChi2min']
         _trkGPCut       = "(TRGHOSTPROB<%s)"             % config['Trk_GhostProb']
-        
-        _allCuts = _trkGPCut + '&' + _bachPtCut + '&' + _bachIPChi2Cut 
+        _trkChi2        = "(TRCHI2DOF<%s)"              % config['Trk_Chi2NDOF']
+ 
+        _allCuts = _trkGPCut + '&' + _bachPtCut + '&' + _bachIPChi2Cut + '&' + _trkChi2
 
         # make the filter
         _filterH = FilterDesktop( Code = _allCuts )
@@ -403,9 +410,12 @@ class Beauty2MajoLepConf(LineBuilder) :
         _bachPtCut      = "(PT>%s*MeV)"                  % config['Lep_PTmin']
         _bachIPChi2Cut  = "(MIPCHI2DV(PRIMARY) > %s)"    % config['Lep_IPChi2min']
         _trkGPCut       = "(TRGHOSTPROB<%s)"             % config['Trk_GhostProb']
-       
+        _trkChi2        = "(TRCHI2DOF<%s)"              % config['Trk_Chi2NDOF']
  
-        _allCuts = _trkGPCut + '&' + _bachPtCut + '&' + _bachIPChi2Cut 
+        _pidCut = "(~(ISMUON))"
+       
+
+        _allCuts = _trkGPCut + '&' + _bachPtCut + '&' + _bachIPChi2Cut + '&' + _pidCut + '&' + _trkChi2
 
         # make the filter
         _filterH = FilterDesktop( Code = _allCuts )
@@ -415,13 +425,13 @@ class Beauty2MajoLepConf(LineBuilder) :
 
 
     def makeMu( self, name, config ) :
-        # define all the cuts
+        # define all the cuts Note: isMuon is already applied
         _bachPtCut      = "(PT>%s*MeV)"                  % config['Lep_PTmin']
         _bachIPChi2Cut  = "(MIPCHI2DV(PRIMARY) > %s)"    % config['Lep_IPChi2min']
         _trkGPCut       = "(TRGHOSTPROB<%s)"             % config['Trk_GhostProb']
-        _pidMuon = '(ISMUON)' 
-
-        _allCuts = _trkGPCut + '&' + _bachPtCut + '&' + _pidMuon
+        _trkChi2        = "(TRCHI2DOF<%s)"              % config['Trk_Chi2NDOF']
+ 
+        _allCuts = _trkGPCut + '&' + _bachPtCut + '&' + _trkChi2 
 
         # make the filter
         _filterH = FilterDesktop( Code = _allCuts )
@@ -434,8 +444,11 @@ class Beauty2MajoLepConf(LineBuilder) :
         _bachPtCut      = "(PT>%s*MeV)"                  % config['Lep_PTmin']
         _bachIPChi2Cut  = "(MIPCHI2DV(PRIMARY) > %s)"    % config['Lep_IPChi2min']
         _trkGPCut       = "(TRGHOSTPROB<%s)"             % config['Trk_GhostProb']
+        _trkChi2        = "(TRCHI2DOF<%s)"              % config['Trk_Chi2NDOF']
+ 
+        _pidCut = "(~(ISMUON))"
 
-        _allCuts = _trkGPCut + '&' + _bachPtCut + '&' + _bachIPChi2Cut 
+        _allCuts = _trkGPCut + '&' + _bachPtCut + '&' + _bachIPChi2Cut + '&' + _pidCut + '&' + _trkChi2 
 
         # make the filter
         _filterH = FilterDesktop( Code = _allCuts )
@@ -467,8 +480,9 @@ class Beauty2MajoLepConf(LineBuilder) :
 
         _motherCuts = _ptCut+'&'+_vtxChi2Cut       
        
-        _pidCut_electron = "(PIDe>3.0)&((PIDe-PIDmu)>3.0)"
-        _pidCut_pion = "((PIDe)<0.0)" 
+        _pidCut_electron = "(PIDe>0.)"
+        _pidCut_pion = "((PIDe)<0.0)&((PIDK)<0.)"
+  
  
               
         _Majo = CombineParticles()
@@ -506,8 +520,8 @@ class Beauty2MajoLepConf(LineBuilder) :
         _vtxChi2Cut = "(VFASPF(VCHI2)<%s)"  %    config['Majo_VtxChi2']
 
         _motherCuts = _ptCut+'&'+_vtxChi2Cut
-        _pidCut_electron = "(PIDe>3.0)&((PIDe-PIDmu)>3.0)"
-        _pidCut_pion = "((PIDe)<0.0)" 
+        _pidCut_electron = "(PIDe>0.)"
+        _pidCut_pion = "((PIDe)<0.0)&((PIDK)<0.)" 
         _Majo = CombineParticles()
 
         _Majo.DecayDescriptors = [ "[Lambda0 -> pi+ e-]cc" ]
@@ -575,7 +589,7 @@ class Beauty2MajoLepConf(LineBuilder) :
         _motherCuts = _ptCut+'&'+_vtxChi2Cut
 
         _pidCut_electron = "(PIDe>0.)"
-        
+       
         _Majo = CombineParticles()
 
         _Majo.DecayDescriptors = [ "KS0 -> pi+ e-", "KS0 -> pi- e+" ]
@@ -610,6 +624,7 @@ class Beauty2MajoLepConf(LineBuilder) :
         _motherCuts = _ptCut+'&'+_vtxChi2Cut
         
         _pidCut_muon = "(PIDmu>0.)"
+        
         _Majo = CombineParticles()
 
         _Majo.DecayDescriptors = [ "KS0 -> pi+ mu-", "KS0 -> pi- mu+"  ]
@@ -645,7 +660,6 @@ class Beauty2MajoLepConf(LineBuilder) :
         _fdChi2Cut  = "(BPVDLS>%s)"                 % config['B_DLS']
         _massCutLow2     = "(M>(%s*MeV))"               % config['B_Mlow']
         _massCutHigh2    = "(M<(%s*MeV))"               % config['B_Mhigh']
- 
         _motherCuts = _vtxChi2Cut+'&'+_ipChi2Cut+'&'+_fdChi2Cut+'&'+_massCutLow2+'&'+_massCutHigh2
  
         _B = CombineParticles()
@@ -684,8 +698,7 @@ class Beauty2MajoLepConf(LineBuilder) :
         _fdChi2Cut  = "(BPVDLS>%s)"                 % config['B_DLS'] 
         _massCutLow2     = "(M>(%s*MeV))"               % config['B_Mlow']
         _massCutHigh2    = "(M<(%s*MeV))"               % config['B_Mhigh']
-        _pidCut_muons = "((PIDmu-PIDe)>1.0)&(PIDmu>1.0)"
-       
+        _pidCut_muons = "(PIDmu>0.)"       
 
         _motherCuts = _vtxChi2Cut+'&'+_ipChi2Cut+'&'+_fdChi2Cut+'&'+_massCutLow2+'&'+_massCutHigh2
         
@@ -726,7 +739,8 @@ class Beauty2MajoLepConf(LineBuilder) :
         _fdChi2Cut  = "(BPVDLS>%s)"                 % config['B_DLS']
         _massCutLow2     = "(M>(%s*MeV))"               % config['B_Mlow']
         _massCutHigh2    = "(M<(%s*MeV))"               % config['B_Mhigh']
-        _pidCut_muons = "((PIDmu-PIDe)>1.0)&(PIDmu>1.0)"
+        _pidCut_muons = "(PIDmu>0.)&((PIDmu-PIDK)>0.)"
+
         _motherCuts = _vtxChi2Cut+'&'+_ipChi2Cut+'&'+_fdChi2Cut+'&'+_massCutLow2+'&'+_massCutHigh2
   
               
@@ -865,7 +879,7 @@ class Beauty2MajoLepConf(LineBuilder) :
         _Majo.DecayDescriptors = [ "KS0 -> pi- pi+" ]
 
         
-        _daughterCuts =  { "pi+" : "(PT>%s*MeV)" % config['Ks_Bach_PT_DD'], "pi-" : "(PT>%s*MeV)" % config['Ks_Bach_PT_DD']} 
+        _daughterCuts =  { "pi+" : "(PT>%s*MeV)" % config['Ks_Bach_PT'], "pi-" : "(PT>%s*MeV)" % config['Ks_Bach_PT']} 
    
         _Majo.DaughtersCuts = _daughterCuts
         _Majo.CombinationCut = _combCuts
@@ -896,7 +910,7 @@ class Beauty2MajoLepConf(LineBuilder) :
         _Majo = CombineParticles()
 
         _Majo.DecayDescriptors = ["KS0 -> pi- pi+" ]
-        _daughterCuts =  { "pi+" : "(PT>%s*MeV)" % config["Majo_Bach_PTmin"], "pi-" : "(PT>%s*MeV)" % config["Majo_Bach_PTmin"]} 
+        _daughterCuts =  { "pi+" : "(PT>%s*MeV)" % config['Ks_Bach_PT'], "pi-" : "(PT>%s*MeV)" % config['Ks_Bach_PT']} 
       
         _Majo.DaughtersCuts = _daughterCuts
         
@@ -955,7 +969,7 @@ class Beauty2MajoLepConf(LineBuilder) :
         _ipChi2Cut  = "(MIPCHI2DV(PRIMARY)<%s)"        % config['B_IPCHI2wrtPV']
         _fdChi2Cut  = "(BPVDLS>%s)"                 % config['B_DLS']
         _massCut = "(ADMASS('B+') < %s)" % config['B_pdg']
-        
+
         _combCuts = _massCutLow+'&'+_massCutHigh 
         _motherCuts = _vtxChi2Cut +'&'+_ipChi2Cut+'&'+_fdChi2Cut+'&'+_massCut
         
@@ -988,7 +1002,7 @@ class Beauty2MajoLepConf(LineBuilder) :
 
         _ptCut      = "(PT>%s*MeV)"                    % config['Majo_PTmin']
         _vtxChi2Cut = "(VFASPF(VCHI2)<%s)"             % config['BVtxChi2']
- 
+
         _massCut1 = "(ADMASS('D0') < %s)" % config['D0_pdg']
       
 
@@ -1028,7 +1042,7 @@ class Beauty2MajoLepConf(LineBuilder) :
         _ipChi2Cut  = "(MIPCHI2DV(PRIMARY)<%s)"        % config['B_IPCHI2wrtPV']
         _fdChi2Cut  = "(BPVDLS>%s)"                 % config['B_DLS']
         _massCut = "(ADMASS('B+') < %s)" % config['B_pdg']
-        
+       
 
 
 
@@ -1060,7 +1074,7 @@ class Beauty2MajoLepConf(LineBuilder) :
    
         _ptCut      = "(PT>%s*MeV)"                    % config['Majo_PTmin']
         _massCutJpsi = "(ADMASS('J/psi(1S)') < %s)" % config['Jpsi_pdg']
-        
+       
         _motherCuts = _ptCut+'&'+_massCutJpsi
         _combCuts = _massCut + '&' + _docaCut
 
@@ -1090,9 +1104,9 @@ class Beauty2MajoLepConf(LineBuilder) :
  
    
         _ptCut      = "(PT>%s*MeV)"                    % config['Majo_PTmin']
-        _massCutJpsi = "(ADMASS('J/psi(1S)') < %s)" % config['Jpsi_pdg']
-      
-
+        _massCutJpsi = "(M>%s*MeV)" % (3096.9 - config['Jpsi_electron_pdg']) + '&' + "(M<%s*MeV)" % (3096.9 + config['Jpsi_pdg'])
+        _pidCut_electron = "(PIDe>-5.)"
+ 
         _motherCuts = _ptCut+'&'+_massCutJpsi
         _combCuts = _massCut + '&' + _docaCut
 
@@ -1101,7 +1115,7 @@ class Beauty2MajoLepConf(LineBuilder) :
         _Majo.DecayDescriptors = [ "J/psi(1S) -> e+ e-" ]
 
              
-        _daughterCuts =  { "e-" : "(PT>%s*MeV)" % config["Majo_Bach_PTmin"], "e+" : "(PT>%s*MeV)" % config["Majo_Bach_PTmin"]} 
+        _daughterCuts =  { "e-" : "(PT>%s*MeV)" % config["Majo_Bach_PTmin"] + '&' + _pidCut_electron, "e+" : "(PT>%s*MeV)" % config["Majo_Bach_PTmin"] + '&' + _pidCut_electron} 
  
         _Majo.DaughtersCuts = _daughterCuts
         _Majo.CombinationCut = _combCuts
@@ -1130,7 +1144,6 @@ class Beauty2MajoLepConf(LineBuilder) :
         _ipChi2Cut  = "(MIPCHI2DV(PRIMARY)<%s)"        % config['B_IPCHI2wrtPV']
         _fdChi2Cut  = "(BPVDLS>%s)"                 % config['B_DLS']       
         _massCut = "(ADMASS('B+') < %s)" % config['B_electron_pdg']
- 
 
 
         _motherCuts = _vtxChi2Cut +'&'+_ipChi2Cut+'&'+_fdChi2Cut+'&'+_massCut
@@ -1165,7 +1178,7 @@ class Beauty2MajoLepConf(LineBuilder) :
         _ipChi2Cut  = "(MIPCHI2DV(PRIMARY)<%s)"        % config['B_IPCHI2wrtPV']
         _fdChi2Cut  = "(BPVDLS>%s)"                 % config['B_DLS']       
         _massCut = "(ADMASS('B+') < %s)" % config['B_electron_pdg']
- 
+
 
         _motherCuts = _vtxChi2Cut +'&'+_ipChi2Cut+'&'+_fdChi2Cut+'&'+_massCut