pyhs3.distributions.histfactory.data.SampleData¶
- class pyhs3.distributions.histfactory.data.SampleData(**data)[source]¶
Sample data containing bin contents and optional per-bin uncertainties.
This class represents the binned values for a single sample in a HistFactory- style model, along with optional statistical uncertainties (“errors”) per bin.
Note
The
errorsfield is optional in serialized form. If omitted, it is interpreted as an array of zeros with the same length ascontents. This follows the convention used in ROOT HistFactory/HS3 workflows, where some samples may not carry explicit bin-by-bin uncertainties (e.g. when BBlight is not applied).Internally, errors are always materialized and accessible via the
errorsproperty.If provided,
errorsmust have the same length ascontents.
- Parameters:
contents – list[float] The bin contents (yields) for the sample.
errors – list[float] | None Optional serialized representation of per-bin uncertainties. This is aliased to
"errors"when exporting. IfNone, errors are implicitly treated as zeros and omitted from serialization.data (
Any)
- Raises:
ValueError – If
contentsanderrorsare both provided and have different lengths.
- __init__(**data)¶
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (
Any)
Methods
__init__(**data)Create a new model by parsing and validating input data from keyword arguments.
construct([_fields_set])copy(*[, include, exclude, update, deep])Returns a copy of the model.
dict(*[, include, exclude, by_alias, ...])from_orm(obj)json(*[, include, exclude, by_alias, ...])model_construct([_fields_set])Creates a new instance of the Model class with validated data.
model_copy(*[, update, deep])!!! abstract "Usage Documentation"
model_dump(*[, mode, include, exclude, ...])!!! abstract "Usage Documentation"
model_dump_json(*[, indent, ensure_ascii, ...])!!! abstract "Usage Documentation"
model_json_schema([by_alias, ref_template, ...])Generates a JSON schema for a model class.
model_parametrized_name(params)Compute the class name for parametrizations of generic classes.
model_post_init(context, /)This function is meant to behave like a BaseModel method to initialise private attributes.
model_rebuild(*[, force, raise_errors, ...])Try to rebuild the pydantic-core schema for the model.
model_validate(obj, *[, strict, extra, ...])Validate a pydantic model instance.
model_validate_json(json_data, *[, strict, ...])!!! abstract "Usage Documentation"
model_validate_strings(obj, *[, strict, ...])Validate the given object with string data against the Pydantic model.
parse_file(path, *[, content_type, ...])parse_obj(obj)parse_raw(b, *[, content_type, encoding, ...])schema([by_alias, ref_template])schema_json(*[, by_alias, ref_template])set_default_and_validate()Ensure contents and errors have same length.
update_forward_refs(**localns)validate(value)Attributes
errorsReturn the per-bin uncertainties for the sample.
model_computed_fieldsmodel_configConfiguration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
model_extraGet extra fields set during validation.
model_fieldsmodel_fields_setReturns the set of fields that have been explicitly set on this model instance.
contentsv_errors