Commit 916c65a
feat: add Truthiness datatype for Monte Carlo comparisons (#128)
### Briefly, what does this PR introduce?
This PR adds a datatype to record the
"[truthiness](https://en.wikipedia.org/wiki/Truthiness)" (as
mathematically defined...) for a reconstructed event; where truthiness
is the "quality of seeming or being felt to be true, even if not
necessarily true," or in this case also "the amount of confidently
proclaiming the wrong thing to be true."
Mathematically, truthiness is a non-negative value that is zero only for
perfectly reconstructed events (positive-definite), and is radially
increasing in the error of the reconstruction (greater error leads to
greater truthiness).
It is possible to define truthiness in multiple ways, but we will
typically use some combination of the following components:
- a χ<sup>2</sup> measure on associated reconstructed and generated
particles, with normalization given by the determined uncertainty in the
reconstruction (if available) or 1 GeV otherwise,
- a positive penalty term for discrete reconstruction errors, such as
PID mis-identification (where weighting can be used to penalize some
mis-identification more than others),
- a positive penalty term for generated particles that should have been
reconstructed, but weren't,
- a positive penalty term for reconstructed particles that were not part
of the original event record.
There are non-reconstruction reasons why the truthiness will be non-zero
in realistic scenarios:
- multiple-scattering effects will cause the event to lose momentum
starting from the true value, deviating both in direction and magnitude
in a consistent direction,
- secondary particles will be generated in materials or along bent
trajectories, leading to additional reconstructed particles
corresponding to e.g. hard bremsstrahlung gammas in the electromagnetic
calorimeters,
- primary particles (in particular are low energies) may be absorbed in
support structures, leading to their absence in the reconstructed event.
Nevertheless, the decrease of the overall average event truthiness for
the same geometry and input hit collections is intended to indicate an
improved reconstruction, and converse.
### What kind of change does this PR introduce?
- [ ] Bug fix (issue #__)
- [x] New feature (issue: store truthiness for event reconstruction)
- [ ] Documentation update
- [ ] Other: __
### Please check if this PR fulfills the following:
- [ ] Tests for the changes have been added
- [ ] Documentation has been added / updated
- [ ] Changes have been communicated to collaborators
### Does this PR introduce breaking changes? What changes might users
need to make to their code?
No.
### Does this PR change default behavior?
No.
---------
Co-authored-by: Dmitry Kalinkin <[email protected]>
Co-authored-by: Markus Diefenthaler <[email protected]>1 parent e10b7c5 commit 916c65a
2 files changed
+31
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
200 | 200 | | |
201 | 201 | | |
202 | 202 | | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
203 | 210 | | |
204 | 211 | | |
205 | 212 | | |
| |||
540 | 547 | | |
541 | 548 | | |
542 | 549 | | |
543 | | - | |
| 550 | + | |
544 | 551 | | |
545 | 552 | | |
546 | 553 | | |
| |||
623 | 630 | | |
624 | 631 | | |
625 | 632 | | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
626 | 654 | | |
627 | 655 | | |
628 | 656 | | |
| |||
0 commit comments