Skip to the content.

RooAgent

DOI PyPI Package latest release arXiv License: MIT Website

Author: Aman Desai

Talk to ROOT in plain English. RooAgent lets you run HEP analyses — histograms, event selection, fitting, significance scans — by typing what you want rather than writing code.

Under the hood, an LLM reads your prompt, picks the right analysis tool, fills in the arguments, and calls PyROOT. You get the result; ROOT does the work.

Two ways to use it:

Quick start

Install from PyPI:

pip install rooagent

Or from source:

git clone https://github.com/amanmdesai/RooAgent.git
cd RooAgent
pip install .

pip install . installs everything needed for both modes — no extras.

Operating modes

Claude / Anthropic (default)

Pick a provider via LLM_PROVIDER and set its key env var:

LLM_PROVIDER Key env var MODEL default
anthropic (default) ANTHROPIC_API_KEY claude-sonnet-5
openai OPENAI_API_KEY gpt-5.5

ROOAGENT_SEED (optional) sets the sampling seed. Default: 7.

export LLM_PROVIDER=anthropic   # default, can omit
export ANTHROPIC_API_KEY="..."
export MODEL=claude-sonnet-5    # optional override
export ROOAGENT_SEED=7          # optional sampling seed

To use OpenAI instead:

export LLM_PROVIDER=openai
export OPENAI_API_KEY="sk-..."

Claude CLI via MCP

git clone https://github.com/amanmdesai/RooAgent.git
cd RooAgent
pip install .
claude mcp add rooagent -- rooagent-mcp

Then navigate to your ROOT files and start Claude:

cd /path/to/your/root/files
claude

Codex CLI via MCP

git clone https://github.com/amanmdesai/RooAgent.git
cd RooAgent
pip install .

# Load ROOT first, replacing this path with your ROOT installation.
source /path/to/root/bin/thisroot.sh

ROOT_LIBDIR="$(root-config --libdir)"

codex mcp add rooagent \
  --env ROOTSYS="$ROOTSYS" \
  --env PATH="$ROOTSYS/bin:$PATH" \
  --env LD_LIBRARY_PATH="$ROOT_LIBDIR:${LD_LIBRARY_PATH:-}" \
  --env PYTHONPATH="$ROOT_LIBDIR:${PYTHONPATH:-}" \
  -- rooagent-mcp
  

If you previously registered RooAgent before loading ROOT, remove and re-add it:

codex mcp remove rooagent

What it can do

Requirements

Dependencies

pandas, numpy, scipy, matplotlib, mcp[cli], typing_extensions, langchain-core, langgraph, langchain-anthropic, langchain-openai

How to cite

If you use RooAgent in your work, please cite:

@article{Desai:2026nmx,
    author = "Desai, Aman",
    title = "{RooAgent: An LLM Agent for Root-Based High Energy Physics Analysis}",
    eprint = "2605.17318",
    archivePrefix = "arXiv",
    primaryClass = "hep-ph",
    month = "5",
    year = "2026"
}