Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • ipolyako/Moore
  • qhan/Moore
  • allightb/Moore
  • gpietrzy/Moore
  • smaccoli/Moore
  • rmatev/Moore
  • bldelane/Moore
  • egranado/Moore
  • peilian/Moore
  • rcurrie/Moore
  • mstahl/Moore
  • jonrob/Moore
  • raaij/Moore
  • lhcb/Moore
14 results
Show changes
Commits on Source (132)
Showing
with 119 additions and 97 deletions
......@@ -3,57 +3,22 @@
.*.swp
# build products
InstallArea/
/build*/
/.build/
/InstallArea/
# Centrally managed files and helpers
.clang-format
toolchain.cmake
Makefile
cache_preload.cmake
# CMake temporary files
build*/
.build/
build-dir/
CMakeFiles/
CTestTestfile.cmake
CPackSourceConfig.cmake
CPackConfig.cmake
cmake_install.cmake
/.clang-format
/toolchain.cmake
/Makefile
/cache_preload.cmake
# common byproducts
*.pyc
*.pyo
DoxyWarnings.log
.gdb_history
*.new
*.launch
*.launch.py
*.launch.opts
# Eclipse data
.project
.cproject
.settings
.pydevproject
.eclipse/
# CMT tempoary files
build.*.log
Makefile
NMake
install.*.history
setup.*
cleanup.*
genConf/
test_results/
*-slc[56]-*/
i686-winxp-vc9-dbg/
.*-slc[56]-*.d/
.i686-winxp-vc9-dbg.d/
# QMTest byproducts
*.new
**/tests/qmtest/*.*
!**/tests/qmtest/*.qms
!**/tests/qmtest/*.qmt
......@@ -65,5 +30,4 @@ i686-winxp-vc9-dbg/
doc/_env*
doc/_build
doc/graphviz
.vscode/settings.json
doc/selection/thor_functors_reference.generated.rst
......@@ -16,10 +16,6 @@ project(Moore VERSION 53.0
# Enable testing with CTest/CDash
include(CTest)
# CTest module adds a default timeout of 1500 seconds, but our tests may take more time.
set(DART_TESTING_TIMEOUT 0 CACHE STRING
"Maximum time allowed before CTest will kill the test."
FORCE)
list(PREPEND CMAKE_MODULE_PATH
${PROJECT_SOURCE_DIR}/cmake
......
......@@ -22,30 +22,30 @@
# owners, allowing more specific paths to be assigned different owners.
# Documentation
/doc/ @apearce
/doc/ @dovombru
# Moore
/doc/tutorials/developing.rst @apearce @rmatev
/doc/moore/application.rst @apearce @rmatev
/doc/tutorials/developing.rst @rmatev
/doc/moore/application.rst @rmatev
# Reconstruction
/doc/reconstruction/hlt[12].rst @mstahl @sstahl
/doc/reconstruction/hlt[12]_tracking.rst @mstahl @sstahl
/doc/reconstruction/hlt[12].rst @mstahl @cmarinbe @decianm
/doc/reconstruction/hlt[12]_tracking.rst @mstahl @decianm
/doc/tutorials/hlt1_tracking_performance.rst @peilian
/doc/tutorials/recoconf.rst @sstahl
/doc/tutorials/reconstruction.rst @sstahl
/doc/tutorials/standalone.rst @sstahl
/doc/tutorials/recoconf.rst @cmarinbe @decianm
/doc/tutorials/reconstruction.rst @cmarinbe @decianm
/doc/tutorials/standalone.rst @cmarinbe @decianm
/doc/tutorials/hltefficiencychecker.rst @rjhunter
/doc/selections/thor_functors_reference.rst @roneil
/doc/make_functor_docs.py @roneil
# Reconstruction configuration
/Hlt/RecoConf/ @sstahl
/Hlt/RecoConf/ @cmarinbe @decianm
# Calorimeter
/Hlt/RecoConf/python/RecoConf/calo*.py @cmarinbe @jmarchan @ozenaiev
/Hlt/RecoConf/tests/qmtest/*calo*.qmt @cmarinbe @jmarchan @ozenaiev
/Hlt/RecoConf/python/RecoConf/calo*.py @cmarinbe @jmarchan
/Hlt/RecoConf/tests/qmtest/*calo*.qmt @cmarinbe @jmarchan
# HLT1 and HLT2 tracking
/Hlt/RecoConf/python/RecoConf/hlt[12]_tracking.py @chasse @gunther @mstahl @sstahl
/Hlt/RecoConf/tests/qmtest/hlt2_reco_brunelesque.qmt @mstahl @sstahl
/Hlt/RecoConf/python/RecoConf/hlt[12]_tracking.py @chasse @gunther @mstahl
/Hlt/RecoConf/tests/qmtest/hlt2_reco_brunelesque.qmt @mstahl
# Muon
/Hlt/RecoConf/python/RecoConf/*muon*.py @cprouve
# RICH
......@@ -62,15 +62,15 @@
/Hlt/RecoConf/tests/qmtest/mc_cheated_pattern_recognition.qmt @ldufour
# Moore application configuration
/Hlt/Moore/ @apearce @rmatev
/Hlt/Moore/ @rmatev
# Persistency
/Hlt/Moore/python/Moore/persistence/ @apearce @jonrob @nskidmor
/Hlt/Hlt2Conf/tests/qmtest/test_hlt2_check_output.qmt @apearce @jonrob @nskidmor
/Hlt/Moore/python/Moore/persistence/ @jonrob @nskidmor
/Hlt/Hlt2Conf/tests/qmtest/test_hlt2_check_output.qmt @jonrob @nskidmor
# HLT1 configuration
# Note that most code relevant for HLT1 now lives in the Allen project
/Hlt/Hlt1Conf/ @apearce
/Hlt/Hlt1Conf/ @mvesteri @poluekt
# 1- and 2-track MVA lines
/Hlt/Hlt1Conf/python/Hlt1Conf/lines/track_mva.py @olupton
# Muon lines
......@@ -82,7 +82,7 @@
/Hlt/Hlt1Conf/tests/qmtest/test_hlt1_smog_example.qmt @samarian
# HLT2 configuration
/Hlt/Hlt2Conf/ @apearce
/Hlt/Hlt2Conf/ @mvesteri @poluekt
# B2CC
/Hlt/Hlt2Conf/python/Hlt2Conf/lines/Bs2JpsiPhi.py @egovorko
# B2OC lines
......@@ -104,6 +104,8 @@
/Hlt/Hlt2Conf/python/Hlt2Conf/lines/jets/ @amato @helder @rangel
/Hlt/Hlt2Conf/python/Hlt2Conf/lines/Jets.py @amato @helder @rangel
/Hlt/Hlt2Conf/tests/qmtest/test_hlt2_jet_lines.qmt @amato @helder @rangel
# SLB
/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/ @bldelane @jugarcia @sklaver
# Topological B
/Hlt/Hlt2Conf/python/Hlt2Conf/lines/topological_b/ @gciezare
# Rare decays
......
......@@ -17,3 +17,16 @@ gaudi_install(PYTHON)
gaudi_add_tests(pytest ${CMAKE_CURRENT_SOURCE_DIR}/python)
gaudi_add_tests(QMTest)
if(NOT Allen_FOUND)
set(allen_tests
Hlt1Conf.persistency.make_allen_tck
Hlt1Conf.persistency.assign_allen_tck
Hlt1Conf.persistency.allen_mdf_write
Hlt1Conf.persistency.mdf_read_decs_allen
Hlt1Conf.persistency.hlt2_read_hlt1_filtered_mdf
)
foreach(test_name IN LISTS allen_tests)
set_property(TEST ${test_name} PROPERTY DISABLED TRUE)
endforeach()
endif()
......@@ -9,5 +9,7 @@
# or submit itself to any jurisdiction. #
###############################################################################
from Moore import options, run_allen
from RecoConf.hlt1_allen import sequence
run_allen(options)
with sequence.bind(sequence="hlt1_pp_default"):
run_allen(options)
......@@ -16,7 +16,7 @@ the technical lines on simulated data, for which the Lumi and NoBias ODIN bits
are never set.
"""
from Moore import options, run_moore
from PyConf.application import default_raw_event, make_odin
from PyConf.application import default_raw_banks, make_odin
from PyConf.Algorithms import createODIN, ODINEmulator
from Hlt1Conf.settings import luminosity_lines, minimum_bias_lines
......@@ -24,10 +24,10 @@ LUMI_FRACTION = 0.5
NOBIAS_FRACTION = 0.25
def make_emulated_odin(make_raw=default_raw_event):
def make_emulated_odin(make_raw=default_raw_banks):
"""Return an emulated ODIN object, based on the original one."""
# Decode the original LHCb::ODIN object from the raw bank
odin = createODIN(RawEvent=make_raw(["ODIN"])).ODIN
odin = createODIN(RawBanks=make_raw(("ODIN"))).ODIN
# Emulate a new LHCb::ODIN object based on the original
emulated = ODINEmulator(
InputODINLocation=odin,
......
......@@ -30,6 +30,7 @@ from PyConf.Algorithms import (
)
from Functors import (FILTER, POD)
from Functors.utils import pack_dict
from RecoConf.core_algorithms import make_unique_id_generator
def require_all(*cuts):
......@@ -128,6 +129,7 @@ def CombineTracks(InputTracks,
configurable = candidate_configurables[(InputTracks.type, NBodies,
Backend)]
return configurable(
InputUniqueIDGenerator=make_unique_id_generator(),
InputTracks=InputTracks,
AssumedMass=str(AssumedMass),
CombinationCut=CombinationCut,
......
......@@ -14,3 +14,4 @@ from Moore import options
options.output_file = 'test_allen_hlt1_persistence_mdf_write.mdf'
options.output_type = 'MDF'
options.tck = 0x11300000
options.evt_max = 333
###############################################################################
# (c) Copyright 2020 CERN for the benefit of the LHCb Collaboration #
# (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". #
......@@ -8,15 +8,12 @@
# granted to it by virtue of its status as an Intergovernmental Organization #
# or submit itself to any jurisdiction. #
###############################################################################
import sys
from PyConf import configurable
from RecoConf.reconstruction_objects import reconstruction
from Hlt2Conf.lines.jets.algorithms import ParticleFlow
class Dummy:
def __getattr__(self, _):
raise RuntimeError("should not import Hlt2Conf from Hlt1Conf")
@configurable
def make_particleflow_for_isolation():
inprots = [
reconstruction()['ChargedProtos'],
]
return ParticleFlow(inProts=inprots)
sys.modules["Hlt2Conf"] = Dummy()
......@@ -44,7 +44,7 @@ prescaler = DeterministicPrescaler(
seq.Members = [prescaler]
hlt1_decision_ids = get_allen_hlt1_decision_ids()
setup_ann_service(hlt1_decision_ids, {})
setup_ann_service(hlt1_decision_ids, {}, {})
# Algorithm to generate the TCK
gen_tck = HltGenConfig(
......
<?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'>
<!--
(c) Copyright 2021 CERN for the benefit of the LHCb Collaboration
-->
<!--
#######################################################
# SUMMARY OF THIS TEST
# ...................
# Author: Roel Aaij, Dorothea vom Bruch
# Purpose: Verify that raw banks and goemetry binaries are dumped
# Create new reference: use script Hlt/Hlt1Conf/tests/scripts/make_ref_for_dump_for_standalone_allen.py
#######################################################
-->
<extension class="GaudiTest.GaudiExeTest" kind="test">
<argument name="program"><text>gaudirun.py</text></argument>
<argument name="args"><set>
<text>$MOOREROOT/tests/options/default_input_and_conds_hlt1.py</text>
<text>$RECOCONFROOT/options/mdf_for_standalone_Allen.py</text>
</set></argument>
<argument name="use_temp_dir"><enumeral>true</enumeral></argument>
<argument name="timeout"><integer>600</integer></argument>
<argument name="validator"><text>
import os
ref_sizes = {}
with open(os.path.expandvars('$HLT1CONFROOT/tests/refs/dump_for_standalone_allen.ref')) as ref:
for line in ref:
f, s = line.strip().split()
ref_sizes[f] = int(s)
missing = []
bad_size = []
for f, s in ref_sizes.items():
if not os.path.exists(f):
missing.append(f)
else:
size = os.stat(f).st_size
if size != s:
bad_size.append((f, size, s))
result_str = ''
if not missing and not bad_size:
result_str += 'Files and sizes match\n'
if missing:
causes.append("missing files")
result_str += 'Missing:\n\t' + '\n\t'.join(missing) + '\n'
if bad_size:
pat = "%s is %d bytes instead of %d"
causes.append("file size mismatch(es)")
result_str += ('Wrong size:\n\t'
+ '\n\t'.join([pat % e for e in bad_size]) + '\n')
result["validator.output"] = result.Quote(result_str)
countErrorLines({"FATAL":0,"ERROR":0,"WARNING":3})
</text></argument>
</extension>
......@@ -20,8 +20,6 @@ Make sure HLT1 configures and runs without errors on raw data using the
<text>$MOOREROOT/tests/options/mdf_input_and_conds.py</text>
<text>$MOOREROOT/tests/options/download_mdf_input.py</text>
<text>$HLT1CONFROOT/options/hlt1_pp_comparison.py</text>
<text>--output=pp_comparison.opts.py</text>
<text>--all-opt</text>
</set></argument>
<argument name="use_temp_dir"><enumeral>true</enumeral></argument>
<argument name="validator"><text>
......
......@@ -19,8 +19,6 @@ Make sure the default pp HLT1 configures and runs without errors on raw data
<text>$MOOREROOT/tests/options/mdf_input_and_conds.py</text>
<text>$MOOREROOT/tests/options/download_mdf_input.py</text>
<text>$HLT1CONFROOT/options/hlt1_pp_default.py</text>
<text>--output=pp_default.opts.py</text>
<text>--all-opt</text>
</set></argument>
<argument name="use_temp_dir"><enumeral>true</enumeral></argument>
<argument name="validator"><text>
......
......@@ -19,8 +19,6 @@ Make sure the track mva pp HLT1 configures and runs without errors on raw data
<text>$MOOREROOT/tests/options/mdf_input_and_conds.py</text>
<text>$MOOREROOT/tests/options/download_mdf_input.py</text>
<text>$HLT1CONFROOT/options/hlt1_pp_track_mva.py</text>
<text>--output=pp_track_mva.opts.py</text>
<text>--all-opt</text>
</set></argument>
<argument name="use_temp_dir"><enumeral>true</enumeral></argument>
<argument name="reference"><text>../refs/hlt1_pp_track_mva.ref</text></argument>
......
......@@ -28,8 +28,6 @@ mdf_write job).
<text>$MOOREROOT/tests/options/default_input_and_conds_hlt1.py</text>
<text>$HLT1CONFROOT/tests/options/hlt1_mdf_input.py</text>
<text>$HLT1CONFROOT/options/hlt1_selreports_filtering.py</text>
<text>--output=hlt1_selreports_filtering.opts.py</text>
<text>--all-opt</text>
</set></argument>
<argument name="use_temp_dir"><enumeral>true</enumeral></argument>
<argument name="validator"><text>
......
......@@ -16,6 +16,7 @@ Profile the python configuration of HLT1
<argument name="program"><text>gaudirun.py</text></argument>
<argument name="args"><set>
<text>-n</text>
<text>../options/fail_on_hlt2_imports.py</text>
<text>$PYCONFROOT/options/profile_config.py</text>
<text>$MOOREROOT/tests/options/default_input_and_conds_hlt1.py</text>
<text>$HLT1CONFROOT/options/hlt1_pp_default.py</text>
......@@ -23,7 +24,8 @@ Profile the python configuration of HLT1
<argument name="use_temp_dir"><enumeral>true</enumeral></argument>
<argument name="validator"><text>
cpu_time = float(stderr.split('\n', 1)[0].split()[-1])
if cpu_time > 20:
# 50% extra margin as importing cppyy (for odin_nobias_filter) takes time
if cpu_time > 20*1.5:
causes.append('configuration took too long, check profile')
</text></argument>
</extension>
......@@ -17,8 +17,6 @@ Make sure the HLT1 example configures and runs without errors
<argument name="args"><set>
<text>$MOOREROOT/tests/options/default_input_and_conds_hlt1_FTv6.py</text>
<text>$RECOCONFROOT/options/hlt1_dump_tracks.py</text>
<text>--output=hlt1_dump_tracks.opts.py</text>
<text>--all-opt</text>
</set></argument>
<argument name="use_temp_dir"><enumeral>true</enumeral></argument>
<argument name="validator"><text>
......
......@@ -16,8 +16,6 @@ Make sure the HLT1 example configures and runs without errors
<argument name="program"><text>gaudirun.py</text></argument>
<argument name="args"><set>
<text>$HLT1CONFROOT/options/hlt1_example.py</text>
<text>--output=hlt1_example.opts.py</text>
<text>--all-opt</text>
</set></argument>
<argument name="use_temp_dir"><enumeral>true</enumeral></argument>
<argument name="validator"><text>
......
......@@ -18,8 +18,6 @@ events as there are respective bits set by the ODIN emulator.
<argument name="args"><set>
<text>$MOOREROOT/tests/options/default_input_and_conds_hlt1.py</text>
<text>$HLT1CONFROOT/options/hlt1_lumi_minbias.py</text>
<text>--output=hlt1_lumi_minbias.opts.py</text>
<text>--all-opt</text>
</set></argument>
<argument name="use_temp_dir"><enumeral>true</enumeral></argument>
<argument name="validator"><text>
......
......@@ -16,8 +16,6 @@ Make sure the HLT1 smog example configures and runs without errors, and accepts
<argument name="program"><text>gaudirun.py</text></argument>
<argument name="args"><set>
<text>$HLT1CONFROOT/options/hlt1_smog_example.py</text>
<text>--output=hlt1_smog_example.opts.py</text>
<text>--all-opt</text>
</set></argument>
<argument name="use_temp_dir"><enumeral>true</enumeral></argument>
<argument name="validator"><text>
......