MPGDTrackerDigi: Multi-SensitiveVolume solution for the 2D-strip read…#2177
MPGDTrackerDigi: Multi-SensitiveVolume solution for the 2D-strip read…#2177
Conversation
|
This is a solution to the missing MPGD 2D-strip hits which was identified in April. The issue was discussed at the track&vertex meeting of July, see "https://indico.bnl.gov/event/29024/contributions/110567/attachments/63655/109264/Bedfer_EPIC0724.pdf", where several solutions were proposed. In this PR, I want to implement a solution based on a splitting of the sensitive volume, see comment in "https://github.com/eic/EICrecon/blob/MultiSensitiveMPGD/src/algorithms/digi/MPGDTrackerDigi.cc". It's the only solution, of all those proposed, that I have been able to implement. I would call it a ugly solution: very complicated. But it is has the advantage of being a working one, as evidenced by the following plot of the hit-to-track association efficiency obtained from (a modified version of) the macro of Barak: This result is obtained if and only if are used:
Given that the above-mentioned conditions are not met by default, the commit will not affect the standard execution of The roadmap for the full commit, that will enable the Multi-SensitiveVolume solution:
But in any case, I would like to have a feed-back from the ePIC software community on my solution: is it satisfying enough to be committed (at least temporarily)? What kind of checks, in addition to the association efficiency shown above, should I perform? More on the hit-to-track association: When one zooms on the efficiency histogram, some imperfections show up, viz.:
|
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
|
A question to c++ experts: I did modify the source code (I take a copy of the matrix, instead of a reference) to get rid of the warning. But I'm wondering whether the warning itself is legitimate:
What do you think? |
for more information, see https://pre-commit.ci
```
/home/runner/work/EICrecon/EICrecon/src/algorithms/digi/MPGDTrackerDigi.cc:156:21: error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture]
156 | m_stripRank = [=, this](CellID vID) {
| ~~^~~~
1 error generated.
```
|
I think, the warning is a good one. In many ABIs your matrix is placed on stack and may get overwritten if you call something else before you use it. (Haven't looked at the PR yet, this needs to be compilable on CI first) |
…… (fix: iwyu) (#2180) This PR applies the include-what-you-use fixes as suggested by https://github.com/eic/EICrecon/actions/runs/19181728533. Please merge this PR into the branch `MultiSensitiveMPGD` to resolve failures in PR #2177. Auto-generated by [create-pull-request][1] [1]: https://github.com/peter-evans/create-pull-request Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
### Briefly, what does this PR introduce?
New versions of the XMLs of Barrel MPGDs and updated detector builders
to process those.
- The XMLs exist in two flavors: "_pixel" and "_2DStrip" (still digested
by a one and same detector builder).
- The "_2DStrip" flavors implement the Multi-Sensitive Volume
digitization, see PR#2177 ("eic/EICrecon#2177").
- A special
"https://github.com/eic/epic/blob/Multi-SensitiveVolume-MPGD/configurations/craterlake_tracking_2DStrip.yml"
loads the "_2DStrip" version.
- The "_pixel" flavors are _temporarily_ loaded by default, so that PR
checks can proceed even in the absence of the new version of
`MPGDTrackerDigi`.
Yet the intent is to eventually have the "_2DStrip" as the default.
### What kind of change does this PR introduce?
- [ *] New feature (see PR #2177)
### Please check if this PR fulfills the following:
- [ *] 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?
Eventually, yes.
---------
Co-authored-by: yann bedfer <bedfer@dphnpct130.extra.cea.fr>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
…… (fix: iwyu) (#2510) This PR applies the include-what-you-use fixes as suggested by https://github.com/eic/EICrecon/actions/runs/22248499460. Please merge this PR into the branch `MultiSensitiveMPGD` to resolve failures in PR #2177. Auto-generated by [create-pull-request][1] [1]: https://github.com/peter-evans/create-pull-request Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…le in most algorithms)
…rackerDigi Co-authored-by: aider (anthropic/claude-sonnet-4-20250514) <aider@aider.chat>
a4dacd5 to
3d7053b
Compare
…rror. Cosmetics. - ReEntrance: No longer extend subHits on a reEntrance path. - Cylinder edge: fix mathematics. - Log level: "critical" changed for "error" when it's not fatal. - Cosmetics: include-what-you-use fixes, string_view, "m_toleranceFactor", ...
for more information, see https://pre-commit.ci
|
I committed a few modifications, see "203e2f56".
(Note: I noticed that the source code had been changed in the mean time. But since I had been developing my own modifications and checked the changes do not affect the results, I decided to overwrite, not to have to do the checks all over again. Concerning the |
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…… (fix: iwyu) (#2541) This PR applies the include-what-you-use fixes as suggested by https://github.com/eic/EICrecon/actions/runs/22825824909. Please merge this PR into the branch `MultiSensitiveMPGD` to resolve failures in PR #2177. Auto-generated by [create-pull-request][1] [1]: https://github.com/peter-evans/create-pull-request Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
@veprbl
|
|
Hello. This is a 2000 line PR, which is the main cause of delay. A promise was made by the tracking group to provide a review, but that did not happen. Request for timelines is well justifiable, my response is that I'm planning to finish this week. |
|
Hello, A remark concerning style checks (automatic ones, this time). It's the following layout modification, in https://github.com/eic/EICrecon/blob/MultiSensitiveMPGD/src/detectors/MPGD/MPGD.cc:
=> There must be something wrong in the bot implementing this. |
|
Hello, these are good points to raise. Let me first clarify that basic coding changes like About clang-format, the benefit of having a single automatic format is that it allows to not worry about variations in style. The current setting appears to have an edge case for those factory definitions, and perhaps there is an option that we could tweak to make it work better. |
…out.
Briefly, what does this PR introduce?
A solution to the issue of MPGD hits missing in track fit raised by Barak Schmookler in "https://indico.bnl.gov/event/27589/contributions/105659/attachments/60986/104773/tracking1_040325.pdf".
What kind of change does this PR introduce?
Please check if this PR fulfills the following:
Does this PR introduce breaking changes? What changes might users need to make to their code?
Breaking changes if and only if special "-PMPGD:SiFactoryPattern" option is specified and set != 3.
Does this PR change default behavior?
Yes: slightly modified uncertainties for "OuterMPGDBarrel".