Eventbuilder#2029
Conversation
also patched eventbuilder python configuration module to load the appropriate C++ library
|
Is this ready for the review Sophie? It does not compile, with |
|
Let me check, perhaps I didnt push all the code (there was an issue with my branch due to a failed attempt to push a large data file). |
|
its likely I just didnt add the Packing package from that printout, so perhaps its an easy fix.. |
|
/run-validation |
|
The validation workflow is running here: https://github.com/LDMX-Software/ldmx-sw/actions/runs/24690604188. |
tvami
left a comment
There was a problem hiding this comment.
Thanks Sophie for this work! I've made a handful cosmetic / technical comments. It would be good to have the input you used to do some real testing. I'd likely also need to have a second read as there is quite some casting ongoing that I'm not getting yet
| from LDMX.EventBuilder import eventbuilder | ||
| import sys | ||
| p.sequence = [ | ||
| eventbuilder.from_dat_file(sys.argv[1]) |
There was a problem hiding this comment.
How big is the input you used to test it? Wonder if we can upload it to the ci-data repo
There was a problem hiding this comment.
It can be, it was too large to push, i know that but we could use it for validation still
There was a problem hiding this comment.
This is the repo I had in mind: https://github.com/LDMX-Software/ci-data
There was a problem hiding this comment.
yes, we can put something there
There was a problem hiding this comment.
what's the best way to add the .dat here. I'm guessing manual upload?
There was a problem hiding this comment.
Yeah, but what's the size? If it's too big we could consider skimming to less events
| super().__init__(instance_name, 'eventbuilder::EventBuilder', 'EventBuilder') | ||
| self.dat_file = dat_file or '' | ||
| self.output_name = output_name | ||
| self.verbose_parse = verbose_parse |
There was a problem hiding this comment.
This is not the current way to have classes, please have a look at any class now in trunk
There was a problem hiding this comment.
I think this requires a full update of the software stack (?) . Tom mentioned it. I think it might be better to do that once this is merged. Since that was my plan. Unless its more seamless than I'm assuming?
There was a problem hiding this comment.
I'm not sure what you mean by "full update of the software stack". I think you can (and should) update the implementation of this class to be in sync with the other stuff on trunk before it is merged. I am willing to help you do this if you are unsure on what to do from looking at the other python config classes on trunk.
There was a problem hiding this comment.
I just meant, if I change my syntax alone then it will probably not be correct. I need to pull the latest code or latest environment or something too (instructions might be useful, so I dont become incompatible)
There was a problem hiding this comment.
Ah sure, here is my recipe for updating to be in sync with trunk. I don't think there will be issues because I tried it locally and it worked and the CI is compiling fine and the CI uses the newest environment.
# 1. download trunk from GitHub to make sure its up to date
git switch trunk
git pull origin trunk
# 2. merge the trunk branch with yours
git switch eventbuilder
git merge trunk
# 3. there was an update to the SimCore/G4DarkBreM submodule so you'll need to also run
git submodule update
As for updating to the latest environment, you can just pull ldmx/dev:latest from within your clone of ldmx-sw.
Personally, I prefer to use git rebase instead of git merge, but the difference between those two is lost after we squash-merge the PR into trunk anyways.
There was a problem hiding this comment.
OK, let me try this later today - will let you know if I need more information
Validation ResultsSome validation samples failed! ❌
|
|
Thanks, ill look at theae tomorrow. The cose has evolved through many iterations and in three different environments hence the mismatches in ldmx style. I will correct the few points and push |
|
With regards to the plot. I checked using just a subsystem packer of Toms and the shape was the same. I need to decode for it to make any sense really. Thats the next step.... |
Co-authored-by: Tamas Vami <tamas.almos.vami@cern.ch>
Validation ResultsSome validation samples failed! ❌
|
Co-authored-by: Tamas Vami <tamas.almos.vami@cern.ch>
|
I have mostly completed the requests above (minus a few). For your casting doubts, I will try to improve things to remove implicit casting. Hopefully that helps alleviate some of the concerns. |
|
@tvami - was there anything else you needed me to fix here? My next steps are to work with detector teams to decode the events and make plots to see if they make sense (this links to what was discussed on Wednesday) |
|
I was hoping somebody else (@tomeichlersmith maybe?) would also chime in with the review before I have a second look. You finished with the casting points, right? |
tomeichlersmith
left a comment
There was a problem hiding this comment.
I have two larger thoughts and I'm choosing to not delve much deeper. Partially due to laziness, but also because I don't want to get stuck in my own perfectionist mindset. I think the better solution would be merge this (as long as it compiles on trunk) and then we can start iteratively developing it as folks use it and we test it more thoroughly.
| super().__init__(instance_name, 'eventbuilder::EventBuilder', 'EventBuilder') | ||
| self.dat_file = dat_file or '' | ||
| self.output_name = output_name | ||
| self.verbose_parse = verbose_parse |
There was a problem hiding this comment.
I'm not sure what you mean by "full update of the software stack". I think you can (and should) update the implementation of this class to be in sync with the other stuff on trunk before it is merged. I am willing to help you do this if you are unsure on what to do from looking at the other python config classes on trunk.
|
@sophiemiddleton do you need help with this? |
|
No, I just got busy in the past few weeks. I'll put some time aside to try to get this done in the coming week |
I am updating ldmx-sw, here are the details.
What are the issues that this addresses?
Check List