-
Notifications
You must be signed in to change notification settings - Fork 99
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
Persist hepmc vertex status code into output. #1199
Comments
Hi @simonge Some kind of example (just the lines or a hepmc3 file) would be helpful. |
Hi @andresailer, This is a relatively simple example where a low-Q2 physics reaction is given the status code 1 and Bremsstrahlung vertices have status code 2. (I have stripped it down a bit for clarity)
In Geant4EventReaderHepMC.cpp L502 the "status code" is read in as dummy. Thanks! |
HI @simonge Thanks! Don't look at the Geant4EventReaderHepMC, that is not fully working. You really want to build against HepMC3 and look at https://github.com/AIDASoft/DD4hep/blob/master/DDG4/hepmc/HepMC3EventReader.cpp |
This was brought up in today's key4hep meeting, and the main limitation here is that the MCParticle data type in EDM4hep does not have any field for storing the vertex ID. As far as I can tell, it is the only field in the HepMC3 input event records that cannot be mapped onto MCParticle cleanly. Reading |
Could some of the free bits in the Edit: Looking at the edm4hep.yaml file it looks like there is no reserved bits yet in |
That was our idea: to reuse some unused bits. Nothing immediately obvious jumps out. The alternative (which would solve some other requests we've had over the past years, and was also included in the original issue by Simon) is to add a |
These are the bits avaible in the I think the |
I was hesitant to suggest |
If statements like |
One issue for genStatus is that people might select in ROOT tree based analysis on that number, where using a bitfield encoder is non-trivial? |
Would it be relatively straightforward to implement this as an option (default off), or is that suboptimal because of the additional config and code paths required and a different class of errors? |
To add my 2 cents: in LCIO and therefore also in EDM4hep we are using the |
Hepmc3 vertices contain a status code which there currently appears no way to keep to the DD4hep output (edm4hep).
We are wanting to use hepmc events which will contain several vertices coming from different processes/generators. To keep track of the process responsible for a vertex the hepmc3 status code can be used, but once the simulation is run this information is lost.
Potential solutions we have considered:
Any other suggestions or help would be appreciated.
The text was updated successfully, but these errors were encountered: