Skip to content
Snippets Groups Projects

Bc HLT2 line for lifetime studies

Closed Ozlem Ozcelik requested to merge oozcelik_hlt2b2cc into master
Files
2
@@ -24,6 +24,70 @@ from RecoConf.reconstruction_objects import make_pvs
import Functors as F
from Functors.math import in_range
##### Bc -> Jpsi X #####
########################
def make_Bc2JpsiX(particles,
descriptor,
name='B2CC_BcToJpsiX_Combiner_{hash}',
comb_m_min=6050 * MeV,
comb_m_max=6555 * MeV,
vtx_m_min=6090 * MeV,
vtx_m_max=6555 * MeV,
lifetime=None,
dira=-10.0,
max_vtxchi2pdof=10,
max_ipchi2=None,
pvs=make_pvs):
"""
A generic Bc->Jpsi X decay maker.
"""
combination_code = (in_range(comb_m_min, F.MASS, comb_m_max))
vertex_code = require_all(
in_range(vtx_m_min, F.MASS, vtx_m_max), (F.BPVDIRA(make_pvs()) > dira),
(F.CHI2DOF < max_vtxchi2pdof))
if lifetime:
vertex_code = require_all(vertex_code, F.BPVLTIME(pvs()) > lifetime)
if max_ipchi2:
vertex_code = require_all(vertex_code, F.BPVIPCHI2(pvs()) < max_ipchi2)
return ParticleCombiner(
name=name,
Inputs=particles,
DecayDescriptor=descriptor,
CombinationCut=combination_code,
CompositeCut=vertex_code)
def make_Bc2Jpsipip(particles,
descriptor,
name='B2CC_BcToJpsipip_Combiner_{hash}',
comb_m_min=6050. * MeV,
comb_m_max=6555. * MeV,
vtx_m_min=6090. * MeV,
vtx_m_max=6510. * MeV,
lifetime=0.2 * picosecond,
max_vtxchi2pdof=10.):
"""
A generic Bc+ ->Jpsi pi+ decay maker.
"""
return make_Bc2JpsiX(
particles=particles,
descriptor=descriptor,
name=name,
comb_m_min=comb_m_min,
comb_m_max=comb_m_max,
vtx_m_min=vtx_m_min,
vtx_m_max=vtx_m_max,
lifetime=lifetime,
max_vtxchi2pdof=max_vtxchi2pdof)
##### Bd,s -> Jpsi X #####
##########################
def make_B2JpsiX(particles,
descriptor,
@@ -866,3 +930,22 @@ def make_BdToJpsimumuKstar_tight_line(process):
vtx_m_max=5450 * MeV)
return [jpsi, kstar, b2jpsikstar]
def make_BcToJpsimumuPiplus_line(process):
assert process in ['hlt2', 'spruce'
], 'Line must be defined as Hlt2 or Sprucing line!'
muons = basic_builder.filter_muons_loose(
particles=make_long_muons(), mu_pidk=20, mu_pidp=20)
jpsi = basic_builder.make_selected_jpsi_bd2jpsimumukshort(muons=muons)
pip = basic_builder.make_pions(pid=-1)
bc2jpsipip = make_Bd2JpsimumuKshort_detached(
particles=[jpsi, pip],
descriptor="[B_c+ -> J/psi(1S) pi+]cc",
lifetime=0.2 * picosecond,
comb_m_min=6050 * MeV,
comb_m_max=6555 * MeV,
vtx_m_min=6090 * MeV,
vtx_m_max=6510 * MeV)
return [jpsi, pip, bc2jpsipip]
Loading