root_mcp.extended.tools.analysis module
Analysis tools for histograms, selections, and exports.
- class root_mcp.extended.tools.analysis.AnalysisTools(config, file_manager, path_validator, analysis_ops, tree_reader)[source]
Bases:
objectTools for physics analysis operations.
- Parameters:
config (Config)
file_manager (FileManager)
path_validator (PathValidator)
analysis_ops (AnalysisOperations)
tree_reader (TreeReader)
- __init__(config, file_manager, path_validator, analysis_ops, tree_reader)[source]
Initialize analysis tools.
- Parameters:
config (Config) – Server configuration
file_manager (FileManager) – File manager instance
path_validator (PathValidator) – Path validator instance
analysis_ops (AnalysisOperations) – Analysis operations instance
tree_reader (TreeReader) – Tree reader instance
- compute_histogram(path, tree_name, branch, bins, range=None, selection=None, weights=None, defines=None)[source]
Compute a 1D histogram.
- Parameters:
path (str) – File path
tree_name (str) – Tree name
branch (str) – Branch to histogram
bins (int) – Number of bins
range (tuple[float, float] | None) – (min, max) for histogram
selection (str | None) – Optional cut expression
weights (str | None) – Optional weight branch
defines (dict[str, str] | None) – Optional variable definitions
- Returns:
Histogram data and metadata
- Return type:
- compute_histogram_2d(path, tree_name, x_branch, y_branch, x_bins, y_bins, x_range=None, y_range=None, selection=None, defines=None)[source]
Compute a 2D histogram.
- Parameters:
path (str) – File path
tree_name (str) – Tree name
x_branch (str) – X-axis branch
y_branch (str) – Y-axis branch
x_bins (int) – Number of bins in x
y_bins (int) – Number of bins in y
x_range (tuple[float, float] | None) – (min, max) for x-axis
y_range (tuple[float, float] | None) – (min, max) for y-axis
selection (str | None) – Optional cut expression
defines (dict[str, str] | None) – Optional variable definitions
- Returns:
2D histogram data and metadata
- Return type:
- compute_kinematics(path, tree, computations, selection=None, limit=None)[source]
Compute kinematic quantities from four-momenta.
- Parameters:
path (str) – File path
tree (str) – Tree name
computations (list[dict[str, Any]]) – List of kinematic calculations. Each entry is a dict with keys
name(output variable name),type(one ofinvariant_mass,invariant_mass_squared,transverse_mass,delta_r,delta_phi),particles(list of branch prefixes, e.g.['K', 'pi1']), and optionallycomponents(component suffixes; defaults vary by type).selection (str | None) – Optional cut expression
limit (int | None) – Maximum entries to process
- Returns:
Dictionary with computed kinematic quantities
- Return type:
- export_branches(path, tree, branches, output_path, output_format, selection=None, limit=None)[source]
Export branch data to a file.
- Parameters:
- Returns:
Export metadata
- Return type:
- fit_histogram(model, data=None, path=None, tree_name=None, branch=None, bins=None, range=None, selection=None, weights=None, defines=None, initial_guess=None, bounds=None, fixed_parameters=None)[source]
Fit a histogram to a model. Can either take existing histogram data or compute it from a file.
- Parameters:
model (str | list[str | dict[str, Any]] | dict[str, Any]) – Model configuration
data (dict[str, Any] | None) – Optional histogram data (from compute_histogram)
path (str | None) – File path (if data not provided)
tree_name (str | None) – Tree name (if data not provided)
branch (str | None) – Branch to histogram (if data not provided)
bins (int | None) – Number of bins (if data not provided)
range (tuple[float, float] | None) – Histogram range (optional)
selection (str | None) – Cut expression (optional)
weights (str | None) – Weight branch (optional)
defines (dict[str, str] | None) – Variable definitions (optional)
initial_guess (list[float] | None) – Initial parameters for fit
fixed_parameters (dict[str | int, float] | None) – Fixed parameters
- Returns:
Fit results
- Return type: