Add reproductions/adaptations of the Run 2 Hlt2 Jet lines
Add Hlt2 lines that reproduce the Run 2 jet lines (Hlt2Lines/Jets
).
The implementation uses the pre-functionalized HltParticleFlow
and HltJetBuilder
algorithms and defines specialized wrappers for them.
The Run 2 jet lines rely on 2-body combinations that are intermediate products of the Topo
lines. These combinations are used as secondary vertexes to tag the jets. In order to reproduce this functionality, the new jet line module contains code to perform its own reconstruction of these 2-body combinations.
The Run 2 2-body Topo combinations include V0s that are reconstructed as Hlt2 standard particles. This branch incorporates !220 (closed) in order to obtain V0s in the new framework.
This branch is a cleaned-up version of the work in the spradlin-Hlt2JetsJetLowPt
branch, https://gitlab.cern.ch/lhcb/Moore/tree/spradlin-Hlt2JetsJetLowPt, with a simplified change history. It supercedes the spradlin-Hlt2JetsJetLowPt
branch.
This is the product of work begun by @amato and @spradlin at the July Hackathon.
Merge request reports
Activity
added ~1661 hlt2 ~21940 labels
- [2019-09-06 00:12] Automatic merge failed in lhcb-sanitizers#362
- [2019-09-06 00:13] Automatic merge failed in lhcb-head#2358
- [2019-09-06 00:15] Automatic merge failed in lhcb-tdr-test#664
- [2019-09-06 00:15] Automatic merge failed in lhcb-lcg-dev3#1011
- [2019-09-06 00:15] Automatic merge failed in lhcb-lcg-dev4#1020
- [2019-09-06 00:17] Automatic merge failed in lhcb-gaudi-head#2376
- [2019-09-07 00:12] Validation started with lhcb-sanitizers#363
- [2019-09-07 00:12] Validation started with lhcb-head#2359
- [2019-09-07 00:13] Validation started with lhcb-tdr-test#665
- [2019-09-07 00:13] Validation started with lhcb-lcg-dev3#1012
- [2019-09-07 00:14] Validation started with lhcb-lcg-dev4#1021
- [2019-09-07 00:14] Validation started with lhcb-gaudi-head#2377
- [2019-09-08 00:11] Validation started with lhcb-sanitizers#364
- [2019-09-08 00:13] Validation started with lhcb-lcg-dev3#1013
- [2019-09-08 00:14] Validation started with lhcb-head#2360
- [2019-09-08 00:14] Validation started with lhcb-gaudi-head#2378
- [2019-09-08 00:16] Validation started with lhcb-lcg-dev4#1022
- [2019-09-08 00:18] Validation started with lhcb-tdr-test#666
- [2019-09-09 00:11] Validation started with lhcb-sanitizers#365
- [2019-09-09 00:11] Validation started with lhcb-lcg-dev4#1023
- [2019-09-09 00:12] Validation started with lhcb-gaudi-head#2379
- [2019-09-09 00:14] Validation started with lhcb-lcg-dev3#1014
- [2019-09-09 00:14] Validation started with lhcb-head#2361
- [2019-09-09 00:16] Validation started with lhcb-tdr-test#667
- [2019-09-09 18:52] Validation started with lhcb-gaudi-merge#815
- [2019-09-10 00:12] Validation started with lhcb-lcg-dev3#1015
- [2019-09-10 00:12] Validation started with lhcb-gaudi-head#2380
- [2019-09-10 00:12] Validation started with lhcb-head#2362
- [2019-09-10 00:13] Validation started with lhcb-sanitizers#366
- [2019-09-10 00:14] Validation started with lhcb-lcg-dev4#1024
- [2019-09-10 00:14] Validation started with lhcb-tdr-test#668
- [2019-09-10 09:24] Validation started with lhcb-gaudi-head#2381
- [2019-09-10 11:33] Validation started with lhcb-lcg-dev4#1025
- [2019-09-10 11:37] Validation started with lhcb-lcg-dev3#1016
- [2019-09-10 16:08] Validation started with lhcb-lcg-dev4#1026
- [2019-09-10 16:24] Validation started with lhcb-gaudi-head#2262
- [2019-09-11 00:10] Validation started with lhcb-sanitizers#367
- [2019-09-11 00:11] Validation started with lhcb-lcg-dev4#1027
- [2019-09-11 00:11] Validation started with lhcb-lcg-dev3#1017
- [2019-09-11 00:15] Validation started with lhcb-head#2363
- [2019-09-11 00:17] Validation started with lhcb-gaudi-head#2382
- [2019-09-11 00:21] Validation started with lhcb-tdr-test#669
- [2019-09-11 15:15] Validation started with lhcb-gaudi-merge#816
- [2019-09-11 16:40] Validation started with lhcb-gaudi-head#2263
- [2019-09-12 00:11] Validation started with lhcb-sanitizers#368
- [2019-09-12 00:11] Validation started with lhcb-lcg-dev4#1028
- [2019-09-12 00:11] Validation started with lhcb-lcg-dev3#1018
- [2019-09-12 00:14] Validation started with lhcb-head#2364
- [2019-09-12 00:14] Validation started with lhcb-gaudi-head#2383
- [2019-09-12 00:17] Validation started with lhcb-tdr-test#670
- [2019-09-12 12:33] Validation started with lhcb-tdr-test#671
- [2019-09-13 00:09] Validation started with lhcb-sanitizers#369
- [2019-09-13 00:11] Validation started with lhcb-lcg-dev4#1029
- [2019-09-13 00:11] Validation started with lhcb-lcg-dev3#1019
- [2019-09-13 00:13] Validation started with lhcb-gaudi-head#2384
- [2019-09-13 00:14] Validation started with lhcb-head#2365
- [2019-09-13 00:15] Validation started with lhcb-tdr-test#672
- [2019-09-14 00:10] Validation started with lhcb-sanitizers#370
- [2019-09-14 00:12] Validation started with lhcb-lcg-dev3#1020
- [2019-09-14 00:12] Validation started with lhcb-lcg-dev4#1030
- [2019-09-14 00:15] Validation started with lhcb-gaudi-head#2385
- [2019-09-14 00:16] Validation started with lhcb-tdr-test#673
- [2019-09-14 00:17] Validation started with lhcb-head#2366
- [2019-09-14 00:42] Validation started with lhcb-lcg-dev4#1030
- [2019-09-15 00:09] Validation started with lhcb-sanitizers#371
- [2019-09-15 00:09] Validation started with lhcb-gaudi-head#2386
- [2019-09-15 00:10] Validation started with lhcb-head#2367
- [2019-09-15 00:11] Validation started with lhcb-lcg-dev4#1031
- [2019-09-15 00:15] Validation started with lhcb-lcg-dev3#1021
- [2019-09-15 00:16] Validation started with lhcb-tdr-test#674
- [2019-09-16 00:10] Validation started with lhcb-sanitizers#372
- [2019-09-16 00:11] Validation started with lhcb-lcg-dev4#1032
- [2019-09-16 00:11] Validation started with lhcb-lcg-dev3#1022
- [2019-09-16 00:13] Validation started with lhcb-gaudi-head#2387
- [2019-09-16 00:15] Validation started with lhcb-tdr-test#675
- [2019-09-16 00:17] Validation started with lhcb-head#2368
- [2019-09-16 12:51] Validation started with lhcb-gaudi-head#2265
- [2019-09-17 00:10] Validation started with lhcb-sanitizers#373
- [2019-09-17 00:12] Validation started with lhcb-lcg-dev4#1033
- [2019-09-17 00:12] Validation started with lhcb-lcg-dev3#1023
- [2019-09-17 00:14] Validation started with lhcb-gaudi-head#2388
- [2019-09-17 00:14] Validation started with lhcb-head#2369
- [2019-09-17 00:15] Validation started with lhcb-tdr-test#676
- [2019-09-18 00:10] Validation started with lhcb-sanitizers#374
- [2019-09-18 00:12] Validation started with lhcb-lcg-dev3#1024
- [2019-09-18 00:12] Validation started with lhcb-lcg-dev4#1034
- [2019-09-18 00:13] Validation started with lhcb-head#2370
- [2019-09-18 00:14] Validation started with lhcb-gaudi-head#2389
- [2019-09-18 00:15] Validation started with lhcb-tdr-test#677
- [2019-09-18 15:54] Validation started with lhcb-gaudi-merge#817
- [2019-09-18 16:08] Validation started with lhcb-gaudi-merge#817
- [2019-09-18 16:21] Validation started with lhcb-gaudi-merge#817
- [2019-09-18 17:14] Validation started with lhcb-gaudi-merge#818
- [2019-09-19 00:11] Validation started with lhcb-sanitizers#375
- [2019-09-19 00:11] Validation started with lhcb-lcg-dev4#1035
- [2019-09-19 00:11] Validation started with lhcb-lcg-dev3#1025
- [2019-09-19 00:15] Validation started with lhcb-gaudi-head#2390
- [2019-09-19 00:16] Validation started with lhcb-head#2371
- [2019-09-19 00:20] Validation started with lhcb-tdr-test#678
- [2019-09-19 09:13] Validation started with lhcb-gaudi-merge#819
- [2019-09-19 13:16] Validation started with lhcb-gaudi-merge#820
- [2019-09-19 13:32] Validation started with lhcb-gaudi-head#2391
- [2019-09-19 15:36] Validation started with lhcb-gaudi-merge#821
- [2019-09-19 16:04] Validation started with lhcb-gaudi-merge#822
- [2019-09-19 18:09] Validation started with lhcb-gaudi-merge#823
- [2019-09-20 00:09] Validation started with lhcb-sanitizers#376
- [2019-09-20 00:12] Validation started with lhcb-lcg-dev4#1036
- [2019-09-20 00:13] Validation started with lhcb-lcg-dev3#1026
- [2019-09-20 00:15] Validation started with lhcb-tdr-test#679
- [2019-09-20 00:16] Validation started with lhcb-gaudi-head#2392
- [2019-09-20 00:17] Validation started with lhcb-head#2372
- [2019-09-20 09:43] Validation started with lhcb-gaudi-merge#824
Edited by Software for LHCbadded 1 commit
- e3132656 - Try to resolve automatic merge conflicts in Hlt2Conf/lines/__init__.py
- Resolved by Patrick Spradlin
- Resolved by Patrick Spradlin
- Resolved by Alex Pearce
Thanks a lot for this, really nice to see!
We'll get around to reviewing this soon I hope, but before then could you please confirm that we can close !220 (closed)? I'm happy to have the commits there included here.
added 1 commit
- 9bfda07f - Update to try to conform to argument conventions.
mentioned in merge request !216 (merged)
mentioned in merge request !220 (closed)
- Resolved by Patrick Spradlin
There was one test in the most recent nightly that failed due to this MR. The test was added in !216 (merged) (so you won't have seen it running the tests on your branch; the nightlies merge all non-WIP MRs before running), and checks that all makers in
standard_particles
can be instantiated and produce some objects.What I'd like to discuss here is whether the test is wrong or if it's this MR; I'm leaning towards the former
The test finds 'standard particle makers' by grabbing all functions defined in
standard_particles
that begin withmake_
. It then instantiates each one by calling it with no argument, and this is where the test fails: there are several makers introduced in this MR with positional (required) arguments.As I saw it when I wrote the test, the
make_
functions instandard_particles
define the 'interface' for users. If you want a kaon, you domake_kaons()
or whatever variant you need. As these are 'standard' all behaviour should be specified by defaults, in a similar manner to outputs of the reconstruction (e.g.make_pvs
). This MR breaks that interface idea......but the way the standard particle creation has been split up here makes a lot of sense! Especially when you have a utility function that can be used, for example, to make either
K_{\text{S}}
or\Lambda^{0}
; there are no defaults in this case, so you need positional arguments (e.g. for the decay descriptor).Summary
Given all that, I think the 'internal building blocks' in
standard_particles
should be prefixed with an underscore, e.g._make_V0LL
. The 'exposed' makers, beginning withmake_
, are the ones users should use and the ones picked up by the tests, and these should be instantiable without positional arguments.What do you think @spradlin? We're coming up with these conventions on-the-fly, so I'm happy to go in a different direction. The only important thing is that we test the 'standard particle makers' somehow (so maybe we re-write the test).
- [2019-09-21 00:07] Validation started with lhcb-sanitizers#377
- [2019-09-21 00:09] Validation started with lhcb-lcg-dev4#1037
- [2019-09-21 00:12] Validation started with lhcb-lcg-dev3#1027
- [2019-09-21 00:15] Validation started with lhcb-tdr-test#680
- [2019-09-21 00:15] Validation started with lhcb-head#2373
- [2019-09-21 00:17] Validation started with lhcb-gaudi-head#2393
Edited by Software for LHCb- Resolved by Alex Pearce
Thanks for the updates!
I think this MR is causing the failures in the nightlies. Let's WIP for now, and @spradlin please rebase on master and run the test suite. If you can't reproduce the nightly problems then we'll look elsewhere.
edit: the tests passed the following day after WIP-ing this.
Edited by Alex Pearce
mentioned in merge request !237 (merged)
added 25 commits
-
f5708b09...3439b72e - 15 commits from branch
master
- 0999bab0 - Added copies of the 2018 shared V0s to the Hlt2 standard_particles
- cb34275d - Clean commit of adaptation of the Run 2 Hlt2 Jet lines developed on the...
- 899cab48 - Removed function/makers as default arguments (ref....
- e413d678 - Try to resolve automatic merge conflicts in Hlt2Conf/lines/__init__.py
- 6099b395 - Update to try to conform to argument conventions.
- 7944f3f5 - Updated internal intermediate V0 maker names in standard_particles.
- 0bdd25c3 - Updated more internal intermediate V0 maker names in standard_particles.
- 0835ac1d - Cleanup minor errors introduced in last commit.
- b2615b06 - Updated Hlt2Conf.test_hlt2_standard_particles.qmt to recognize some features...
- fbd82667 - Added CaloCluster unpackers to data_from_file.
Toggle commit list-
f5708b09...3439b72e - 15 commits from branch
Just FYI that with !233 (merged) the format of options files has changed a bit, so you might have some conflicts rebasing on master. We can help with that if needed.
mentioned in issue #84 (closed)
added 42 commits
-
fbd82667...24c6a277 - 32 commits from branch
master
- 3fe97409 - Added copies of the 2018 shared V0s to the Hlt2 standard_particles
- 439c23df - Clean commit of adaptation of the Run 2 Hlt2 Jet lines developed on the...
- f5fd0b3f - Removed function/makers as default arguments (ref....
- 7d07f021 - Update to try to conform to argument conventions.
- 7f12a68d - Updated internal intermediate V0 maker names in standard_particles.
- 8c27adec - Updated more internal intermediate V0 maker names in standard_particles.
- 2423d2f0 - Cleanup minor errors introduced in last commit.
- ef19632c - Updated Hlt2Conf.test_hlt2_standard_particles.qmt to recognize some features...
- aedecb27 - Update for compatibility with current master.
- 99f6bcd4 - Disable neutral protoparticle input; minor tweak to V0 cuts.
Toggle commit list-
fbd82667...24c6a277 - 32 commits from branch