From 67facf31a3d3390c8f170ad78dbfc3101771fed9 Mon Sep 17 00:00:00 2001 From: Chris Jones <jonesc@hep.phy.cam.ac.uk> Date: Fri, 12 Mar 2021 09:41:48 +0000 Subject: [PATCH 1/4] calibration.py - remove unused import --- Rich/Panoptes/python/Panoptes/calibration.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Rich/Panoptes/python/Panoptes/calibration.py b/Rich/Panoptes/python/Panoptes/calibration.py index 08f29fc50..b16756cc3 100644 --- a/Rich/Panoptes/python/Panoptes/calibration.py +++ b/Rich/Panoptes/python/Panoptes/calibration.py @@ -11,9 +11,9 @@ from PyConf.tonic import configurable from PyConf.application import make_odin -from PyConf.Algorithms import ( - TracksToSelection, Rich__Future__Rec__SIMDRecoSummary as RecSummary, - Rich__Future__Rec__Calib__RefIndexCalib as RefIndexCalib) +from PyConf.Algorithms import (TracksToSelection, + Rich__Future__Rec__Calib__RefIndexCalib as + RefIndexCalib) from RecoConf.hlt2_tracking import make_hlt2_tracks from RecoConf.rich_reconstruction import ( @@ -26,7 +26,7 @@ from Moore.config import Reconstruction @configurable def standalone_rich_ref_index_calib(): - """ RICH the track and RICH reco for refractive index calibration + """ The tracking and RICH reco for the RICH refractive index calibration """ # Make the tracks -- GitLab From 73557077132f4e1ee1eb22a86a56b9fbbfca15b9 Mon Sep 17 00:00:00 2001 From: Chris Jones <jonesc@hep.phy.cam.ac.uk> Date: Fri, 12 Mar 2021 10:47:14 +0000 Subject: [PATCH 2/4] Add tests to run Rich1 and Rich1 reconstruction for mirror alignment --- Rich/Panoptes/options/Rich1MirrorAlignReco.py | 26 +++++ Rich/Panoptes/options/Rich2MirrorAlignReco.py | 26 +++++ Rich/Panoptes/python/Panoptes/alignment.py | 84 ++++++++++++++++ .../tests/qmtest/rich1_mirror_align_reco.qmt | 37 +++++++ .../tests/qmtest/rich2_mirror_align_reco.qmt | 37 +++++++ .../tests/refs/rich1_mirror_align_reco.ref | 99 +++++++++++++++++++ ...1_mirror_align_reco.ref.skylake_avx512-opt | 1 + ..._mirror_align_reco.ref.x86_64+avx2+fma-opt | 99 +++++++++++++++++++ .../tests/refs/rich2_mirror_align_reco.ref | 99 +++++++++++++++++++ ...2_mirror_align_reco.ref.skylake_avx512-opt | 1 + ..._mirror_align_reco.ref.x86_64+avx2+fma-opt | 99 +++++++++++++++++++ 11 files changed, 608 insertions(+) create mode 100644 Rich/Panoptes/options/Rich1MirrorAlignReco.py create mode 100644 Rich/Panoptes/options/Rich2MirrorAlignReco.py create mode 100644 Rich/Panoptes/python/Panoptes/alignment.py create mode 100644 Rich/Panoptes/tests/qmtest/rich1_mirror_align_reco.qmt create mode 100644 Rich/Panoptes/tests/qmtest/rich2_mirror_align_reco.qmt create mode 100644 Rich/Panoptes/tests/refs/rich1_mirror_align_reco.ref create mode 120000 Rich/Panoptes/tests/refs/rich1_mirror_align_reco.ref.skylake_avx512-opt create mode 100644 Rich/Panoptes/tests/refs/rich1_mirror_align_reco.ref.x86_64+avx2+fma-opt create mode 100644 Rich/Panoptes/tests/refs/rich2_mirror_align_reco.ref create mode 120000 Rich/Panoptes/tests/refs/rich2_mirror_align_reco.ref.skylake_avx512-opt create mode 100644 Rich/Panoptes/tests/refs/rich2_mirror_align_reco.ref.x86_64+avx2+fma-opt diff --git a/Rich/Panoptes/options/Rich1MirrorAlignReco.py b/Rich/Panoptes/options/Rich1MirrorAlignReco.py new file mode 100644 index 000000000..17d9c1fcb --- /dev/null +++ b/Rich/Panoptes/options/Rich1MirrorAlignReco.py @@ -0,0 +1,26 @@ +############################################################################### +# (c) Copyright 2019 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, run_reconstruction +from Panoptes.alignment import standalone_rich_mirror_align_reco +from PyConf.Tools import TrackMasterFitter +from RecoConf.hlt2_tracking import make_hlt2_tracks, make_light_reco_best_tracks + +options.histo_file = "Rich1MirrorAlignReco.root" + +# Override previously set defaults +#options.evt_max = 100000 +#options.n_threads = 4 + +with make_light_reco_best_tracks.bind(fit_preselection="(TrP>5000.0) & (TrPT>300.0)"),\ + TrackMasterFitter.bind(FastMaterialApproximation=True),\ + make_hlt2_tracks.bind(use_pr_kf=False, light_reco=True, fast_reco=True),\ + standalone_rich_mirror_align_reco.bind(RichGas="Rich1Gas"): + run_reconstruction(options, standalone_rich_mirror_align_reco) diff --git a/Rich/Panoptes/options/Rich2MirrorAlignReco.py b/Rich/Panoptes/options/Rich2MirrorAlignReco.py new file mode 100644 index 000000000..614aa8902 --- /dev/null +++ b/Rich/Panoptes/options/Rich2MirrorAlignReco.py @@ -0,0 +1,26 @@ +############################################################################### +# (c) Copyright 2019 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, run_reconstruction +from Panoptes.alignment import standalone_rich_mirror_align_reco +from PyConf.Tools import TrackMasterFitter +from RecoConf.hlt2_tracking import make_hlt2_tracks, make_light_reco_best_tracks + +options.histo_file = "Rich2MirrorAlignReco.root" + +# Override previously set defaults +#options.evt_max = 100000 +#options.n_threads = 4 + +with make_light_reco_best_tracks.bind(fit_preselection="(TrP>5000.0) & (TrPT>300.0)"),\ + TrackMasterFitter.bind(FastMaterialApproximation=True),\ + make_hlt2_tracks.bind(use_pr_kf=False, light_reco=True, fast_reco=True),\ + standalone_rich_mirror_align_reco.bind(RichGas="Rich2Gas"): + run_reconstruction(options, standalone_rich_mirror_align_reco) diff --git a/Rich/Panoptes/python/Panoptes/alignment.py b/Rich/Panoptes/python/Panoptes/alignment.py new file mode 100644 index 000000000..5a3cc8ba4 --- /dev/null +++ b/Rich/Panoptes/python/Panoptes/alignment.py @@ -0,0 +1,84 @@ +############################################################################### +# (c) Copyright 2021 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 PyConf.tonic import configurable +from PyConf.Algorithms import ( + TracksToSelection, Rich__Future__Rec__Moni__SIMDAlignment as MirrorAlign) + +from RecoConf.hlt2_tracking import make_hlt2_tracks +from RecoConf.rich_reconstruction import ( + default_rich_reco_options, make_rich_pids, get_radiator_bool_opts, + get_detector_bool_opts) +from RecoConf.standalone import reco_prefilters + +from Moore.config import Reconstruction + + +@configurable +def standalone_rich_mirror_align_reco(RichGas="Rich1Gas"): + """ Reconstruction for RICH mirror alignment + """ + + # Make the tracks + hlt2_tracks = make_hlt2_tracks() + + # The track type we use + track_version = "v1" + tkType = "Long" + + # Get the fitted long tracks to use + tks = hlt2_tracks["Best" + tkType] + + # Default RICH reco options + reco_opts = default_rich_reco_options() + + # Radiators + reco_opts["RichGases"] = [RichGas] + + # Enable online mode for wider CK theta side bands + # Paras/Anatoly - Do you need this or is the nominal setting enough ? + reco_opts["PhotonSelection"] = "Online" + + # Enable extra photon info + reco_opts["SaveMirrorData"] = True + + # As we aren't running PID, we do not need all hypos + #reco_opts["Particles"] = ["muon","pion","kaon"] + + # Track selection + tkSel = TracksToSelection(InputLocation=tks[track_version]) + + # RICH photon reco + conf = make_rich_pids( + track_name=tkType, + input_tracks=tkSel.OutputLocation, + options=reco_opts) + + # The detector and radiator options + rad_opts = get_radiator_bool_opts(reco_opts, tkType) + det_opts = get_detector_bool_opts(reco_opts, tkType) + + # mirror alignment plots + alignMon = MirrorAlign( + name=RichGas + "MirrorAlign" + tkType, + Detectors=det_opts, + Radiators=rad_opts, + RichGases=[RichGas], + TracksLocation=tkSel.OutputLocation, + TrackSegmentsLocation=conf["TrackSegments"], + CherenkovPhotonLocation=conf["CherenkovPhotons"], + CherenkovAnglesLocation=conf["SignalCKAngles"], + SummaryTracksLocation=conf["SummaryTracks"], + PhotonToParentsLocation=conf["PhotonToParents"], + PhotonMirrorDataLocation=conf["PhotonMirrorData"]) + + return Reconstruction(RichGas + '_mirror_align_reco', [alignMon], + reco_prefilters()) diff --git a/Rich/Panoptes/tests/qmtest/rich1_mirror_align_reco.qmt b/Rich/Panoptes/tests/qmtest/rich1_mirror_align_reco.qmt new file mode 100644 index 000000000..b37fb6c5e --- /dev/null +++ b/Rich/Panoptes/tests/qmtest/rich1_mirror_align_reco.qmt @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE extension PUBLIC '-//QM/2.3/Extension//EN' 'http://www.codesourcery.com/qm/dtds/2.3/-//qm/2.3/extension//en.dtd'> +<!-- + (c) Copyright 2000-2018 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. +--> +<!-- +Run RICH1 mirror alignment reconstruction task +--> +<extension class="GaudiTest.GaudiExeTest" kind="test"> +<argument name="program"><text>gaudirun.py</text></argument> +<argument name="use_temp_dir"><enumeral>true</enumeral></argument> +<argument name="timeout"><integer>1200</integer></argument> +<argument name="args"><set> + <text>$MOOREROOT/tests/options/mdf_input_and_conds.py</text> + <text>$MOOREROOT/tests/options/download_mdf_input.py</text> + <text>$MOOREROOT/tests/options/multi_threaded_4_threads.py</text> + <text>$PANOPTESROOT/options/Rich1MirrorAlignReco.py</text> +</set></argument> +<argument name="reference"><text>../refs/rich1_mirror_align_reco.ref</text></argument> +<argument name="error_reference"><text>../refs/empty.ref</text></argument> +<argument name="validator"><text> + +from Panoptes.qmtest.exclusions import ref_preprocessor +validateWithReference(preproc = ref_preprocessor) + +from Panoptes.qmtest.exclusions import remove_known_warnings +countErrorLines({"FATAL": 0, "ERROR": 0, "WARNING": 0}, + stdout=remove_known_warnings(stdout)) + +</text></argument> +</extension> diff --git a/Rich/Panoptes/tests/qmtest/rich2_mirror_align_reco.qmt b/Rich/Panoptes/tests/qmtest/rich2_mirror_align_reco.qmt new file mode 100644 index 000000000..40098b00f --- /dev/null +++ b/Rich/Panoptes/tests/qmtest/rich2_mirror_align_reco.qmt @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE extension PUBLIC '-//QM/2.3/Extension//EN' 'http://www.codesourcery.com/qm/dtds/2.3/-//qm/2.3/extension//en.dtd'> +<!-- + (c) Copyright 2000-2018 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. +--> +<!-- +Run RICH2 mirror alignment reconstruction task +--> +<extension class="GaudiTest.GaudiExeTest" kind="test"> +<argument name="program"><text>gaudirun.py</text></argument> +<argument name="use_temp_dir"><enumeral>true</enumeral></argument> +<argument name="timeout"><integer>1200</integer></argument> +<argument name="args"><set> + <text>$MOOREROOT/tests/options/mdf_input_and_conds.py</text> + <text>$MOOREROOT/tests/options/download_mdf_input.py</text> + <text>$MOOREROOT/tests/options/multi_threaded_4_threads.py</text> + <text>$PANOPTESROOT/options/Rich2MirrorAlignReco.py</text> +</set></argument> +<argument name="reference"><text>../refs/rich2_mirror_align_reco.ref</text></argument> +<argument name="error_reference"><text>../refs/empty.ref</text></argument> +<argument name="validator"><text> + +from Panoptes.qmtest.exclusions import ref_preprocessor +validateWithReference(preproc = ref_preprocessor) + +from Panoptes.qmtest.exclusions import remove_known_warnings +countErrorLines({"FATAL": 0, "ERROR": 0, "WARNING": 0}, + stdout=remove_known_warnings(stdout)) + +</text></argument> +</extension> diff --git a/Rich/Panoptes/tests/refs/rich1_mirror_align_reco.ref b/Rich/Panoptes/tests/refs/rich1_mirror_align_reco.ref new file mode 100644 index 000000000..019c593d9 --- /dev/null +++ b/Rich/Panoptes/tests/refs/rich1_mirror_align_reco.ref @@ -0,0 +1,99 @@ +TransportSvc SUCCESS GEOMETRY ERRORS: 'Skip' map has the size 0 +TransportSvc SUCCESS GEOMETRY ERRORS: 'Recover' map has the size 0 +TransportSvc SUCCESS GEOMETRY ERRORS: 'Codes' map has the size 0 +TransportSvc INFO Reset the static pointer to DetDesc::IGeometyrErrorSvc +ToolSvc INFO Removing all tools created by ToolSvc +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +BestTrackCreatorForward INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"BadInput" | 958 | 0 |( 0.000000 +- 0.000000)% | + |*"FitFailed" | 958 | 0 |( 0.000000 +- 0.000000)% | + | "FittedBefore" | 958 | +BestTrackCreatorMatch INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"BadInput" | 25869 | 0 |( 0.000000 +- 0.000000)% | + |*"FitFailed" | 25869 | 0 |( 0.000000 +- 0.000000)% | + | "FittedBefore" | 25869 | +LHCb__Converters__Track__PrSeedi... INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of converted Tracks" | 935 | 88915 | 95.096 | +LHCb__MDF__IOAlg INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks in raw event" | 1000 | 1025000 | 1025.0 | 0.0000 | 1025.0 | 1025.0 | +PrForwardTrackingVelo INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb output tracks" | 929 | 5308 | 5.7137 | +PrForwardTrackingVelo.PrAddUTHit... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#UT hits added" | 3468 | 13272 | 3.8270 | + | "#tracks with hits added" | 3468 | +PrGECFilter INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb Events Processed" | 1000 | + | "Nb events removed" | 65 | +PrMatchNN INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#MatchingChi2" | 160419 | 860731.9 | 5.3655 | + | "#MatchingTracks" | 928 | 58318 | 62.843 | + | "TracksMLP" | 160419 | 57076.32 | 0.3558 | +PrMatchNN.PrAddUTHitsTool INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#UT hits added" | 51616 | 205788 | 3.9869 | + | "#tracks with hits added" | 51616 | +PrStorePrUTHits INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks" | 935 | 168300 | 180.00 | +PrStoreUTHit INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks" | 935 | 168300 | 180.00 | +ToolSvc.TrackFunctorFactory INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "# loaded from PYTHON" | 2 | +TrackContainerSplitterForward INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#inputs" | 935 | 5308 | 5.6770 | 4.4422 | 0.0000 | 23.000 | + | "#passed" | 935 | 958 | 1.0246 | 1.2506 | 0.0000 | 9.0000 | +TrackContainerSplitterMatch INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#inputs" | 935 | 58318 | 62.372 | 36.320 | 0.0000 | 191.00 | + | "#passed" | 935 | 25903 | 27.704 | 17.027 | 0.0000 | 97.000 | +TrackEventFitterForward INFO Number of counters : 8 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"Fit Failure Rate" | 958 | 0 |( 0.000000 +- 0.000000)% | + | "badChisq" | 958 | 473 | 0.49374 | 0.49996 | 0.0000 | 1.0000 | + | "chisqprobSum" | 958 | 194.3273 | 0.20285 | 0.28845 | 0.0000 | 0.9977 | + | "flipCharge" | 958 | 1 | 0.0010438 | 0.032292 | 0.0000 | 1.0000 | + | "nBadInput" | 935 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "nFitted" | 935 | 958 | 1.0246 | 1.2506 | 0.0000 | 9.0000 | + | "nTracks" | 935 | 958 | 1.0246 | 1.2506 | 0.0000 | 9.0000 | + | "numOutliers" | 958 | 1187 | 1.2390 | 0.87189 | 0.0000 | 2.0000 | +TrackEventFitterMatch INFO Number of counters : 8 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"Fit Failure Rate" | 25903 | 0 |( 0.000000 +- 0.000000)% | + | "badChisq" | 25903 | 3958 | 0.1528 | 0.3598 | 0.0000 | 1.0000 | + | "chisqprobSum" | 25903 | 9003.377 | 0.34758 | 0.30558 | 0.0000 | 0.99999 | + | "flipCharge" | 25903 | 1 | 3.8606e-05 | 0.0062132 | 0.0000 | 1.0000 | + | "nBadInput" | 935 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "nFitted" | 935 | 25903 | 27.704 | 17.027 | 0.0000 | 97.000 | + | "nTracks" | 935 | 25903 | 27.704 | 17.027 | 0.0000 | 97.000 | + | "numOutliers" | 25903 | 15713 | 0.60661 | 0.75234 | 0.0000 | 2.0000 | +TracksFTConverter#1 INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 5308 | 5.6770 | +TracksMatchConverter INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 58318 | 62.372 | +TracksVPConverter INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 72102 | 77.114 | +TracksVPMergerConverter INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 208195 | 222.67 | +VPClus INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Clusters" | 935 | 1617568 | 1730.0 | +VeloClusterTrackingSIMD INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Clusters" | 935 | 1617568 | 1730.0 | + | "Nb of Produced Tracks" | 935 | 208195 | 222.67 | diff --git a/Rich/Panoptes/tests/refs/rich1_mirror_align_reco.ref.skylake_avx512-opt b/Rich/Panoptes/tests/refs/rich1_mirror_align_reco.ref.skylake_avx512-opt new file mode 120000 index 000000000..97152ce7e --- /dev/null +++ b/Rich/Panoptes/tests/refs/rich1_mirror_align_reco.ref.skylake_avx512-opt @@ -0,0 +1 @@ +rich_mirror_align_reco.ref.x86_64+avx2+fma-opt \ No newline at end of file diff --git a/Rich/Panoptes/tests/refs/rich1_mirror_align_reco.ref.x86_64+avx2+fma-opt b/Rich/Panoptes/tests/refs/rich1_mirror_align_reco.ref.x86_64+avx2+fma-opt new file mode 100644 index 000000000..4aa88698a --- /dev/null +++ b/Rich/Panoptes/tests/refs/rich1_mirror_align_reco.ref.x86_64+avx2+fma-opt @@ -0,0 +1,99 @@ +TransportSvc SUCCESS GEOMETRY ERRORS: 'Skip' map has the size 0 +TransportSvc SUCCESS GEOMETRY ERRORS: 'Recover' map has the size 0 +TransportSvc SUCCESS GEOMETRY ERRORS: 'Codes' map has the size 0 +TransportSvc INFO Reset the static pointer to DetDesc::IGeometyrErrorSvc +ToolSvc INFO Removing all tools created by ToolSvc +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +BestTrackCreatorForward INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"BadInput" | 960 | 0 |( 0.000000 +- 0.000000)% | + |*"FitFailed" | 960 | 0 |( 0.000000 +- 0.000000)% | + | "FittedBefore" | 960 | +BestTrackCreatorMatch INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"BadInput" | 25870 | 0 |( 0.000000 +- 0.000000)% | + |*"FitFailed" | 25870 | 0 |( 0.000000 +- 0.000000)% | + | "FittedBefore" | 25870 | +LHCb__Converters__Track__PrSeedi... INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of converted Tracks" | 935 | 88914 | 95.095 | +LHCb__MDF__IOAlg INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks in raw event" | 1000 | 1025000 | 1025.0 | 0.0000 | 1025.0 | 1025.0 | +PrForwardTrackingVelo INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb output tracks" | 929 | 5319 | 5.7255 | +PrForwardTrackingVelo.PrAddUTHit... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#UT hits added" | 3485 | 13336 | 3.8267 | + | "#tracks with hits added" | 3485 | +PrGECFilter INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb Events Processed" | 1000 | + | "Nb events removed" | 65 | +PrMatchNN INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#MatchingChi2" | 160714 | 862298.1 | 5.3654 | + | "#MatchingTracks" | 928 | 58410 | 62.942 | + | "TracksMLP" | 160714 | 57166.44 | 0.3557 | +PrMatchNN.PrAddUTHitsTool INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#UT hits added" | 51690 | 206086 | 3.9870 | + | "#tracks with hits added" | 51690 | +PrStorePrUTHits INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks" | 935 | 168300 | 180.00 | +PrStoreUTHit INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks" | 935 | 168300 | 180.00 | +ToolSvc.TrackFunctorFactory INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "# loaded from PYTHON" | 2 | +TrackContainerSplitterForward INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#inputs" | 935 | 5319 | 5.6888 | 4.4465 | 0.0000 | 24.000 | + | "#passed" | 935 | 960 | 1.0267 | 1.2566 | 0.0000 | 9.0000 | +TrackContainerSplitterMatch INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#inputs" | 935 | 58410 | 62.471 | 36.330 | 0.0000 | 190.00 | + | "#passed" | 935 | 25939 | 27.742 | 17.018 | 0.0000 | 96.000 | +TrackEventFitterForward INFO Number of counters : 8 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"Fit Failure Rate" | 960 | 0 |( 0.000000 +- 0.000000)% | + | "badChisq" | 960 | 475 | 0.49479 | 0.49997 | 0.0000 | 1.0000 | + | "chisqprobSum" | 960 | 194.3615 | 0.20246 | 0.28831 | 0.0000 | 0.9977 | + | "flipCharge" | 960 | 1 | 0.0010417 | 0.032258 | 0.0000 | 1.0000 | + | "nBadInput" | 935 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "nFitted" | 935 | 960 | 1.0267 | 1.2566 | 0.0000 | 9.0000 | + | "nTracks" | 935 | 960 | 1.0267 | 1.2566 | 0.0000 | 9.0000 | + | "numOutliers" | 960 | 1191 | 1.2406 | 0.87167 | 0.0000 | 2.0000 | +TrackEventFitterMatch INFO Number of counters : 8 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"Fit Failure Rate" | 25939 | 0 |( 0.000000 +- 0.000000)% | + | "badChisq" | 25939 | 3977 | 0.15332 | 0.3603 | 0.0000 | 1.0000 | + | "chisqprobSum" | 25939 | 9009.085 | 0.34732 | 0.30559 | 0.0000 | 0.99999 | + | "flipCharge" | 25939 | 1 | 3.8552e-05 | 0.0062089 | 0.0000 | 1.0000 | + | "nBadInput" | 935 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "nFitted" | 935 | 25939 | 27.742 | 17.018 | 0.0000 | 96.000 | + | "nTracks" | 935 | 25939 | 27.742 | 17.018 | 0.0000 | 96.000 | + | "numOutliers" | 25939 | 15757 | 0.60746 | 0.75263 | 0.0000 | 2.0000 | +TracksFTConverter#1 INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 5319 | 5.6888 | +TracksMatchConverter INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 58410 | 62.471 | +TracksVPConverter INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 72320 | 77.348 | +TracksVPMergerConverter INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 208704 | 223.21 | +VPClus INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Clusters" | 935 | 1617568 | 1730.0 | +VeloClusterTrackingSIMD INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Clusters" | 935 | 1617568 | 1730.0 | + | "Nb of Produced Tracks" | 935 | 208704 | 223.21 | diff --git a/Rich/Panoptes/tests/refs/rich2_mirror_align_reco.ref b/Rich/Panoptes/tests/refs/rich2_mirror_align_reco.ref new file mode 100644 index 000000000..cb385b8aa --- /dev/null +++ b/Rich/Panoptes/tests/refs/rich2_mirror_align_reco.ref @@ -0,0 +1,99 @@ +TransportSvc SUCCESS GEOMETRY ERRORS: 'Skip' map has the size 0 +TransportSvc SUCCESS GEOMETRY ERRORS: 'Recover' map has the size 0 +TransportSvc SUCCESS GEOMETRY ERRORS: 'Codes' map has the size 0 +TransportSvc INFO Reset the static pointer to DetDesc::IGeometyrErrorSvc +ToolSvc INFO Removing all tools created by ToolSvc +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +BestTrackCreatorForward INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"BadInput" | 958 | 0 |( 0.000000 +- 0.000000)% | + |*"FitFailed" | 958 | 0 |( 0.000000 +- 0.000000)% | + | "FittedBefore" | 958 | +BestTrackCreatorMatch INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"BadInput" | 25869 | 0 |( 0.000000 +- 0.000000)% | + |*"FitFailed" | 25869 | 0 |( 0.000000 +- 0.000000)% | + | "FittedBefore" | 25869 | +LHCb__Converters__Track__PrSeedi... INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of converted Tracks" | 935 | 88915 | 95.096 | +LHCb__MDF__IOAlg INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks in raw event" | 1000 | 1025000 | 1025.0 | 0.0000 | 1025.0 | 1025.0 | +PrForwardTrackingVelo INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb output tracks" | 929 | 5308 | 5.7137 | +PrForwardTrackingVelo.PrAddUTHit... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#UT hits added" | 3468 | 13272 | 3.8270 | + | "#tracks with hits added" | 3468 | +PrGECFilter INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb Events Processed" | 1000 | + | "Nb events removed" | 65 | +PrMatchNN INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#MatchingChi2" | 160419 | 860731.9 | 5.3655 | + | "#MatchingTracks" | 928 | 58318 | 62.843 | + | "TracksMLP" | 160419 | 57076.33 | 0.3558 | +PrMatchNN.PrAddUTHitsTool INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#UT hits added" | 51616 | 205788 | 3.9869 | + | "#tracks with hits added" | 51616 | +PrStorePrUTHits INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks" | 935 | 168300 | 180.00 | +PrStoreUTHit INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks" | 935 | 168300 | 180.00 | +ToolSvc.TrackFunctorFactory INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "# loaded from PYTHON" | 2 | +TrackContainerSplitterForward INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#inputs" | 935 | 5308 | 5.6770 | 4.4422 | 0.0000 | 23.000 | + | "#passed" | 935 | 958 | 1.0246 | 1.2506 | 0.0000 | 9.0000 | +TrackContainerSplitterMatch INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#inputs" | 935 | 58318 | 62.372 | 36.320 | 0.0000 | 191.00 | + | "#passed" | 935 | 25903 | 27.704 | 17.027 | 0.0000 | 97.000 | +TrackEventFitterForward INFO Number of counters : 8 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"Fit Failure Rate" | 958 | 0 |( 0.000000 +- 0.000000)% | + | "badChisq" | 958 | 473 | 0.49374 | 0.49996 | 0.0000 | 1.0000 | + | "chisqprobSum" | 958 | 194.3273 | 0.20285 | 0.28845 | 0.0000 | 0.9977 | + | "flipCharge" | 958 | 1 | 0.0010438 | 0.032292 | 0.0000 | 1.0000 | + | "nBadInput" | 935 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "nFitted" | 935 | 958 | 1.0246 | 1.2506 | 0.0000 | 9.0000 | + | "nTracks" | 935 | 958 | 1.0246 | 1.2506 | 0.0000 | 9.0000 | + | "numOutliers" | 958 | 1187 | 1.2390 | 0.87189 | 0.0000 | 2.0000 | +TrackEventFitterMatch INFO Number of counters : 8 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"Fit Failure Rate" | 25903 | 0 |( 0.000000 +- 0.000000)% | + | "badChisq" | 25903 | 3958 | 0.1528 | 0.3598 | 0.0000 | 1.0000 | + | "chisqprobSum" | 25903 | 9003.377 | 0.34758 | 0.30558 | 0.0000 | 0.99999 | + | "flipCharge" | 25903 | 1 | 3.8606e-05 | 0.0062132 | 0.0000 | 1.0000 | + | "nBadInput" | 935 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "nFitted" | 935 | 25903 | 27.704 | 17.027 | 0.0000 | 97.000 | + | "nTracks" | 935 | 25903 | 27.704 | 17.027 | 0.0000 | 97.000 | + | "numOutliers" | 25903 | 15713 | 0.60661 | 0.75234 | 0.0000 | 2.0000 | +TracksFTConverter#1 INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 5308 | 5.6770 | +TracksMatchConverter INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 58318 | 62.372 | +TracksVPConverter INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 72102 | 77.114 | +TracksVPMergerConverter INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 208195 | 222.67 | +VPClus INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Clusters" | 935 | 1617568 | 1730.0 | +VeloClusterTrackingSIMD INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Clusters" | 935 | 1617568 | 1730.0 | + | "Nb of Produced Tracks" | 935 | 208195 | 222.67 | diff --git a/Rich/Panoptes/tests/refs/rich2_mirror_align_reco.ref.skylake_avx512-opt b/Rich/Panoptes/tests/refs/rich2_mirror_align_reco.ref.skylake_avx512-opt new file mode 120000 index 000000000..2087b2698 --- /dev/null +++ b/Rich/Panoptes/tests/refs/rich2_mirror_align_reco.ref.skylake_avx512-opt @@ -0,0 +1 @@ +rich2_mirror_align_reco.ref.x86_64+avx2+fma-opt \ No newline at end of file diff --git a/Rich/Panoptes/tests/refs/rich2_mirror_align_reco.ref.x86_64+avx2+fma-opt b/Rich/Panoptes/tests/refs/rich2_mirror_align_reco.ref.x86_64+avx2+fma-opt new file mode 100644 index 000000000..4aa88698a --- /dev/null +++ b/Rich/Panoptes/tests/refs/rich2_mirror_align_reco.ref.x86_64+avx2+fma-opt @@ -0,0 +1,99 @@ +TransportSvc SUCCESS GEOMETRY ERRORS: 'Skip' map has the size 0 +TransportSvc SUCCESS GEOMETRY ERRORS: 'Recover' map has the size 0 +TransportSvc SUCCESS GEOMETRY ERRORS: 'Codes' map has the size 0 +TransportSvc INFO Reset the static pointer to DetDesc::IGeometyrErrorSvc +ToolSvc INFO Removing all tools created by ToolSvc +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +BestTrackCreatorForward INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"BadInput" | 960 | 0 |( 0.000000 +- 0.000000)% | + |*"FitFailed" | 960 | 0 |( 0.000000 +- 0.000000)% | + | "FittedBefore" | 960 | +BestTrackCreatorMatch INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"BadInput" | 25870 | 0 |( 0.000000 +- 0.000000)% | + |*"FitFailed" | 25870 | 0 |( 0.000000 +- 0.000000)% | + | "FittedBefore" | 25870 | +LHCb__Converters__Track__PrSeedi... INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of converted Tracks" | 935 | 88914 | 95.095 | +LHCb__MDF__IOAlg INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks in raw event" | 1000 | 1025000 | 1025.0 | 0.0000 | 1025.0 | 1025.0 | +PrForwardTrackingVelo INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb output tracks" | 929 | 5319 | 5.7255 | +PrForwardTrackingVelo.PrAddUTHit... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#UT hits added" | 3485 | 13336 | 3.8267 | + | "#tracks with hits added" | 3485 | +PrGECFilter INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb Events Processed" | 1000 | + | "Nb events removed" | 65 | +PrMatchNN INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#MatchingChi2" | 160714 | 862298.1 | 5.3654 | + | "#MatchingTracks" | 928 | 58410 | 62.942 | + | "TracksMLP" | 160714 | 57166.44 | 0.3557 | +PrMatchNN.PrAddUTHitsTool INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#UT hits added" | 51690 | 206086 | 3.9870 | + | "#tracks with hits added" | 51690 | +PrStorePrUTHits INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks" | 935 | 168300 | 180.00 | +PrStoreUTHit INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks" | 935 | 168300 | 180.00 | +ToolSvc.TrackFunctorFactory INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "# loaded from PYTHON" | 2 | +TrackContainerSplitterForward INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#inputs" | 935 | 5319 | 5.6888 | 4.4465 | 0.0000 | 24.000 | + | "#passed" | 935 | 960 | 1.0267 | 1.2566 | 0.0000 | 9.0000 | +TrackContainerSplitterMatch INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#inputs" | 935 | 58410 | 62.471 | 36.330 | 0.0000 | 190.00 | + | "#passed" | 935 | 25939 | 27.742 | 17.018 | 0.0000 | 96.000 | +TrackEventFitterForward INFO Number of counters : 8 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"Fit Failure Rate" | 960 | 0 |( 0.000000 +- 0.000000)% | + | "badChisq" | 960 | 475 | 0.49479 | 0.49997 | 0.0000 | 1.0000 | + | "chisqprobSum" | 960 | 194.3615 | 0.20246 | 0.28831 | 0.0000 | 0.9977 | + | "flipCharge" | 960 | 1 | 0.0010417 | 0.032258 | 0.0000 | 1.0000 | + | "nBadInput" | 935 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "nFitted" | 935 | 960 | 1.0267 | 1.2566 | 0.0000 | 9.0000 | + | "nTracks" | 935 | 960 | 1.0267 | 1.2566 | 0.0000 | 9.0000 | + | "numOutliers" | 960 | 1191 | 1.2406 | 0.87167 | 0.0000 | 2.0000 | +TrackEventFitterMatch INFO Number of counters : 8 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"Fit Failure Rate" | 25939 | 0 |( 0.000000 +- 0.000000)% | + | "badChisq" | 25939 | 3977 | 0.15332 | 0.3603 | 0.0000 | 1.0000 | + | "chisqprobSum" | 25939 | 9009.085 | 0.34732 | 0.30559 | 0.0000 | 0.99999 | + | "flipCharge" | 25939 | 1 | 3.8552e-05 | 0.0062089 | 0.0000 | 1.0000 | + | "nBadInput" | 935 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "nFitted" | 935 | 25939 | 27.742 | 17.018 | 0.0000 | 96.000 | + | "nTracks" | 935 | 25939 | 27.742 | 17.018 | 0.0000 | 96.000 | + | "numOutliers" | 25939 | 15757 | 0.60746 | 0.75263 | 0.0000 | 2.0000 | +TracksFTConverter#1 INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 5319 | 5.6888 | +TracksMatchConverter INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 58410 | 62.471 | +TracksVPConverter INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 72320 | 77.348 | +TracksVPMergerConverter INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Tracks" | 935 | 208704 | 223.21 | +VPClus INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Clusters" | 935 | 1617568 | 1730.0 | +VeloClusterTrackingSIMD INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Clusters" | 935 | 1617568 | 1730.0 | + | "Nb of Produced Tracks" | 935 | 208704 | 223.21 | -- GitLab From 530339aae2b1adfa1a9e5bf4e8666c633ba83390 Mon Sep 17 00:00:00 2001 From: Anatoly Solomin <anatoly.solomin@bristol.ac.uk> Date: Sun, 6 Jun 2021 23:23:10 +0300 Subject: [PATCH 3/4] Add handles to more options, specific to mirror alignment --- Rich/Panoptes/options/Rich1MirrorAlignReco.py | 19 ++++-- Rich/Panoptes/options/Rich2MirrorAlignReco.py | 19 ++++-- Rich/Panoptes/python/Panoptes/alignment.py | 58 ++++++++++++++----- .../tests/qmtest/rich1_mirror_align_reco.qmt | 3 +- .../tests/qmtest/rich2_mirror_align_reco.qmt | 3 +- 5 files changed, 75 insertions(+), 27 deletions(-) diff --git a/Rich/Panoptes/options/Rich1MirrorAlignReco.py b/Rich/Panoptes/options/Rich1MirrorAlignReco.py index 17d9c1fcb..c8e67e782 100644 --- a/Rich/Panoptes/options/Rich1MirrorAlignReco.py +++ b/Rich/Panoptes/options/Rich1MirrorAlignReco.py @@ -8,11 +8,20 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -from Moore import options, run_reconstruction -from Panoptes.alignment import standalone_rich_mirror_align_reco -from PyConf.Tools import TrackMasterFitter -from RecoConf.hlt2_tracking import make_hlt2_tracks, make_light_reco_best_tracks +from Moore import ( + options, + run_reconstruction, +) +from Panoptes.alignment import ( + standalone_rich_mirror_align_reco, ) +from PyConf.Tools import { + TrackMasterFitter, ) + +from RecoConf.hlt2_tracking import ( + make_hlt2_tracks, + make_light_reco_best_tracks, +) options.histo_file = "Rich1MirrorAlignReco.root" # Override previously set defaults @@ -22,5 +31,5 @@ options.histo_file = "Rich1MirrorAlignReco.root" with make_light_reco_best_tracks.bind(fit_preselection="(TrP>5000.0) & (TrPT>300.0)"),\ TrackMasterFitter.bind(FastMaterialApproximation=True),\ make_hlt2_tracks.bind(use_pr_kf=False, light_reco=True, fast_reco=True),\ - standalone_rich_mirror_align_reco.bind(RichGas="Rich1Gas"): + standalone_rich_mirror_align_reco.bind(RichGas="Rich1Gas", align_tasks=["Produce"]): run_reconstruction(options, standalone_rich_mirror_align_reco) diff --git a/Rich/Panoptes/options/Rich2MirrorAlignReco.py b/Rich/Panoptes/options/Rich2MirrorAlignReco.py index 614aa8902..c235d7c80 100644 --- a/Rich/Panoptes/options/Rich2MirrorAlignReco.py +++ b/Rich/Panoptes/options/Rich2MirrorAlignReco.py @@ -8,11 +8,20 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -from Moore import options, run_reconstruction -from Panoptes.alignment import standalone_rich_mirror_align_reco -from PyConf.Tools import TrackMasterFitter -from RecoConf.hlt2_tracking import make_hlt2_tracks, make_light_reco_best_tracks +from Moore import ( + options, + run_reconstruction, +) +from Panoptes.alignment import ( + standalone_rich_mirror_align_reco, ) +from PyConf.Tools import { + TrackMasterFitter, ) + +from RecoConf.hlt2_tracking import ( + make_hlt2_tracks, + make_light_reco_best_tracks, +) options.histo_file = "Rich2MirrorAlignReco.root" # Override previously set defaults @@ -22,5 +31,5 @@ options.histo_file = "Rich2MirrorAlignReco.root" with make_light_reco_best_tracks.bind(fit_preselection="(TrP>5000.0) & (TrPT>300.0)"),\ TrackMasterFitter.bind(FastMaterialApproximation=True),\ make_hlt2_tracks.bind(use_pr_kf=False, light_reco=True, fast_reco=True),\ - standalone_rich_mirror_align_reco.bind(RichGas="Rich2Gas"): + standalone_rich_mirror_align_reco.bind(RichGas="Rich2Gas", align_tasks=["Produce"]): run_reconstruction(options, standalone_rich_mirror_align_reco) diff --git a/Rich/Panoptes/python/Panoptes/alignment.py b/Rich/Panoptes/python/Panoptes/alignment.py index 5a3cc8ba4..177b18a95 100644 --- a/Rich/Panoptes/python/Panoptes/alignment.py +++ b/Rich/Panoptes/python/Panoptes/alignment.py @@ -8,22 +8,37 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### +from Moore.config import ( + Reconstruction, ) -from PyConf.tonic import configurable from PyConf.Algorithms import ( - TracksToSelection, Rich__Future__Rec__Moni__SIMDAlignment as MirrorAlign) - -from RecoConf.hlt2_tracking import make_hlt2_tracks + TracksToSelection, + Rich__Future__Rec__Moni__SIMDAlignment as MirrorAlign, +) +from PyConf.tonic import ( + configurable, ) + +from RecoConf.hlt2_tracking import ( + make_hlt2_tracks, ) + +from RecoConf.rich_data_monitoring import ( + alignment_rich_monitoring_options, + default_rich_monitoring_options, +) from RecoConf.rich_reconstruction import ( - default_rich_reco_options, make_rich_pids, get_radiator_bool_opts, - get_detector_bool_opts) -from RecoConf.standalone import reco_prefilters - -from Moore.config import Reconstruction - + default_rich_reco_options, + get_radiator_bool_opts, + get_detector_bool_opts, + make_rich_pids, +) +from RecoConf.standalone import ( + reco_prefilters, ) @configurable -def standalone_rich_mirror_align_reco(RichGas="Rich1Gas"): +def standalone_rich_mirror_align_reco( + RichGas="Rich1Gas", + align_tasks=["Produce"], +): """ Reconstruction for RICH mirror alignment """ @@ -66,7 +81,15 @@ def standalone_rich_mirror_align_reco(RichGas="Rich1Gas"): rad_opts = get_radiator_bool_opts(reco_opts, tkType) det_opts = get_detector_bool_opts(reco_opts, tkType) - # mirror alignment plots + # Data monitoring options + moni_opts = default_rich_monitoring_options() + # More monitoring options in case of the RICH alignment monitoring. + more_moni_opts = alignment_rich_monitoring_options( + radiator=[RichGas]) + moni_opts.update(more_moni_opts) + + + # mirror alignment histograms alignMon = MirrorAlign( name=RichGas + "MirrorAlign" + tkType, Detectors=det_opts, @@ -78,7 +101,16 @@ def standalone_rich_mirror_align_reco(RichGas="Rich1Gas"): CherenkovAnglesLocation=conf["SignalCKAngles"], SummaryTracksLocation=conf["SummaryTracks"], PhotonToParentsLocation=conf["PhotonToParents"], - PhotonMirrorDataLocation=conf["PhotonMirrorData"]) + PhotonMirrorDataLocation=conf["PhotonMirrorData"], + # more options for RICH mirror alignment: + PrebookHistos=moni_opts["PrebookHistos"], + MinPtot=moni_opts["MinPtot"], + DeltaThetaRange=moni_opts["DeltaThetaRange"], + NPhiBins=moni_opts["NPhiBins"], + NThetaBins=moni_opts["NThetaBins"], + HistoOutputLevel=moni_opts["HistoOutputLevel"], + AlignmentTasks=align_tasks, + ) return Reconstruction(RichGas + '_mirror_align_reco', [alignMon], reco_prefilters()) diff --git a/Rich/Panoptes/tests/qmtest/rich1_mirror_align_reco.qmt b/Rich/Panoptes/tests/qmtest/rich1_mirror_align_reco.qmt index b37fb6c5e..625e14343 100644 --- a/Rich/Panoptes/tests/qmtest/rich1_mirror_align_reco.qmt +++ b/Rich/Panoptes/tests/qmtest/rich1_mirror_align_reco.qmt @@ -17,8 +17,7 @@ Run RICH1 mirror alignment reconstruction task <argument name="use_temp_dir"><enumeral>true</enumeral></argument> <argument name="timeout"><integer>1200</integer></argument> <argument name="args"><set> - <text>$MOOREROOT/tests/options/mdf_input_and_conds.py</text> - <text>$MOOREROOT/tests/options/download_mdf_input.py</text> + <text>$MOOREROOT/tests/options/default_input_and_conds_hlt2.py</text> <text>$MOOREROOT/tests/options/multi_threaded_4_threads.py</text> <text>$PANOPTESROOT/options/Rich1MirrorAlignReco.py</text> </set></argument> diff --git a/Rich/Panoptes/tests/qmtest/rich2_mirror_align_reco.qmt b/Rich/Panoptes/tests/qmtest/rich2_mirror_align_reco.qmt index 40098b00f..e3db40b99 100644 --- a/Rich/Panoptes/tests/qmtest/rich2_mirror_align_reco.qmt +++ b/Rich/Panoptes/tests/qmtest/rich2_mirror_align_reco.qmt @@ -17,8 +17,7 @@ Run RICH2 mirror alignment reconstruction task <argument name="use_temp_dir"><enumeral>true</enumeral></argument> <argument name="timeout"><integer>1200</integer></argument> <argument name="args"><set> - <text>$MOOREROOT/tests/options/mdf_input_and_conds.py</text> - <text>$MOOREROOT/tests/options/download_mdf_input.py</text> + <text>$MOOREROOT/tests/options/default_input_and_conds_hlt2.py</text> <text>$MOOREROOT/tests/options/multi_threaded_4_threads.py</text> <text>$PANOPTESROOT/options/Rich2MirrorAlignReco.py</text> </set></argument> -- GitLab From 4c9c15b850502d569171a67c124c18ff9feeaf2c Mon Sep 17 00:00:00 2001 From: Gitlab CI <noreply@cern.ch> Date: Sun, 6 Jun 2021 20:23:36 +0000 Subject: [PATCH 4/4] Fixed formatting patch generated by https://gitlab.cern.ch/lhcb/Panoptes/-/jobs/14325149 --- Rich/Panoptes/python/Panoptes/alignment.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Rich/Panoptes/python/Panoptes/alignment.py b/Rich/Panoptes/python/Panoptes/alignment.py index 177b18a95..e35d9df3c 100644 --- a/Rich/Panoptes/python/Panoptes/alignment.py +++ b/Rich/Panoptes/python/Panoptes/alignment.py @@ -34,10 +34,11 @@ from RecoConf.rich_reconstruction import ( from RecoConf.standalone import ( reco_prefilters, ) + @configurable def standalone_rich_mirror_align_reco( - RichGas="Rich1Gas", - align_tasks=["Produce"], + RichGas="Rich1Gas", + align_tasks=["Produce"], ): """ Reconstruction for RICH mirror alignment """ @@ -84,11 +85,9 @@ def standalone_rich_mirror_align_reco( # Data monitoring options moni_opts = default_rich_monitoring_options() # More monitoring options in case of the RICH alignment monitoring. - more_moni_opts = alignment_rich_monitoring_options( - radiator=[RichGas]) + more_moni_opts = alignment_rich_monitoring_options(radiator=[RichGas]) moni_opts.update(more_moni_opts) - # mirror alignment histograms alignMon = MirrorAlign( name=RichGas + "MirrorAlign" + tkType, -- GitLab