Skip to content
Snippets Groups Projects
Commit 398f32fc authored by Christopher Rob Jones's avatar Christopher Rob Jones
Browse files

Merge branch 'bokutsen_vertex_compare_monitor' into '2024-patches'

PV resolution monitor

See merge request !406
parents 47771f76 e71b4cb2
No related branches found
No related tags found
2 merge requests!480Synchronize master branch with 2024-patches,!406PV resolution monitor
Pipeline #7813239 passed
......@@ -9,12 +9,66 @@
# or submit itself to any jurisdiction. #
###############################################################################
import os
from Moore import options, run_reconstruction
from Moore import options
from Moore.config import run_allen_reconstruction
from Moore.config import Reconstruction
from RecoConf.standalone import reco_prefilters, standalone_hlt2_global_reco
from Hlt2Conf.settings.hlt2_binds import config_pp_2024_with_monitoring
from RecoConf.hlt1_allen import allen_gaudi_config
from RecoConf.legacy_rec_hlt1_tracking import make_RetinaCluster_raw_bank, make_velo_full_clusters, make_RetinaClusters
from PyConf.Algorithms import VertexCompare
from RecoConf.legacy_rec_hlt1_tracking import (
make_reco_pvs,
make_PatPV3DFuture_pvs,
make_VeloClusterTrackingSIMD,
)
from RecoConf.hlt2_tracking import (
make_PrKalmanFilter_noUT_tracks,
make_PrKalmanFilter_Seed_tracks,
make_PrKalmanFilter_Velo_tracks,
make_TrackBestTrackCreator_tracks,
)
from MooreOnlineConf.utils import update_and_reset
from Moore import options, run_moore
from RecoConf.global_tools import stateProvider_with_simplified_geom, trackMasterExtrapolator_with_simplified_geom
from RecoConf.reconstruction_objects import reconstruction
from RecoConf.hlt2_global_reco import reconstruction as hlt2_reconstruction, make_light_reco_pr_kf_without_UT
from RecoConf.hlt2_tracking import (
make_TrackBestTrackCreator_tracks,
make_PrKalmanFilter_noUT_tracks,
make_PrKalmanFilter_Velo_tracks,
make_PrKalmanFilter_Seed_tracks,
)
from RecoConf.decoders import default_VeloCluster_source
from RecoConf.protoparticles import make_charged_protoparticles
from RecoConf.event_filters import require_gec
from Hlt2Conf.settings.defaults import get_default_hlt1_filter_code_for_hlt2
from Moore.streams import Stream, Streams
from Hlt2Conf.lines.semileptonic import all_lines as full_lines # all full-stream lines
import sys
from DDDB.CheckDD4Hep import UseDD4Hep
from Moore import options, run_moore
from RecoConf.global_tools import stateProvider_with_simplified_geom, trackMasterExtrapolator_with_simplified_geom
from RecoConf.reconstruction_objects import reconstruction
from RecoConf.hlt2_global_reco import reconstruction as hlt2_reconstruction, make_light_reco_pr_kf_without_UT
from RecoConf.hlt2_tracking import (
make_TrackBestTrackCreator_tracks,
make_PrKalmanFilter_noUT_tracks,
make_PrKalmanFilter_Velo_tracks,
make_PrKalmanFilter_Seed_tracks,
)
from RecoConf.decoders import default_VeloCluster_source
from RecoConf.protoparticles import make_charged_protoparticles
from RecoConf.event_filters import require_gec
from Hlt2Conf.settings.defaults import get_default_hlt1_filter_code_for_hlt2
from Moore.streams import Stream, Streams
from Hlt2Conf.lines.semileptonic import all_lines as full_lines # all full-stream lines
import sys
from DDDB.CheckDD4Hep import UseDD4Hep
task_type = os.getenv("TASK_TYPE", "GenericTask")
## Global event cut specifications:
......@@ -70,6 +124,7 @@ def with_update_and_reset():
IOVReset(ODIN=make_odin()),
update_and_reset(), odin_bb_filter, rb_filter
])
return reco
......@@ -78,5 +133,6 @@ def with_update_and_reset():
with config_pp_2024_with_monitoring(), reco_prefilters.bind(
gec=False,
gec_cut=GEC_cut,
):
run_reconstruction(options, with_update_and_reset)
),\
VertexCompare.bind(produceNtuple=False,produceHistogram=False,monitoring=True):
run_allen_reconstruction(options, with_update_and_reset)
###############################################################################
# (c) Copyright 2024 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 RecoConf.decoders import default_VeloCluster_source
from AllenConf.velo_reconstruction import decode_velo
default_VeloCluster_source.global_bind(bank_type="VP")
decode_velo.global_bind(retina_decoding=False)
......@@ -26,6 +26,20 @@ if(BUILD_TESTING AND NOT USE_DD4HEP)
)
endif()
if(BUILD_TESTING AND BINARY_TAG MATCHES ".*cuda.*")
# When compiling for GPU, vertex resolution monitoring call the device algorithms
# since these are incompatible with calling from Moore / Gaudi, disable the monitoring tests
set_property(
TEST
MooreScripts.beamspotmon
MooreScripts.calomon
MooreScripts.recomon
MooreScripts.velomon
PROPERTY
DISABLED TRUE
)
endif()
# FIXME the following does not work as I don't know how to run cmsetup.py as part of the install
# because xenv is not in available. Maybe find_package(xenv) would work?
......
......@@ -19,7 +19,7 @@ settings=$(python -c 'import OnlineEnvBase; print(OnlineEnvBase.HLTType)')
vp_options=$MOOREONLINECONFROOT/options/vp_retina_clusters.py
if [[ $settings == *"veloSP" ]]; then
echo "RecoMon: configuring VELO SP algorithms based on current trigger config $settings"
vp_options=
vp_options=$MOOREONLINECONFROOT/options/vp_veloSP.py
fi
exec_gaudirun \
......
<?xml version="1.0" ?><!DOCTYPE extension PUBLIC '-//QM/2.3/Extension//EN' 'http://www.codesourcery.com/qm/dtds/2.3/-//qm/2.3/extension//en.dtd'>
<?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 2021 CERN for the benefit of the LHCb Collaboration
......@@ -28,7 +28,7 @@ Run an RecoMon job in the Online testbench
import glob
workdir = self._common_tmpdir
for fn in glob.glob(workdir + "/recomon/*.*"):
if not fn.endswith(".mdf"):
if not fn.endswith(".mdf") and not fn.endswith(".root"):
result[os.path.basename(fn)] = open(fn).read()
</text></argument>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment