7.5.4. Kinematic-fitting convenience functions#

The Orca kinematic fitter is a global fitting tool.

A typical use-case would be to constrain the 4-momentum of all particles provided to the 4-momentum of the beam. This is a “4C” fit (four constraints).

Note

By default, the 4-momentum of the beam is taken without uncertainties.

Running this fit updates the chiProb of the mother particle.

Important

Please also see the list of special Orca Kinematic Fitter variables.

kinfit.MassfitKinematic1C(list_name, invMass, fitterEngine='NewFitterGSL', constraint='Mass', daughtersUpdate=True, variablePrefix='', path=None)[source]#

Perform recoil mass kinematic fit for particles in the given ParticleList.

Parameters:
  • list_name – name of the input ParticleList

  • fitterEngine – which fitter engine to use? ‘NewFitterGSL’ or ‘OPALFitterGSL’

  • constraint – HardBeam or RecoilMass or Mass

  • invMass – Invariant Mass (GeV)

  • daughtersUpdate – make copy of the daughters and update them after the vertex fit

  • variablePrefix – prepended to fit variables stored in extra info. Required if ParticleKinematicFitter is run multiple times

  • path – modules are added to this path

kinfit.MassfitKinematic1CRecoil(list_name, recoilMass, fitterEngine='NewFitterGSL', constraint='RecoilMass', daughtersUpdate=True, variablePrefix='', path=None)[source]#

Perform recoil mass kinematic fit for particles in the given ParticleList.

Parameters:
  • list_name – name of the input ParticleList

  • fitterEngine – which fitter engine to use? ‘NewFitterGSL’ or ‘OPALFitterGSL’

  • constraint – HardBeam or RecoilMass

  • recoilMass – RecoilMass (GeV)

  • daughtersUpdate – make copy of the daughters and update them after the vertex fit

  • variablePrefix – prepended to fit variables stored in extra info. Required if ParticleKinematicFitter is run multiple times

  • path – modules are added to this path

kinfit.UnmeasuredfitKinematic1C(list_name, fitterEngine='NewFitterGSL', constraint='HardBeam', daughtersUpdate=True, variablePrefix='', path=None)[source]#

Perform 1C momentum constraint kinematic fit with one unmeasured photon for particles in the given ParticleList.

Parameters:
  • list_name – name of the input ParticleList

  • fitterEngine – which fitter engine to use? ‘NewFitterGSL’ or ‘OPALFitterGSL’

  • constraint – HardBeam or RecoilMass

  • daughtersUpdate – make copy of the daughters and update them after the vertex fit

  • variablePrefix – prepended to fit variables stored in extra info. Required if ParticleKinematicFitter is run multiple times

  • path – modules are added to this path

kinfit.fitKinematic2C(list_name, fitterEngine='NewFitterGSL', constraint='HardBeam', daughtersUpdate=True, addUnmeasuredPhotonAlongBeam='', variablePrefix='', path=None)[source]#

Perform 2C momentum constraint kinematic fit. The photon with unmeasured energy and theta has to be the first particle in the decay string. If ‘addUnmeasuredPhotonAlongBeam’ is set to ‘HER’ or ‘LER’, both phi and theta (treated as measured) of this photon are then used. Concurrently, an additional unmeasured photon along HER/LER will be taken into account in the fit, which means the momentum is only constrained in the plane perpendicular to one of the beams.

Parameters:
  • list_name – name of the input ParticleList

  • fitterEngine – which fitter engine to use? ‘NewFitterGSL’ or ‘OPALFitterGSL’

  • constraint – HardBeam or RecoilMass

  • daughtersUpdate – make copy of the daughters and update them after the vertex fit

  • addUnmeasuredPhotonAlongBeam – add an unmeasured photon along beam if ‘HER’ or ‘LER’ is set

  • variablePrefix – prepended to fit variables stored in extra info. Required if ParticleKinematicFitter is run multiple times

  • path – modules are added to this path

kinfit.fitKinematic3C(list_name, fitterEngine='NewFitterGSL', constraint='HardBeam', daughtersUpdate=True, addUnmeasuredPhoton=False, add3CPhoton=True, variablePrefix='', path=None)[source]#

Perform 3C momentum constraint kinematic fit with one photon with unmeasured energy for particles in the given ParticleList, the first daughter should be the energy unmeasured Photon.

Parameters:
  • list_name – name of the input ParticleList

  • fitterEngine – which fitter engine to use? ‘NewFitterGSL’ or ‘OPALFitterGSL’

  • constraint – HardBeam or RecoilMass

  • daughtersUpdate – make copy of the daughters and update them after the vertex fit

  • addUnmeasuredPhoton – add one unmeasured photon (uses up three constraints)

  • add3CPhoton – add one photon with unmeasured energy (uses up a constraint)

  • variablePrefix – prepended to fit variables stored in extra info. Required if ParticleKinematicFitter is run multiple times

  • path – modules are added to this path

kinfit.fitKinematic4C(list_name, fitterEngine='NewFitterGSL', constraint='HardBeam', daughtersUpdate=True, addUnmeasuredPhoton=False, variablePrefix='', path=None)[source]#

Perform a 4C momentum constraint kinematic fit for particles in the given ParticleList.

Parameters:
  • list_name – name of the input ParticleList

  • fitterEngine – which fitter engine to use? ‘NewFitterGSL’ or ‘OPALFitterGSL’

  • constraint – HardBeam or RecoilMass

  • daughtersUpdate – make copy of the daughters and update them after the vertex fit

  • addUnmeasuredPhoton – add one unmeasured photon (uses up three constraints)

  • variablePrefix – prepended to fit variables stored in extra info. Required if ParticleKinematicFitter is run multiple times

  • path – modules are added to this path

See also

The ParticleKinematicFitter documentation if you prefer to directly configure the module yourself.