Skip to content
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

Output scheme for all hits performed in the simulation #85

Open
MoritzNeuberger opened this issue May 2, 2024 · 4 comments
Open

Output scheme for all hits performed in the simulation #85

MoritzNeuberger opened this issue May 2, 2024 · 4 comments
Assignees
Labels
output Output Schemes

Comments

@MoritzNeuberger
Copy link
Collaborator

As far as I see, the output schemes currently require a specific definition of sensitive volume.
Could we have an additional macro option to allow all hits in all volumes stored?
Is something like this already implemented?
For example, this feature would help look at the muon-induced particle showers in the rock or external parts of the experimental setup.

@MoritzNeuberger
Copy link
Collaborator Author

The summary of our discussion how I understood it:

A readout to have all the steps is not really what I/we want. Instead, having the hdf5 file organized according to accumulated detector types would be nice. E.g.

file.lh5
┣━ geds
┣━ lar
┗━ water tank

Each accumulator stores the hit from each sensitive detector type in one table. In addition to that, the detector ID would be written out. For Geds this would correspond to the detector number, for the LAr this could also be specific volumes (ULAr, ALAr inside/outside neutron moderator).

@ManuelHu
Copy link
Collaborator

At least partially, this is possible now after #95 had been merged.

For example, if I create an hdf5 output file with optical detectors (geant unfortunately cannot write lh5 Tables and uses their own format for ntuples):

default_histograms
header
hit
hit/optical
hit/optical/columns
hit/optical/det_uid
hit/optical/det_uid/entries
hit/optical/det_uid/pages
hit/optical/entries
hit/optical/evtid
hit/optical/evtid/entries
hit/optical/evtid/pages
hit/optical/forms
hit/optical/names
hit/optical/time
hit/optical/time/entries
hit/optical/time/pages
hit/optical/wavelength
hit/optical/wavelength/entries
hit/optical/wavelength/pages
hit/vertices
hit/vertices/columns
hit/vertices/entries
hit/vertices/evtid
hit/vertices/evtid/entries
hit/vertices/evtid/pages
hit/vertices/forms
hit/vertices/n_part
hit/vertices/n_part/entries
hit/vertices/n_part/pages
hit/vertices/names
hit/vertices/time
hit/vertices/time/entries
hit/vertices/time/pages
hit/vertices/xloc
hit/vertices/xloc/entries
hit/vertices/xloc/pages
hit/vertices/yloc
hit/vertices/yloc/entries
hit/vertices/yloc/pages
hit/vertices/zloc
hit/vertices/zloc/entries
hit/vertices/zloc/pages

which are essentially two flat tables hit/vertices and hit/optical.

The flat mode can be turned on with /RMG/Output/NtuplePerDetector true

@gipert
Copy link
Member

gipert commented Nov 10, 2024

@MoritzNeuberger does this solve your issue?

@gipert gipert added the output Output Schemes label Nov 10, 2024
@ManuelHu
Copy link
Collaborator

The only thing that we don't have at the moment (what Moritz has in his example above): Both water and lar would be of type scintillator in remage, so they would be in one table at the moment.

But I think addding this would be highly complex to implement in our current output model. I.e. we would need a way to "clone" the detector type and output schemes and give them custom names...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
output Output Schemes
Projects
None yet
Development

No branches or pull requests

3 participants