Intro & executive summary
This is a collection of tcMet performance & validation plots updating some of the info in our
draft note.
Samples used are summer & Fall 08 samples:
-
- /ZJets-madgraph/Fall08_IDEAL_V9_reco-v2/GEN-SIM-RECO
- /WW_2l/Summer08_IDEAL_V9_v2/GEN-SIM-RECO
For now, we looked at the performance in:
- DY events looking for fake MET rejection
- WW events for real MET performance
In Summary, we see:
- ~x3 rejection of fake MET for a cut at 30GeV (similar to 1.6.x performance)
- ~20% improvement of MET resolution in events with real MET (again similar to 1.6.x)
- ~20% improvement in the determination of the direction of the MET as well.
Results for events with fake MET (DY):
- we observe significant reduction of the tail of the MET distribution for di-lepton final states, consistent with that seen previously in release 16X
- metMuonCorr is met corrected for muons
- table for cut MET > 30 GeV
MET |
muons |
electrons |
metMuonCorr |
5640 |
4921 |
tcMET |
1852 |
1721 |
factor |
3.1 |
2.9 |
- table for cut MET > 50 GeV
MET |
muons |
electrons |
metMuonCorr |
748 |
644 |
tcMET |
204 |
192 |
factor |
3.7 |
3.4 |
Results for events with real MET (WW):
- WW decaying to two leptons has real MET via neutrinos produced along wtih the leptons thus tcMET should have little effect on the MET distribution for this process as observed above
- table for cut MET > 30 GeV
MET |
muons |
electrons |
metMuonCorr |
3643 |
4289 |
tcMET |
3722 |
4349 |
factor |
1.02 |
1.01 |
- table for cut MET > 50 GeV
MET |
muons |
electrons |
metMuonCorr |
1983 |
2216 |
tcMET |
2025 |
2271 |
factor |
1.02 |
1.02 |
- although our goal is to reduce the tails of fake MET distributions, it is also interesting to look at what effect tcMET has on MET resolution
- below are plots comparing the difference between corrected MET and generator MET for muon corrected MET and tcMET
- in both cases, the mean is shifted closer to 0 and the RMS improves
- the resolution improves by at least 20% in both final states
- below are the same plots as a fraction of the generator MET
Comparison of MET direction
- below are plots of delta phi between corrected MET and generator MET for events with real MET
- in both final states, direction resolution improves by ~20%
Comparison with patMET
- Since patMET is about to be used extensively, we compare to what one get from it, out of the box.
- patMET (met_pat_metCor) is corrected for both muons and Jets
- table for cut MET > 30 GeV
MET |
muons |
electrons |
met_pat_metCor |
4967 |
6371 |
metMuonCorr |
5640 |
4921 |
tcMET |
1852 |
1721 |
pat factor |
2.7 |
3.7 |
muon factor |
3.1 |
2.9 |
- table for cut MET > 50 GeV
MET |
muons |
electrons |
met_pat_metCor |
593 |
714 |
metMuonCorr |
748 |
644 |
tcMET |
204 |
192 |
pat factor |
2.9 |
3.7 |
muon factor |
3.7 |
3.4 |
- patMET performs better than muon corrected MET in the muon final state, but worse in the electron final state
- this result is in agreement with what we saw for muon+!JES corrections to MET in 16X
- tcMET significantly reduces the tail of the MET distribution relative to both types of MET
Definitions and notations
- caloMET corrected for muons will serve as the baseline for all comparisons
- for comparison of MET in dilepton events, we require the following:
- dimuon final state
- two global muons
- pt > 20 GeV
- no additional leptons with pt > 20 GeV
- dielectron final state
- two electrons
- pt > 20 GeV
- no additional leptons with pt > 20 GeV
- for comparison of MET in dijet events, we require the following:
...
- we use the standard CMS muon correction scheme. Details: met muon corrections are done using JetMETCorrections/Type1MET/python/metMuonCorrections_cff.py which corrects for global muons that also pass
- nhits > 5
- pt > 10 (from global fit), abs(eta) < 2.5
- qoverp_error < 0.5
- metMuonCorr is MET corrected for muons using the standard CMS method
- met_pat_metCor is PAT MET, where MET has been corrected for muons and the jet energy scale (JES)
Validation, N-1 plots
- tracking has changed considerably between 16X and 22X and thus the quality cuts on tracks must be revisited
- quality cuts in 16X were
- nhits > 6
- chi2/ndof < 5
- abs(d0) < 0.05
- changes between 16X and 22X
- tracking improved at lower pt
- changed the way hits are defined
- can now have more than one hit per layer
- displaced beamSpot requires correction
- below are new N-1 plots using ZJets sample
- Number of valid hits, N-1 plot
- tracking group recommends cut of nhits > 10
- Normalized chi-squared, N-1 plot
- Corrected impact parameter, N-1 plot
- the new track quality cuts are:
- nhits > 10
- chi2/ndof < 4
- abs(d0corr) < 0.1
Instructions and Example Use ( How to run it...)
- The following tags are available for using tcMET in 22X releases. After setting up a 22X release area, one should check out
- cvs co -r V02-05-00-20 RecoMET/METAlgorithms
- cvs co -r V02-08-02-16 RecoMET/METProducers
- cvs co -r V00-04-02-16 RecoMET/Configuration
- cvs co -r V00-06-02-09 DataFormats/METReco
- After building, to see how to incorporate tcMet correction to your analysis sequence, see example in test file. This example will produce a tcMET collection.
- The implementation of tcMET makes use of the metMuonCorrections module that is part of 22X releases. As a result, the user must include the cff file in their cfg (as is done in the above example) and place the module in their path before tcMet as shown below.
# load muon corrections for !MET module
process.load("JetMETCorrections.Type1MET.MetMuonCorrections_cff")
# load track-corrected MET module
process.load("RecoMET.METProducers.TCMET_cfi")
# run sequence of muon+track MET corrections
process.p = cms.Path(process.MetMuonCorrections*process.tcMet)
* the configuration files for the modules are
-
- JetMETCorrections/Type1MET/python/corMetMuons_cfi.py
- JetMETCorrections/Type1MET/python/MetMuonCorrectiosn_cff.py
- RecoMET/METProducers/python/TCMET_cfi.py
It is recommended to use the configurations provided.
- After running a test job, you should see a tcMet collection in your TBrowser
- The tcMet collection can be accessed in the usual way:
Handle< View<MET> > tcmet_h;
iEvent.getByLabel("tcMet", tcmet_h);
*evt_tcmet = (tcmet_h->front()).et();
*evt_tcmetPhi = (tcmet_h->front()).phi();
*evt_tcsumet = (tcmet_h->front()).sumEt();
--
FrankGolf - 19 Feb 2009
Topic revision: r9 - 24 Feb 2009 - 09:56:40 -
FrankGolf