Skip to content

[HS3] Add a new analytic_convolution_dist Streamer/Factory #22770

Description

@Phmonski

Feature description

Proposal: add analytic_convolution_dist to HS3 / RooFitHS3

RooFit currently serializes RooDecay via a dedicated decay_dist key. This is somewhat special-case: RooDecay is not just an exponential distribution, but a RooAbsAnaConvPdf that declares analytic basis functions to be convolved with a RooResolutionModel.

I propose introducing a generic analytic_convolution_dist node that represents the RooAbsAnaConvPdf concept directly:

  • observable/convolution variable
  • resolution model
  • list of analytic basis terms
  • coefficient expression/function per term

Example for RooDecay(DoubleSided):

{
  "name": "decay_gm",
  "type": "analytic_convolution_dist",
  "x": "dt",
  "resolution_model": "gm",
  "terms": [
    {
      "coefficient": "1",
      "basis": {
        "type": "exp_decay",
        "tau": "tau",
        "side": "both"
      }
    }
  ]
}

This generic node could support the following Classes:

  • RooDecay
  • RooBMixDecay
  • RooBDecay
  • RooBCPGenDecay
  • RooBCPEffDecay
  • RooNonCPEigenDecay

Requirements

This feature requires serializable categorical variables to fully support these classes in a clean way.

@cburgard @stalbrec

Metadata

Metadata

Assignees

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions