diff --git a/Hlt/RecoConf/options/UT_unbiased_residual.py b/Hlt/RecoConf/options/UT_unbiased_residual.py new file mode 100644 index 0000000000000000000000000000000000000000..e36116b446d14e721fdb1b7f50705795c913383a --- /dev/null +++ b/Hlt/RecoConf/options/UT_unbiased_residual.py @@ -0,0 +1,53 @@ +############################################################################### +# (c) Copyright 2025 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# In applying this licence, CERN does not waive the privileges and immunities # +# granted to it by virtue of its status as an Intergovernmental Organization # +# or submit itself to any jurisdiction. # +############################################################################### + +from Moore import options +from PyConf.Algorithms import ( + PrKalmanFilter, + UTTrackResidualMonitor, + VeloRetinaClusterTrackingSIMD, +) +from RecoConf.config import Reconstruction, run_reconstruction +from RecoConf.hlt2_global_reco import make_light_reco_pr_kf +from RecoConf.hlt2_global_reco import reconstruction as hlt2_reconstruction +from RecoConf.legacy_rec_hlt1_tracking import ( + get_default_ut_clusters, + make_PatPV3DFuture_pvs, + make_PrStorePrUTHits_hits, + make_reco_pvs, + make_VeloClusterTrackingSIMD, +) + +options.histo_file = options.getProp("histo_file") or "hlt2_UT_unbiased_residual.root" + + +def ut_unbiased_residual(): + with ( + PrKalmanFilter.bind(FillFitResult=True), + make_VeloClusterTrackingSIMD.bind(algorithm=VeloRetinaClusterTrackingSIMD), + make_reco_pvs.bind(make_pvs_from_velo_tracks=make_PatPV3DFuture_pvs), + ): + reco = hlt2_reconstruction(make_reconstruction=make_light_reco_pr_kf) + + all_UT_pr_hits = make_PrStorePrUTHits_hits() + + monitorList = [] + mon_hit_on_track = UTTrackResidualMonitor( + name="UTTrackResidualMonitor_HitOnTrack", + TracksInContainer=reco["AllTrackHandles"]["BestLong"]["v1"], + UTHitsLocation=all_UT_pr_hits, + TrueUnbiased=False, # set to True will use hits which are not on track + ) + monitorList.append(mon_hit_on_track) + return Reconstruction("ut_unbiased_residual", monitorList, []) + + +run_reconstruction(options, ut_unbiased_residual) diff --git a/Hlt/RecoConf/tests/qmtest/performance.qms/UT_unbiased_residual.qmt b/Hlt/RecoConf/tests/qmtest/performance.qms/UT_unbiased_residual.qmt new file mode 100644 index 0000000000000000000000000000000000000000..07aff50a99caa6c02a7146b0731ef724cab31ef3 --- /dev/null +++ b/Hlt/RecoConf/tests/qmtest/performance.qms/UT_unbiased_residual.qmt @@ -0,0 +1,34 @@ + + + +gaudirun.py +true + +$MOOREROOT/tests/options/default_input_and_conds_hlt2.py +$RECOCONFROOT/options/UT_unbiased_residual.py + +../refs/UT_unbiased_residual.ref +../refs/empty.ref + +detdesc + + + +from Moore.qmtest.exclusions import ref_preprocessor +validateWithReference(preproc = ref_preprocessor) + +from Moore.qmtest.exclusions import remove_known_warnings +countErrorLines({"FATAL": 0, "ERROR": 0, "WARNING": 0}, + stdout=remove_known_warnings(stdout)) + + + diff --git a/Hlt/RecoConf/tests/refs/UT_unbiased_residual.ref b/Hlt/RecoConf/tests/refs/UT_unbiased_residual.ref new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/Hlt/RecoConf/tests/refs/UT_unbiased_residual.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/UT_unbiased_residual.ref.x86_64_v3-opt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391