Skip to content

Inefficient OpHit vectors in optical calibration ntuples #755

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