Science Score: 39.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.4%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: KM3NeT
  • License: bsd-3-clause
  • Language: Julia
  • Default Branch: main
  • Size: 2.61 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Created 12 months ago · Last pushed 12 months ago
Metadata Files
Readme License Codemeta

README.md

KM3OpenOsc.jl

Stable Dev Build Status Coverage

Welcome to the KM3OpenOsc.jl repository! A Julia package for loading and exploring KM3NeT oscillations open data sets.

This package allows to build histograms corresponding to the response of the detector from a given binning definition and fill and export those histograms computing flux and oscillations properly using the weights given by the open dataset.

Documentation

Check out the Latest Documention which also includes tutorials and examples.

Installation

Julia installation

KM3OpenOsc.jl is a package written in Julia, this assumes you have a working Julia version in your machine. If you do not have Julia installed in your machine please follow the guidelines in the official Julia documentation.

KM3OpenOsc.jl installation

KM3OpenOsc.jl is not an officially registered Julia package but it's available via the KM3NeT Julia registry. To add the KM3NeT Julia registry to your local Julia registry list, follow the instructions in its README.

After that, you can add KM3OpenOsc.jl just like any other Julia package:

julia> import Pkg; Pkg.add("KM3OpenOsc")

Quickstart

julia-repl julia> using KM3OpenOsc

Quick example with KM3NeT ORCA 433 kt-y Open Data

ORCA 433 kt-y open dataset can be downloaded from the following KM3NeT Open Data Center and later unzipped to have access to the files needed. After unzipping the file into a directory, 5 files will be found including a README among them where the content of each file is carefully explained.

First we load the packages needed

julia using KM3OpenOsc using KM3io using NuFlux

Set up a couple of paths to load files from the test data

```julia

OSCFILE = "\path\to\unzipped\open\data\ORCA6433kt-yopendatav0.5.root") BINDEF = "\path\to\unzipped\open\data\bins433kt-y_v0.5.json") ```

We can now load the open data file and check its contents

julia f = KM3io.OSCFile(OSCFILE) nu = f.osc_opendata_nu data = f.osc_opendata_data

Given the file of binning definition we can create a set of histograms for reco and true fiven the datasample

julia hn = create_histograms(BINDEF) hd = create_histograms(BINDEF)

A set of oscillations parameters can be given as an argument for the get_oscillation_matrices function which computes matrices used to compute oscillations probabilities. This function uses Neurthino.jl behind the scenes

julia BF = Dict("dm_21" => 7.42e-5, #ORCA 433 kt-y standard oscillations Best Fit "dm_31" => 2.18e-3, "theta_12" => deg2rad(33.45), "theta_23" => deg2rad(45.57299599919429), "theta_13" => deg2rad(8.62), "dcp" => deg2rad(230)) U,H = get_oscillation_matrices(BF) # If no dict of parameters is provided NuFit is selected by default

The package also allows to input any Honda flux for any site. Local files may also be used, we just have to give the right path to the get_flux_dict function.

```julia NUFLUXPATH = split(Base.pathof(NuFlux), "src")[1] FLUXDATADIR = joinpath(NUFLUXPATH, "data") fluxpath = joinpath(FLUXDATA_DIR, "frj-nu-20-01-000.d") # Get flux of Honda Frejus site from NuFlux

fluxdict = getfluxdict(fluxpath) # If no flux path is provided, Honda flux at frejus site is taken by default ```

Once all the ingredients have been computed we can fill the initialized histograms. fill_response! will take care of filling all the empty histograms for true and reco quantities depending on the dataset given.

julia fill_response!(hn, nu, flux_dict, U, H; oscillations=true) # fill neutrinos ,need flux and oscillation parameters fill_response!(hd, data) # fill data, don't need to specify much We can also export the histograms to HDF5 using the export_histograms_hdf5 function:

julia export_histograms_hdf5(hn, "neutrino_histograms_from_testdata.h5") # You can easily export the filled histograms to hdf5

Additionally, the initial response file can be exported to HDF5 directly

julia h5f = build_HDF5_file("responses_to_file.h5") # Create h5 file with same structure as responses bins fill_HDF5_file!(h5f, nu, "neutrinos") # Completely export the response as a table in an hdf5 file at a given path fill_HDF5_file!(h5f, data, "data") # Completely export the response as a table in an hdf5 file at a given path close(h5f)

More detailed example

See an more detailed example notebook on how to read and plot the data here, this notebook was generated from notebooks/example_read_and_plot_open_data.jl.

License and Disclaimer

This project is licensed under the terms of the BSD 3-clause license. Be aware that KM3NeT is currently under construction and data taking and processing are still under development. The presented data have been tested to the best current standards. However, the KM3NeT collaboration gives no warranty for the re-use of the data and does not endorse any third-party scientific findings based on the use of the presented data.

Owner

  • Name: KM3NeT
  • Login: KM3NeT
  • Kind: organization

Inofficial collection of open source KM3NeT software

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "license": "https://spdx.org/licenses/BSD-3-Clause",
  "codeRepository": "https://git.km3net.de/common/KM3OpenOsc.jl",
  "dateCreated": "2025-05-13",
  "datePublished": "2025-05-13",
  "dateModified": "2025-05-13",
  "downloadUrl": "https://git.km3net.de/common/KM3OpenOsc.jl",
  "issueTracker": "https://git.km3net.de/common/KM3OpenOsc.jl/issues",
  "name": "KM3OpenOsc.jl",
  "version": "1.0.0",
  "description": "This repository contains a package developed for the histogram filling operations related to oscillations data releases for KM3NeT/ORCA",
  "applicationCategory": "Particle physics",
  "releaseNotes": "First commit in line with analysis data release.",
  "developmentStatus": "active",
  "readme": "https://git.km3net.de/common/KM3OpenOsc.jl/README.md",
  "softwareVersion": "1.0",
  "keywords": [
    "KM3NeT",
    "neutrinos",
    "oscillations"
  ],
  "programmingLanguage": [
    "Julia"
  ],
  "operatingSystem": [
    "Linux",
    "Windows"
  ],
  "softwareRequirements": [
    "Julia 1.8"
  ],
  "author": [
    {
      "@type": "Person",
      "@id": "https://orcid.org/0000-0001-8939-0639",
      "givenName": "Santiago",
      "familyName": "Peña Martínez",
      "email": "spenam@apc.in2p3.fr",
      "affiliation": {
        "@type": "Organization",
        "name": "Astroparticule et Cosmologie, Université Paris Cité"
      }
    }
  ],
  "contributor": [
    {
      "@type": "Person",
      "@id": "https://orcid.org/0000-0001-8939-0639",
      "givenName": "Santiago",
      "familyName": "Peña Martínez",
      "email": "spenam@apc.in2p3.fr",
      "affiliation": {
        "@type": "Organization",
        "name": "Astroparticule et Cosmologie, Université Paris Cité"
      }
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "@id": "https://orcid.org/0000-0001-8939-0639",
      "givenName": "Santiago",
      "familyName": "Peña Martínez",
      "email": "spenam@apc.in2p3.fr",
      "affiliation": {
        "@type": "Organization",
        "name": "Astroparticule et Cosmologie, Université Paris Cité"
      }
    }
  ]
}

GitHub Events

Total
  • Push event: 3
  • Create event: 2
Last Year
  • Push event: 3
  • Create event: 2

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 149
  • Total Committers: 3
  • Avg Commits per committer: 49.667
  • Development Distribution Score (DDS): 0.013
Past Year
  • Commits: 149
  • Committers: 3
  • Avg Commits per committer: 49.667
  • Development Distribution Score (DDS): 0.013
Top Committers
Name Email Commits
Santiago Pena Martinez s****z@k****e 147
Tamas Gal h****f@t****m 1
Jutta Schnabel j****l@k****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels