TQAF Event Hypothesis

Complete: 5


HitFit is a kinematic fitter, which has been developed at the D0 experiment especially for the semileptonic ttbat decay channel.


HitFit uses the method of Lagrange multipliers in a constrained fit on the following variables:

  • 3-vectors of lepton and jets;
  • missing Et.
Masses are fixed to 0 GeV ( 5 GeV for b-jets).

Details about the fit procedure are found in Appendix A of the original documentation.



Since HitFit has been imported into CMSSW from outside, the HitFit package in the TQAF consists of two main parts of the software:

  • the actual HitFit code itself and
  • the interface to CMSSW/TQAF.
Due to that, the configuration of the actual HitFit fitter has not been developed in the CMSSW framework of Python configurations and it also has not been ported to that yet. it is rather provided in an additional text configuration file, where a default version is included in the HitFit package. As a consequence, the corresponding configuration parameters cannot be edited from within the Python configuration, but have to be maintained directly in the text file. However, the path to the text file to be used can be configured in the Python configuration with the hitfitDefault parameter.


This part of the configuration deals with the TQAF interface and mainly defines the inputs provided to the fitter.

The original configuration is available in TopQuarkAnalysis/TopHitFit/python/TtSemiLepHitFitProducer_Muons_cfi.py. After adding the module to the process by using the addTtSemiLepHypotheses Python tool, it is available in the configuration as process.hitFitTtSemiLepEvent.

  • cms.InputTag jets:
    input jet collection
    default: selectedPatJets
  • cms.InputTag leps:
    input lepton collection
    default: selectedPat[LEPTONS], where LEPTONS stands for Muons or Electrons
  • cms.InputTag mets:
    input MET collection
    default: patMETs
Jet combinations
  • cms.int32 maxNJets:
    maximum number of jets considered in the fit, sorted by E_t; has to be at least 4, can be -1 for "all"
    default: 4
  • cms.int32 maxNComb:
    maximum number of jet combinations written to the event; has to be at least 1, can be -1 for "all"
    default: 1
The use of b-tag information can reduce the number of available (wrong) jet combinations.
  • cms.bool useBTagging:
    master switch for th use of b-tag information
    default: False
  • cms.string bTagAlgo:
    b-tag algorithm
    default: 'trackCountingHighEffBJetTags'
  • cms.double minBDiscBJets:
    minimal discriminator value for b-jets
    default: 1.0
  • cms.double maxBDiscLightJets:
    maximal discriminator value for light jets
    default: 3.0
Mass constraints
If a mass constraint is set to 0, no constraint is applied.
  • cms.double mW:
    W mass
    default: 80.4
  • cms.double mTop:
    top mass
    default: 0.
  • cms.string jetCorrectionLevel:
    JEC level
    default: 'L3Absolute'
  • cms.double jes:
    scale factor for light jets
    default: 1.0
  • cms.double jesB:
    scale factor for b-jets
    default: 1.0
Text configuration input
These configuration parameters are optional. This means, that the default is applied, if the parameter is not present in the configuration.
  • cms.FileInPath hitfitDefault:
    path to file with additional HitFit text configuration, s. below for its content
    default: 'TopQuarkAnalysis/TopHitFit/data/setting/RunHitFitConfiguration.txt'
  • cms.FileInPath hitfitElectronResolution:
    path to file with electron resolution parameters
    default: 'TopQuarkAnalysis/TopHitFit/data/resolution/tqafElectronResolution.txt'
  • cms.FileInPath hitfitMuonResolution:
    path to file with muon resolution parameters
    default: 'TopQuarkAnalysis/TopHitFit/data/resolution/tqafMuonResolution.txt'
  • cms.FileInPath hitfitUdscJetResolution:
    path to file with light jet resolution parameters
    default: 'TopQuarkAnalysis/TopHitFit/data/resolution/tqafUdscJetResolution.txt'
  • cms.FileInPath hitfitBJetResolution:
    path to file with b-jet resolution parameters
    default: 'TopQuarkAnalysis/TopHitFit/data/resolution/tqafBJetResolution.txt'
  • cms.FileInPath hitfitMETResolution:
    path to file with MET resolution parameters
    default: 'TopQuarkAnalysis/TopHitFit/data/resolution/tqafKtResolution.txt

HitFit Text Configuration

This part of the configuration deals with the HitFit fitter itself.

The default text configuration file is found as TopQuarkAnalysis/TopHitFit/data/setting/RunHitFitConfiguration.txt. This is a relict of its port from outside CMSSW.
As a consequence, the corresponding configuration parameters cannot be edited from within the Python configuration, but have to be maintained directly in the text file. However, the path to the text file to be used can be configured in the Python configuration with the hitfitDefault (s. above) parameter.

Top_Fit parameters
  • mwhad_min_cut:
    minimum hadronic W mass allowed before fit
    default: 0
  • mwhad_max_cut:
    maximum hadronic W mass allowed before fit
    default: 10000
  • mtdiff_max_cut:
    maximum difference in mass between leptonic and hadronic top quark mass allowed before fit
    default: 10000
  • jet_mass_cut:
    maximum jet invariant mass cut allowed
    default: 10000
  • nkeep:
    maximum number of solution to be keep
    default: 1680
  • solve_nu_tmass:
    true : solve neutrino p_z by requiring the leptonic side and hadronic side to have equal mass
    false : solve neutrino p_z by requiring m(lepton,neutrino) = m_W
    default: true
  • do_higgs_flag:
    fit ttH -> l+jets+bb
    default: false (do not change!)
  • print_event_flag:
    true : print event after fit in Top_Fit fitter
    false : do not print event after fit in Top_Fit fitter
    default: false (do not change!)
Constrained_Top parameters
  • bmass:
    mass of the b-quark
    default: 4.7
  • equal_side:
    require that the leptonic top and hadronic top to have equal mass after the fit
    default: true
Fourvec_Constrainer parameters
  • use_e:
    true : keep E and rescale three-momentum
    false : keep three-momentum and rescale E
    default: true
  • e_com:
    center-of-mass energy; used to force a step cut if the fit goes into an unphysical region
    default: 7000
  • ignore_met:
    if this is true and the event does not have a neutrino, then the fit will be done without the overall transverse momentum constraint (and thus the missing Et information will be ignored).; if the event does have a neutrino, this parameter is ignored
    default: false
Chisq_Constrainer parameters
  • printfit:
    if true, print a trace of the fit to cout
    default: false
  • use_G:
    if true, check the chisq formula by computing it directly from G; this requires that G_i be invertible
    default: false
  • constraint_sum_eps:
    convergence threshold for sum of constraints
    default: 0.01
  • chisq_diff_eps:
    convergence threshold for change in chisq
    default: 0.01
  • maxit:
    maximum number of iterations permitted
    default: 10000
  • maxcut:
    maximum number of cut steps permitted
    default: 20
  • cutsize:
    fraction by which to cut steps
    default: 0.5
  • min_tot_cutsize:
    smallest fractional cut step permitted
    default: 1e-10
  • chisq_test_eps:
    when use_G is true, the maximum relative difference permitted between the two chisq calculations
    default: 1e-5
Base_Constrainer parameters
  • test_gradient:
    if true, check the constraint gradient calculations by also doing them numerically
    default: false
  • test_step:
    when test_gradient is true, step size to use for numeric differentiation
    default: 0.002
  • test_eps:
    when test_gradient is true, maximum relative difference permitted between returned and numerically calculated gradients
    default: 0.035



  • Analysis note: to be prepared

HitFit as stand-alone tool in CMSSW

HitFit history



-- VolkerAdler - 18-Mar-2012

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r5 - 2012-05-07 - VolkerAdler
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback