| ---
|
| title: CERNenv
|
| emoji: ⚛️
|
| colorFrom: blue
|
| colorTo: indigo
|
| sdk: docker
|
| suggested_hardware: cpu-basic
|
| pinned: false
|
| license: bsd-3-clause
|
| short_description: LHC particle-discovery RL environment
|
| ---
|
|
|
| # CERNenv — LHC Discovery RL Environment
|
|
|
| OpenEnv-compatible reinforcement-learning environment that simulates an
|
| LHC (Large Hadron Collider) analysis. An LLM (Large Language Model) agent
|
| configures the beam, allocates luminosity, picks a decay channel and
|
| trigger, runs reconstruction, fits an invariant-mass spectrum, estimates
|
| significance, and finally submits a structured discovery claim that is
|
| graded against a hidden ground-truth particle.
|
|
|
| The Space exposes the standard OpenEnv HTTP + WebSocket API:
|
|
|
| * `GET /health` — liveness
|
| * `GET /schema` — action / observation / state JSON schemas
|
| * `POST /reset` — start a new episode (`{ "seed": 7, "scenario": "easy_diphoton_160" }`)
|
| * `POST /step` — execute one action
|
| * `GET /state` — current `CernState`
|
| * `WS /ws` — persistent session (recommended for multi-step rollouts)
|
|
|
| ## Quickstart (Python client)
|
|
|
| ```python
|
| import asyncio
|
| from openenv.core import EnvClient
|
| from huggingface_hub import constants
|
|
|
| # replace with your space id
|
| SPACE = "YOUR_HF_USERNAME/cernenv"
|
|
|
| # (option A) connect to the running Space directly
|
| import websockets
|
| async def main():
|
| async with EnvClient.from_env(SPACE) as env: # uses websockets under the hood
|
| result = await env.reset(seed=7, scenario="easy_diphoton_160")
|
| ...
|
|
|
| asyncio.run(main())
|
| ```
|
|
|
| For training, see the companion **CERNenv Trainer** Space.
|
|
|