Skip to content

Error message for nr_only flag producing empty dataset #294

@jjakob03

Description

@jjakob03

When using the nr_only flag with not enough events in the root file or using only a part of the file, then the probability is quite high that not a single entry is returned. For example, the context & config could look like this:

st=cutax.contexts.xenonnt_fuse_sim_SR0v1_globalv12(simulation_config='sr0_dev')
st.set_config(
    {
        "path": "root/path/ambe_w_coincidence/",
        "file_name": "sim.root",
        "entry_stop": 20,
        "nr_only": True
    }
)

In this case, fuse dies dramatically with an unhelpful error message somewhere in the chunking:

numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
No implementation of function Function(<function argsort at 0x1471345ecee0>) found for signature:
 
 >>> argsort(array(int64, 3d, C))
 
There are 2 candidate implementations:
   - Of which 2 did not match due to:
   Overload of function 'argsort': File: numba/core/typing/npydecl.py: Line 368.
     With argument(s): '(array(int64, 3d, C))':
    No match.

During: resolving callee type: Function(<function argsort at 0x1471345ecee0>)
During: typing of call at .../fuse/fuse/common.py (30)


File ".../fuse/fuse/common.py", line 30:
def dynamic_chunking(data, scale, n_min):
    idx_sort = np.argsort(data)
    ^

It would be helpful if an empty array would raise an error suggesting to go for more events or explaining what happened instead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions