Skip to content

Inefficient OpHit vectors in optical calibration ntuples #755

@mvicenzi

Description

@mvicenzi

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;
    ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    breakingthis change will break backward compatibility in some wayenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions