-
Notifications
You must be signed in to change notification settings - Fork 34
MPGDTrackerDigi: Multi-SensitiveVolume solution for the 2D-strip read… #2177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
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) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clang-Tidy found issue(s) with the introduced code (1/2)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clang-Tidy found issue(s) with the introduced code (2/2)
…… (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>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clang-Tidy found issue(s) with the introduced code (1/1)
for more information, see https://pre-commit.ci
No Clang-Tidy warnings found so I assume my comments were addressed
I have committed a more modular version of the code. The complication involved in the construction of hits out of the elementary sensitive volumes is still there. But it's now moved to subprocesses, while the layout of the main process (that I am going to expand in a future commit, by introducing multi-hit clusters) is kept simple.
I also made a move into that direction: MPGDTrackerDigi now checks that the segmentation of the MPGDs is appropriate and throws an exception if not, e.g. when a pixel-like segmentation. |
…… (fix: iwyu) (#2199) This PR applies the include-what-you-use fixes as suggested by https://github.com/eic/EICrecon/actions/runs/19599402189. 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>
|
Would anybody know how to fix the failing check? Error message is the following: |
This container config issue has since been fixed. Successfully retriggered at https://github.com/eic/EICrecon/actions/runs/19600651386/job/56163648693. |
|
Hello, My plan is to next have:
To keep on fulfilling this plan, I need the approval of the present PR. |
This is a very large PR and my backlog is significant. I'll try to look. If you have anyone from tracking group check your changes that would be a good help. All in all, we may want to schedule a meeting to discuss this. Would you be available for reco meeting slot 11AM EST Monday Dec 1st?
Please use a consistent prefix
This is fine.
The energy cut should be zero in npsim, which is the recommended tool that is used for the productions. |
Yes. |
…nd cosmetics...) - Constant "<detector>_2DStrip" is expected to be defined in XML file. - If successfully queried and its value turns out !=0, "MPGDTrackerDigi" becomes default.
for more information, see https://pre-commit.ci
|
Hello, I am doing this in order to speed up the overall PR procedure (which already includes an The new feature is to take advantage of a reshuffling of the MPGDs in
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clang-Tidy found issue(s) with the introduced code (1/1)
for more information, see https://pre-commit.ci
…… (fix: iwyu) (#2204) This PR applies the include-what-you-use fixes as suggested by https://github.com/eic/EICrecon/actions/runs/19710271095. 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>
No Clang-Tidy warnings found so I assume my comments were addressed
…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?
No.