vhbb / cmssw

CMS Offline Software
cms-sw.github.io/cmssw
4 stars 5 forks source link

Problem witht PF jet energy fractions #287

Closed silviodonato closed 8 years ago

silviodonato commented 8 years ago

Studying the QCD fake-MET problem, I've spotted the following issue. In event 42954575 of QCD_HT500to700 (lumi=14849), the leading gen jet (pt=278 GeV) is reconstructed very badly as a DiscardedJet with pt=13.5 GeV:

How is it possible that chHEF >1 ?

I really suspect that that this effect is because the chHEF is evaluated as chHE un-smeared/ total smeared energy.

I'm also a bit puzzled that leadTrackPt/pt >1. But I think it is simply because the pt is smeared and leadTrackPt not.

degrutto commented 8 years ago

Hi Silvio,

do you have also the rawPt and eta for that jet? The energy fraction if they are taken from miniAOD (i.e. not reevaluated, we need to check in heppy what happens) are the energy fractions wrt to the pt in the miniAOD, so if that changed a lot with the JECs later it could be ....

silviodonato commented 8 years ago

Hi Michele,

I noticed that chHEF+neHEF+chEmEF+neEmEF is not exactly 1 because: 1) the muon fraction is missing; 2) the fraction are evaluated before the JEC.

The point is that these effects cannot explain that chHEF = 3.7 (!). Btw. this effect appears only in MC and only when pt is very different from mcPt.

silviodonato commented 8 years ago

(I've added the rawPt and 3.77084 × 13.5137 ÷ 54.457 = 0.935 <1)

I think we just need to multiply the fractions by the JES and the smearing factors.

arizzi commented 8 years ago

is there any action pending here? in jetId the fractions are evaluated this way: https://github.com/vhbb/cmssw/blob/vhbbHeppy722patch2/PhysicsTools/Heppy/python/physicsobjects/Jet.py#L47

silviodonato commented 8 years ago

Hi Andrea, I've finally founded where is the problem. Applying the JER: https://github.com/vhbb/cmssw/blob/vhbbHeppy76X/PhysicsTools/Heppy/python/analyzers/objects/JetAnalyzer.py#L439 we modify the whole jet p4 vector.

Evaluating the energy fraction: https://cmssdt.cern.ch/SDT/doxygen/CMSSW_5_3_14/doc/html/d6/d00/classpat_1_1Jet.html#a66c9972a14451bbf680cf4929a2bee4d we call the energy() function, that uses the same p4 vector !!

This explains why we got (Jet_chHEF+Jet_neHEF+Jet_chEmEF+Jet_neEmEF+Jet_muEF)/Jet_corr_JER = 1

I've just tried to comment the line I finally get (Jet_chHEF+Jet_neHEF+Jet_chEmEF+Jet_neEmEF+Jet_muEF) = 1

silviodonato commented 8 years ago

It can be fixed easily using in https://github.com/vhbb/cmssw/blob/vhbbHeppy76X/VHbbAnalysis/Heppy/python/vhbbobj.py#L96 a formula similar to https://github.com/vhbb/cmssw/blob/vhbbHeppy76X/VHbbAnalysis/Heppy/python/vhbbobj.py#L100

The problem is that we have to fix it also in the Jet regression and in the Jet ID, at least.

silviodonato commented 8 years ago

The same problem occurs in data here: https://github.com/vhbb/cmssw/blob/vhbbHeppy76X/PhysicsTools/Heppy/python/physicsobjects/Jet.py#L118

we get (Jet_chHEF+Jet_neHEF+Jet_chEmEF+Jet_neEmEF+Jet_muEF) = 1 only if the line is commented.

arizzi commented 8 years ago

isn't already correct in JetID ?

On Fri, Jan 29, 2016 at 4:27 PM, silviodonato notifications@github.com wrote:

It can be fixed easily using in https://github.com/vhbb/cmssw/blob/vhbbHeppy76X/VHbbAnalysis/Heppy/python/vhbbobj.py#L96 a formula similar to https://github.com/vhbb/cmssw/blob/vhbbHeppy76X/VHbbAnalysis/Heppy/python/vhbbobj.py#L100

The problem is that we have to fix it also in the Jet regression and in the Jet ID, at least.

— Reply to this email directly or view it on GitHub https://github.com/vhbb/cmssw/issues/287#issuecomment-176812756.

silviodonato commented 8 years ago

Maybe yes (I'm checking it). Still it has to be fixed in the regression (https://github.com/vhbb/cmssw/blob/vhbbHeppy76X/VHbbAnalysis/Heppy/python/JetRegression.py#L72) and in vhbbobj.py .

silviodonato commented 8 years ago

About the JetID, yes I can confirm you that at the moment is ok.

arizzi commented 8 years ago

316 closes it