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