Skip to content
Snippets Groups Projects

RD common builders in the ThOr framework

Closed Vitalii Lisovskyi requested to merge vlisovsk_rd_builders_to_thor into master
@@ -12,7 +12,7 @@
Definition of RD builders for ThOr framework.
For now does not use any MVA tools as they are not ThOr-friendly.
"""
from GaudiKernel.SystemOfUnits import GeV, MeV, mm
from GaudiKernel.SystemOfUnits import GeV, MeV, mm, ps
from RecoConf.reconstruction_objects import make_pvs_v2 as make_pvs
@@ -274,13 +274,13 @@ def make_rd_prompt_protons(name="rd_prompt_protons",
####################################
# Downstream tracks #
####################################
def make_down_tracks(name="rd_down_tracks",
pid=None): #do we really need this one?
"""
Return RD downstream hadrons with pion mass hypothesis.
"""
return make_filter_tracks(
make_particles=make_down_pions, name=name, pid=pid)
# def make_down_tracks(name="rd_down_tracks",
# pid=None): #do we really need this one?
# """
# Return RD downstream hadrons with pion mass hypothesis.
# """
# return make_filter_tracks(
# make_particles=make_down_pions, name=name, pid=pid)
def make_rd_detached_down_pions(
@@ -391,6 +391,7 @@ def make_rd_merged_pi0s(name="rd_merged_pi0s",
####################################
# V0 particles and alike #
####################################
# they are in principle defined in the Hlt2 standard_particles, however there is no way to tune IPCHI2 cuts on their children with the current ThOr framework.
@configurable
@@ -405,6 +406,7 @@ def make_rd_ks0_lls(
pi_ipchi2_min=9,
adocachi2cut=30.,
bpvvdchi2_min=4.,
bpvltime_min=1 * ps,
vchi2pdof_max=30.):
'''
Build Long-Long KS0 candidates. Approximately corresponding to the Run2
@@ -420,8 +422,10 @@ def make_rd_ks0_lls(
combination_code = require_all(
in_range(am_min, F.MASS, am_max), F.MAXDOCACHI2CUT(adocachi2cut))
pvs = make_pvs()
vertex_code = require_all(F.CHI2DOF < vchi2pdof_max,
F.BPVFDCHI2(pvs) > bpvvdchi2_min)
vertex_code = require_all(
F.CHI2DOF < vchi2pdof_max,
#F.BPVLTIME(pvs) > bpvltime_min,
F.BPVFDCHI2(pvs) > bpvvdchi2_min)
return ParticleCombiner([pions, pions],
name=name,
DecayDescriptor=descriptor,
@@ -441,6 +445,7 @@ def make_rd_ks0_dds(
#pi_ipchi2_min=4,
adocachi2cut=30.,
bpvvdchi2_min=4.,
bpvltime_min=1 * ps,
vchi2pdof_max=25.):
'''
Build Long-Long KS0 candidates. Approximately corresponding to the Run2
@@ -456,8 +461,10 @@ def make_rd_ks0_dds(
combination_code = require_all(
in_range(am_min, F.MASS, am_max), F.MAXDOCACHI2CUT(adocachi2cut))
pvs = make_pvs()
vertex_code = require_all(F.CHI2DOF < vchi2pdof_max,
F.BPVFDCHI2(pvs) > bpvvdchi2_min)
vertex_code = require_all(
F.CHI2DOF < vchi2pdof_max,
#F.BPVLTIME(pvs) > bpvltime_min,
F.BPVFDCHI2(pvs) > bpvvdchi2_min)
return ParticleCombiner([pions, pions],
name=name,
DecayDescriptor=descriptor,
@@ -481,6 +488,7 @@ def make_rd_lambda_lls(
p_ipchi2_min=9,
adocachi2cut=30.,
bpvvdchi2_min=4.,
bpvltime_min=1 * ps,
vchi2pdof_max=30.):
'''
Build Long-Long Lambda candidates. Approximately corresponding to the Run2
@@ -501,8 +509,10 @@ def make_rd_lambda_lls(
combination_code = require_all(
in_range(am_min, F.MASS, am_max), F.MAXDOCACHI2CUT(adocachi2cut))
pvs = make_pvs()
vertex_code = require_all(F.CHI2DOF < vchi2pdof_max,
F.BPVFDCHI2(pvs) > bpvvdchi2_min)
vertex_code = require_all(
F.CHI2DOF < vchi2pdof_max,
#F.BPVLTIME(pvs) > bpvltime_min,
F.BPVFDCHI2(pvs) > bpvvdchi2_min)
return ParticleCombiner([protons, pions],
name=name,
DecayDescriptor=descriptor,
@@ -526,6 +536,7 @@ def make_rd_lambda_dds(
#p_ipchi2_min=9,
adocachi2cut=30.,
bpvvdchi2_min=4.,
bpvltime_min=1 * ps,
vchi2pdof_max=25.):
'''
Build Down-Down Lambda candidates. Approximately corresponding to the Run2
@@ -546,8 +557,10 @@ def make_rd_lambda_dds(
combination_code = require_all(
in_range(am_min, F.MASS, am_max), F.MAXDOCACHI2CUT(adocachi2cut))
pvs = make_pvs()
vertex_code = require_all(F.CHI2DOF < vchi2pdof_max,
F.BPVFDCHI2(pvs) > bpvvdchi2_min)
vertex_code = require_all(
F.CHI2DOF < vchi2pdof_max,
#F.BPVLTIME(pvs) > bpvltime_min,
F.BPVFDCHI2(pvs) > bpvvdchi2_min)
return ParticleCombiner([protons, pions],
name=name,
DecayDescriptor=descriptor,
@@ -594,6 +607,7 @@ def make_rd_detached_kstar0s(
CompositeCut=vertex_code)
# this is in principle defined in the Hlt2 standard_particles, however there is no way to provide IPCHI2 cuts on the kaons within the current ThOr framework.
@configurable
def make_rd_detached_phis(
name="rd_detached_phis",
Loading