cmssw: FactorizedJetCorrector returns incorrect JEC

Hi,

I have noticed that the FactorizedJetCorrector is not returning the correct JEC factors since CMSSW_7_6_0. I have tested the code in CMSSW version 741, 750, 758_patch1, 760, 763, and 801. In the first three, the code returns the exact value we would expect, but in the last three releases the code returns some other number.

As far as I can tell the FactorizedJetCorrector relies on FactorizedJetCorrectorCalculator, which in turn uses the SimpleJetCorrector. This was updated by [1] and I think it was first integrated into CMSSW_7_6_0_pre7. The purpose was to move from TFormula to reco::FormulaEvaluator ([2]) in an effort to make the code thread safe.

To test the code I used the L2Relative JEC text file Spring16_25nsV1_MC_L2Relative_AK4PFl1.txt located at [3] and compared the value returned by the FactorizedJetCorrector for a jet of 10 GeV and eta 3.4. The value should be 1.25124, but was not after 76X. Instead 801 returned 5.72194. The ROOT file containing the original functions and their parameters (l2.root) can also be found at [3]. The exact sequence of commands I used can be found in [4].

If what I’m seeing is correct then this effects everyone who is correcting jets on-the-fly. Hopefully someone knows why this is happening and how to fix it.

Cheers, Alexx Perloff

[1] https://github.com/cms-sw/cmssw/commit/83aa62173a5849fad32fd05ee9f0d7c773a27ca2

[2] https://github.com/cms-sw/cmssw/blob/CMSSW_7_6_X/CommonTools/Utils/interface/FormulaEvaluator.h

[3] http://people.physics.tamu.edu/aperloff/CMS_JEC/forGitHubIssue/

[4]

root
JetCorrectorParameters * jcPar = new JetCorrectorParameters("Spring16_25nsV1_MC_L2Relative_AK4PFl1.txt")
vector<JetCorrectorParameters> vPar
vPar.push_back(*jcPar)
FactorizedJetCorrector* jcor = new FactorizedJetCorrector(vPar)
jcor->setJetPt(10)
jcor->setJetEta(3.4)
cout << jcor->getCorrection() << endl

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 15 (15 by maintainers)

Most upvoted comments

On 4/1/16 1:59 PM, Sébastien Brochet wrote:

Exactly, it’s not used anywhere for the moment. It’s in development for the new miniaod production, and the bug was found by @aperloff https://github.com/aperloff during validation.

OK, that’s clear. Disaster averted 😉

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/cms-sw/cmssw/issues/13889#issuecomment-204564249