-
Notifications
You must be signed in to change notification settings - Fork 82
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
Introduce SurfaceStep #1300
Introduce SurfaceStep #1300
Conversation
Hi @brownd1978,
which require these tests: build. @Mu2e/write, @Mu2e/fnalbuild-users have access to CI actions on main. ⌛ The following tests have been triggered for 680a6ef: build (Build queue has 1 jobs) |
☀️ The build tests passed at 680a6ef.
N.B. These results were obtained from a build of this Pull Request at 680a6ef after being merged into the base branch at cecf5be. For more information, please check the job page here. |
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.
- "surface" would be more clear as "material" or "volume"
- split SurfaceId from enum
- SurfaceId::index could be named more clearly and commented
- fix include guards in SurfaceId
- print looks fine
Note too SurfaceId pre-exists this PR by over a year, this PR simply moves it. |
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.
I saw comment a comment in the conversation (or an issue?) that explains that index class distinguishes items with multiple placements, such as the target foils. I don't see it explained in any of the code files. Did I miss it? If not, please add a comment to SurfaceId.hh . Also, are there other entities that have multiple indices?
MCDataProducts/inc/SurfaceStep.hh
Outdated
typedef std::vector<SurfaceStep> SurfaceStepCollection; | ||
typedef art::Assns<SurfaceStep,StepPointMC> SurfaceStepAssns; | ||
|
||
inline std::ostream& operator<<( std::ostream& ost, SurfaceStep const& ss){ |
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.
I know that I started this incorrectly a long time ago. I recommend that the declartion go here and the implementation in the .cc file.
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.
Thanks for making the changes.
@sdifalco a gentle reminder that this PR is on your to-review list. |
@FNALbuild run build test |
⌛ The following tests have been triggered for 491ff6c: build (Build queue has 1 jobs) |
☔ The build tests failed for 491ff6c.
N.B. These results were obtained from a build of this Pull Request at 491ff6c after being merged into the base branch at 616f60b. For more information, please check the job page here. |
Needs to test with a Production PR @FNALbuild run build test with Mu2e/Production#329 |
⌛ The following tests have been triggered for 491ff6c: build (Build queue has 1 jobs) |
☀️ The build tests passed at 491ff6c.
N.B. These results were obtained from a build of this Pull Request at 491ff6c after being merged into the base branch at 616f60b. For more information, please check the job page here. |
AFAIK I've addressed all comments and have no further plans to work on this. Stefano was added as reviewer just to keep him in the loop. |
📝 The HEAD of |
Sorry but I am been (and still am) very busy with funding requests to INFN in these days. Thanks for taking me in the loop. I will approve what you have already commented. Thanks Ed for the nice job! |
In that case it's ready to merge. Do you expect this to have impact on the nightly validation? The STM PR that I merged earlier does modify the G4 geometry but only in the STM region. |
I will go ahead and merge now under the assumption that if there are issues to sort out with the nightly, we can do it tomoorow |
SurfaceStep is a new MC truth class that functions like StrawGasStep, CaloShowerStep, etc, but for passive materials and virtual detectors. It uses the SurfaceId class to define the surfaces, and summarizes the information contained in contiguous StepPointMC objects. This greatly reduced the payload and renders the output information more useful for physics studies, and insulates the results from the details of the G4 stepping parameters. This PR introduces the class itself plus producer, diag module, printer, and default production configuration.
Note that SurfaceId was moved to DataProducts (from RecoDataProducts and KinKalGeom) to allow this to work. It's fine, as the surface concept isn't specific to reco or mc.