Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:17:54

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 #electron mva ids
0004 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_GeneralPurpose_V1_cff as ele_spring16_gp_v1
0005 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_HZZ_V1_cff as ele_spring16_hzz_v1
0006 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_iso_V1_cff as ele_fall17_iso_v1
0007 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V1_cff as ele_fall17_noIso_v1
0008 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_iso_V2_cff as ele_fall17_iso_v2
0009 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V2_cff as ele_fall17_noIso_v2
0010 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Summer18UL_ID_ISO_cff as ele_summer18UL_hzz
0011 
0012 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_RunIIIWinter22_iso_V1_cff as ele_RunIIIWinter22_iso_v1
0013 import RecoEgamma.ElectronIdentification.Identification.mvaElectronID_RunIIIWinter22_noIso_V1_cff as ele_RunIIIWinter22_noIso_v1
0014 
0015 #photon mva ids
0016 import RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Spring16_nonTrig_V1_cff as pho_spring16_nt_v1
0017 import RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Fall17_94X_V1p1_cff as pho_fall17_94X_v1p1
0018 import RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Fall17_94X_V2_cff as pho_fall17_94X_v2
0019 import RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Winter22_122X_V1_cff as pho_winter22_122X_v1
0020 
0021 
0022 ele_mva_prod_name = 'electronMVAValueMapProducer'
0023 pho_mva_prod_name = 'photonMVAValueMapProducer'
0024 
0025 def setup_mva(val_pset,cat_pset,prod_name,mva_name):
0026     value_name = '%s:%sValues'%(prod_name,mva_name)
0027     cat_name   = '%s:%sCategories'%(prod_name,mva_name)
0028     setattr( val_pset, '%sValues'%mva_name, cms.InputTag(value_name) )
0029     setattr( cat_pset, '%sCategories'%mva_name, cms.InputTag(cat_name) )
0030 
0031 egamma_modifications = cms.VPSet(
0032     cms.PSet( modifierName    = cms.string('EGExtraInfoModifierFromFloatValueMaps'),
0033               electron_config = cms.PSet( ),
0034               photon_config   = cms.PSet( )
0035               ),
0036     cms.PSet( modifierName    = cms.string('EGExtraInfoModifierFromIntValueMaps'),
0037               electron_config = cms.PSet( ),
0038               photon_config   = cms.PSet( )
0039               )
0040 )
0041 
0042 #setup the mva value maps to embed
0043 for ele_mva_cff in [
0044           ele_spring16_gp_v1,
0045           ele_spring16_hzz_v1,
0046           ele_fall17_iso_v1,
0047           ele_fall17_noIso_v1,
0048           ele_fall17_iso_v2,
0049           ele_fall17_noIso_v2,
0050           ele_summer18UL_hzz,
0051           ele_RunIIIWinter22_iso_v1,
0052           ele_RunIIIWinter22_noIso_v1
0053         ]:
0054 
0055     setup_mva(egamma_modifications[0].electron_config,
0056               egamma_modifications[1].electron_config,
0057               ele_mva_prod_name,
0058               ele_mva_cff.mvaClassName + ele_mva_cff.mvaTag)
0059 
0060 for pho_mva_cff in [
0061           pho_spring16_nt_v1,
0062           pho_fall17_94X_v1p1,
0063           pho_fall17_94X_v2,
0064           pho_winter22_122X_v1
0065         ]:
0066 
0067     setup_mva(egamma_modifications[0].photon_config,
0068               egamma_modifications[1].photon_config,
0069               pho_mva_prod_name,
0070               pho_mva_cff.mvaClassName + pho_mva_cff.mvaTag)
0071 
0072 #############################################################
0073 # REGRESSION MODIFIERS
0074 #############################################################
0075 
0076 #from RecoEgamma.EgammaTools.regressionModifier_cfi import *
0077 
0078 #egamma_modifications.append( regressionModifier )
0079 
0080 #############################################################
0081 # Scale and Smearing Modifiers
0082 #############################################################
0083 reducedEgammaEnergyScaleAndSmearingModifier = cms.PSet(
0084     modifierName    = cms.string('EGExtraInfoModifierFromFloatValueMaps'),
0085     electron_config = cms.PSet(),
0086     photon_config   = cms.PSet()
0087 )
0088 from RecoEgamma.EgammaTools.calibratedEgammas_cff import prefixName
0089 import RecoEgamma.EgammaTools.calibratedElectronProducer_cfi
0090 for valueMapName in RecoEgamma.EgammaTools.calibratedElectronProducer_cfi.calibratedElectronProducer.valueMapsStored:
0091     setattr(reducedEgammaEnergyScaleAndSmearingModifier.electron_config,valueMapName,cms.InputTag("reducedEgamma",prefixName("calibEle",valueMapName)))
0092 
0093 import RecoEgamma.EgammaTools.calibratedPhotonProducer_cfi
0094 for valueMapName in RecoEgamma.EgammaTools.calibratedPhotonProducer_cfi.calibratedPhotonProducer.valueMapsStored:
0095     setattr(reducedEgammaEnergyScaleAndSmearingModifier.photon_config,valueMapName,cms.InputTag("reducedEgamma",prefixName("calibPho",valueMapName)))
0096 
0097 #############################################################
0098 # 8X to 9X modifiers (fills in variables new to 9X w.r.t 8X)
0099 #############################################################
0100 egamma8XObjectUpdateModifier = cms.PSet(
0101     modifierName  = cms.string('EG8XObjectUpdateModifier'),
0102     ecalRecHitsEB = cms.InputTag("reducedEgamma","reducedEBRecHits"),
0103     ecalRecHitsEE = cms.InputTag("reducedEgamma","reducedEERecHits"),
0104 )
0105 
0106 #############################################################
0107 # 9X-106X to 106X modifiers (fills in variables new to 106X w.r.t 9X-105X)
0108 #############################################################
0109 egamma9X105XUpdateModifier = cms.PSet( 
0110     modifierName    = cms.string('EG9X105XObjectUpdateModifier'),
0111     eleCollVMsAreKeyedTo = cms.InputTag("slimmedElectrons",processName=cms.InputTag.skipCurrentProcess()),
0112     phoCollVMsAreKeyedTo = cms.InputTag("slimmedPhotons",processName=cms.InputTag.skipCurrentProcess()),
0113     conversions = cms.InputTag("reducedEgamma","reducedConversions"),
0114     beamspot = cms.InputTag("offlineBeamSpot"),
0115     ecalRecHitsEB = cms.InputTag("reducedEgamma","reducedEBRecHits"),
0116     ecalRecHitsEE = cms.InputTag("reducedEgamma","reducedEERecHits"),
0117     eleTrkIso = cms.InputTag("heepIDVarValueMaps","eleTrkPtIso"),
0118     eleTrkIso04 = cms.InputTag("heepIDVarValueMaps","eleTrkPtIso04"),
0119     phoPhotonIso = cms.InputTag("photonIDValueMapProducer","phoPhotonIsolation"),
0120     phoNeutralHadIso = cms.InputTag("photonIDValueMapProducer","phoNeutralHadronIsolation"),
0121     phoChargedHadIso = cms.InputTag("photonIDValueMapProducer","phoChargedIsolation"),
0122     phoChargedHadWorstVtxIso = cms.InputTag("photonIDValueMapProducer","phoWorstChargedIsolation"),
0123     phoChargedHadWorstVtxConeVetoIso = cms.InputTag("photonIDValueMapProducer","phoWorstChargedIsolationConeVeto"),
0124     phoChargedHadPFPVIso = cms.InputTag("egmPhotonIsolation","h+-DR030-"),
0125     allowGsfTrackForConvs = cms.bool(False),
0126     updateChargedHadPFPVIso = cms.bool(True)
0127 )
0128 
0129 #############################################################
0130 # 8X legacy needs an extra Et scale systematic
0131 # due to an inflection around 45 GeV which is handled as a
0132 # patch on top of the standard scale and smearing systematics
0133 #############################################################
0134 from RecoEgamma.EgammaTools.calibratedEgammas_cff import ecalTrkCombinationRegression
0135 egamma8XLegacyEtScaleSysModifier = cms.PSet(
0136     modifierName = cms.string('EGEtScaleSysModifier'),
0137     epCombConfig = ecalTrkCombinationRegression,
0138     uncertFunc = cms.PSet(
0139         name = cms.string("UncertFuncV1"),
0140         lowEt = cms.double(43.5),
0141         highEt = cms.double(46.5),
0142         lowEtUncert = cms.double(0.002),
0143         highEtUncert = cms.double(-0.002)
0144         )
0145     )
0146 
0147 # modifier for photon isolation used in heavy ions
0148 egammaHIPhotonIsolationModifier = cms.PSet(
0149     modifierName = cms.string('EGExtraInfoModifierFromHIPhotonIsolationValueMaps'),
0150     electron_config = cms.PSet(),
0151     photon_config = cms.PSet(
0152         photonIsolationHI = cms.InputTag("reducedEgamma:photonIsolationHIProducerppGED")
0153         )
0154     )
0155 
0156 photonDRNModifier = cms.PSet(
0157       modifierName = cms.string("EGRegressionModifierDRN"),
0158       patPhotons = cms.PSet(
0159           source = cms.InputTag("selectedPatPhotons"),
0160           correctionsSource = cms.InputTag('patPhotonsDRN'),
0161           energyFloat = cms.string("energyDRN"),
0162           resFloat = cms.string("resolutionDRN")
0163         )
0164     )
0165 
0166 def appendReducedEgammaEnergyScaleAndSmearingModifier(modifiers):
0167     modifiers.append(reducedEgammaEnergyScaleAndSmearingModifier)
0168 
0169 def prependEgamma8XObjectUpdateModifier(modifiers):
0170     modifiers.insert(0,egamma8XObjectUpdateModifier)
0171 
0172 def appendEgamma8XLegacyAppendableModifiers (modifiers):
0173     modifiers.append(reducedEgammaEnergyScaleAndSmearingModifier)
0174     modifiers.append(egamma8XLegacyEtScaleSysModifier)
0175 
0176 def appendEgammaHIPhotonIsolationModifier(modifiers):
0177     modifiers.append(egammaHIPhotonIsolationModifier)
0178 
0179 def appendPhotonDRNModifier(modifiers):
0180     modifiers.append(photonDRNModifier)
0181 
0182 from Configuration.Eras.Modifier_run2_miniAOD_94XFall17_cff import run2_miniAOD_94XFall17
0183 from Configuration.ProcessModifiers.run2_miniAOD_UL_cff import run2_miniAOD_UL
0184 (run2_miniAOD_94XFall17 | run2_miniAOD_UL).toModify(egamma_modifications,appendReducedEgammaEnergyScaleAndSmearingModifier)
0185    
0186 from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff import run2_miniAOD_80XLegacy
0187 #80X doesnt have the bug which prevents GsfTracks used to match conversions so set true
0188 run2_miniAOD_80XLegacy.toModify(egamma9X105XUpdateModifier,allowGsfTrackForConvs = True)
0189 run2_miniAOD_80XLegacy.toModify(egamma_modifications,appendEgamma8XLegacyAppendableModifiers)
0190 run2_miniAOD_80XLegacy.toModify(egamma_modifications,prependEgamma8XObjectUpdateModifier)
0191 
0192 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
0193 pp_on_AA.toModify(egamma_modifications, appendEgammaHIPhotonIsolationModifier)
0194 
0195 from Configuration.ProcessModifiers.photonDRN_cff import _photonDRN
0196 _photonDRN.toModify(egamma_modifications, appendPhotonDRNModifier)