diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix.py index 63a0a32591f9a26481293ec5eeb60e14572a35ef..2fce15b9df5e275405000695f0d24996d092385d 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix.py @@ -1166,13 +1166,13 @@ def make_BdToJpsippKstar(process): ) proton = basic_builder.make_protons( - pid_p=0.0, pt_min=750.0 * MeV, p_min=1500 * MeV, mipchi2_min=3.0 + pid_p=0.0, pt_min=800.0 * MeV, p_min=2000 * MeV, mipchi2_min=4.0 ) kaon = basic_builder.make_kaons( - pid=-3, pt=500.0 * MeV, p=1500.0 * MeV, mipchi2_min=5.0 + pid=0.0, pt=500.0 * MeV, p=1500.0 * MeV, mipchi2_min=5.0 ) pion = basic_builder.make_pions( - pid=5, pt=200.0 * MeV, p=1500.0 * MeV, mipchi2_min=8.0 + pid=0.0, pt=500.0 * MeV, p=1500.0 * MeV, mipchi2_min=8.0 ) b2jpsikst = special_builder.make_JpsiPP_X( @@ -1189,16 +1189,15 @@ def make_Bs0ToJpsippPhi(process): ) proton = basic_builder.make_protons( - pid_p=0.0, pt_min=750.0 * MeV, p_min=1500 * MeV, mipchi2_min=3.0 + pid_p=0.0, pt_min=800.0 * MeV, p_min=2000 * MeV, mipchi2_min=4.0 ) kaon = basic_builder.make_kaons( - pid=-3, pt=500.0 * MeV, p=1500.0 * MeV, mipchi2_min=5.0 + pid=0.0, pt=500.0 * MeV, p=1500.0 * MeV, mipchi2_min=5.0 ) b2jpsiphi = special_builder.make_JpsiPP_X( particles=[proton, proton, kaon, kaon], descriptor="B_s0 -> p+ p~- K+ K-", - max_ppK_mass=5000 * MeV, X_kstar=False, ) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix0.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix0.py index ad8057bc229cabc4d4a2f164e9e745e9dc7439ae..4623a8d26ebd796ca3b2710ba410dbf9656d1520 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix0.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix0.py @@ -42,6 +42,7 @@ def make_B2JpsiX0( dira_min=0.9995, vtxchi2pdof_max=10, delta_mass=None, + combiner="ParticleVertexFitter", ): """ A generic B->MuMu(H)(HH)(G)(GG) decay maker. @@ -82,6 +83,20 @@ def make_B2JpsiX0( DecayDescriptor=descriptor, CombinationCut=combination_code, CompositeCut=vertex_code, + ParticleCombiner=combiner, + ) + + +def make_B2JpsiX0_noBvtx(particles, descriptor, assignvtx: int, **kwargs): + """ + A generic B->MuMu(H)(HH)(G)(GG) decay maker configured for where the B has no vertex i.e. it is just Jpsi+neutrals + """ + return make_B2JpsiX0( + particles, + descriptor, + vtxchi2pdof_max=None, + combiner="ParticleAdderAssignVtx" + str(assignvtx), + **kwargs, ) @@ -97,8 +112,7 @@ def make_B2JpsiKst2KPi0R_line( "Line must be defined as Hlt2 or Sprucing line!" ) - jpsi = basic_builder.make_selected_jpsi2mumu() - + jpsi = make_detached_jpsi() kstr = x0_builder.make_selected_kst2kpi0r(pi0pt_min=pi0pt_min) b2jpsikstr = make_B2JpsiX0( @@ -165,9 +179,10 @@ def make_B2JpsiEtaGG_line( eta = x0_builder.make_resolved_etas() - b2jpsieta = make_B2JpsiX0( + b2jpsieta = make_B2JpsiX0_noBvtx( particles=[jpsi, eta], descriptor="B0 -> J/psi(1S) eta", + assignvtx=1, name="B2CC_B2JpsiEtaGG_Combiner_{hash}", comb_m_min=comb_m_min, comb_m_max=comb_m_max, @@ -197,9 +212,10 @@ def make_B2JpsiPi0GG_line( jpsi = basic_builder.make_selected_jpsi2mumu() pi0 = x0_builder.make_resolved_pizeros() - b2jpsipi0 = make_B2JpsiX0( + b2jpsipi0 = make_B2JpsiX0_noBvtx( particles=[jpsi, pi0], descriptor="B0 -> J/psi(1S) pi0", + assignvtx=1, name="B2CC_B2JpsiPi0GG_Combiner_{hash}", comb_m_min=comb_m_min, comb_m_max=comb_m_max, @@ -272,28 +288,23 @@ def make_Lb0ToJpsiSigma0_DD_line(process): def make_BuToJpsimumuEtaPiplus_line( process, - comb_m_min=4800 * MeV, - comb_m_max=6000 * MeV, + comb_m_min=4700 * MeV, + comb_m_max=6100 * MeV, vtx_m_min=4800 * MeV, vtx_m_max=6000 * MeV, - delta_mass=( - 4250 * MeV, - 5450 * MeV, - 2, - ), # 2 here for cut on the second child i.e Eta. lifetime=0.2 * picosecond, dira_min=0.9999, - ipchi2_max=10, + ipchi2_max=20, ip_max=0.1, - vtxchi2pdof_max=5, + vtxchi2pdof_max=10, ): assert process in ["hlt2", "spruce"], ( "Line must be defined as Hlt2 or Sprucing line!" ) jpsi = make_detached_jpsi() - eta = eta = x0_builder.make_resolved_etas(mass_window=105 * MeV) - pip = basic_builder.make_pions(pid=1.0, pt=300 * MeV, p=1.5 * GeV, mipchi2_min=11) + eta = eta = x0_builder.make_resolved_etas() + pip = basic_builder.make_pions(pid=None, pt=300 * MeV, p=1.5 * GeV, mipchi2_min=11) line_alg = make_B2JpsiX0( name="B2CC_BuToJpsimumuEtaPiplus_Combiner_{hash}", @@ -303,7 +314,6 @@ def make_BuToJpsimumuEtaPiplus_line( comb_m_max=comb_m_max, vtx_m_min=vtx_m_min, vtx_m_max=vtx_m_max, - delta_mass=delta_mass, lifetime=lifetime, dira_min=dira_min, ipchi2_max=ipchi2_max, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/builders/special_builder.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/builders/special_builder.py index 2de0d2cf2ece3419f2dbab66388897a421699b9f..7dc6e897ac6def969e5eb9dacb6768a79e4793aa 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/builders/special_builder.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/builders/special_builder.py @@ -46,72 +46,104 @@ def make_JpsiPP_X( name="B2CC_JpsiPP_X_Combiner_{hash}", am_min_mass=5.0 * GeV, am_max_mass=5.6 * GeV, + am_min_mass_12=(3096.900 - 220.0) * MeV, + am_max_mass_12=(3096.900 + 220.0) * MeV, + am_min_mass_Kpi=(891.67 - 220.0) * MeV, + am_max_mass_Kpi=(891.67 + 220.0) * MeV, + am_min_mass_KK=(1019.461 - 220.0) * MeV, + am_max_mass_KK=(1019.461 + 220.0) * MeV, vtx_min_mass=5.05 * GeV, vtx_max_mass=5.55 * GeV, - max_ppK_mass=5.2 * GeV, pp_min_sumpt=750.0 * MeV, pp_min_sump=7000.0 * MeV, - pp_min_p=4.0 * GeV, + p_min_p=4.0 * GeV, p_min_pt=400.0 * MeV, - vtx_min_sumpt=3000.0 * MeV, - vtx_min_pt=2000.0 * MeV, + vtx_min_sumpt=2000.0 * MeV, + vtx_min_pt=3000.0 * MeV, vtx_max_chi2=9.0, - vtx_min_dira=0.9997, - sdocachi2_max=20.0, + vtx_min_dira=0.9995, + vtx_min_mass_12=(3096.900 - 215.0) * MeV, + vtx_max_mass_12=(3096.900 + 215.0) * MeV, + vtx_min_mass_Kpi=(891.67 - 215.0) * MeV, + vtx_max_mass_Kpi=(891.67 + 215.0) * MeV, + vtx_min_mass_KK=(1019.461 - 215.0) * MeV, + vtx_max_mass_KK=(1019.461 + 215.0) * MeV, + vtx_res_min_pt=500 * MeV, + sdocachi2_max=15.0, + vtx_max_ipchi2=15.0, b_min_lft=0.2 * picosecond, - X_kstar=True, + b_min_fdchi2=100, + min_prodprobnn=0.01, + X_kstar=False, ): combination12_code = F.require_all( # Jpsi->ppbar combination - F.math.in_range( - (3096.900 - 220.0) * MeV, F.MASS, (3096.900 + 220.0) * MeV - ), # J/psi mass range comb + F.MAXSDOCACHI2CUT(sdocachi2_max), + F.math.in_range(am_min_mass_12, F.MASS, am_max_mass_12), F.SUM(F.PT) > pp_min_sumpt, F.SUM(F.P) > pp_min_sump, - F.MAX(F.P) > pp_min_p, - F.MAX(F.PT) > p_min_pt, - F.CHILD(1, F.PROBNN_P) * F.CHILD(2, F.PROBNN_P) > 0.01, - F.MAXDOCACHI2CUT(sdocachi2_max), + F.require_any(F.CHILD(1, F.P) > p_min_p, F.CHILD(2, F.P) > p_min_p), + F.require_any(F.CHILD(1, F.PT) > p_min_pt, F.CHILD(2, F.PT) > p_min_pt), + (F.CHILD(1, F.PROBNN_P) * F.CHILD(2, F.PROBNN_P)) > min_prodprobnn, ) combination123_code = F.require_all( # ppbarK+ combination - F.MASS < max_ppK_mass, F.MAXDOCACHI2CUT(sdocachi2_max) - ) - - combination_code = F.require_all( - F.math.in_range(am_min_mass, F.MASS, am_max_mass), - F.MAXDOCACHI2CUT(sdocachi2_max), - F.MAXDOCACUT(0.25 * mm), + F.MAXSDOCACHI2CUT(sdocachi2_max) ) if X_kstar is True: - combination_code &= F.require_all( ## ppbarKstar(->K+pi-) combination + combination_code = F.require_all( ## ppbarKstar(->K+pi-) combination F.SUBCOMB( - Functor=F.math.in_range( - (891.67 - 200.0) * MeV, F.MASS, (891.67 + 200.0) * MeV - ), + Functor=F.math.in_range(am_min_mass_Kpi, F.MASS, am_max_mass_Kpi), Indices=[3, 4], - ) + ), ) else: - combination_code &= F.require_all( ## ppbarPhi(1020)(->K+K-) combination + combination_code = F.require_all( ## ppbarPhi(1020)(->K+K-) combination F.SUBCOMB( - Functor=F.math.in_range( - (1019.461 - 200.0) * MeV, F.MASS, (1019.461 + 200.0) * MeV - ), + Functor=F.math.in_range(am_min_mass_KK, F.MASS, am_max_mass_KK), Indices=[3, 4], - ) + ), ) + combination_code &= F.math.in_range(am_min_mass, F.MASS, am_max_mass) + combination_code &= F.MAXSDOCACHI2CUT(sdocachi2_max) + vertex_code = F.require_all( ## fit to the B0(s)->J/psi(->ppbar)hh, K*(890)->Kpi or Phi(1020)->KK F.math.in_range(vtx_min_mass, F.MASS, vtx_max_mass), F.CHI2DOF < vtx_max_chi2, F.OWNPVDIRA > vtx_min_dira, F.PT > vtx_min_pt, F.SUM(F.PT) > vtx_min_sumpt, - F.OWNPVIP < 0.2 * mm, + F.OWNPVFDCHI2 > b_min_fdchi2, + F.OWNPVIPCHI2 < vtx_max_ipchi2, F.OWNPVLTIME > b_min_lft, - F.OWNPVFDCHI2 > 100, ) + + if X_kstar is True: + vertex_code &= F.require_all( ## ppbarKstar(->K+pi-) combination + F.SUBCOMB( # fit K* + Functor=F.math.in_range(vtx_min_mass_Kpi, F.MASS, vtx_max_mass_Kpi), + Indices=[3, 4], + ), + F.SUBCOMB(Functor=F.PT > vtx_res_min_pt, Indices=[3, 4]), + ) + else: + vertex_code &= F.require_all( ## ppbarPhi(1020)(->K+K-) combination + F.SUBCOMB( # fit Phi(1020) + Functor=F.math.in_range(vtx_min_mass_KK, F.MASS, vtx_max_mass_KK), + Indices=[3, 4], + ), + F.SUBCOMB(Functor=F.PT > vtx_res_min_pt, Indices=[3, 4]), + ) + + vertex_code &= F.require_all( + F.SUBCOMB( # fit J/psi(1S) + Functor=F.math.in_range(vtx_min_mass_12, F.MASS, vtx_max_mass_12), + Indices=[1, 2], + ), + F.SUBCOMB(Functor=F.PT > vtx_res_min_pt, Indices=[1, 2]), + ) + return ParticleCombiner( particles, name=name, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/builders/x0_builder.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/builders/x0_builder.py index 65e49bc10baa86f4e14fd69ed7002827b9ac974d..c4baa387030a809bd771089e8007594ef91d8a40 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/builders/x0_builder.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/builders/x0_builder.py @@ -15,28 +15,24 @@ from Functors import require_all from Functors.math import in_range from GaudiKernel.SystemOfUnits import GeV, MeV from RecoConf.algorithms_thor import ParticleCombiner, ParticleFilter -from RecoConf.standard_particles import make_photons, make_resolved_pi0s +from RecoConf.standard_particles import make_photons from Hlt2Conf.lines.b_to_charmonia.builders import basic_builder +from Hlt2Conf.lines.charmonium_to_dimuon_detached import make_detached_jpsi _ETA_M = 547.862 * MeV # +/- 0.017 _pi0_M = 134.977 * MeV -def filter_pi0s(particles, pi0pt_min=1.5 * GeV): - code = require_all(F.PT > pi0pt_min) +def filter_gammas(particles, gpt_min=250.0 * MeV, gpt_max=200.0 * GeV, isnoth_min=0.2): + code = require_all(in_range(gpt_min, F.PT, gpt_max), F.IS_NOT_H > isnoth_min) return ParticleFilter(particles, F.FILTER(code)) -def filter_gammas(particles, gpt_min=500.0 * MeV, gpt_max=200.0 * GeV): - code = require_all(in_range(gpt_min, F.PT, gpt_max)) - return ParticleFilter(particles, F.FILTER(code)) - - -def make_resolved_pizeros(): +def make_resolved_pizeros(mass_window=100 * MeV, pi0_pt_min=1.5 * GeV): photons = filter_gammas(make_photons()) - combination_code = in_range(_pi0_M - 60 * MeV, F.MASS, _pi0_M + 60 * MeV) - vertex_code = F.require_all(F.PT > 1500 * MeV) + combination_code = in_range(_pi0_M - mass_window, F.MASS, _pi0_M + mass_window) + vertex_code = F.require_all(F.PT > pi0_pt_min) return ParticleCombiner( Inputs=[photons, photons], name="B2CC_Resolved_pi0_{hash}", @@ -47,7 +43,7 @@ def make_resolved_pizeros(): ) -def make_resolved_etas(mass_window=50 * MeV): +def make_resolved_etas(mass_window=150 * MeV): photons = filter_gammas(make_photons()) combination_code = in_range(_ETA_M - mass_window, F.MASS, _ETA_M + mass_window) composite_code = F.PT > 2000 * MeV @@ -132,8 +128,8 @@ def make_twobodyg( def make_selected_kst2kpi0r( name="B2CC_Kst2KPi0R_Filter_{hash}", descriptor="[K*(892)+ -> K+ pi0]cc", - comb_m_min=792.0 * MeV, - comb_m_max=992.0 * MeV, + comb_m_min=692.0 * MeV, + comb_m_max=1092.0 * MeV, pi0pt_min=1000.0 * MeV, pt=1500.0 * MeV, pid_k=0, @@ -141,7 +137,7 @@ def make_selected_kst2kpi0r( ): kaon = basic_builder.make_kaons(pid=pid_k, pt=pt_k) - pi0 = filter_pi0s(make_resolved_pi0s(), pi0pt_min=pi0pt_min) + pi0 = make_resolved_pizeros(pi0_pt_min=pi0pt_min) return make_onebodygg( particles=[kaon, pi0], @@ -208,12 +204,12 @@ def make_sigma0_dd( def make_selected_chic2jpsig( name="B2CC_Chic2JpsiG_Filter_{hash}", descriptor="chi_c1(1P) -> J/psi(1S) gamma", - comb_m_min=3410 * MeV, - comb_m_max=3610 * MeV, + comb_m_min=3310 * MeV, + comb_m_max=3710 * MeV, gpt_min=500.0 * MeV, pt=1000.0 * MeV, ): - jpsi = basic_builder.make_selected_jpsi2mumu() + jpsi = make_detached_jpsi() gamma = filter_gammas(make_photons(), gpt_min=gpt_min) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py index 959d1e2227f119e63dfd842ee53ef17d7ab8f649..b0c7b4f6014d9a72da205c840080caad10f30438 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py @@ -42,7 +42,7 @@ def inclusive_detachedJpsiline( @register_line_builder(all_lines) def BsToJpsiPhi_detachedline( - name="Hlt2B2CC_BsToJpsiPhi_Detached", prescale=1, persistreco=True + name="Hlt2B2CC_BsToJpsiPhi_Detached", prescale=1, persistreco=False ): line_alg = b_to_jpsix.make_BsToJpsiPhi_detached_line(process=PROCESS) return Hlt2Line( @@ -58,7 +58,7 @@ def BsToJpsiPhi_detachedline( @register_line_builder(all_lines) def BsToJpsiPhi_extramuonline( - name="Hlt2B2CC_BsToJpsiPhi_ExtraMuon", prescale=1, persistreco=True + name="Hlt2B2CC_BsToJpsiPhi_ExtraMuon", prescale=1, persistreco=False ): line_alg = b_to_jpsix.make_BsToJpsiPhi_extramuonline(process=PROCESS) return Hlt2Line( @@ -110,6 +110,7 @@ def BsToJpsieePhi_line( name=name, prescale=prescale, algs=b2cc_prefilters() + line_alg, + tagging_particles=True, persistreco=persistreco, pv_tracks=True, ) @@ -139,6 +140,7 @@ def BdToJpsieeKstar_line( name=name, prescale=prescale, algs=b2cc_prefilters() + line_alg, + tagging_particles=True, persistreco=persistreco, pv_tracks=True, ) @@ -181,8 +183,8 @@ def BsToJpsif0ws_line(name="Hlt2B2CC_BsToJpsif0ws", prescale=1, persistreco=Fals prescale=prescale, algs=b2cc_prefilters() + line_alg, persistreco=persistreco, - tagging_particles=True, - pv_tracks=True, + tagging_particles=False, + pv_tracks=False, ) @@ -196,7 +198,8 @@ def BsToJpsif0Prescaled_line( prescale=prescale, algs=b2cc_prefilters() + line_alg, persistreco=persistreco, - pv_tracks=True, + tagging_particles=False, + pv_tracks=False, ) @@ -208,8 +211,8 @@ def BsToJpsikstar_line(name="Hlt2B2CC_BsToJpsiKstar", prescale=1, persistreco=Fa prescale=prescale, algs=b2cc_prefilters() + line_alg, persistreco=persistreco, - tagging_particles=True, - pv_tracks=True, + tagging_particles=False, + pv_tracks=False, ) @@ -221,7 +224,8 @@ def LbToJpsipH_line(name="Hlt2B2CC_LbToJpsipH", prescale=1, persistreco=False): prescale=prescale, algs=b2cc_prefilters() + line_alg, persistreco=persistreco, - pv_tracks=True, + tagging_particles=False, + pv_tracks=False, ) @@ -267,7 +271,7 @@ def BdToJpsieeKshort_LL_prompt_line( name=name, prescale=prescale, algs=b2cc_prefilters() + line_alg, - tagging_particles=True, + tagging_particles=False, persistreco=persistreco, pv_tracks=True, ) @@ -283,7 +287,7 @@ def BdToJpsieeKshort_DD_prompt_line( name=name, prescale=prescale, algs=b2cc_prefilters() + line_alg, - tagging_particles=True, + tagging_particles=False, persistreco=persistreco, pv_tracks=True, ) @@ -315,7 +319,7 @@ def BdToJpsimumuKshort_LL_prompt_line( name=name, prescale=prescale, algs=b2cc_prefilters() + line_alg, - tagging_particles=True, + tagging_particles=False, persistreco=persistreco, pv_tracks=True, ) @@ -331,7 +335,7 @@ def BdToJpsimumuKshort_DD_prompt_line( name=name, prescale=prescale, algs=b2cc_prefilters() + line_alg, - tagging_particles=True, + tagging_particles=False, persistreco=persistreco, pv_tracks=True, ) @@ -347,7 +351,7 @@ def BdToJpsimumuKshort_LD_prompt_line( name=name, prescale=prescale, algs=b2cc_prefilters() + line_alg, - tagging_particles=True, + tagging_particles=False, persistreco=persistreco, pv_tracks=True, ) @@ -363,7 +367,7 @@ def BdToJpsimumuKshort_UL_prompt_line( name=name, prescale=prescale, algs=b2cc_prefilters() + line_alg, - tagging_particles=True, + tagging_particles=False, persistreco=persistreco, pv_tracks=True, ) @@ -449,7 +453,7 @@ def BdTopsitwosmumuKshort_LL_prompt_line( name=name, prescale=prescale, algs=b2cc_prefilters() + line_alg, - tagging_particles=True, + tagging_particles=False, persistreco=persistreco, pv_tracks=True, ) @@ -467,7 +471,7 @@ def BdTopsitwosmumuKshort_DD_prompt_line( name=name, prescale=prescale, algs=b2cc_prefilters() + line_alg, - tagging_particles=True, + tagging_particles=False, persistreco=persistreco, pv_tracks=True, ) @@ -518,7 +522,7 @@ def BuToJpsimumuKplus_prompt_line( name=name, prescale=prescale, algs=b2cc_prefilters() + line_alg, - tagging_particles=True, + tagging_particles=False, persistreco=persistreco, pv_tracks=True, ) @@ -566,7 +570,7 @@ def BdToJpsimumuKstar_prompt_line( name=name, prescale=prescale, algs=b2cc_prefilters() + line_alg, - tagging_particles=True, + tagging_particles=False, persistreco=persistreco, pv_tracks=True, ) @@ -583,7 +587,10 @@ def BuToJpsiKstPlus(name="Hlt2B2CC_BuToJpsiKstPlus", prescale=1.0, persistreco=F algs=b2cc_prefilters() + line_alg, extra_outputs=iso_parts, persistreco=persistreco, - pv_tracks=True, + tagging_particles=False, + pv_tracks=False, + calo_digits=True, + calo_clusters=True, ) @@ -597,8 +604,11 @@ def BuToChicKPlus(name="Hlt2B2CC_BuToChicKPlus", prescale=1.0, persistreco=False prescale=prescale, algs=b2cc_prefilters() + line_alg, extra_outputs=iso_parts, + tagging_particles=False, persistreco=persistreco, - pv_tracks=True, + pv_tracks=False, + calo_digits=True, + calo_clusters=True, ) @@ -613,7 +623,10 @@ def BToJpsiEtaGG(name="Hlt2B2CC_BToJpsiEtaGG", prescale=1.0, persistreco=False): algs=b2cc_prefilters() + line_alg, extra_outputs=iso_parts, persistreco=persistreco, + tagging_particles=True, pv_tracks=True, + calo_digits=True, + calo_clusters=True, ) @@ -628,7 +641,10 @@ def BToJpsiPi0GG(name="Hlt2B2CC_BToJpsiPi0GG", prescale=1.0, persistreco=False): algs=b2cc_prefilters() + line_alg, extra_outputs=iso_parts, persistreco=persistreco, + tagging_particles=True, pv_tracks=True, + calo_digits=True, + calo_clusters=True, ) @@ -640,7 +656,8 @@ def BcToJpsiPip(name="Hlt2B2CC_BcToJpsiPip", prescale=1.0, persistreco=False): prescale=prescale, algs=b2cc_prefilters() + line_alg, persistreco=persistreco, - pv_tracks=True, + tagging_particles=False, + pv_tracks=False, ) @@ -696,7 +713,8 @@ def BdToJpsippKstar( algs=b2cc_prefilters() + line_alg, extra_outputs=iso_parts, persistreco=persistreco, - pv_tracks=True, + tagging_particles=False, + pv_tracks=False, ) @@ -712,5 +730,23 @@ def Bs0ToJpsippPhi( algs=b2cc_prefilters() + line_alg, extra_outputs=iso_parts, persistreco=persistreco, - pv_tracks=True, + tagging_particles=False, + pv_tracks=False, + ) + + +@register_line_builder(all_lines) +def BuToJpsiEtaPiplus_JpsiToMuMu( + name="Hlt2B2CC_BuToJpsiEtaPiplus_Detached", prescale=1 +): + line_alg = b_to_jpsix0.make_BuToJpsimumuEtaPiplus_line(process=PROCESS) + iso_parts = isolation.make_iso_particles(line_alg, name="B") + + return Hlt2Line( + name=name, + prescale=prescale, + algs=b2cc_prefilters() + line_alg, + extra_outputs=iso_parts, + calo_digits=True, + calo_clusters=True, ) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/spruce_b2cc.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/spruce_b2cc.py index 35b69e9a623c62f353c995473164939b06956528..e77c82fb388e211a3a5f093049f0b329eaf63e73 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/spruce_b2cc.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/spruce_b2cc.py @@ -91,6 +91,8 @@ def Lb0ToJpsiSigma0_LL_line(name="SpruceB2CC_Lb0ToJpsiSigma0_LL", prescale=1): algs=b2cc_prefilters() + line_alg, pv_tracks=True, extra_outputs=iso_parts, + calo_digits=True, + calo_clusters=True, ) @@ -111,20 +113,6 @@ def Lb0ToJpsiSigma0_DD_line(name="SpruceB2CC_Lb0ToJpsiSigma0_DD", prescale=1): algs=b2cc_prefilters() + line_alg, pv_tracks=True, extra_outputs=iso_parts, - ) - - -@register_line_builder(sprucing_lines) -@configurable -def BuToJpsiEtaPiplus_JpsiToMuMu_sprucing_line( - name="SpruceB2CC_BuToJpsiEtaPiplus_Detached", prescale=1 -): - line_alg = b_to_jpsix0.make_BuToJpsimumuEtaPiplus_line(process=PROCESS) - - return SpruceLine( - name=name, - prescale=prescale, - algs=b2cc_prefilters() + line_alg, - tagging_particles=True, - pv_tracks=True, + calo_digits=True, + calo_clusters=True, )