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='', decayStringForDirectionOnlyParticles='', decayStringForAlternateMassParticles='', alternateMassHypos=[], decayStringForNeutronVsAntiNeutron='', 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

  • decayStringForDirectionOnlyParticles – DecayString specifying the particles to use only direction information in the fit

  • decayStringForAlternateMassParticles – DecayString specifying the particles where an alternate mass hypothesis is used

  • alternateMassHypos – list of pdg values (or particle names) for particles where different mass hypothesis is used in the fit

  • decayStringForNeutronVsAntiNeutron – DecayString specifying the charged particle used to tag whether n or nbar. When tag particle has negative charge, PDG sign of n/nbar is flipped from default given in alternateMassHypos

  • path – modules are added to this path

kinfit.MassfitKinematic1CRecoil(list_name, recoilMass, fitterEngine='NewFitterGSL', constraint='RecoilMass', daughtersUpdate=True, variablePrefix='', decayStringForDirectionOnlyParticles='', decayStringForAlternateMassParticles='', alternateMassHypos=[], decayStringForNeutronVsAntiNeutron='', 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

  • decayStringForDirectionOnlyParticles – DecayString specifying the particles to use only direction information in the fit

  • decayStringForAlternateMassParticles – DecayString specifying the particles where an alternate mass hypothesis is used

  • alternateMassHypos – list of pdg values (or particle names) for particles where different mass hypothesis is used in the fit

  • decayStringForNeutronVsAntiNeutron – DecayString specifying the charged particle used to tag whether n or nbar. When tag particle has negative charge, PDG sign of n/nbar is flipped from default given in alternateMassHypos

  • path – modules are added to this path

kinfit.UnmeasuredfitKinematic1C(list_name, fitterEngine='NewFitterGSL', constraint='HardBeam', daughtersUpdate=True, variablePrefix='', decayStringForDirectionOnlyParticles='', decayStringForAlternateMassParticles='', alternateMassHypos=[], decayStringForNeutronVsAntiNeutron='', 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

  • decayStringForDirectionOnlyParticles – DecayString specifying the particles to use only direction information in the fit

  • decayStringForAlternateMassParticles – DecayString specifying the particles where an alternate mass hypothesis is used

  • alternateMassHypos – list of pdg values (or particle names) for particles where different mass hypothesis is used in the fit

  • decayStringForNeutronVsAntiNeutron – DecayString specifying the charged particle used to tag whether n or nbar. When tag particle has negative charge, PDG sign of n/nbar is flipped from default given in alternateMassHypos

  • path – modules are added to this path

kinfit.fitKinematic2C(list_name, fitterEngine='NewFitterGSL', constraint='HardBeam', daughtersUpdate=True, addUnmeasuredPhotonAlongBeam='', variablePrefix='', decayStringForDirectionOnlyParticles='', decayStringForAlternateMassParticles='', alternateMassHypos=[], decayStringForNeutronVsAntiNeutron='', 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

  • decayStringForDirectionOnlyParticles – DecayString specifying the particles to use only direction information in the fit

  • decayStringForAlternateMassParticles – DecayString specifying the particles where an alternate mass hypothesis is used

  • alternateMassHypos – list of pdg values (or particle names) for particles where different mass hypothesis is used in the fit

  • decayStringForNeutronVsAntiNeutron – DecayString specifying the charged particle used to tag whether n or nbar. When tag particle has negative charge, PDG sign of n/nbar is flipped from default given in alternateMassHypos

  • path – modules are added to this path

kinfit.fitKinematic3C(list_name, fitterEngine='NewFitterGSL', constraint='HardBeam', daughtersUpdate=True, addUnmeasuredPhoton=False, add3CPhoton=True, variablePrefix='', decayStringForDirectionOnlyParticles='', decayStringForAlternateMassParticles='', alternateMassHypos=[], decayStringForNeutronVsAntiNeutron='', 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

  • decayStringForDirectionOnlyParticles – DecayString specifying the particles to use only direction information in the fit

  • decayStringForAlternateMassParticles – DecayString specifying the particles where an alternate mass hypothesis is used

  • alternateMassHypos – list of pdg values (or particle names) for particles where different mass hypothesis is used in the fit

  • decayStringForNeutronVsAntiNeutron – DecayString specifying the charged particle used to tag whether n or nbar. When tag particle has negative charge, PDG sign of n/nbar is flipped from default given in alternateMassHypos

  • path – modules are added to this path

kinfit.fitKinematic4C(list_name, fitterEngine='NewFitterGSL', constraint='HardBeam', daughtersUpdate=True, addUnmeasuredPhoton=False, variablePrefix='', decayStringForDirectionOnlyParticles='', decayStringForAlternateMassParticles='', alternateMassHypos=[], decayStringForNeutronVsAntiNeutron='', 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

  • decayStringForDirectionOnlyParticles – DecayString specifying the particles to use only direction information in the fit

  • decayStringForAlternateMassParticles – DecayString specifying the particles where an alternate mass hypothesis is used

  • alternateMassHypos – list of pdg values (or particle names) for particles where different mass hypothesis is used in the fit

  • decayStringForNeutronVsAntiNeutron – DecayString specifying the charged particle used to tag whether n or nbar. When tag particle has negative charge, PDG sign of n/nbar is flipped from default given in alternateMassHypos

  • path – modules are added to this path

See also

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