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

Line-by-line/event-by-event mode #304

Open
NGoetz opened this issue Nov 7, 2024 · 1 comment
Open

Line-by-line/event-by-event mode #304

NGoetz opened this issue Nov 7, 2024 · 1 comment
Labels
enhancement New feature or request low priority Not important to do
Milestone

Comments

@NGoetz
Copy link
Member

NGoetz commented Nov 7, 2024

Following a chat with @elfnerhannah and @LucasConstantin today, this is an idea for a future improvement.
Usually, we create Storer objects which are the representation of an input file, and perform analysis on this. This allows for minimal RAM operation guaranteeing fast execution. Modern RAM allows to easily hold thousands of central ultrarelativistic AuAu events in memory. Even if this becomes to less, one can comfortably switch to an event-by-event analysis by reading single events into a Storer object iterativly.
However, the user has to do this manually. In a future improvement, for our main analysis classes, aka Flow and BulkObservables, we could offer a mode which loads single events, or even single lines the RAM and processes them (the latter, though, is a considerably more involved change). This would allow to drastically reduce RAM consumption.
This could be relevant when looking at LHC energies.

@NGoetz NGoetz added enhancement New feature or request low priority Not important to do labels Nov 7, 2024
@NGoetz NGoetz added this to the SPARKX 3.0 milestone Nov 7, 2024
@NGoetz
Copy link
Member Author

NGoetz commented Nov 12, 2024

Alternativly, for the flows we could support an event-by-event computation mode - this might be relevant for @Hendrik1704. BaseStorers could provide an iterator to the events and load them from the file on demand. A flow object could, for example for the scalar product method, keep track of the numerator and denominator and could calculate the average flow once all events have been processed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request low priority Not important to do
Projects
None yet
Development

No branches or pull requests

1 participant