Skip to content

Commit

Permalink
Merge pull request cms-sw#38 from mariadalfonso/METupdate
Browse files Browse the repository at this point in the history
METupdate
  • Loading branch information
gpetruc committed May 17, 2016
2 parents 7426d84 + dbbb90a commit 9539623
Show file tree
Hide file tree
Showing 5 changed files with 205 additions and 141 deletions.
92 changes: 42 additions & 50 deletions ObjectStudies/cfg/run_MET_cfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from CMGTools.RootTools.samples.samples_13TeV_RunIIFall15MiniAODv2 import * #<--miniAOD v2 samples_13TeV_RunIIFall15MiniAODv2
from CMGTools.RootTools.samples.samples_13TeV_DATA2015 import *

from CMGTools.RootTools.samples.triggers_13TeV_Spring15 import triggers_1mu_iso_50ns, triggers_mumu, triggers_ee, triggers_photon30, triggers_photon50, triggers_photon75, triggers_photon90, triggers_photon120, triggers_dijet, triggers_HT350, triggers_HT475, triggers_HT600, triggers_HT800, triggers_HT900, triggers_Jet80MET90
from CMGTools.RootTools.samples.triggers_13TeV_Spring15 import triggers_1mu_iso_50ns, triggers_mumu, triggers_ee, triggers_photon30, triggers_photon50, triggers_photon75, triggers_photon90, triggers_photon120, triggers_jet, triggers_dijet, triggers_HT350, triggers_HT475, triggers_HT600, triggers_HT800, triggers_HT900, triggers_Jet80MET90

#-------- INITIAL FLAG
isDiJet=False
Expand Down Expand Up @@ -315,6 +315,7 @@
'Photon90' : triggers_photon90, #["HLT_Photon90_R9Id90_HE10_IsoM_v*"]
'Photon120': triggers_photon120, #["HLT_Photon120_R9Id90_HE10_IsoM_v*"]
######
'SingleJet': triggers_jet,
'DiJet' : triggers_dijet, #["HLT_DiPFJetAve40_v*", "HLT_DiPFJetAve60_v*"]
'PFHT350_Prescale' : triggers_HT350, #["HLT_PFHT350_v*"] # prescaled
'PFHT475_Prescale' : triggers_HT475, #["HLT_PFHT475_v*"] # prescaled
Expand Down Expand Up @@ -359,58 +360,49 @@


# -------------------- Running pre-processor

import subprocess
if comp.isData:
if not is25ns:
removeResiduals = False
uncFile = os.environ['CMSSW_BASE']+'/src/CMGTools/RootTools/data/jec/Summer15_50nsV4_DATA_UncertaintySources_AK4PFchs.txt'
jecDBFile = os.environ['CMSSW_BASE']+'/src/CMGTools/RootTools/data/jec/Summer15_50nsV4_DATA.db'
jecEra = 'Summer15_50nsV4_DATA'
else:
## DATA 25ns
## runD residuals not yet available
removeResiduals = False
uncFile = os.environ['CMSSW_BASE']+'/src/CMGTools/RootTools/data/jec/Summer15_25nsV5_DATA_UncertaintySources_AK4PFchs.txt'
jecDBFile = os.environ['CMSSW_BASE']+'/src/CMGTools/RootTools/data/jec/Summer15_25nsV5_DATA.db'
jecEra = 'Summer15_25nsV5_DATA'
## DATA 25ns
removeResiduals = False
uncFile = os.environ['CMSSW_BASE']+'/src/CMGTools/RootTools/data/jec/Summer15_25nsV5_DATA_Uncertainty_AK4PFchs.txt'
jecDBFile = os.environ['CMSSW_BASE']+'/src/CMGTools/RootTools/data/jec/Fall15_25nsV2_DATA.db'
jecEra = 'Fall15_25nsV2_DATA'
jerDBFile = os.environ['CMSSW_BASE']+'/src/PhysicsTools/PatUtils/data/Fall15_25nsV2_DATA.db'
jerEra = 'Fall15_25nsV2'
else:
if not is25ns:
removeResiduals = False
uncFile = os.environ['CMSSW_BASE']+'/src/CMGTools/RootTools/data/jec/Summer15_50nsV4_MC_UncertaintySources_AK4PFchs.txt'
jecDBFile = os.environ['CMSSW_BASE']+'/src/CMGTools/RootTools/data/jec/Summer15_50nsV4_MC.db'
jecEra = 'Summer15_50nsV4_MC'
else:
## MC 25ns
removeResiduals = True
uncFile = os.environ['CMSSW_BASE']+'/src/CMGTools/RootTools/data/jec/Summer15_25nsV2_MC_UncertaintySources_AK4PFchs.txt'
jecDBFile = os.environ['CMSSW_BASE']+'/src/CMGTools/RootTools/data/jec/Summer15_25nsV2_MC.db'
jecEra = 'Summer15_25nsV2_MC'



#preprocessorFile = "$CMSSW_BASE/tmp/MetType1_jec_%s.py"%(jecEra)
#extraArgs=[]
#if comp.isData:
# extraArgs.append('--isData')
# GT= '74X_dataRun2_Prompt_v2'
#else:
# if not is25ns:
# GT= 'MCRUN2_74_V9A'
# else:
# GT= 'MCRUN2_74_V9'
#if removeResiduals:extraArgs.append('--removeResiduals')
#args = ['python',
# os.path.expandvars(os.environ['CMSSW_BASE']+'/python/CMGTools/ObjectStudies/corMETMiniAOD_cfgCreator.py'),\
# '--GT='+GT,
# '--outputFile='+preprocessorFile,
# '--jecDBFile='+jecDBFile,
# '--jecEra='+jecEra
# ] + extraArgs
##print "Making pre-processorfile:"
##print " ".join(args)
#subprocess.call(args)
#from PhysicsTools.Heppy.utils.cmsswPreprocessor import CmsswPreprocessor
#preprocessor = CmsswPreprocessor(preprocessorFile)
## MC 25ns
removeResiduals = False
uncFile = os.environ['CMSSW_BASE']+'/src/CMGTools/RootTools/data/jec/Summer15_25nsV2_MC_Uncertainty_AK4PFchs.txt'
jecDBFile = os.environ['CMSSW_BASE']+'/src/CMGTools/RootTools/data/jec/Fall15_25nsV2_MC.db'
jecEra = 'Fall15_25nsV2_MC'
jerDBFile = os.environ['CMSSW_BASE']+'/src/PhysicsTools/PatUtils/data/Fall15_25nsV2_MC.db'
jerEra = 'Fall15_25nsV2'

preprocessorFile = "$CMSSW_BASE/tmp/MetType1_jec_%s.py"%(jecEra)
extraArgs=[]
if comp.isData:
extraArgs.append('--isData')
GT= '76X_dataRun2_16Dec2015_v0'
else:
GT= '76X_mcRun2_asymptotic_RunIIFall15DR76_v1'

if removeResiduals:extraArgs.append('--removeResiduals')
args = ['python',
os.path.expandvars(os.environ['CMSSW_BASE']+'/python/CMGTools/ObjectStudies/corMETMiniAOD_cfgCreator.py'),\
'--GT='+GT,
'--outputFile='+preprocessorFile,
'--jecDBFile='+jecDBFile,
'--jecEra='+jecEra,
'--jerDBFile='+jerDBFile,
'--jerEra='+jerEra
] + extraArgs
#print "Making pre-processorfile:"
#print " ".join(args)

subprocess.call(args)
from PhysicsTools.Heppy.utils.cmsswPreprocessor import CmsswPreprocessor
preprocessor = CmsswPreprocessor(preprocessorFile)

autoAAA(selectedComponents)

Expand Down
76 changes: 73 additions & 3 deletions ObjectStudies/python/analyzers/metCoreModules_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,21 @@
collectionPostFix = "",
)

metAnaScaleUp = metAna.clone(name="metAnalyzerScaleUp",
copyMETsByValue = True,
recalibrate = "type1",
jetAnalyzerPostFix = "_jecUp",
collectionPostFix = "_jecUp",
)

metAnaScaleDown = metAna.clone(name="metAnalyzerScaleDown",
copyMETsByValue = True,
recalibrate = "type1",
jetAnalyzerPostFix = "_jecDown",
collectionPostFix = "_jecDown",
)


metPuppiAna = cfg.Analyzer(
METAnalyzer, name="metAnalyzerPuppi",
metCollection = "slimmedMETsPuppi",
Expand All @@ -259,7 +274,7 @@
doMetNoMu = False,
doMetNoEle = False,
doMetNoPhoton = False,
recalibrate = False, # or "type1", or True
recalibrate = "type1", # or "type1", or True
applyJetSmearing = False, # does nothing unless the jet smearing is turned on in the jet analyzer
old74XMiniAODs = False, # set to True to get the correct Raw MET when running on old 74X MiniAODs
jetAnalyzerCalibrationPostFix = "Puppi",
Expand All @@ -269,6 +284,20 @@
collectionPostFix = "Puppi",
)

metPuppiAnaScaleUp = metAna.clone(name="metAnalyzerPuppiScaleUp",
copyMETsByValue = True,
recalibrate = "type1",
jetAnalyzerPostFix = "Puppi_jecUp",
collectionPostFix = "Puppi_jecUp",
)

metPuppiAnaScaleDown = metAna.clone(name="metAnalyzerPuppiScaleDown",
copyMETsByValue = True,
recalibrate = "type1",
jetAnalyzerPostFix = "Puppi_jecDown",
collectionPostFix = "Puppi_jecDown",
)


##------------------------------------------
## Z skim
Expand Down Expand Up @@ -330,6 +359,23 @@
collectionPostFix = ""
)

## Jets Analyzer (generic)
jetAnaScaleUp = jetAna.clone(name='jetAnalyzerScaleUp',
jetCol = 'slimmedJets',
shiftJEC = +1, # set to +1 or -1 to apply +/-1 sigma shift to the nominal jet energies
collectionPostFix = "_jecUp",
calculateType1METCorrection = True,
)

## Jets Analyzer (generic)
jetAnaScaleDown = jetAna.clone(name='jetAnalyzerScaleDown',
jetCol = 'slimmedJets',
shiftJEC = -1, # set to +1 or -1 to apply +/-1 sigma shift to the nominal jet energies
collectionPostFix = "_jecDown",
calculateType1METCorrection = True,
)


jetPuppiAna = cfg.Analyzer(
JetAnalyzer, name='jetAnalyzerPuppi',
jetCol = 'slimmedJetsPuppi',
Expand Down Expand Up @@ -365,7 +411,23 @@
calculateSeparateCorrections = True, # should be True if recalibrateJets is True, otherwise L1s will be inconsistent
calculateType1METCorrection = True,
type1METParams = { 'jetPtThreshold':15., 'skipEMfractionThreshold':0.9, 'skipMuons':True },
collectionPostFix = ""
collectionPostFix = "Puppi"
)

## Jets Analyzer (generic)
jetPuppiAnaScaleUp = jetPuppiAna.clone(name='jetAnalyzerPuppiScaleUp',
jetCol = 'slimmedJetsPuppi',
shiftJEC = +1, # set to +1 or -1 to apply +/-1 sigma shift to the nominal jet energies
collectionPostFix = "Puppi_jecUp",
calculateType1METCorrection = True,
)

## Jets Analyzer (generic)
jetPuppiAnaScaleDown = jetPuppiAna.clone(name='jetAnalyzerPuppiScaleDown',
jetCol = 'slimmedJetsPuppi',
shiftJEC = -1, # set to +1 or -1 to apply +/-1 sigma shift to the nominal jet energies
collectionPostFix = "Puppi_jecDown",
calculateType1METCorrection = True,
)


Expand Down Expand Up @@ -406,10 +468,18 @@
photonAna,
##### jet modules below
jetAna,
## jetPuppiAna,
jetAnaScaleUp,
jetAnaScaleDown,
jetPuppiAna,
jetPuppiAnaScaleUp,
jetPuppiAnaScaleDown,
##### met modules below
metAna,
metAnaScaleUp,
metAnaScaleDown,
metPuppiAna,
metPuppiAnaScaleUp,
metPuppiAnaScaleDown,
eventFlagsAna,
## hbheFilterAna,
##### tree
Expand Down
27 changes: 19 additions & 8 deletions ObjectStudies/python/analyzers/treeProducerMET.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,26 +31,32 @@
NTupleVariable("met_uPara_zll", lambda ev : ev.met.upara_zll if hasattr(ev,'zll_p4') else -999 , help="recoil MET"),
NTupleVariable("met_uPerp_zll", lambda ev : ev.met.uperp_zll if hasattr(ev,'zll_p4') else -999 , help="recoil MET"),

NTupleVariable("met_jecDown_uPara_zll", lambda ev : ev.met_jecDown.upara_zll if hasattr(ev,'zll_p4') else -999 , help="recoil MET jecDown"),
NTupleVariable("met_jecDown_uPerp_zll", lambda ev : ev.met_jecDown.uperp_zll if hasattr(ev,'zll_p4') else -999 , help="recoil MET jecDown"),

NTupleVariable("met_jecUp_uPara_zll", lambda ev : ev.met_jecUp.upara_zll if hasattr(ev,'zll_p4') else -999 , help="recoil MET jecUp"),
NTupleVariable("met_jecUp_uPerp_zll", lambda ev : ev.met_jecUp.uperp_zll if hasattr(ev,'zll_p4') else -999 , help="recoil MET jecUp"),

# NTupleVariable("metNoHF_uPara_zll", lambda ev : ev.metNoHF.upara_zll if hasattr(ev,'metNoHF') and hasattr(ev,'zll_p4') else -999 , help="recoil MET"),
# NTupleVariable("metNoHF_uPerp_zll", lambda ev : ev.metNoHF.uperp_zll if hasattr(ev,'metNoHF') and hasattr(ev,'zll_p4') else -999 , help="recoil MET"),

NTupleVariable("metPuppi_uPara_zll", lambda ev : ev.metPuppi.upara_zll if hasattr(ev,'metPuppi') and hasattr(ev,'zll_p4') else -999 , help="recoil MET"),
NTupleVariable("metPuppi_uPerp_zll", lambda ev : ev.metPuppi.uperp_zll if hasattr(ev,'metPuppi') and hasattr(ev,'zll_p4') else -999 , help="recoil MET"),
NTupleVariable("metPuppi_uPara_zll", lambda ev : ev.metPuppi.upara_zll if hasattr(ev,'metPuppi') and hasattr(ev,'zll_p4') else -999 , help="recoil MET puppi"),
NTupleVariable("metPuppi_uPerp_zll", lambda ev : ev.metPuppi.uperp_zll if hasattr(ev,'metPuppi') and hasattr(ev,'zll_p4') else -999 , help="recoil MET puppi"),

NTupleVariable("met_raw_uPara_zll", lambda ev : ev.met_raw.upara_zll if hasattr(ev,'zll_p4') else -999 , help="recoil MET"),
NTupleVariable("met_raw_uPerp_zll", lambda ev : ev.met_raw.uperp_zll if hasattr(ev,'zll_p4') else -999 , help="recoil MET"),
NTupleVariable("met_raw_uPara_zll", lambda ev : ev.met_raw.upara_zll if hasattr(ev,'zll_p4') else -999 , help="recoil MET raw"),
NTupleVariable("met_raw_uPerp_zll", lambda ev : ev.met_raw.uperp_zll if hasattr(ev,'zll_p4') else -999 , help="recoil MET raw"),

NTupleVariable("met_caloPt", lambda ev : ev.met.caloMETPt(), help="calo met p_{T}"),
NTupleVariable("met_caloPhi", lambda ev : ev.met.caloMETPhi(), help="calo met phi"),
NTupleVariable("met_caloSumEt", lambda ev : ev.met.caloMETSumEt(), help="calo met sumEt"),

# ----------------------- type1met studies info -------------------------------------------------------------------- #

NTupleVariable("met_JetEnUp_Pt", lambda ev : ev.met.shiftedPt(ev.met.JetEnUp, ev.met.Raw), help="type1, JetEnUp, pt"),
NTupleVariable("met_JetEnUp_Phi", lambda ev : ev.met.shiftedPhi(ev.met.JetEnUp, ev.met.Raw), help="type1, JetEnUp, phi"),
# NTupleVariable("met_JetEnUp_Pt", lambda ev : ev.met.shiftedPt(ev.met.JetEnUp, ev.met.Raw), help="type1, JetEnUp, pt"),
# NTupleVariable("met_JetEnUp_Phi", lambda ev : ev.met.shiftedPhi(ev.met.JetEnUp, ev.met.Raw), help="type1, JetEnUp, phi"),

NTupleVariable("met_JetEnDown_Pt", lambda ev : ev.met.shiftedPt(ev.met.JetEnDown, ev.met.Raw), help="type1, JetEnDown, pt"),
NTupleVariable("met_JetEnDown_Phi", lambda ev : ev.met.shiftedPhi(ev.met.JetEnDown, ev.met.Raw), help="type1, JetEnDown, phi"),
# NTupleVariable("met_JetEnDown_Pt", lambda ev : ev.met.shiftedPt(ev.met.JetEnDown, ev.met.Raw), help="type1, JetEnDown, pt"),
# NTupleVariable("met_JetEnDown_Phi", lambda ev : ev.met.shiftedPhi(ev.met.JetEnDown, ev.met.Raw), help="type1, JetEnDown, phi"),

# NTupleVariable("metNoHF_JetEnUp_Pt", lambda ev : ev.metNoHF.shiftedPt(ev.met.JetEnUp, ev.met.Raw) if hasattr(ev,'metNoHF') else -999, help="type1 noHF , JetEnUp, pt"),
# NTupleVariable("metNoHF_JetEnUp_Phi", lambda ev : ev.metNoHF.shiftedPhi(ev.met.JetEnUp, ev.met.Raw) if hasattr(ev,'metNoHF') else -999, help="type1 noHF , JetEnUp, phi"),
Expand Down Expand Up @@ -108,8 +114,12 @@

met_globalObjects = {
"met" : NTupleObject("met", metType, help="PF E_{T}^{miss}, after type 1 corrections"),
"met_jecUp" : NTupleObject("met_jecUp", metType, help="PF E_{T}^{miss}, after type 1 corrections with JEC up variation"),
"met_jecDown" : NTupleObject("met_jecDown", metType, help="PF E_{T}^{miss}, after type 1 corrections with JEC down variation"),
# "metNoHF" : NTupleObject("metNoHF", metType, help="PF E_{T}^{miss}, after type 1 corrections (NoHF)"),
"metPuppi" : NTupleObject("metPuppi", metType, help="PF E_{T}^{miss}, after type 1 corrections (Puppi)"),
"metPuppi_jecUp" : NTupleObject("metPuppi_jecUp", metType, help="PF E_{T}^{miss}, after type 1 corrections with JEC up variation (Puppi)"),
"metPuppi_jecDown" : NTupleObject("metPuppi_jecDown", metType, help="PF E_{T}^{miss}, after type 1 corrections with JEC down variation (Puppi)"),
# "metraw" : NTupleObject("metraw", metType, help="PF E_{T}^{miss}"),
# "metType1chs" : NTupleObject("metType1chs", metType, help="PF E_{T}^{miss}, after type 1 CHS jets"),
#"tkMet" : NTupleObject("tkmet", metType, help="TK PF E_{T}^{miss}"),
Expand All @@ -123,4 +133,5 @@
"generatorSummary" : NTupleCollection("GenPart", genParticleWithLinksType, 100 , help="Hard scattering particles, with ancestry and links"),
"selectedLeptons" : NTupleCollection("lep", leptonType, 50, help="Leptons after the preselection", filter=lambda l : l.pt()>10 ),
# "selectedPhotons" : NTupleCollection("gamma", photonType, 50, help="photons with pt>20 and loose cut based ID"),
"cleanJetsAll" : NTupleCollection("jet", jetType, 100, help="all jets (w/ x-cleaning, w/ ID applied w/o PUID applied pt>20 |eta|<5.2) , sorted by pt", filter=lambda l : l.pt()>100 ),
}
Loading

0 comments on commit 9539623

Please sign in to comment.