diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToTauNu_BTracking.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToTauNu_BTracking.py index dfca0426aece78c6de4a8942f41f628aec9d72ae..3f8d78afe7486dfc52b7f0b0f31a6e32aa69e09f 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToTauNu_BTracking.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToTauNu_BTracking.py @@ -178,7 +178,8 @@ def make_b2dpipi_d2kpipi(process, def make_line_with_btracking(process, make_line, mcorr_min=None, - make_pvs=make_pvs): + make_pvs=make_pvs, + force_sharedcontainer=False): """ adds heavy flavour tracking to line with possible corrected mass requirement based on btracking hits """ @@ -187,11 +188,15 @@ def make_line_with_btracking(process, ], 'Line must be defined as Hlt2 line, as it requires VP hits!' parts = make_line(process) - btracks = make_veloheavyflavourtracks(composites=parts, pvs=make_pvs()) - if mcorr_min: - code = require_all(F.MCORRBTRACKING(btracks)) + btrack_alg = make_veloheavyflavourtracks(composites=parts, pvs=make_pvs()) + if mcorr_min or force_sharedcontainer: + code = require_all( + F.BTRACKING_BPVCORRM(btrack_alg.OutputLocation) > mcorr_min + ) if mcorr_min else require_all(F.ALL) filterparts = ParticleFilter( - parts, F.FILTER(code), name=parts.name + "_With_BTracking_Filter") - return filterparts, btracks + parts, + F.FILTER(code), + name=parts.producer.name + "_With_BTracking_Filter") + return filterparts, btrack_alg else: - return parts, btracks + return parts, btrack_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/hlt2_semileptonic.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/hlt2_semileptonic.py index 89f3bcfaa179de7a3112671a96bbb7df2c0a8801..c6e5843e9675009413b3dd9d3794632c5c50f0f1 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/hlt2_semileptonic.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/hlt2_semileptonic.py @@ -22,7 +22,7 @@ line builders have PROCESS as argument to allow ad hoc settings """ from Moore.config import HltLine, register_line_builder from .builders import sl_line_prefilter -from GaudiKernel.SystemOfUnits import mm +from GaudiKernel.SystemOfUnits import mm, GeV from .HbToHcTauNu_TauToPiPiPiNu import ( make_bptod0taunu_d0tok3pi_tautopipipinu, @@ -2693,7 +2693,7 @@ def hlt2_lbtolctaunu_lctolambdapiDD_tautoenu_fakeelectron_line( @register_line_builder(hlt2_lines) def hlt2_btotaunu_tautopipipinu_btracking_line( name="Hlt2SLB_BToTauNu_TauToPiPiPiNu_BTracking", - mcorr_min=None, + mcorr_min=2. * GeV, prescale=1, persistreco=True, include_mcchecker=False): @@ -2704,8 +2704,9 @@ def hlt2_btotaunu_tautopipipinu_btracking_line( line_alg, btracking = make_line_with_btracking( process=PROCESS, make_line=make_b2taunu_tau2pipipi, - mcorr_min=mcorr_min) - algs = [line_alg] if mcorr_min else [line_alg, btracking] + mcorr_min=mcorr_min, + force_sharedcontainer=include_mcchecker) + algs = [line_alg] if mcorr_min != None else [btracking] if include_mcchecker: from RecoConf.mc_checking import check_veloheavyflavourtracking from RecoConf.reconstruction_objects import make_pvs @@ -2725,7 +2726,9 @@ def hlt2_btotaunu_tautopipipinu_btracking_line( @register_line_builder(hlt2_lines) def hlt2_btodpipi_dtokpipi_btracking_line( - name="Hlt2SLB_BToDPiPi_DToKPiPi_BTracking", prescale=1, + name="Hlt2SLB_BToDPiPi_DToKPiPi_BTracking", + mcorr_min=None, + prescale=1, persistreco=True): """ SL Hlt2 line for B+->D-(->K+Pi-Pi-)pi+pi+ + c.c. with ability for B+ tracking, @@ -2733,7 +2736,7 @@ def hlt2_btodpipi_dtokpipi_btracking_line( """ line_alg, btracking = make_line_with_btracking( process=PROCESS, make_line=make_b2dpipi_d2kpipi, mcorr_min=mcorr_min) - algs = [line_alg] if mcorr_min else [line_alg, btracking] + algs = [line_alg] if mcorr_min != None else [btracking] return HltLine( name=name, prescale=prescale, @@ -2745,6 +2748,7 @@ def hlt2_btodpipi_dtokpipi_btracking_line( @register_line_builder(hlt2_lines) def hlt2_btodpipi_dtokpipi_btracking_loose_line( name="Hlt2SLB_BToDPiPi_DToKPiPi_BTracking_LooseMinFDT", + mcorr_min=None, prescale=1, persistreco=False): """ @@ -2758,7 +2762,7 @@ def hlt2_btodpipi_dtokpipi_btracking_loose_line( process=PROCESS, make_line=make_b2dpipi_d2kpipi, mcorr_min=mcorr_min) - algs = [line_alg] if mcorr_min else [line_alg, btracking] + algs = [line_alg] if mcorr_min != None else [btracking] return HltLine( name=name, prescale=prescale,