RD developments for the start of 2025 data-taking
Goals
Implement major changes across the RD modules, including bug fixes, sanitation, bandwidth and rate reduction and the inclusion of a few new lines with minimal impact in the overall bandwidth of the experiment.
To be merged together with lhcb-datapkg/ParamFiles!124.
Overall impact on the bandwidth
Taken from the difference between this test and this reference. The increases in the sprucing are mostly due to the changes on the inclusive dilepton lines (handled by RD).
global
sprucing (turbo)
sprucing (full)
Contributing
The source branch of this merge request works with the following environment for the other LHCb repositories (LCG: 105c):
Repository | commit |
---|---|
Allen | a0fc2f0d492f3028a23a83063e8dc544de250814 |
Rec | 3e09b408e4354c6db964a4a6ac36f060e7c89860 |
Lbcom | e97494fcda91710e8dc088df2bf4d58bf5a9b84e |
LHCb | f8e979f927ebdc62896c7f2f35d7646077534ec8 |
Detector | 959a4a3b988ff28821d52822e5d3e4b463134d9e |
Gaudi | 979e3109b95cadcb8a51a8cd7dfa1d39e2399e30 |
DBASE/AppConfig | b19e99385b0ef47b60655f52f5af3618ff81ea79 |
DBASE/PRConfig | 356c0b2432f91796f522dc082ac17f3112170dbd |
DBASE/SprucingConfig | f182f6251cd2bf4db911742e6d13b67af8afab59 |
PARAM/ParamFiles | rd-devel |
Alignment | dbf64ea53152b55a19c7ed74bc4a6e24fc0a9448 |
Speak to @mramospe and @matzeni before you plan to introduce changes. DO NOT PUSH directly to the branch of this MR (rd-devel
) unless you are instructed to do so by the coordinators. Additions for the start of 2025 data-taking should happen in independent branches, one per topology. See the presentations from the RD Hackathon in December for more details. If you want to modify anything, please check first whether there are other relevant MRs with the RD
label that implement changes in you modules (i.e. work on a similar topology), and comment on them instead. The deadline to add contributions to this branch is 19/02/2025.
The tests must be run starting from this snippet and then adapted to included the suggestions from this mattermost conversation.
All the additions need to be tested locally, including:
- Impact on the bandwidth and rate: if including new lines, these must be well justified (i.e. the physics case must not be already covered by other existing lines) and have rates and bandwidths below 100 Hz and 10 MB/s, respectively. This must be tested on real data. Follow the instructions at the RD migration meeting for advice on how to proceed. If you are tweaking existing lines the same thresholds apply.
- Impact on the throughput: comparing the time with the execution of
2024-patches
with no extra modifications. - (optional) Determine efficiencies: if there is simulation already available, it will be interesting to know the efficiencies so we ensure that there is no bug in the selections.
Do not rebase or force-push to this branch without the consent of @mramospe and/or @matzeni, since this might lead to losses on the changes
Changes
The modifications that were implemented are shown here:
!4173 (merged)
Improvements in B -> (X) tau l lines:By @fabudine, @fpolci, @tfulghes
- Fixed bug in units for eta' (electron energy threshold from 400 GeV -> 350 MeV)
- Renamed file
b_to_xtaul_hlt2
->b_to_xtaul_3pi_hlt2
- Renamed file
b_to_tautau_hlt2
->b_to_taul_3pi_hlt2
- Renamed lines
'Hlt2RD_BsToTauMu_TauTo3Pi_OS'
and'Hlt2RD_BsToTauE_TauTo3Pi_OS'
to'Hlt2RD_BdToTauMu_TauTo3Pi_OS'
and'Hlt2RD_BdToTauE_TauTo3Pi_OS'
. These lines were moved from the fileb_to_ll_LFV_hlt2.py
tob_to_taul_3pi_hlt2
. Prescaling was removed. - Introduced
'Hlt2RD_BdToTauMu_TauTo3Pi_SS'
and'Hlt2RD_BdToTauE_TauTo3Pi_SS'
lines - Selections for electrons, muons and tauons are shared across all B -> (X) tau l lines
- Selections for B(s) modified to align
b_to_taul
lines. - tau vertex chi2 selection loosened from 6 -> 9
- Introduced soft cut 0.1 mm < bpvvdrho < 8 mm on for all taus decaying into 3pi.
- Removed
prescale
andpersistreco
arguments from line constructors since they were all set to1
andFalse
, respectively, by default
!4254 (merged)
Improvements to the strange decay lines:By @mramospe, @tharris, @tmombach, @femiguel, @sargueda
- Redefine the builders to split the requirements between mesons and hyperons (the latter can apply requirements on the transverse momentum)
- Implement downstream lines
- Remove obsolete or unused lines
- Apply opening angle requirements among the decay products to remove ghosts
- Port the inclusive dimuon line and add a dielectron soft line
- Optimize the requirements for downstream lines
- Implement custom requirements for electron modes (tighter kinematic requirements and relaxed PID)
- Revisit requirements for hyperons
- Revisit the prescales
!4276 (merged)
Improvements to radiative b decay lines:By @fibishop, @martorel, @yihou
- Refactor by consolidating copy+paste code into functions; moving all builders into
builders/b_to_xgamma_exclusive_builders
, and requiring identical selections for identical topologies+physics cases - Retuning of generic di/trihadron selections to control rates
- Loosen KS selections
- Use pi rather than K hypothesis for mass window for ppi builder
- Remove FDCHI2(B) cut for KK/Kpi/pipiGamma lines
- Loosen PIDE cut for downstream conversion electrons
- Move Lb->LGee and B+->K*+Gee lines spruce->HLT2
- Remove most duplicated lines from spruce (keep some to allow inclusive line validation)
- BPV->OWNPV
- Add
register_line_builder
toHlt2RD_BdToKsKKGamma_DD
andHlt2RD_BdToKsKpiGamma_DD
- Make all
persist_reco=False
and add iso/tagging parts/pvtracks where necessary
!4196 (merged)
Removal of Global Event Cut (GEC) from Inclusive Detached Dilepton (IDD) lines:By @mtat
- Remove GEC from all MVA-based IDD lines (not cut-based lines)
- Add ECAL acceptance requirements to all dielectron and electron-muon inclusive lines (both IDD and cut-based)
!4148 (merged)
Changes for the baryon number violating and lepton flavour violating lines :By @matzeni
- refactorized the particle builders to allow for easier unification later on (no change in rate and bandwidth comes from this)
- change from BPV to OWNPV in corresponding builders
- add monitoring on the Ds and Lc intermediate states
- add meaningful name to builders to spot them in logs
- Remove prescales from all lines
- tighten the minipchi2 of all final state particles to 25 (see https://gitlab.cern.ch/lhcb/Moore/-/blob/master/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/builders/b_to_ll_builders.py?ref_type=heads#L49).
- minPT of HMU > 500 MeV for BToHMu and LbToHMu (see https://gitlab.cern.ch/lhcb/Moore/-/blob/master/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/builders/b_to_ll_builders.py?ref_type=heads#L56)
!4401 (merged)
Change BPV to OWNPV functors for Inclusive Detached Dilepton (IDD) lines:By @mtat
- Change all BPV functors (and corresponding variable names) to OWNPV in IDD lines
- Remove a lifetime argument in
make_neutral_lls
builder as this was not used anywhere
!4282 (merged))
Changes to Rare Tau Decay Module (- general refactoring of code with static function for each different set of cuts on tracks and builders
- add CHI2DOF<4 and GHOSTPROB<0.5 cut on tracks for
HLT2_DsToPhiPi_PhiToMuMu
andHlt2_TauToMuMuMu
- changes for the builder
HLT2_DsToPhiPi_PhiToMuMu
: used 3bodyBuilder as TauToMuMuMu , changing also the decay descriptor removing the explicit \\phi(1020) - new
Hlt2_TauToMuMuMu_3Mu_SS
to study combinatorial background - removed prescale from
TauToMuMuE
andTauToPMuMu
- change BPV to OWNPV
- Improve the selection and retrain the MVA of
Hlt2RD_TauToMuGamma_EE
andHlt2RD_TauToMuGamma_EE_MVA
!4153 (merged)
B2ll line improvements:- Includes fixes of B2EMu SameSign line by @rquaglia (closes !4021 (closed))
- Change OWNPV to BVP on
builders/b_to_ll_builders.py
level - fix wrong labels, e.g.
dimuons
variable inB2EEGamma
line - fix keyword argument forwarding in
filter_B2MuE
ofb_to_ll_builders.py
and keyword argument bug in B2EMu buildermake_rd_detached_mue
atrdbuilder_thor.py
level
!4139 (merged)
B2Xll line improvements:overseen by @jagoodin @mtat, assembled in several MRs, linked with proponents below
- Correct same lepton sign RpK HLT2 lines for 2025 (!4022 (merged)) @nsahoo @rquaglia
- Add topo/cut-based triggers to
Bu(0)ToHp(Hm)LL
sprucing lines, remove obsoleteb_to_xll_spruce_hhll
(!4146 (merged)) @mtat - Reduce rate for
Hlt2RD_BuToHpMuMu_Incl
lines (!4150 (merged)) @fabudine - Remove redundant builders from
b_to_xll_builders
(!4157 (merged)) @jagoodin - Add generic
make_hps_with_pi0s
builder forBuToHpResolvedPi0ll
lines (!4163 (merged)) @rrabadan - Add acceptance cuts and loosened selection to dielectron lines (!4168 (merged)) @rmwillia
- Add acceptance, p, pt cuts on electrons in
b_to_xll_{hlt2,spruce}
and tighten minipchi2, PIDe cuts on electrons (!4297 (merged)) @matzeni - Uncomment DD lines for B^+ \to \overline{\Lambda} p \ell^+\ell^- (!4376 (merged)) @nsahoo @mtat
- Tighten requirements on electrons in v0ll and hemp lines (!4356 (merged)) @matzeni
- Adding new Hlt2/Spruce lines for B_s \to \Lambda\overline{\Lambda} \ell^+\ell^- and B_s \to \phi\phi \ell^+\ell^- (!4311 (merged)) @nsahoo
!4349 (merged)
Refactor cut-based incl. det. dilepton trigger:by @jagoodin
- Refactoring cut-based incl. det. trigger to reduce code duplication
- Replace BPV with OWNPV in
make_inclusive_cut_dilepton_plus_tracks
- Include cut on lepton momentum in
make_inclusive_cut_electronmuon
!4505 (merged)
Reduce BW of sprucing lines:by @mtat
Change to inclusive detached dilepton lines:
- Tightened B vertex chi2 cut from 20 to 16 in all inclusive detached dilepton lines
Changes to SpruceRD_{BuToHp,B0ToHpHm}{EE,MuMu}{_SameSign}
:
- Removed topo as input to all btoxll sprucing lines
- Tightened B vertex chi2 from 20 to 16
- Tightened all hadron IP chi2 cuts by 1 unit
- Tightened PID_MU from -3 to -2.5
- Tightened lower end of B mass window in dielectron lines from 4.2 GeV to 4.3 GeV
- Tightened electron PT cuts from 100 MeV to 200 MeV in BuToHpLL and 250 MeV in B0ToHpHmLL
- Tightened DOCA chi2 cut on Jpsi from 36 to 20 on muon lines (cut is already at 10 for electron lines)
- Tightened Jpsi vertex chi2 cut from 30 to 20
- Added a Kst IP chi2 cut of 6 (8) to B0ToHpHmMuMu (EE)
Change to tau lines:
- Tightened some existing prescales in
btosmutau_exclusive_spruce.py
Change that will affect other WGs: - Fixed bug in
standard_particles.py
where momentum cut was not applied