Use when creating ATLAS publication-quality plots with the official ATLAS ROOT style macros (atlasrootstyle), applying SetAtlasStyle, placing ATLAS labels (Internal, Preliminary, Simulation), using ATLASLabel or myText helper functions, or following ATLAS publication plotting conventions in ROOT or PyROOT.
EnglishUse when visualizing ATLAS detector events with the Atlantis event display: launching the Atlantis GUI, opening JiveXML event files, producing JiveXML output from Athena reconstruction, or troubleshooting Java runtime issues in containerized environments.
EnglishUse when working with jagged or variable-length arrays in Python HEP analysis: building event records with ak.zip, filtering nested arrays, computing combinatorics (cartesian products or combinations), flattening ragged arrays, using argmin/argmax with keepdims, broadcasting per-event weights to per-object, or debugging OptionType/None-padding issues in Awkward 2.x workflows.
EnglishUse when building an ATLAS statistical analysis with cabinetry: writing a cabinetry config file, building histogram templates from ROOT NTuples, constructing a pyhf workspace, running a profile likelihood fit, visualising pre/post-fit data-MC comparisons, producing pull plots and NP rankings, or computing CLs exclusion limits or discovery significance via cabinetry's high-level API.
EnglishUse when writing a columnar ATLAS analysis with coffea: defining a NanoEvents or custom processor, running over ROOT files, accumulating histograms with hist, applying scale factors and systematic weights, or migrating a for-loop event analysis to a coffea processor pattern.
EnglishUse when writing Python bindings for C++ HEP code with nanobind or pybind11: exposing a C++ class or function to Python, binding STL containers (vector, map), handling numpy/awkward array interop, choosing between nanobind and pybind11, or setting up a CMake build that produces a Python extension module.
EnglishUse when working with the ATLAS Event Index: looking up which dataset contains a specific run/event number, picking events from a list of run/event pairs, tracing event provenance through processing stages (RAW to AOD to DAOD), or listing all events in a dataset.
EnglishUse when running jet clustering in Python with fastjet or pyjet: calling anti-kt or Cambridge/Aachen algorithms on particle four-vectors, accessing jet constituents, computing jet substructure variables (tauN, softdrop), clustering jets from generator-level events read with pyhepmc or pylhe, or processing many events over awkward arrays with the array-oriented (columnar) interface to avoid slow Python loops.
EnglishUse when writing unit-safe HEP code in Python: converting between MeV and GeV, expressing cross-sections or luminosities with explicit units, computing ctau or decay lengths from particle lifetimes, checking that cut thresholds or histogram ranges carry correct units, or bridging hepunits values with Pint quantities.
EnglishUse when you need to minimize a scalar cost function in Python using MINUIT2 via iminuit (e.g., unbinned likelihood fits or least-squares fits), and you need HESSE/MINOS-style uncertainties or custom cost functions.
EnglishUse when setting up standalone LCG (CERN SFT) software packages via lcgenv or views: listing available LCG releases and platforms, configuring individual packages from a specific LCG release, setting up an entire LCG release at once with views, or combining LCG packages with other ATLAS tools like ROOT or rucio.
EnglishUse when installing, updating, or removing ATLAS software on a local Tier-3 cluster, laptop, or desktop with manageTier3SW, configuring ATLASLocalRootBase for a non-CVMFS site, running local ATLAS software diagnostics, setting up local post-user scripts, or troubleshooting Tier-3 ATLAS software installations.
EnglishUse when creating ATLAS publication-quality plots with matplotlib using mplhep: applying the ATLAS experiment style, placing ATLAS labels (Internal, Preliminary, Simulation), plotting 1D or 2D histograms from hist/uproot/numpy, making data/MC comparison plots with ratio panels, using mplhep comparison functions (ratio, pull, splitratio), or customizing ATLAS label positions and luminosity text on matplotlib figures.
EnglishUse when looking up particle properties (mass, charge, width, PDG ID, lifetime, spin, parity) from the PDG tables in Python: converting between particle names and PDG IDs, filtering decay modes, checking if a particle is stable, querying quantum numbers (J, P, C, G, I), working with MC generator output where particle codes need to be identified or converted (Geant3, Pythia, Corsika7, EvtGen), or using particle/PDGID literals in analysis code.
EnglishUse when reading or writing HepMC3 event records in Python: opening HepMC2, HepMC3, LHEF, or HEPEVT files from a Monte Carlo generator, iterating over events, accessing truth particles and vertices, filtering by status code or PDG ID, traversing decay trees via particle parents/children, using the NumPy API for fast vectorized processing, visualizing events in Jupyter notebooks, or writing modified events back to a HepMC file.
EnglishUse when reading, writing, or validating binned and/or unbinned statistical models in the HS3 (HEP Statistics Serialization Standard) JSON format: converting between HistFactory (HiFa) JSON and HS3 schema, checking schema compliance, archiving workspaces for publication, or working with the standardized JSON format for ATLAS statistical models.
EnglishUse when reading or writing Les Houches Event (LHE) files in Python: reading parton-level events from MadGraph, Powheg, Sherpa, Pythia, or Whizard generators, iterating over initial- and final-state parton four-vectors, accessing event weights and scale/PDF reweighting blocks, counting events efficiently, writing modified LHE files back to disk, visualising event topologies with graphviz, or converting events to awkward arrays for vectorized analysis. Also use when the user mentions LHEFile, LHEEvent, LHEParticle, or parsing .lhe / .lhe.gz files.
EnglishUse when fitting a RooWorkspace dataset with quickFit, generating an Asimov dataset with quickAsimov, computing asymptotic CLs limits with quickLimit, generating toy datasets with quickToy, rebinning datasets with quickRebin, or calculating nuisance parameter pulls with quickPull.
EnglishUse when performing statistical unfolding for an ATLAS cross-section measurement: building a response matrix from MC, applying Bayesian iterative unfolding (RooUnfoldBayes), SVD unfolding (RooUnfoldSvd), bin-by-bin correction factors, or any other RooUnfold algorithm; handling detector-level fakes or backgrounds (response.Fake, SetBkg); propagating statistical and systematic uncertainties through the unfolding; comparing unfolding methods for stability; or performing closure tests.
EnglishUse when querying ATLAS data remotely via ServiceX: fetching branches from ROOT NTuples with the Uproot backend, writing FuncADL queries against DAODPHYS or DAODPHYSLITE, selecting datasets by Rucio name or EOS path, delivering data as awkward arrays, using servicexanalysisutils helpers, debugging ServiceX cache or backend issues, or initializing ServiceX with servicex init.
EnglishUse when setting up the ATLAS StatAnalysis software release with asetup, choosing the right StatAnalysis branch for a given ROOT version or OS, running statistical analysis tools included in StatAnalysis (xRooFit, TRExFitter, HistFitter, cabinetry, quickFit, quickstats, workspaceCombiner, xmlAnaWSBuilder, RooUnfold, CMSCombine), using StatAnalysis Docker images, building StatAnalysis from source, or using the StatChallenges framework to compare toolkit implementations.
EnglishUse when setting up a local XCache disk caching proxy for XRootD root:// protocol access: starting an xcache instance, caching remote ATLAS files on a laptop or Tier-3 site, using ALRBXCACHEPROXY with ROOT or Rucio file replicas, or troubleshooting VOMS proxy and cache directory issues.
EnglishUse when building RooFit statistical models with xRooFit, constructing workspaces with channels and samples, adding systematics or nuisance parameters, fitting models to data, constructing NLL functions, diagnosing fit convergence failures (status codes, covariance quality), computing profile likelihood ratios, calculating CLs upper limits or exclusion contours, or computing discovery significance.
EnglishIncludes Cpp Bindings, Managetier3sw, Statanalysis, and other workflows.
Supported by the Atlas install prompt. Skill-specific requirements vary.
Pack stats
What’s included
Astyle
Use when creating ATLAS publication-quality plots with the official ATLAS ROOT style macros (atlasrootstyle), applying SetAtlasStyle, placing ATLAS labels (Internal, Preliminary, Simulation), using ATLASLabel or myText helper functions, or following ATLAS publication plotting conventions in ROOT or PyROOT.
Atlantis
Use when visualizing ATLAS detector events with the Atlantis event display: launching the Atlantis GUI, opening JiveXML event files, producing JiveXML output from Athena reconstruction, or troubleshooting Java runtime issues in containerized environments.
Awkward
Use when working with jagged or variable-length arrays in Python HEP analysis: building event records with ak.zip, filtering nested arrays, computing combinatorics (cartesian products or combinations), flattening ragged arrays, using argmin/argmax with keepdims, broadcasting per-event weights to per-object, or debugging OptionType/None-padding issues in Awkward 2.x workflows.
Cabinetry
Use when building an ATLAS statistical analysis with cabinetry: writing a cabinetry config file, building histogram templates from ROOT NTuples, constructing a pyhf workspace, running a profile likelihood fit, visualising pre/post-fit data-MC comparisons, producing pull plots and NP rankings, or computing CLs exclusion limits or discovery significance via cabinetry's high-level API.
Coffea
Use when writing a columnar ATLAS analysis with coffea: defining a NanoEvents or custom processor, running over ROOT files, accumulating histograms with hist, applying scale factors and systematic weights, or migrating a for-loop event analysis to a coffea processor pattern.
Cpp Bindings
Use when writing Python bindings for C++ HEP code with nanobind or pybind11: exposing a C++ class or function to Python, binding STL containers (vector, map), handling numpy/awkward array interop, choosing between nanobind and pybind11, or setting up a CMake build that produces a Python extension module.
Eiclient
Use when working with the ATLAS Event Index: looking up which dataset contains a specific run/event number, picking events from a list of run/event pairs, tracing event provenance through processing stages (RAW to AOD to DAOD), or listing all events in a dataset.
Fastjet
Use when running jet clustering in Python with fastjet or pyjet: calling anti-kt or Cambridge/Aachen algorithms on particle four-vectors, accessing jet constituents, computing jet substructure variables (tauN, softdrop), clustering jets from generator-level events read with pyhepmc or pylhe, or processing many events over awkward arrays with the array-oriented (columnar) interface to avoid slow Python loops.
Hepunits
Use when writing unit-safe HEP code in Python: converting between MeV and GeV, expressing cross-sections or luminosities with explicit units, computing ctau or decay lengths from particle lifetimes, checking that cut thresholds or histogram ranges carry correct units, or bridging hepunits values with Pint quantities.
Iminuit
Use when you need to minimize a scalar cost function in Python using MINUIT2 via iminuit (e.g., unbinned likelihood fits or least-squares fits), and you need HESSE/MINOS-style uncertainties or custom cost functions.
Lcgenv
Use when setting up standalone LCG (CERN SFT) software packages via lcgenv or views: listing available LCG releases and platforms, configuring individual packages from a specific LCG release, setting up an entire LCG release at once with views, or combining LCG packages with other ATLAS tools like ROOT or rucio.
Managetier3sw
Use when installing, updating, or removing ATLAS software on a local Tier-3 cluster, laptop, or desktop with manageTier3SW, configuring ATLASLocalRootBase for a non-CVMFS site, running local ATLAS software diagnostics, setting up local post-user scripts, or troubleshooting Tier-3 ATLAS software installations.
Mplhep
Use when creating ATLAS publication-quality plots with matplotlib using mplhep: applying the ATLAS experiment style, placing ATLAS labels (Internal, Preliminary, Simulation), plotting 1D or 2D histograms from hist/uproot/numpy, making data/MC comparison plots with ratio panels, using mplhep comparison functions (ratio, pull, splitratio), or customizing ATLAS label positions and luminosity text on matplotlib figures.
Particle
Use when looking up particle properties (mass, charge, width, PDG ID, lifetime, spin, parity) from the PDG tables in Python: converting between particle names and PDG IDs, filtering decay modes, checking if a particle is stable, querying quantum numbers (J, P, C, G, I), working with MC generator output where particle codes need to be identified or converted (Geant3, Pythia, Corsika7, EvtGen), or using particle/PDGID literals in analysis code.
Pyhepmc
Use when reading or writing HepMC3 event records in Python: opening HepMC2, HepMC3, LHEF, or HEPEVT files from a Monte Carlo generator, iterating over events, accessing truth particles and vertices, filtering by status code or PDG ID, traversing decay trees via particle parents/children, using the NumPy API for fast vectorized processing, visualizing events in Jupyter notebooks, or writing modified events back to a HepMC file.
Pyhs3
Use when reading, writing, or validating binned and/or unbinned statistical models in the HS3 (HEP Statistics Serialization Standard) JSON format: converting between HistFactory (HiFa) JSON and HS3 schema, checking schema compliance, archiving workspaces for publication, or working with the standardized JSON format for ATLAS statistical models.
Pylhe
Use when reading or writing Les Houches Event (LHE) files in Python: reading parton-level events from MadGraph, Powheg, Sherpa, Pythia, or Whizard generators, iterating over initial- and final-state parton four-vectors, accessing event weights and scale/PDF reweighting blocks, counting events efficiently, writing modified LHE files back to disk, visualising event topologies with graphviz, or converting events to awkward arrays for vectorized analysis. Also use when the user mentions LHEFile, LHEEvent, LHEParticle, or parsing .lhe / .lhe.gz files.
Quickfit
Use when fitting a RooWorkspace dataset with quickFit, generating an Asimov dataset with quickAsimov, computing asymptotic CLs limits with quickLimit, generating toy datasets with quickToy, rebinning datasets with quickRebin, or calculating nuisance parameter pulls with quickPull.
Roounfold
Use when performing statistical unfolding for an ATLAS cross-section measurement: building a response matrix from MC, applying Bayesian iterative unfolding (RooUnfoldBayes), SVD unfolding (RooUnfoldSvd), bin-by-bin correction factors, or any other RooUnfold algorithm; handling detector-level fakes or backgrounds (response.Fake, SetBkg); propagating statistical and systematic uncertainties through the unfolding; comparing unfolding methods for stability; or performing closure tests.
Servicex
Use when querying ATLAS data remotely via ServiceX: fetching branches from ROOT NTuples with the Uproot backend, writing FuncADL queries against DAODPHYS or DAODPHYSLITE, selecting datasets by Rucio name or EOS path, delivering data as awkward arrays, using servicexanalysisutils helpers, debugging ServiceX cache or backend issues, or initializing ServiceX with servicex init.
Statanalysis
Use when setting up the ATLAS StatAnalysis software release with asetup, choosing the right StatAnalysis branch for a given ROOT version or OS, running statistical analysis tools included in StatAnalysis (xRooFit, TRExFitter, HistFitter, cabinetry, quickFit, quickstats, workspaceCombiner, xmlAnaWSBuilder, RooUnfold, CMSCombine), using StatAnalysis Docker images, building StatAnalysis from source, or using the StatChallenges framework to compare toolkit implementations.
Xcache
Use when setting up a local XCache disk caching proxy for XRootD root:// protocol access: starting an xcache instance, caching remote ATLAS files on a laptop or Tier-3 site, using ALRBXCACHEPROXY with ROOT or Rucio file replicas, or troubleshooting VOMS proxy and cache directory issues.
Xroofit
Use when building RooFit statistical models with xRooFit, constructing workspaces with channels and samples, adding systematics or nuisance parameters, fitting models to data, constructing NLL functions, diagnosing fit convergence failures (status codes, covariance quality), computing profile likelihood ratios, calculating CLs upper limits or exclusion contours, or computing discovery significance.
Quick start
- Choose your skills. Select individual skills above, or choose the entire pack.
- Copy the install prompt. Use Copy install prompt above the list.
- Send it to your agent. Paste into your coding agent’s chat. Your agent reviews the source and guides the setup.
Try it with your agent
After installation, start with a request like:
Use the Astyle skill to help with my task.
Ask me for the context you need before getting started.Requirements & license
- A coding agent that can access your project files and install skills.
- Your agent checks each skill’s instructions, dependencies, and permissions during setup.
- Reported license for the skills shown: MIT. The author’s terms apply.