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

Inefficient OpHit vectors in optical calibration ntuples #755

Open
mvicenzi opened this issue Aug 21, 2024 · 0 comments
Open

Inefficient OpHit vectors in optical calibration ntuples #755

mvicenzi opened this issue Aug 21, 2024 · 0 comments
Labels
breaking this change will break backward compatibility in some way enhancement New feature or request

Comments

@mvicenzi
Copy link
Member

Coming from discussion in #751 .

The current optical flash trees in the calibration ntuples store vectors of the individual ophit times that constitute the flash. However, the format of these vectors is inefficient as they always store 360 values with the vector index being the channel id. Flashes never include all PMTs so the empty elements are default to zeros. Analyzers are then forced to skip them downstream.

The suggestion would be to change this behaviour by saving only non-empty Ophits in the vector.
However, an additional vector storing the channel ids and the number of ophits (size of vectors) will be needed.
This will be a breaking change for all code using the optical flash trees.

    int nhits;
    std::vector<unsigned int> m_channel_id; 
    std::vector<double> m_pmt_start_time;  
    std::vector<double> m_pmt_pe;
    ...
@mvicenzi mvicenzi added enhancement New feature or request breaking this change will break backward compatibility in some way labels Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking this change will break backward compatibility in some way enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant