Skip to main content

Compatibility with HS3

In parallel to development of the model description format, compatibility with HEP Statistics Serialization Standard (HS3) is investigated.

Support in ROOT, what is missing

  • Class: RooAmplitudeModelPDF
    • Implementation of math
    • Exporter: RooAmplitudeModelPDF::Streamer
    • Importer: RooAmplitudeModelPDF::Factory
  • All lineshapes: BreitWigner, BlattWeisskopf

Example of HS3 file

  • HS3_base.json give description of basic interfaces of the model variables and parameters consistently with HS3. It sets default value of variable, and describes a validation point in HS3 consistent way.
  • HS3_extended.json prototypes
    • adding jacobian (prior) for phase space generation,
    • replacing phase space variables

Parameters of the model

The model parameters have to be listed in the parameter block of distributions.

"distributions": [
  {
    "name": "my_model_for_reaction_intensity",
    "type": "hadronic_cross_section_unpolarized_dist",
    "model_description": {
    },
    "variables": [
    ],
    "parameters": ["L_1520_mass"]
  }
]

The default values of the parameters are not mandatory, however, they can be listed as one of the element of the parameter_points array.

"parameter_points": [
  {
    "name": "default_values_of_my_model",
    "parameters": [
      {
        "name": "L_1520_mass",
        "value": 1.52
      }
    ]
  }
]

The validation block has to include

"parameter_points": [
  {
    "name": "validation_point",
    "parameters": [
      {
        "name": "L_1520_mass",
        "value": 4.6
      },
      {
        "name": "L_1520_mass",
        "value": 4.6
      },
      {}
    ]
  },
  {}
]

Sampling from the model

To sample from the model using the kinematic variables defined in variable section, a few sections has to be added.

"likelihoods": [
  {
    "name": "my_nll",
    "pdfs": ["my_model_for_reaction_intensity"],
    "datasets": []
  }
]

Likelihood section clarifies how the log likelihood is computed from the pdfs .

"analyses": [
  {
    "name": "my_ana",
    "parameter_domain": "default",
    "prior": "my_prior_dist"
  }
]

Analyses specifies how kinematic variables are distributed within the phase space, using priors (here, "prior": "my_prior_dist") to influence their sampling distributions.

The priors are given in the list of distributions.

"distributions": [
  {},
  {
    "name": "my_prior_dist",
    "type": "product_dist",
    "elements": ["m12_prior"]
  },
  {
    "name": "m12_prior",
    "type": "phase_space_density_1d",
    "variable": "m_12"
  }
]

Here we define my_prior_dist as a product distribution, supposedly incorporating all non-trivial dimensions of the phase-space density (the mass dimensions).