Skip to content

Fix selective persistency of B2LL and B2XLL lines

Following the full persistency 1.0 described here: https://gitlab.cern.ch/lhcb/LHCb/-/blob/master/PyConf/python/PyConf/persistency_locations.py#L35

According to this Excel Sheet from Martino we want to keep for
Hlt2RD_BToEE, Hlt2RD_BToEE_SameSign, Hlt2RD_BToMuE, Hlt2RD_BToMuE_SameSign:
"keep long+neutral protos, long+VELO tracks, PVs, CaloHypos"

For Hlt2RD_BToHH_Incl:
"will keep long, upstream, VELO tracks, PVs, CaloHypos"

For Hlt2RD_BuToKpJpsi_JpsiToMuMu, Hlt2RD_BsToPhiJpsi_PhiToKK_JpsiToMuMu, Hlt2RD_BdToKstJpsi_KstToKpPim_JpsiToMuMu: "will remove TT and DD"

For now I added the full list of objects in RD_B_TO_LL_PERSIST_OBJECTS. To me it is not fully clear what we should remove then.

For sure DownstreamTracks and Ttracks, but what else, also the corresponding Protos?

Thanks @acampove for pointing me to isolation. We have to decide how we should handle isolation for these lines:
Hlt2RD_BToEE, Hlt2RD_BToEE_SameSign, Hlt2RD_BToMuE, Hlt2RD_BToMuE_SameSign
We could go with the standard tool parent_isolation_output("B", dihadrons) or we could set it up similar to the B2Multilepton setup with something like this

    l_ids = ["e+", "e-"]
    iso_leptons = [rd_isolation.find_in_decay(input=b, id=l_id) for l_id in l_ids]

    iso_outputs = rd_isolation.select_parts_for_isolation(
        names=l_ids,
        candidates=iso_leptons,
        cut=F.require_all(F.DR2 < 0.25, ~F.SHARE_TRACKS()),
    )

    iso_outputs += rd_isolation.select_parts_for_isolation(
        names=["B"], candidates=[b], cut=F.require_all(F.DR2 < 0.25, ~F.FIND_IN_TREE())
    )

Results of Tests

This MR was compared with the target rd-devel-march25.

rd-devel-march25 (before):
time: 2:20:58.15 total, compression: 37.45%, 4.94 MiB => 1.85 MiB
This branch (after):
time: 2:09:38.53 total, compression: 42.75%, 3.19 MiB => 1.36 MiB

This branch with removed Calo raw banks from B2HeMu control modes:
time: 2:11:08.68 total, compression: 42.50%, 3.16 MiB => 1.34 MiB

The tests were run with the standard RD setup with 100_000 test events. As expected the rates did not change.

rate (before) rate (after) difference difference (%)
Hlt2RD_BToHH_Incl 90.2784 90.2784 0 0
Hlt2RD_BToMuMuGamma 64.4846 64.4846 0 0
Hlt2RD_BToMuEGamma 38.6908 38.6908 0 0
Hlt2RD_BToEEGamma 38.6908 38.6908 0 0
Hlt2RD_BuToPipJpsi_JpsiToMuMu 25.7938 25.7938 0 0
Hlt2RD_BuToKpJpsi_JpsiToMuMu 25.7938 25.7938 0 0
Hlt2RD_BToMuE 12.8969 12.8969 0 0
Hlt2RD_BuToPipJpsi_JpsiToEE 12.8969 12.8969 0 0
Hlt2RD_BToEE 0 0 0 nan
Hlt2RD_BsToPhiJpsi_PhiToKK_JpsiToMuMu 0 0 0 nan
Hlt2RD_LbToPKJpsi_JpsiToEE 0 0 0 nan
Hlt2RD_BuToKpJpsi_JpsiToEE 0 0 0 nan
Hlt2RD_BdToKstJpsi_KstToKpPim_JpsiToEE 0 0 0 nan
Hlt2RD_BsToPhiJpsi_PhiToKK_JpsiToEE 0 0 0 nan
Hlt2RD_BdToKstJpsi_KstToKpPim_JpsiToMuMu 0 0 0 nan
Hlt2RD_BToMuMu_SameSign 0 0 0 nan
Hlt2RD_BToMuMu 0 0 0 nan
Hlt2RD_BToMuE_SameSign 0 0 0 nan
Hlt2RD_BToEE_SameSign 0 0 0 nan
Hlt2RD_LbToPKJpsi_JpsiToMuMu 0 0 0 nan
Edited by Jan Peter Wagner

Merge request reports

Loading