{"id":35176754,"url":"https://github.com/gundam-organization/gundam","last_synced_at":"2026-04-07T05:32:04.406Z","repository":{"id":38193140,"uuid":"413856648","full_name":"gundam-organization/gundam","owner":"gundam-organization","description":"GUNDAM, for Generalized and Unified Neutrino Data Analysis Methods, is a suite of applications which aims at performing various statistical analysis with different purposes and setups.","archived":false,"fork":false,"pushed_at":"2026-01-28T23:46:37.000Z","size":55082,"stargazers_count":20,"open_issues_count":24,"forks_count":15,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-01-29T14:38:45.655Z","etag":null,"topics":["likelihood","neutrino","particle-physics","physics","statistical-analysis","uncertainties"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gundam-organization.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-10-05T14:39:44.000Z","updated_at":"2026-01-26T10:36:35.000Z","dependencies_parsed_at":"2024-03-16T03:31:43.833Z","dependency_job_id":"00c589fe-26e8-4458-97a6-8b0f2bf1dfaa","html_url":"https://github.com/gundam-organization/gundam","commit_stats":null,"previous_names":[],"tags_count":61,"template":false,"template_full_name":null,"purl":"pkg:github/gundam-organization/gundam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gundam-organization%2Fgundam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gundam-organization%2Fgundam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gundam-organization%2Fgundam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gundam-organization%2Fgundam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gundam-organization","download_url":"https://codeload.github.com/gundam-organization/gundam/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gundam-organization%2Fgundam/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31501903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["likelihood","neutrino","particle-physics","physics","statistical-analysis","uncertainties"],"created_at":"2025-12-28T22:54:33.481Z","updated_at":"2026-04-07T05:32:04.356Z","avatar_url":"https://github.com/gundam-organization.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GUNDAM — 風をあつめて\n\n![GUNDAM banner](./resources/images/README/title/title.001.png)\n\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/gundam-organization/gundam/docker-image.yml)\n[![GitHub forks](https://badgen.net/github/forks/gundam-organization/gundam/)](https://github.com/gundam-organization/gundam/network/members)\n[![GitHub release](https://img.shields.io/github/release/gundam-organization/gundam.svg)](https://github.com/gundam-organization/gundam/releases/)\n[![Generic badge](https://img.shields.io/badge/Users-Example_of_inputs-GREEN.svg)](https://github.com/gundam-organization/gundam-input-tutorial)\n\nGUNDAM, standing for *Generalized and Unified Neutrino Data Analysis\nMethods*, is a suite of applications which aims at performing various\nstatistical analysis with different purposes and setups.  It has been\ndeveloped as a fork of\n[xsllhFitter](https://gitlab.com/cuddandr/xsLLhFitter), in the context of\nthe Upgrade of ND280 for the T2K neutrino experiment.  The GUNDAM source\ncode is officially available at the\n[GUNDAM-organization on GitHub](https://github.com/gundam-organization/gundam).\n\nThe applications are configurable with a set of YAML/JSON files (see the\n[configuration](./docs/configuration/TopLevel.md) documentation) so users do\nnot need to modify the code for each new study.  A lot of time and efforts\nare usually invested by various working groups to debug and optimize pieces\nof codes doing generic tasks, and GUNDAM lets that work be distributed to\nall users. As GUNDAM is designed for maximize flexibility to accommodate\nvarious physics fitting needs and makes sure that optimizations and\ndebugging benefit all analyses.\n\n## Documentation\n\nGUNDAM [User Documentation](https://gundam-organization.github.io/gundam/) is growing daily.  You can also find examples and other interesting materials under the [resources/](resources/) hierarchy in this repository.  All of the web documentation is available in the source tree under the [docs/](docs/) hierarcy in this repository (see the [index](docs/index.md).)\n\n![Dependencies banner](resources/images/README/sections/sections.001.png)\n\n## There are several requirements for building the fitter:\n\n- CMake 3.12+\n- A C++14 enabled compiler (C++17 is preferred)\n  - Recommended GCC 8+ ( GCC 5 minimum )\n  - Recommended Clang 9+ ( Clang 3.4 minimum )\n- [ROOT 6, compiled with C++14 or later](https://github.com/root-project/root)\n- [JSON for Modern C++](https://github.com/nlohmann/json)\n- [yaml-cpp](https://github.com/jbeder/yaml-cpp)\n\n![Clone \u0026 Update banner](resources/images/README/sections/sections.002.png)\n\n## Cloning and updating GUNDAM\n\nGUNDAM source code is officially available under the\n[GUNDAM-organization on GitHub](https://github.com/gundam-organization/gundam).\nTo copy the code on your computer or cluster, we recommend to use GIT.\n\n```bash\ncd $REPO_DIR\ngit clone --recurse-submodules https://github.com/gundam-organization/gundam.git\ncd gundam\n```\n\nFor GUNDAM users, it is recommended for you to check out the latest\ntagged version of this repository. A simple bash script allows you to\ncheck out the latest tagged version by tapping:\n\n```bash\n./update.sh --latest\n```\n\nNote that this command will also automatically check out the submodules\nincluded in the project. Therefore, in order to update your code when\na new release is available, simply use the same command. Note that git versions\nbefore 2.0 may have issues to checkout the correct submodules (see issue #429).  If you run the `update.sh` script without any options, it will provide a help message.  Useful variants are\n\n- `./update.sh --up` : Update to the head of the current branch.  Make sure all of the submodules are also updated.\n- `./update.sh --head` : Checkout the main branch.  Make sure all of the submodules are also updated.\n\n## Using and Building GUNDAM\n\nGUNDAM uses a standard git and cmake setup. This section will assume that you are putting your files in:\n\n- `$REPO_DIR`: the path to the folder where your git projects are stored. This guide\n  will download this repo into the subdirectory `$REPO_DIR/gundam`.\n\n- `$BUILD_DIR`: the path where the binaries are built. As for the previous variables,\n  this guide will work under `$BUILD_DIR/gundam`.\n\n- `$INSTALL_DIR`: the path where the binaries are installed and used by the shell.\n  Same here: this guide will work under `$INSTALL_DIR/gundam`.\n\n### User setup.\n\nIf GUNDAM has already been compiled and installed, the current installation\ncan be configured using\n```bash\nsource ${INSTALL_DIR}/gundam/setup.sh\n```\nThis will setup the environment for GUNDAM, including the version of ROOT\nthat was used to compile and install the project.\n\n### Development setup\n\nA setup optimized for development in a bash shell is provided with the\nGUNDAM cmake build system. This is optimized for working on several\nparallel versions (and branches) of gundam, possibly using different\ncompilers, and processors.  It keeps the installation and build directories\ninside the top level repository with machine/system specific names and\nimplicitly assumes that you will be working on (and testing) several\nbranches simultaneously.  The naming scheme is\n`gundam-${compiler}_${compiler_version}-${compiler_machine}`\n\n```bash\ncd ${REPO_DIR}/gundam\nsource ${ROOTSYS}/bin/thisroot.sh\nsource ./cmake/scripts/gundam-setup.sh\n```\nThis will define the following environment variables.\n\n- GUNDAM_ROOT   : The root directory for the repository.\n- GUNDAM_TARGET : The machine specific target for the current compilation\n\nThe local behavior can be customized by setting environment variables before sourcing the setup script.\n\n- GUNDAM_BUILD   : Force the location for the build\n- GUNDAM_INSTALL : Set the installation directory (defaults: ${GUNDAM_BUILD})\n- GUNDAM_JOBS    : Number of jobs to use during build\n- GUNDAM_CMAKE_DEFINES -- Location specific cmake arguments\n\nAfter setting up using `gundam-setup.sh`, two commands will be added to your environment\n\n- gundam-build [help] : Compile, install, configure, test GUNDAM\n- gundam-setup [extra] : Redo the environment setup. The `extra` argument is added to the `GUNDAM_TARGET` directory name.\n\nThe `gundam-build` command provides a standardized, location invariant, interface to the build system.  It can be run from any place and will recompile a new version into the gundam build directory.\n\nWhen using this type of setup, it is a good idea to clone each major version, or branch, into a separate sub-directory.  It this case, the tops of the repos will be organized something like this:\n```\n${REPO_DIR}/gundam/main/\n${REPO_DIR}/gundam/myWork/\n${REPO_DIR/gundam/lts_1.8.x/\n```\nThis allows you to easily keep and test several independent versions of GUNDAM and to compare the behavior.\n\n### Manual Shell setup\n\nGUNDAM uses a standard cmake build system, so it can be configured by hand.\n\n- `$REPO_DIR`: the path to the folder where your git projects are stored. This guide\n  will download this repo into the subdirectory `$REPO_DIR/gundam`.\n\n- `$BUILD_DIR`: the path where the binaries are built. As for the previous variables,\n  this guide will work under `$BUILD_DIR/gundam`.\n\n- `$INSTALL_DIR`: the path where the binaries are installed and used by the shell.\n  Same here: this guide will work under `$INSTALL_DIR/gundam`.\n\nAs an example, here is how I personally define those variables. This script is executed\nin the `$HOME/.bash_profile` on macOS or `$HOME/.bashrc` on Linux, as they can be used\nfor other projects as well.\n\n```bash\nexport WORK_DIR=\"$HOME/Documents/Work\"\nexport INSTALL_DIR=\"$WORK_DIR/Install/\"\nexport BUILD_DIR=\"$WORK_DIR/Build/\"\nexport REPO_DIR=\"$WORK_DIR/Repositories/\"\n```\n\nIf it's the first time you define those, don't forget to `mkdir`!\n\n```bash\nmkdir -p $INSTALL_DIR\nmkdir -p $BUILD_DIR\nmkdir -p $REPO_DIR\n```\n\n\n![Install banner](resources/images/README/sections/sections.003.png)\n\n## Specific Installation Instructions.\n\n### Compiling on macOS:\n\n[![](docs/guides/images/macOsLogo.png)](docs/guides/installOnMacOs.md)\n\n\n### Compiling on CCLyon:\n\n[![](docs/guides/images/cc_in2p3_logo.png)](docs/guides/installOnCCLyon.md)\n\n\n### Compiling on HPC:\n\n[![](docs/guides/images/hpcLogo.png)](docs/guides/installOnHpc.md)\n\n\n### Compiling on LXPLUS:\n\n[![](docs/guides/images/lxplusLogo.png)](docs/guides/installOnLXPLUS.md)\n\n\n\n![Inputs banner](resources/images/README/sections/sections.004.png)\n\n## Input examples\n\n- Official input examples: [link to repo](https://github.com/gundam-organization/gundam-input-tutorial/tree/main)\n\n\n![Developers banner](resources/images/README/sections/sections.005.png)\n\n## Development policy\n\n\n### Editing the code\n\n- The `main` branch is the official HEAD of GUNDAM.\n- Developers might make a [fork](https://github.com/gundam-organization/gundam/fork) of the `main` branch on their own GitHub account.\n- Development should happen in a dedicated branch with a descriptive name of\n  the feature you are developing. We recommend to tag your branches this way:\n  - `fix/myFix`: for addressing specific issues with the code.\n  - `feature/myFeature`: for adding specific feature.\n  - `doc/myDoc`: for documentation additions.\n  - `experimental/myBranch`: for your own implementation tests.  Note\n      experimental branch should not be merged into `main`, so you are free\n      to commit and implement whatever you want in those branches.  Those\n      are just placeholders for you to identify which `feature` should be\n      implemented.  After you figure out a fancy new idea, create a\n      `feature` branch and cherry-pick the required changes.\n- Commit messages must be explicit.\n- Commit content must contain a few modifications to the code.\n- Make your `feature` and `fix` branches short-lived with one new feature\n  or fix per branch.  Fix branches should reference a specific issue that\n  has been documented on by the gundam [issue\n  tracker](https://github.com/gundam-organization/gundam/issues)\n\n### Merging to the official repository\n\n- First of all, create a dedicated entry on the [Issue tracking page](https://github.com/gundam-organization/gundam/issues).\n- Create a pull request (PR) of the branch from your fork into `main`.\n- Copy-paste the associated issue link in the comment section of the PR.\n- All the CI tests must be successful before merging.\n\n\n## License and rights\n\n- Usage of the code is regulated by the code license.\n- Sharing of the code is regulated by the code [license](./LICENCE). Files\n  without a specific license are shared under LGPL 2.1, but certain files\n  may have other compatible licenses (e.g. MIT).\n- The name GUNDAM is not protected by copyright law. The name is associated\n  with several registered trademarks globally, however these trademarks are\n  associated with goods such as clothing, toys, and video games. Therefore\n  we do not believe that use of the name GUNDAM as an acronym for\n  Generalized and Unified Neutrino Data Analysis Methods could reasonably\n  be confused with those trademarks. Therefore use of the name GUNDAM does\n  not in this case, we believe, constitute trademark infringement based on\n  the regulations.\n\n![Lineage \u0026 Legacy banner](resources/images/README/sections/sections.006.png)\n\nGUNDAM was born as a fork of the *xsllhFitter* project which was developed\nand used by the cross-section working group of T2K. The original project\ncan be found on *gitlab*:\n[https://gitlab.com/cuddandr/xsLLhFitter](https://gitlab.com/cuddandr/xsLLhFitter).\n\nGUNDAM was originally developed as a fitter to perform near detector fits\nfor the T2K oscillation analysis, and provided an expandable base on which\nstudies of the *Upgraded ND280 Detectors* were performed.  It was later\nexpanded adopted for use in T2K ND280 cross section analyses.  It's\nlineage includes strong influences from the xsllhFitter, as well as the T2K\nBANFF near detector beam and neutrino flux fitter.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgundam-organization%2Fgundam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgundam-organization%2Fgundam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgundam-organization%2Fgundam/lists"}