Skip to content
Snippets Groups Projects

Only use Bd2JpsieeKSDetached for incremental restripping

Merged Gerwin Meier requested to merge gmeier_bd2jpsieeksdetached_b2cc into 2018-patches
2 unresolved threads
@@ -18,8 +18,6 @@ Exports the following stripping lines
- Bd2JpsieeKSBd2JpsieeKSFromTracksPrescaledLine
- Bd2JpsieeKSBd2JpsieeKSFromTracksDetachedLine
- Bd2JpsieeKSBd2JpsieeKSDetachedLine
- Bd2JpsieeKSBd2JpsieeKstarFromTracksPrescaledLine
- Bd2JpsieeKSBd2JpsieeKstarFromTracksDetachedLine
- Bd2JpsieeKSBu2JpsieeKFromTracksDetachedLine
'''
@@ -37,32 +35,21 @@ default_config = {
, 'ElectronPID' : 0. # adimensional
, 'ElectronTrackCHI2pDOF' : 5. # adimensional
, 'KaonPID' : 0. # adimensional
, 'PionForKstarPT' : 600. # MeV
, 'TRCHI2DOF' : 3. # adimensional
, 'JpsiVertexCHI2pDOF' : 15. # adimensional
, 'JpsiMassMin' : 2300. # MeV
, 'JpsiMassMax' : 3300. # MeV
, 'KstarMassMin' : 826. # MeV
, 'KstarMassMax' : 966. # MeV
, 'KstarPT' : 1500. # MeV
, 'KstarVCHI2' : 20. # adimensional
, 'KstarDaughtersIP' : 9. # adimensional
, 'KplusPT' : 800. # MeV
, 'KplusIP' : 9. # adimensional
, 'KSVCHI2' : 20. # adimensional
, 'KSBPVDLS' : 5. # adimensional
, 'BdVertexCHI2pDOF' : 7. # adimensional
, 'BdFromKstarVCHI2pDOF' : 20. # adimensional
, 'BdMassMin' : 4400. # MeV
, 'BdMassMax' : 6000. # MeV
, 'Prescale' : 0.1 # adamenssional
, 'Bd2JpsieeKstarPrescale': 0.1 # adimensional
, 'Bu2JpsieeKPrescale' : 0.1 # adimensional
},
'STREAMS' : { 'Dimuon' : ['StrippingBd2JpsieeKSBd2JpsieeKstarFromTracksDetachedLine',
'StrippingBd2JpsieeKSBu2JpsieeKFromTracksDetachedLine'],
'STREAMS' : { 'Dimuon' : ['StrippingBd2JpsieeKSBu2JpsieeKFromTracksDetachedLine'],
'Leptonic' : ['StrippingBd2JpsieeKSBd2JpsieeKSFromTracksPrescaledLine',
'StrippingBd2JpsieeKSBd2JpsieeKstarFromTracksPrescaledLine',
'StrippingBd2JpsieeKSBd2JpsieeKSFromTracksDetachedLine',
'StrippingBd2JpsieeKSBd2JpsieeKSDetachedLine'] },
'WGs' : [ 'B2CC' ]
@@ -87,10 +74,10 @@ class Bd2JpsieeKSConf(LineBuilder):
def __init__(self, name, config) :
LineBuilder.__init__(self, name, config)
# if name not set outside, set it to empty
# if name not set outside, set it to empty
if name == None:
name = ""
name = ""
self.name = name
self.config = config
@@ -109,21 +96,6 @@ class Bd2JpsieeKSConf(LineBuilder):
InputList = self.KsListLoose,
Cuts = "(VFASPF(VCHI2) < %(KSVCHI2)s) & (BPVDLS > %(KSBPVDLS)s)" % self.config )
self.KstarListNoBias = self.createSubSel( OutputList = "Kstar2KpiForBetaSNoBias" + self.name,
InputList = DataOnDemand(Location = "Phys/StdLooseKstar2Kpi/Particles"),
Cuts = "(in_range(%(KstarMassMin)s,M,%(KstarMassMax)s))" \
"& (PT > %(KstarPT)s *MeV) " \
"& (VFASPF(VCHI2) < %(KstarVCHI2)s )" \
"& (MAXTREE('K+'==ABSID, TRCHI2DOF) < %(TRCHI2DOF)s )" \
"& (MAXTREE('pi-'==ABSID, TRCHI2DOF) < %(TRCHI2DOF)s )" \
"& (MINTREE('K+'==ABSID, PIDK) > %(KaonPID)s )" % self.config)
self.KstarList = self.createSubSel( OutputList = "Kstar2KpiForBetaS" + self.name,
InputList = self.KstarListNoBias,
Cuts = "(INTREE((ABSID=='K+') & (MIPCHI2DV(PRIMARY) > %(KstarDaughtersIP)s )))" \
"& (INTREE((ABSID=='pi-') & (MIPCHI2DV(PRIMARY) > %(KstarDaughtersIP)s )))" % self.config)
self._jpsi = FilterDesktop( Code = " (MM > %(JpsiMassMin)s *MeV)" \
" & (MM < %(JpsiMassMax)s *MeV)" \
" & (MINTREE('e+'==ABSID,PIDe-PIDpi) > %(ElectronPID)s )" \
@@ -134,14 +106,13 @@ class Bd2JpsieeKSConf(LineBuilder):
self.Jpsi = Selection( "SelJpsi2eeFor" + self.name,
Algorithm = self._jpsi,
RequiredSelections = [DiElectrons] )
self.JpsiFromTracks = Selection( "SelJpsi2eeFromTracksFor" + self.name,
Algorithm = self._jpsi,
RequiredSelections = [DiElectronsFromTracks] )
self.makeBd2JpsieeKS()
self.makeBd2JpsieeKstar()
self.makeBu2JpsieeK()
# Tests CPU time required for construction of StdLooseDiElectron
@@ -180,7 +151,7 @@ class Bd2JpsieeKSConf(LineBuilder):
DaughterLists = [ self.Jpsi, self.KSList ],
PreVertexCuts = "in_range(%(BdMassMin)s,AM,%(BdMassMax)s)" % self.config,
PostVertexCuts = "(VFASPF(VCHI2/VDOF) < %(BdVertexCHI2pDOF)s)" % self.config )
Bd2JpsieeKSFromTracks = self.createCombinationSel( OutputList = self.name + "Bd2JpsiKSFromTracks",
DecayDescriptor = "B0 -> J/psi(1S) KS0",
DaughterLists = [ self.JpsiFromTracks, self.KSList ],
@@ -205,43 +176,13 @@ class Bd2JpsieeKSConf(LineBuilder):
Cuts = "(BPVLTIME() > %(BPVLTIME)s*ps)" % self.config )
Bd2JpsieeKSDetachedLine = StrippingLine( self.name + "Bd2JpsieeKSDetachedLine",
algos = [ Bd2JpsieeKSDetached ],
algos = [ Bd2JpsieeKSDetached ],
EnableFlavourTagging = True )#, MDSTFlag = True )
self.registerLine(Bd2JpsieeKSFromTracksPrescaledLine)
self.registerLine(Bd2JpsieeKSFromTracksDetachedLine)
self.registerLine(Bd2JpsieeKSDetachedLine)
def makeBd2JpsieeKstar( self ):
Bd2JpsieeKstarFromTracksPrescaled = self.createCombinationSel( OutputList = "Bd2JpsieeKstarFromTracksPrescaled" + self.name,
DecayDescriptor = "[B0 -> J/psi(1S) K*(892)0]cc",
DaughterLists = [ self.JpsiFromTracks, self.KstarListNoBias ],
PreVertexCuts = "in_range(%(BdMassMin)s,AM,%(BdMassMax)s)" % self.config,
PostVertexCuts = "(VFASPF(VCHI2/VDOF) < %(BdFromKstarVCHI2pDOF)s)" % self.config )
Bd2JpsieeKstarFromTracks = self.createCombinationSel( OutputList = "Bd2JpsieeKstarFromTracks" + self.name,
DecayDescriptor = "[B0 -> J/psi(1S) K*(892)0]cc",
DaughterLists = [ self.JpsiFromTracks, self.KstarList ],
PreVertexCuts = "in_range(%(BdMassMin)s,AM,%(BdMassMax)s)" % self.config,
PostVertexCuts = "(VFASPF(VCHI2/VDOF) < %(BdFromKstarVCHI2pDOF)s)" % self.config )
Bd2JpsieeKstarFromTracksPrescaledLine = StrippingLine( self.name + "Bd2JpsieeKstarFromTracksPrescaledLine",
algos = [ Bd2JpsieeKstarFromTracksPrescaled ],
prescale = self.config['Bd2JpsieeKstarPrescale'],
EnableFlavourTagging = True )#, MDSTFlag = True )
Bd2JpsieeKstarFromTracksDetached = self.createSubSel( InputList = Bd2JpsieeKstarFromTracks,
OutputList = Bd2JpsieeKstarFromTracks.name() + "Detached" + self.name,
Cuts = "(BPVLTIME() > %(BPVLTIME)s*ps)" % self.config )
Bd2JpsieeKstarFromTracksDetachedLine = StrippingLine( self.name + "Bd2JpsieeKstarFromTracksDetachedLine",
algos = [ Bd2JpsieeKstarFromTracksDetached ],
prescale = 0.40 ) #2017 0.40, 2016&2015: 0.63
#, EnableFlavourTagging = True )#, MDSTFlag = True )
self.registerLine(Bd2JpsieeKstarFromTracksPrescaledLine)
self.registerLine(Bd2JpsieeKstarFromTracksDetachedLine)
def makeBu2JpsieeK( self ):
Bu2JpsieeKFromTracks = self.createCombinationSel( OutputList = "Bu2JpsieeKFromTracks" + self.name,
@@ -250,7 +191,7 @@ class Bd2JpsieeKSConf(LineBuilder):
DaughterCuts = {"K+": "(PT > %(KplusPT)s *MeV)" % self.config },
PreVertexCuts = "in_range(%(BdMassMin)s,AM,%(BdMassMax)s)" % self.config,
PostVertexCuts = "(VFASPF(VCHI2PDOF) < %(BdVertexCHI2pDOF)s)" % self.config )
Bu2JpsieeKFromTracksDetached = self.createSubSel( InputList = Bu2JpsieeKFromTracks,
OutputList = Bu2JpsieeKFromTracks.name() + "Detached" + self.name,
@@ -261,6 +202,6 @@ class Bd2JpsieeKSConf(LineBuilder):
algos = [ Bu2JpsieeKFromTracksDetached ],
prescale = 0.18 )
#, EnableFlavourTagging = True )#, MDSTFlag = True )
self.registerLine(Bu2JpsieeKFromTracksDetachedLine)
Loading