diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py index f550e9d00a65c9587716edaf6b2eba88b9e486d3..d900fde7053236b5da42ca1232f9ded2b0a43a7d 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/__init__.py @@ -42,6 +42,7 @@ from . import ( hyperons, hyperonsTT, lc_to_ksh_kshhh, + prod_xsec, rare_charm_lines, ) @@ -80,3 +81,4 @@ all_lines.update(dst_to_dee.all_lines) all_lines.update(hexaquarks.all_lines) all_lines.update(dsstar_to_dspipi.all_lines) all_lines.update(hadronic_interaction_lines.all_lines) +all_lines.update(prod_xsec.all_lines) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/prod_xsec.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/prod_xsec.py index 693107ecfcbacaf3eb2ba3e58d56678713c45d54..8bafcaa5aec955fe7cd4dc6e817f7634e27da1a1 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/prod_xsec.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/prod_xsec.py @@ -97,20 +97,31 @@ from RecoConf.algorithms_thor import ( ) from RecoConf.reconstruction_objects import make_pvs from RecoConf.standard_particles import ( - make_down_pions, make_has_rich_long_kaons, - make_has_rich_long_pions, + make_has_rich_long_pions, # make_down_pions, make_has_rich_long_protons, make_long_pions, ) -from .particle_properties import _D0_M, _DP_M, _DS_M, _KS_M, _PION_M +from Hlt2Conf.hlt1_tistos import hlt1_tos_on_any_filter + +from .particle_properties import _D0_M, _DP_M, _DS_M, _PION_M # , _KS_M from .prefilters import charm_prefilters ################################################################################# ############################## CHARM MESONS ##################################### ################################################################################# +hlt1_tos_lines = ["Hlt1TrackMVADecision", "Hlt1TwoTrackMVADecision"] + + +def _xsec_make_charm_hlt1tos() -> ParticleFilter: + pre_filtered_charms = _xsec_make_charm_hadron_container() + + return hlt1_tos_on_any_filter( + data=pre_filtered_charms, hlt1_trigger_lines=hlt1_tos_lines + ) + def _xsec_make_loose_long_pions_from_d() -> ParticleFilter: """Maker for loose long pion tracks for/from D meson @@ -515,8 +526,7 @@ def _xsec_make_dstars_D0pi( all_lines = {} - - +''' @register_line_builder(all_lines) @configurable def dzero2kpi_line( @@ -652,8 +662,9 @@ def dplus2kkpi_line( * avoid unnecessary computations by using `hlt1_filter_code=["Hlt1TwoTrackLowPtCharmDecision", "Hlt1GECPassthroughDecision"]` """ dpluses = _xsec_make_dplus_KKpi() - return Hlt2Line(name=name, algs=charm_prefilters() + [dpluses], prescale=prescale) - + return Hlt2Line( + name=name, algs=charm_prefilters() + [dpluses], prescale=prescale) +''' ########################################################################### ############################ CHARM BARYONS ################################ @@ -946,6 +957,7 @@ def _xsec_make_xic0_pkkpi( ) +''' ## Baryon Line builders @register_line_builder(all_lines) @configurable @@ -988,7 +1000,6 @@ def xicp2pkpi_line(name="Hlt2Charm_XicpToPpKmPip_XSec", prescale=0.2): name=name, algs=charm_prefilters() + [_xsec_make_xicp_pKpi()], prescale=prescale ) - @register_line_builder(all_lines) @configurable def xic02pkkpi_line(name="Hlt2Charm_Xic0ToPpKmKmPip_XSec", prescale=0.2): @@ -1011,6 +1022,7 @@ def xic02pkkpi_line(name="Hlt2Charm_Xic0ToPpKmKmPip_XSec", prescale=0.2): prescale=prescale, ) +''' ############################################################################### ######################## DOUBLE CHARM ######################################### @@ -1048,9 +1060,10 @@ def _xsec_make_charm_hadron_container() -> ParticleContainersMerger: """ dzeros = _xsec_make_dzeros_Kpi() dplus = _xsec_make_dplus_Kpipi() + dsplus = _xsec_make_dplus_KKpi() lcps = _xsec_make_lcp_pKpi() return ParticleContainersMerger( - [dzeros, dplus, lcps], name="Charm_XSec_DoubleCharm_Merger_{hash}" + [dzeros, dplus, dsplus, lcps], name="Charm_XSec_DoubleCharm_Merger_{hash}" ) @@ -1072,7 +1085,7 @@ def _xsec_make_double_SS_charm_combinations() -> ParticleContainersMerger: "[psi(4415) -> D_s+ Lambda_c+]cc", "[psi(4415) -> Lambda_c+ Lambda_c+]cc", ] - hadrons = _xsec_make_charm_hadron_container() + hadrons = _xsec_make_charm_hlt1tos() comb = [] for d in descriptors: comb.append(_xsec_make_double_charm(hadrons, d)) @@ -1097,7 +1110,7 @@ def _xsec_make_double_OS_charm_combinations() -> ParticleContainersMerger: "[psi(4415) -> D_s+ D~0]cc", "[psi(4415) -> D_s+ Lambda_c~-]cc", ] - hadrons = _xsec_make_charm_hadron_container() + hadrons = _xsec_make_charm_hlt1tos() comb = [] for d in descriptors: comb.append(_xsec_make_double_charm(hadrons, d)) @@ -1109,7 +1122,7 @@ def _xsec_make_double_OS_charm_combinations() -> ParticleContainersMerger: def double_charm_SS_line( name: str = "Hlt2Charm_DoubleOpenCharmSS_PR_XSec", prescale: float = 1.0, - persistreco: bool = True, + persistreco: bool = False, ) -> Hlt2Line: """Triggerline for same sign double charm production. Note: @@ -1135,7 +1148,7 @@ def double_charm_SS_line( def double_charm_OS_line( name: str = "Hlt2Charm_DoubleOpenCharmOS_PR_XSec", prescale: float = 1.0, - persistreco: bool = True, + persistreco: bool = False, ) -> Hlt2Line: """Triggerline for opposite sign double charm production. @@ -1159,8 +1172,7 @@ def double_charm_OS_line( ####################################################################################### ############################ CHARM MESONS w/ KS ####################################### ####################################################################################### - - +''' def _xsec_make_long_pions_from_ks(): """Maker for long pion tracks for/from Kshort(LL) @@ -1299,7 +1311,6 @@ def _xsec_make_dzero_Kshh( ), ) - ## D0 -> KS0 h+ h- Line builders @register_line_builder(all_lines) @configurable @@ -1445,5 +1456,5 @@ def dstar2dzeropi_dzero2ksDDkk_line( return Hlt2Line( name=name, algs=charm_prefilters() + [kshorts, dzeros, dstars], - prescale=prescale, - ) + prescale=prescale) +'''