1 import FWCore.ParameterSet.Config
as cms
4 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_GeneralPurpose_V1_cff
as ele_spring16_gp_v1
5 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_HZZ_V1_cff
as ele_spring16_hzz_v1
6 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_iso_V1_cff
as ele_fall17_iso_v1
7 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V1_cff
as ele_fall17_noIso_v1
8 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_iso_V2_cff
as ele_fall17_iso_v2
9 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V2_cff
as ele_fall17_noIso_v2
13 import RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Spring16_nonTrig_V1_cff
as pho_spring16_nt_v1
18 ele_mva_prod_name =
'electronMVAValueMapProducer' 19 pho_mva_prod_name =
'photonMVAValueMapProducer' 21 def setup_mva(val_pset,cat_pset,prod_name,mva_name):
22 value_name =
'%s:%sValues'%(prod_name,mva_name)
23 cat_name =
'%s:%sCategories'%(prod_name,mva_name)
24 setattr( val_pset,
'%sValues'%mva_name, cms.InputTag(value_name) )
25 setattr( cat_pset,
'%sCategories'%mva_name, cms.InputTag(cat_name) )
27 egamma_modifications = cms.VPSet(
28 cms.PSet( modifierName = cms.string(
'EGExtraInfoModifierFromFloatValueMaps'),
29 electron_config = cms.PSet( ),
30 photon_config = cms.PSet( )
32 cms.PSet( modifierName = cms.string(
'EGExtraInfoModifierFromIntValueMaps'),
33 electron_config = cms.PSet( ),
34 photon_config = cms.PSet( )
48 setup_mva(egamma_modifications[0].electron_config,
49 egamma_modifications[1].electron_config,
51 ele_mva_cff.mvaClassName + ele_mva_cff.mvaTag)
59 setup_mva(egamma_modifications[0].photon_config,
60 egamma_modifications[1].photon_config,
62 pho_mva_cff.mvaClassName + pho_mva_cff.mvaTag)
75 reducedEgammaEnergyScaleAndSmearingModifier = cms.PSet(
76 modifierName = cms.string(
'EGExtraInfoModifierFromFloatValueMaps'),
77 electron_config = cms.PSet(),
78 photon_config = cms.PSet()
80 from RecoEgamma.EgammaTools.calibratedEgammas_cff
import prefixName
81 import RecoEgamma.EgammaTools.calibratedElectronProducer_cfi
82 for valueMapName
in RecoEgamma.EgammaTools.calibratedElectronProducer_cfi.calibratedElectronProducer.valueMapsStored:
83 setattr(reducedEgammaEnergyScaleAndSmearingModifier.electron_config,valueMapName,cms.InputTag(
"reducedEgamma",
prefixName(
"calibEle",valueMapName)))
85 import RecoEgamma.EgammaTools.calibratedPhotonProducer_cfi
86 for valueMapName
in RecoEgamma.EgammaTools.calibratedPhotonProducer_cfi.calibratedPhotonProducer.valueMapsStored:
87 setattr(reducedEgammaEnergyScaleAndSmearingModifier.photon_config,valueMapName,cms.InputTag(
"reducedEgamma",
prefixName(
"calibPho",valueMapName)))
92 egamma8XObjectUpdateModifier = cms.PSet(
93 modifierName = cms.string(
'EG8XObjectUpdateModifier'),
94 ecalRecHitsEB = cms.InputTag(
"reducedEgamma",
"reducedEBRecHits"),
95 ecalRecHitsEE = cms.InputTag(
"reducedEgamma",
"reducedEERecHits"),
101 egamma9X105XUpdateModifier = cms.PSet(
102 modifierName = cms.string(
'EG9X105XObjectUpdateModifier'),
103 eleCollVMsAreKeyedTo = cms.InputTag(
"slimmedElectrons",processName=cms.InputTag.skipCurrentProcess()),
104 phoCollVMsAreKeyedTo = cms.InputTag(
"slimmedPhotons",processName=cms.InputTag.skipCurrentProcess()),
105 conversions = cms.InputTag(
"reducedEgamma",
"reducedConversions"),
106 beamspot = cms.InputTag(
"offlineBeamSpot"),
107 ecalRecHitsEB = cms.InputTag(
"reducedEgamma",
"reducedEBRecHits"),
108 ecalRecHitsEE = cms.InputTag(
"reducedEgamma",
"reducedEERecHits"),
109 eleTrkIso = cms.InputTag(
"heepIDVarValueMaps",
"eleTrkPtIso"),
110 eleTrkIso04 = cms.InputTag(
"heepIDVarValueMaps",
"eleTrkPtIso04"),
111 phoPhotonIso = cms.InputTag(
"photonIDValueMapProducer",
"phoPhotonIsolation"),
112 phoNeutralHadIso = cms.InputTag(
"photonIDValueMapProducer",
"phoNeutralHadronIsolation"),
113 phoChargedHadIso = cms.InputTag(
"photonIDValueMapProducer",
"phoChargedIsolation"),
114 phoChargedHadWorstVtxIso = cms.InputTag(
"photonIDValueMapProducer",
"phoWorstChargedIsolation"),
115 phoChargedHadWorstVtxConeVetoIso = cms.InputTag(
"photonIDValueMapProducer",
"phoWorstChargedIsolationConeVeto"),
116 phoChargedHadPFPVIso = cms.InputTag(
"egmPhotonIsolation",
"h+-DR030-"),
117 allowGsfTrackForConvs = cms.bool(
False),
118 updateChargedHadPFPVIso = cms.bool(
True)
126 from RecoEgamma.EgammaTools.calibratedEgammas_cff
import ecalTrkCombinationRegression
127 egamma8XLegacyEtScaleSysModifier = cms.PSet(
128 modifierName = cms.string(
'EGEtScaleSysModifier'),
129 epCombConfig = ecalTrkCombinationRegression,
130 uncertFunc = cms.PSet(
131 name = cms.string(
"UncertFuncV1"),
132 lowEt = cms.double(43.5),
133 highEt = cms.double(46.5),
134 lowEtUncert = cms.double(0.002),
135 highEtUncert = cms.double(-0.002)
140 modifiers.append(reducedEgammaEnergyScaleAndSmearingModifier)
143 modifiers.insert(0,egamma8XObjectUpdateModifier)
146 modifiers.append(reducedEgammaEnergyScaleAndSmearingModifier)
147 modifiers.append(egamma8XLegacyEtScaleSysModifier)
149 from Configuration.Eras.Modifier_run2_miniAOD_94XFall17_cff
import run2_miniAOD_94XFall17
150 run2_miniAOD_94XFall17.toModify(egamma_modifications,appendReducedEgammaEnergyScaleAndSmearingModifier)
152 from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff
import run2_miniAOD_80XLegacy
154 run2_miniAOD_80XLegacy.toModify(egamma9X105XUpdateModifier,allowGsfTrackForConvs =
True)
155 run2_miniAOD_80XLegacy.toModify(egamma_modifications,appendEgamma8XLegacyAppendableModifiers)
156 run2_miniAOD_80XLegacy.toModify(egamma_modifications,prependEgamma8XObjectUpdateModifier)
def prependEgamma8XObjectUpdateModifier(modifiers)
def appendEgamma8XLegacyAppendableModifiers(modifiers)
def appendReducedEgammaEnergyScaleAndSmearingModifier(modifiers)
def prefixName(prefix, name)
def setup_mva(val_pset, cat_pset, prod_name, mva_name)