Skip to content

Commit

Permalink
Merge pull request #22428 from Sam-Harper/EGMIDsForReMiniAOD_101X
Browse files Browse the repository at this point in the history
adding Egamma 2016/2017 IDs to MiniAOD and removing old ones
  • Loading branch information
cmsbuild committed Mar 10, 2018
2 parents 58a31df + 0cef6b6 commit db207e1
Show file tree
Hide file tree
Showing 20 changed files with 115 additions and 1,987 deletions.
Expand Up @@ -63,16 +63,8 @@
userIsolation = cms.PSet(),

# electron ID
addElectronID = cms.bool(True),
electronIDSources = cms.PSet(
# configure many IDs as InputTag <someName> = <someTag> you
# can comment out those you don't want to save some disk space
eidRobustLoose = cms.InputTag("eidRobustLoose"),
eidRobustTight = cms.InputTag("eidRobustTight"),
eidLoose = cms.InputTag("eidLoose"),
eidTight = cms.InputTag("eidTight"),
eidRobustHighEnergy = cms.InputTag("eidRobustHighEnergy"),
),
addElectronID = cms.bool(False),
electronIDSources = cms.PSet(),

# mc matching
addGenMatch = cms.bool(True),
Expand Down
Expand Up @@ -53,13 +53,8 @@
),

# photon ID
addPhotonID = cms.bool(True),
photonIDSources = cms.PSet(
PhotonCutBasedIDLoose = cms.InputTag('PhotonIDProdGED',
'PhotonCutBasedIDLoose'),
PhotonCutBasedIDTight = cms.InputTag('PhotonIDProdGED',
'PhotonCutBasedIDTight')
),
addPhotonID = cms.bool(False),
photonIDSources = cms.PSet(),
# mc matching
addGenMatch = cms.bool(True),
embedGenMatch = cms.bool(True),
Expand Down
55 changes: 27 additions & 28 deletions PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py
Expand Up @@ -42,15 +42,7 @@ def miniAOD_customizeCommon(process):
process.patElectrons.electronSource = cms.InputTag("reducedEgamma","reducedGedGsfElectrons")
process.patElectrons.usePfCandidateMultiMap = True
process.patElectrons.pfCandidateMultiMap = cms.InputTag("reducedEgamma","reducedGsfElectronPfCandMap")
process.patElectrons.electronIDSources = cms.PSet(
# configure many IDs as InputTag <someName> = <someTag> you
# can comment out those you don't want to save some disk space
eidRobustLoose = cms.InputTag("reducedEgamma","eidRobustLoose"),
eidRobustTight = cms.InputTag("reducedEgamma","eidRobustTight"),
eidLoose = cms.InputTag("reducedEgamma","eidLoose"),
eidTight = cms.InputTag("reducedEgamma","eidTight"),
eidRobustHighEnergy = cms.InputTag("reducedEgamma","eidRobustHighEnergy"),
)
process.patElectrons.electronIDSources = cms.PSet()
from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy
run2_miniAOD_80XLegacy.toModify(process.patElectrons,
addPFClusterIso = cms.bool(True),
Expand All @@ -61,6 +53,7 @@ def miniAOD_customizeCommon(process):
addPFClusterIso = cms.bool(True),
ecalPFClusterIsoMap = cms.InputTag("reducedEgamma", "eleEcalPFClusIso"),
hcalPFClusterIsoMap = cms.InputTag("reducedEgamma", "eleHcalPFClusIso"))

#add puppi isolation in miniAOD
process.patElectrons.addPuppiIsolation = cms.bool(True)
process.patElectrons.puppiIsolationChargedHadrons = cms.InputTag("egmElectronPUPPIIsolation","h+-DR030-BarVeto000-EndVeto001")
Expand Down Expand Up @@ -109,12 +102,6 @@ def miniAOD_customizeCommon(process):

process.patPhotons.photonSource = cms.InputTag("reducedEgamma","reducedGedPhotons")
process.patPhotons.electronSource = cms.InputTag("reducedEgamma","reducedGedGsfElectrons")
process.patPhotons.photonIDSources = cms.PSet(
PhotonCutBasedIDLoose = cms.InputTag('reducedEgamma',
'PhotonCutBasedIDLoose'),
PhotonCutBasedIDTight = cms.InputTag('reducedEgamma',
'PhotonCutBasedIDTight')
)

process.phPFIsoDepositChargedPAT.src = cms.InputTag("reducedEgamma","reducedGedPhotons")
process.phPFIsoDepositChargedAllPAT.src = cms.InputTag("reducedEgamma","reducedGedPhotons")
Expand Down Expand Up @@ -288,13 +275,15 @@ def miniAOD_customizeCommon(process):
process.slimmedPhotons.modifierConfig.modifications = egamma_modifications

#VID Electron IDs
electron_ids = ['RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_PHYS14_PU20bx25_V2_cff',
'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Spring15_25ns_V1_cff',
'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Spring15_50ns_V2_cff',
'RecoEgamma.ElectronIdentification.Identification.heepElectronID_HEEPV60_cff',
'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring15_25ns_nonTrig_V1_cff',
'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring15_25ns_Trig_V1_cff',
'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring15_50ns_Trig_V1_cff']
process.patElectrons.addElectronID = cms.bool(True)
electron_ids = ['RecoEgamma.ElectronIdentification.Identification.heepElectronID_HEEPV70_cff',
'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V1_cff',
'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V1_cff',
'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_iso_V1_cff',
'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Summer16_80X_V1_cff',
'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_GeneralPurpose_V1_cff',
'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_HZZ_V1_cff',
]
switchOnVIDElectronIdProducer(process,DataFormat.MiniAOD, task)
process.egmGsfElectronIDs.physicsObjectSrc = \
cms.InputTag("reducedEgamma","reducedGedGsfElectrons")
Expand All @@ -310,13 +299,18 @@ def miniAOD_customizeCommon(process):
process.heepIDVarValueMaps.elesMiniAOD = cms.InputTag('reducedEgamma','reducedGedGsfElectrons')
#force HEEP to use miniAOD (otherwise it'll detect the AOD)
process.heepIDVarValueMaps.dataFormat = cms.int32(2)



#add the HEEP trk isol to the slimmed electron, add it to the first FromFloatValMap modifier
for pset in process.slimmedElectrons.modifierConfig.modifications:
if pset.hasParameter("modifierName") and pset.modifierName == cms.string('EGExtraInfoModifierFromFloatValueMaps'):
pset.electron_config.heepTrkPtIso = cms.InputTag("heepIDVarValueMaps","eleTrkPtIso")
break

#VID Photon IDs
photon_ids = ['RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_Spring15_25ns_V1_cff',
'RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_Spring15_50ns_V1_cff',
'RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Spring15_25ns_nonTrig_V2p1_cff',
'RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Spring15_50ns_nonTrig_V2p1_cff',
process.patPhotons.addPhotonID = cms.bool(True)
photon_ids = ['RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_Fall17_94X_V1_TrueVtx_cff',
'RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Fall17_94X_V1_cff',
'RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Fall17_94X_V1p1_cff',
'RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_Spring16_V2p2_cff',
'RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Spring16_nonTrig_V1_cff']
switchOnVIDPhotonIdProducer(process,DataFormat.AOD, task)
Expand All @@ -337,6 +331,11 @@ def miniAOD_customizeCommon(process):
cms.InputTag('reducedEgamma','reducedGedPhotons')
for idmod in photon_ids:
setupAllVIDIdsInModule(process,idmod,setupVIDPhotonSelection,None,False,task)

#add the cut base IDs bitmaps of which cuts passed
from RecoEgamma.EgammaTools.egammaObjectModifications_tools import makeVIDBitsModifier
egamma_modifications.append(makeVIDBitsModifier(process,"egmGsfElectronIDs","egmPhotonIDs"))


#-- Adding boosted taus
from RecoTauTag.Configuration.boostedHPSPFTaus_cfi import addBoostedTaus
Expand Down
28 changes: 4 additions & 24 deletions RecoEgamma/EgammaPhotonProducers/python/reducedEgamma_cfi.py
Expand Up @@ -21,30 +21,10 @@
preshowerEcalHits = cms.InputTag("reducedEcalRecHitsES"),
photonsPFValMap = cms.InputTag("particleBasedIsolation","gedPhotons"),
gsfElectronsPFValMap = cms.InputTag("particleBasedIsolation","gedGsfElectrons"),
photonIDSources = cms.VInputTag(
cms.InputTag("PhotonIDProdGED","PhotonCutBasedIDLoose"),
cms.InputTag("PhotonIDProdGED","PhotonCutBasedIDLooseEM"),
cms.InputTag("PhotonIDProdGED","PhotonCutBasedIDTight")
),
photonIDOutput = cms.vstring(
"PhotonCutBasedIDLoose",
"PhotonCutBasedIDLooseEM",
"PhotonCutBasedIDTight",
),
gsfElectronIDSources = cms.VInputTag(
cms.InputTag("eidLoose"),
cms.InputTag("eidRobustHighEnergy"),
cms.InputTag("eidRobustLoose"),
cms.InputTag("eidRobustTight"),
cms.InputTag("eidTight"),
),
gsfElectronIDOutput = cms.vstring(
"eidLoose",
"eidRobustHighEnergy",
"eidRobustLoose",
"eidRobustTight",
"eidTight",
),
photonIDSources = cms.VInputTag(),
photonIDOutput = cms.vstring(),
gsfElectronIDSources = cms.VInputTag(),
gsfElectronIDOutput = cms.vstring(),
photonPFClusterIsoSources = cms.VInputTag(),
photonPFClusterIsoOutput = cms.vstring(),
ootPhotonPFClusterIsoSources = cms.VInputTag(),
Expand Down
@@ -1,14 +1,17 @@
import FWCore.ParameterSet.Config as cms

#electron mva ids
import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring15_25ns_nonTrig_V1_cff as ele_spring15_nt
import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring15_50ns_Trig_V1_cff as ele_spring15_50_t
import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_GeneralPurpose_V1_cff as ele_spring16_gp_v1
import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_HZZ_V1_cff as ele_spring16_hzz_v1
import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_iso_V1_cff as ele_fall17_iso_v1
import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V1_cff as ele_fall17_noIso_v1

import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring15_25ns_Trig_V1_cff as ele_spring15_25_t

#photon mva ids
import RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Spring15_25ns_nonTrig_V2p1_cff as pho_spring15_25_nt
import RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Spring15_50ns_nonTrig_V2p1_cff as pho_spring15_50_nt
import RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Spring16_nonTrig_V1_cff as pho_spring16_nt_v1
import RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Fall17_94X_V1_cff as pho_fall17_94X_v1
import RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Fall17_94X_V1p1_cff as pho_fall17_94X_v1p1


ele_mva_prod_name = 'electronMVAValueMapProducer'
pho_mva_prod_name = 'photonMVAValueMapProducer'
Expand Down Expand Up @@ -38,27 +41,37 @@ def setup_mva(val_pset,cat_pset,prod_name,mva_name):
setup_mva(egamma_modifications[0].electron_config,
egamma_modifications[1].electron_config,
ele_mva_prod_name,
ele_spring15_nt.mvaSpring15NonTrigClassName+ele_spring15_nt.mvaTag)
ele_spring16_gp_v1.mvaSpring16ClassName+ele_spring16_gp_v1.mvaTag)

setup_mva(egamma_modifications[0].electron_config,
egamma_modifications[1].electron_config,
ele_mva_prod_name,
ele_spring16_hzz_v1.mvaSpring16ClassName+ele_spring16_hzz_v1.mvaTag)

setup_mva(egamma_modifications[0].electron_config,
egamma_modifications[1].electron_config,
ele_mva_prod_name,
ele_spring15_50_t.mvaSpring15TrigClassName+ele_spring15_50_t.mvaTag)
ele_fall17_iso_v1.mvaFall17ClassName+ele_fall17_iso_v1.mvaTag)

setup_mva(egamma_modifications[0].electron_config,
egamma_modifications[1].electron_config,
ele_mva_prod_name,
ele_spring15_25_t.mvaSpring15TrigClassName+ele_spring15_25_t.mvaTag)
ele_fall17_noIso_v1.mvaFall17ClassName+ele_fall17_noIso_v1.mvaTag)

setup_mva(egamma_modifications[0].photon_config,
egamma_modifications[1].photon_config,
pho_mva_prod_name,
pho_spring16_nt_v1.mvaSpring16NonTrigClassName+pho_spring16_nt_v1.mvaTag)

setup_mva(egamma_modifications[0].photon_config,
egamma_modifications[1].photon_config,
pho_mva_prod_name,
pho_spring15_25_nt.mvaSpring15NonTrigClassName+pho_spring15_25_nt.mvaTag)
pho_fall17_94X_v1.mvaFall17v1ClassName+pho_fall17_94X_v1.mvaTag)

setup_mva(egamma_modifications[0].photon_config,
egamma_modifications[1].photon_config,
pho_mva_prod_name,
pho_spring15_50_nt.mvaSpring15NonTrigClassName+pho_spring15_50_nt.mvaTag)
pho_fall17_94X_v1p1.mvaFall17v1p1ClassName+pho_fall17_94X_v1p1.mvaTag)

#############################################################
# REGRESSION MODIFIERS
Expand Down
43 changes: 43 additions & 0 deletions RecoEgamma/EgammaTools/python/egammaObjectModifications_tools.py
@@ -0,0 +1,43 @@
import FWCore.ParameterSet.Config as cms

"""
makes a modifier config to load all the cutbased VID bits into the pat::Electron/pat::Photon userdata
any ID which starts with "mva" will not be stored
"""
def makeVIDBitsModifier(process,eleVIDModuleName,phoVIDModuleName):
vidCutBitsModifier = cms.PSet(
modifierName = cms.string('EGExtraInfoModifierFromUIntToIntValueMaps'),
electron_config = cms.PSet(),
photon_config = cms.PSet()
)

phoVIDModule = getattr(process,phoVIDModuleName)
for egid in phoVIDModule.physicsObjectIDs:
if egid.idDefinition.idName.value().find("mva")!=0:
setattr(vidCutBitsModifier.photon_config,egid.idDefinition.idName.value(),cms.InputTag(phoVIDModuleName+':'+egid.idDefinition.idName.value()+"Bitmap"))

eleVIDModule = getattr(process,eleVIDModuleName)
for egid in eleVIDModule.physicsObjectIDs:
if egid.idDefinition.idName.value().find("mva")!=0:
setattr(vidCutBitsModifier.electron_config,egid.idDefinition.idName.value(),cms.InputTag(eleVIDModuleName+':'+egid.idDefinition.idName.value()+"Bitmap"))

return vidCutBitsModifier

"""
make a modifer config to load all the VID ids into the pat::Electron/pat::Photon electron/photonIDs
"""
def makeVIDinPATIDsModifier(process,eleVIDModuleName,phoVIDModuleName):
vidInPATIDsModifier = cms.PSet(
modifierName = cms.string('EGExtraInfoModifierFromEGIDValueMaps'),
electron_config = cms.PSet(),
photon_config = cms.PSet()
)
phoVIDModule = getattr(process,phoVIDModuleName)
for egid in phoVIDModule.physicsObjectIDs:
setattr(vidInPATIDsModifier.photon_config,egid.idDefinition.idName.value(),cms.InputTag(phoVIDModuleName+':'+egid.idDefinition.idName.value()))

eleVIDModule = getattr(process,eleVIDModuleName)
for egid in eleVIDModule.physicsObjectIDs:
setattr(vidInPATIDsModifier.electron_config,egid.idDefinition.idName.value(),cms.InputTag(eleVIDModuleName+':'+egid.idDefinition.idName.value()))

return vidInPATIDsModifier
Expand Up @@ -3,18 +3,6 @@
mvaConfigsForEleProducer = cms.VPSet( )

# Import and add all desired MVAs
from RecoEgamma.ElectronIdentification.Identification.mvaElectronID_PHYS14_PU20bx25_nonTrig_V1_cff import *
mvaConfigsForEleProducer.append( mvaEleID_PHYS14_PU20bx25_nonTrig_V1_producer_config )

from RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring15_25ns_nonTrig_V1_cff import *
mvaConfigsForEleProducer.append( mvaEleID_Spring15_25ns_nonTrig_V1_producer_config )

from RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring15_50ns_Trig_V1_cff import *
mvaConfigsForEleProducer.append( mvaEleID_Spring15_50ns_Trig_V1_producer_config )

from RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring15_25ns_Trig_V1_cff import *
mvaConfigsForEleProducer.append( mvaEleID_Spring15_25ns_Trig_V1_producer_config )

from RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_HZZ_V1_cff \
import mvaEleID_Spring16_HZZ_V1_producer_config
mvaConfigsForEleProducer.append( mvaEleID_Spring16_HZZ_V1_producer_config )
Expand Down

0 comments on commit db207e1

Please sign in to comment.