acts
acts copied to clipboard
refactor: Physmon in pytest
This PR proposes reimplementing the physmon workflows inside pytest, where tests are defined to run the workflows. This also allows me to define most of the extra steps, like file output comparisons and file existence checks can be orchestrated via python functions. This also allows me to provide a unified way to provide a local reference directory like
pytest -k "physmon" -v --physmon-reference-path local_references
and also to automatically update the references like
pytest -k "physmon" -v --physmon-update-references
The two can also be combined, which is nice!
Draft for now, to gather feedback before potentially adding the other workflows.
What do you think @andiwand @benjaminhuth ?
I like it! I wonder if this should ultimately also go into Examples/Python/tests
? we could either separate it by folders or mark the tests differently. at the end of the day all of these are higher level integration tests I feel like
@andiwand Ultimately, I don't think it matters from a technical standpoint, only from an organizational one.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 48.85%. Comparing base (
adccec3
) to head (795e7b2
). Report is 511 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #2575 +/- ##
==========================================
- Coverage 49.64% 48.85% -0.80%
==========================================
Files 471 483 +12
Lines 26632 28146 +1514
Branches 12237 13270 +1033
==========================================
+ Hits 13222 13750 +528
- Misses 4742 4818 +76
- Partials 8668 9578 +910
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
📊: Physics performance monitoring for 795e7b274adeb517eb31da7cecd9c79c2cc78baa
physmon summary
- ✅ CKF truth_smeared
- ✅ IVF truth_smeared
- ✅ AMVF truth_smeared
- ✅ Track Summary CKF truth_smeared
- ✅ Seeding truth_estimated
- ✅ CKF truth_estimated
- ✅ IVF truth_estimated
- ✅ AMVF truth_estimated
- ✅ Track Summary CKF truth_estimated
- ✅ Seeding seeded
- ✅ CKF seeded
- ✅ IVF seeded
- ✅ AMVF seeded
- ✅ AMVF (+grid seeder) seeded
- ✅ Track Summary CKF seeded
- ✅ Seeding orthogonal
- ✅ CKF orthogonal
- ✅ IVF orthogonal
- ✅ AMVF orthogonal
- ✅ Track Summary CKF orthogonal
- ✅ Ambisolver seeded
- ✅ Ambisolver orthogonal
- ✅ Seeding ttbar
- ✅ CKF ttbar
- ✅ Ambisolver
- ✅ Track Summary CKF ttbar
- ✅ AMVF ttbar
- ✅ AMVF (+grid seeder) ttbar
- ✅ Truth tracking (GSF)
- ✅ Truth tracking
- ✅ Particles fatras
- ✅ Particles geant4
I'll need to revisit this another time.