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