From 821918cb843983469cb4dec51c9a4756ffd8b25a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20G=C3=BCnther?= Date: Wed, 16 Mar 2022 11:42:00 +0100 Subject: [PATCH 1/8] test seed pr fit --- .../options/hlt2_pr_kf_tool_example.py | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py b/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py index 017b966dff5..6fa5f8fd864 100644 --- a/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py +++ b/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py @@ -15,7 +15,8 @@ from PyConf.Algorithms import ( TrackContainersMerger, PrCloneKillerLong, PrCloneKillerDown, TrackBestTrackCreator, PrKalmanFilterToolExampleAlgo, PrKalmanFilterToolExampleAlgo_Downstream, - PrKalmanFilterToolExampleAlgo_Velo, PrKalmanFilterToolExampleAlgo_V1) + PrKalmanFilterToolExampleAlgo_Velo, PrKalmanFilterToolExampleAlgo_V1, + PrKalmanFilterToolExampleAlgo_Seed) from PyConf.Tools import (TrackMasterExtrapolator, KalmanFilterTool) from RecoConf.hlt1_tracking import ( make_VeloClusterTrackingSIMD_hits, make_PrStorePrUTHits_hits, @@ -122,11 +123,27 @@ def make_pr_kf_tool_light_reco_best_tracks( name="PrKalmanFilterToolVelo", Input=tracks["Velo"]["Pr"]).Output + fitted_seed = PrKalmanFilterToolExampleAlgo_Seed( + HitsVP=vp_hits, + HitsUT=ut_hits, + HitsFT=ft_hits, + TrackFitter=KalmanFilterTool( + ReferenceExtrapolator=TrackMasterExtrapolator( + MaterialLocator=get_global_materiallocator()), + MaxChi2PreOutlierRemoval=20, + MaxChi2=max_chi2), + name="PrKalmanFilterToolSeed", + Input=tracks['Seed']['Pr']).Output + + best_seed = tbtc_template( + name="TBTC_seed", TracksInContainers=[fitted_seed]).TracksOutContainer + return { 'BestLong': best_long, 'BestDownstream': best_down, 'SeedDecloned': best_seed, - 'BestVelo': best_velo + 'BestVelo': best_velo, + 'BestSeed': best_seed, } @@ -199,7 +216,7 @@ def pr_kf_tool_test(): out_track_types = { "Best": [ "BestLong", "BestDownstream", "BestVelo", "BestLongRefit", - "BestDownstreamRefit", "BestVeloRefit" + "BestDownstreamRefit", "BestVeloRefit", "BestSeed" ] } -- GitLab From d43002cd0ac6f2213b73fe6f3fcb09f23718304c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20G=C3=BCnther?= Date: Wed, 16 Mar 2022 12:03:18 +0100 Subject: [PATCH 2/8] test fit seed tracks in tool --- .../options/hlt2_pr_kf_tool_example.py | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py b/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py index 6fa5f8fd864..8340ec7ec95 100644 --- a/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py +++ b/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py @@ -179,6 +179,18 @@ def make_refit_kf_tool_light_reco_best_tracks( name="PrKalmanFilterToolDownV1", Input=tracks['BestDownstream']).Output + best_seed_refit = PrKalmanFilterToolExampleAlgo_V1( + HitsVP=vp_hits, + HitsUT=ut_hits, + HitsFT=ft_hits, + TrackFitter=KalmanFilterTool( + ReferenceExtrapolator=TrackMasterExtrapolator( + MaterialLocator=get_global_materiallocator()), + MaxChi2PreOutlierRemoval=20, + MaxChi2=max_chi2_v1), + name="PrKalmanFilterToolSeedV1", + Input=tracks['BestSeed']).Output + best_velo_refit = PrKalmanFilterToolExampleAlgo_V1( HitsVP=vp_hits, HitsUT=ut_hits, @@ -194,7 +206,8 @@ def make_refit_kf_tool_light_reco_best_tracks( return { 'BestLongRefit': best_long_refit, 'BestDownstreamRefit': best_down_refit, - 'BestVeloRefit': best_velo_refit + 'BestVeloRefit': best_velo_refit, + 'BestSeedRefit': best_seed_refit, } @@ -232,6 +245,9 @@ def pr_kf_tool_test(): resolutions_down = monitor_track_resolution( best_tracks['BestDownstream'], per_hit_resolutions=True, suffix="Down") + resolutions_seed = monitor_track_resolution( + best_tracks['BestSeed'], per_hit_resolutions=True, suffix="Seed") + resolutions_velo = monitor_track_resolution( best_tracks['BestVelo'], per_hit_resolutions=True, suffix="Velo") @@ -245,14 +261,25 @@ def pr_kf_tool_test(): per_hit_resolutions=True, suffix="DownRefit") + resolutions_refit_seed = monitor_track_resolution( + best_tracks['BestSeedRefit'], + per_hit_resolutions=True, + suffix="SeedRefit") + resolutions_refit_velo = monitor_track_resolution( best_tracks['BestVeloRefit'], per_hit_resolutions=True, suffix="VeloRefit") data += [ - resolutions_velo, resolutions_refit_velo, resolutions_long, - resolutions_refit_long, resolutions_down, resolutions_refit_down + resolutions_velo, + resolutions_refit_velo, + resolutions_long, + resolutions_refit_long, + resolutions_down, + resolutions_refit_down, + resolutions_seed, + resolutions_refit_seed, ] return Reconstruction('hlt2_reco_pr_kf_tool', data, reco_prefilters()) -- GitLab From 31ef9f83028a2be0efeb9a0248d9e07f993ccc20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20G=C3=BCnther?= Date: Wed, 16 Mar 2022 12:18:46 +0100 Subject: [PATCH 3/8] fix refit data --- Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py b/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py index 8340ec7ec95..49c54ac3ab0 100644 --- a/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py +++ b/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py @@ -229,7 +229,7 @@ def pr_kf_tool_test(): out_track_types = { "Best": [ "BestLong", "BestDownstream", "BestVelo", "BestLongRefit", - "BestDownstreamRefit", "BestVeloRefit", "BestSeed" + "BestDownstreamRefit", "BestVeloRefit", "BestSeed", "BestSeedRefit", ] } -- GitLab From 1db19840e679c9ace618f93d2fabbefa36100407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20G=C3=BCnther?= Date: Wed, 16 Mar 2022 13:13:01 +0100 Subject: [PATCH 4/8] move to special test for pr kf --- ..._kf_velo_only.py => pr_kf_special_only.py} | 26 +++++++++++++++---- ...f_velo_only.qmt => pr_kf_special_only.qmt} | 4 +-- 2 files changed, 23 insertions(+), 7 deletions(-) rename Hlt/RecoConf/options/{pr_kf_velo_only.py => pr_kf_special_only.py} (67%) rename Hlt/RecoConf/tests/qmtest/{pr_kf_velo_only.qmt => pr_kf_special_only.qmt} (91%) diff --git a/Hlt/RecoConf/options/pr_kf_velo_only.py b/Hlt/RecoConf/options/pr_kf_special_only.py similarity index 67% rename from Hlt/RecoConf/options/pr_kf_velo_only.py rename to Hlt/RecoConf/options/pr_kf_special_only.py index 9d2c019f40b..83e951e4989 100644 --- a/Hlt/RecoConf/options/pr_kf_velo_only.py +++ b/Hlt/RecoConf/options/pr_kf_special_only.py @@ -14,13 +14,16 @@ from RecoConf.hlt1_tracking import ( all_velo_track_types, make_VeloClusterTrackingSIMD_hits, make_PrStorePrUTHits_hits, make_PrStoreSciFiHits_hits, TrackMasterExtrapolator, get_global_materiallocator) -from PyConf.Algorithms import PrKalmanFilter_Velo +from RecoConf.hlt2_tracking import make_PrHybridSeeding_tracks +from PyConf.Algorithms import (PrKalmanFilter_Velo, PrKalmanFilter_Seed) from RecoConf.mc_checking import monitor_track_resolution -def pr_kf_velo_test(): +def pr_kf_special_test(): velo_tracks = all_velo_track_types() + scifi_tracks = make_PrHybridSeeding_tracks() + vp_hits = make_VeloClusterTrackingSIMD_hits() ut_hits = make_PrStorePrUTHits_hits() ft_hits = make_PrStoreSciFiHits_hits() @@ -35,11 +38,24 @@ def pr_kf_velo_test(): ReferenceExtrapolator=TrackMasterExtrapolator( MaterialLocator=get_global_materiallocator())).Output + fitted_seed = PrKalmanFilter_Seed( + MaxChi2=2.8, + MaxChi2PreOutlierRemoval=20, + Inputs=scifi_tracks['Pr'], + HitsVP=vp_hits, + HitsUT=ut_hits, + HitsFT=ft_hits, + ReferenceExtrapolator=TrackMasterExtrapolator( + MaterialLocator=get_global_materiallocator())).Output + fitted_velo_dict = {"v1": fitted_velo} - resolutions = monitor_track_resolution( + fitted_seed_dict = {"v1": fitted_seed} + resolutions_velo = monitor_track_resolution( fitted_velo_dict, per_hit_resolutions=True) + resolutions_seed = monitor_track_resolution( + fitted_seed_dict, per_hit_resolutions=True) - return Reconstruction('my_reco', [resolutions]) + return Reconstruction('my_reco', [resolutions_velo, resolutions_seed]) -run_reconstruction(options, pr_kf_velo_test) +run_reconstruction(options, pr_kf_special_test) diff --git a/Hlt/RecoConf/tests/qmtest/pr_kf_velo_only.qmt b/Hlt/RecoConf/tests/qmtest/pr_kf_special_only.qmt similarity index 91% rename from Hlt/RecoConf/tests/qmtest/pr_kf_velo_only.qmt rename to Hlt/RecoConf/tests/qmtest/pr_kf_special_only.qmt index de20435ebbc..3ea46e1442c 100644 --- a/Hlt/RecoConf/tests/qmtest/pr_kf_velo_only.qmt +++ b/Hlt/RecoConf/tests/qmtest/pr_kf_special_only.qmt @@ -17,10 +17,10 @@ Make sure HLT2 configures, runs on digi as input and reconstruction does not cha 2400 $MOOREROOT/tests/options/default_input_and_conds_hlt2.py - $RECOCONFROOT/options/pr_kf_velo_only.py + $RECOCONFROOT/options/pr_kf_special_only.py true -../refs/pr_kf_velo_only.ref +../refs/pr_kf_special_only.ref ../refs/empty.ref -- GitLab From 30f857ba002a0fb6bcbcdc399eaddf89d7014561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20G=C3=BCnther?= Date: Wed, 16 Mar 2022 13:58:55 +0100 Subject: [PATCH 5/8] fix special test --- Hlt/RecoConf/options/pr_kf_special_only.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Hlt/RecoConf/options/pr_kf_special_only.py b/Hlt/RecoConf/options/pr_kf_special_only.py index 83e951e4989..99b4b45c6b5 100644 --- a/Hlt/RecoConf/options/pr_kf_special_only.py +++ b/Hlt/RecoConf/options/pr_kf_special_only.py @@ -41,7 +41,7 @@ def pr_kf_special_test(): fitted_seed = PrKalmanFilter_Seed( MaxChi2=2.8, MaxChi2PreOutlierRemoval=20, - Inputs=scifi_tracks['Pr'], + Input=scifi_tracks['Pr'], HitsVP=vp_hits, HitsUT=ut_hits, HitsFT=ft_hits, @@ -51,9 +51,9 @@ def pr_kf_special_test(): fitted_velo_dict = {"v1": fitted_velo} fitted_seed_dict = {"v1": fitted_seed} resolutions_velo = monitor_track_resolution( - fitted_velo_dict, per_hit_resolutions=True) + fitted_velo_dict, per_hit_resolutions=True, suffix="Velo") resolutions_seed = monitor_track_resolution( - fitted_seed_dict, per_hit_resolutions=True) + fitted_seed_dict, per_hit_resolutions=True, suffix="Seed") return Reconstruction('my_reco', [resolutions_velo, resolutions_seed]) -- GitLab From c2206ab11a45a60a8bf44f86ba69ef02e4cf44ad Mon Sep 17 00:00:00 2001 From: Gitlab CI Date: Wed, 16 Mar 2022 12:59:15 +0000 Subject: [PATCH 6/8] Fixed formatting patch generated by https://gitlab.cern.ch/lhcb/Moore/-/jobs/20317972 --- Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py b/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py index 49c54ac3ab0..7f11b2661af 100644 --- a/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py +++ b/Hlt/RecoConf/options/hlt2_pr_kf_tool_example.py @@ -228,8 +228,14 @@ def pr_kf_tool_test(): hlt2_tracks = track_dict out_track_types = { "Best": [ - "BestLong", "BestDownstream", "BestVelo", "BestLongRefit", - "BestDownstreamRefit", "BestVeloRefit", "BestSeed", "BestSeedRefit", + "BestLong", + "BestDownstream", + "BestVelo", + "BestLongRefit", + "BestDownstreamRefit", + "BestVeloRefit", + "BestSeed", + "BestSeedRefit", ] } -- GitLab From b9eeec18e832b77df1d7d7415b57a04239fb1231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20G=C3=BCnther?= Date: Thu, 24 Mar 2022 17:58:15 +0100 Subject: [PATCH 7/8] add exclusion --- Hlt/Moore/python/Moore/qmtest/exclusions.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Hlt/Moore/python/Moore/qmtest/exclusions.py b/Hlt/Moore/python/Moore/qmtest/exclusions.py index 4ebf9c48361..a57b4bf440e 100644 --- a/Hlt/Moore/python/Moore/qmtest/exclusions.py +++ b/Hlt/Moore/python/Moore/qmtest/exclusions.py @@ -32,6 +32,10 @@ remove_known_warnings = LineSkipper(regexps=[ # https://gitlab.cern.ch/lhcb/Moore/-/merge_requests/783#note_4406625 (r"ToolSvc.IdealStateCreator +WARNING Extrapolation of True State from" r" z = 9[2-4][0-9.]+ to z = 9[2-4][0-9.]+ failed!"), + # also due to TrackResChecker see + # https://gitlab.cern.ch/lhcb/Rec/-/merge_requests/2788#note_5399928 + (r"ToolSvc.TrackMasterExtrapolator +WARNING Suppressing message: " + r"'Protect against absurd tracks. See debug for details'"), # Until tck is implemented HltPackedDataDecoder/HltDecReportsDecoder will raise warning r"HltPackedDataDecoder +WARNING TCK in rawbank seems to be 0 .*", r"HltPackedDataDe...WARNING TCK in rawbank seems to be 0 .*", -- GitLab From 8122b171f84fda57e3eaf37ba1267e2647b15ed4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20G=C3=BCnther?= Date: Fri, 25 Mar 2022 11:20:18 +0100 Subject: [PATCH 8/8] set warning counter to 0 --- Hlt/RecoConf/tests/qmtest/hlt2_reco_full_geometry.qmt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Hlt/RecoConf/tests/qmtest/hlt2_reco_full_geometry.qmt b/Hlt/RecoConf/tests/qmtest/hlt2_reco_full_geometry.qmt index 8ec874196c4..a1a616e6402 100644 --- a/Hlt/RecoConf/tests/qmtest/hlt2_reco_full_geometry.qmt +++ b/Hlt/RecoConf/tests/qmtest/hlt2_reco_full_geometry.qmt @@ -30,10 +30,7 @@ validateWithReference(preproc = ref_preprocessor, counter_preproc = counter_prep from Moore.qmtest.exclusions import remove_known_warnings -# Ideally we should limit the frequency of "absurd tracks" warnings to about -# 1 in 1000 events. For now, we check for an exact number since it is easier. -# ToolSvc.TrackMasterExtrapolator WARNING Suppressing message: 'Protect against absurd tracks. See debug for details' -countErrorLines({"FATAL": 0, "ERROR": 0, "WARNING": 1}, +countErrorLines({"FATAL": 0, "ERROR": 0, "WARNING": 0}, stdout=remove_known_warnings(stdout)) -- GitLab