1 import FWCore.ParameterSet.Config
as cms
5 from math
import ceil,log
8 photon_id_modules_WorkingPoints_nanoAOD = cms.PSet(
10 'RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_Fall17_94X_V1_TrueVtx_cff',
11 'RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_Fall17_94X_V2_cff',
12 'RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Fall17_94X_V1p1_cff',
13 'RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Fall17_94X_V2_cff',
14 'RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_Spring16_V2p2_cff',
15 'RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_Spring16_nonTrig_V1_cff',
17 WorkingPoints = cms.vstring(
18 "egmPhotonIDs:cutBasedPhotonID-Fall17-94X-V2-loose",
19 "egmPhotonIDs:cutBasedPhotonID-Fall17-94X-V2-medium",
20 "egmPhotonIDs:cutBasedPhotonID-Fall17-94X-V2-tight",
23 photon_id_modules_WorkingPoints_nanoAOD_Spring16V2p2 = cms.PSet(
24 modules = photon_id_modules_WorkingPoints_nanoAOD.modules,
25 WorkingPoints = cms.vstring(
26 "egmPhotonIDs:cutBasedPhotonID-Spring16-V2p2-loose",
27 "egmPhotonIDs:cutBasedPhotonID-Spring16-V2p2-medium",
28 "egmPhotonIDs:cutBasedPhotonID-Spring16-V2p2-tight",
33 pset = id_modules_working_points_pset
35 for modname
in pset.modules:
36 ids = __import__(modname, globals(), locals(), [
'idName',
'cutFlow'])
38 _id = getattr(ids,name)
39 if hasattr(_id,
'idName')
and hasattr(_id,
'cutFlow'):
40 if (len(pset.WorkingPoints)>0
and _id.idName == pset.WorkingPoints[0].
split(
':')[-1]):
41 cut_names =
','.
join([cut.cutName.value()
for cut
in _id.cutFlow])
42 n_bits_per_cut =
int(
ceil(
log(len(pset.WorkingPoints)+1,2)))
43 return 'VID compressed bitmap (%s), %d bits per cut'%(cut_names, n_bits_per_cut)
44 raise ValueError(
"Something is wrong in the photon ID modules parameter set!")
46 bitmapVIDForPho = cms.EDProducer(
"PhoVIDNestedWPBitmapProducer",
47 src = cms.InputTag(
"slimmedPhotons"),
48 WorkingPoints = photon_id_modules_WorkingPoints_nanoAOD.WorkingPoints,
51 bitmapVIDForPhoSpring16V2p2 = cms.EDProducer(
"PhoVIDNestedWPBitmapProducer",
52 src = cms.InputTag(
"slimmedPhotons"),
53 WorkingPoints = photon_id_modules_WorkingPoints_nanoAOD_Spring16V2p2.WorkingPoints,
56 isoForPho = cms.EDProducer(
"PhoIsoValueMapProducer",
57 src = cms.InputTag(
"slimmedPhotons"),
58 relative = cms.bool(
False),
59 rho_PFIso = cms.InputTag(
"fixedGridRhoFastjetAll"),
60 mapIsoChg = cms.InputTag(
"photonIDValueMapProducer:phoChargedIsolation"),
61 mapIsoNeu = cms.InputTag(
"photonIDValueMapProducer:phoNeutralHadronIsolation"),
62 mapIsoPho = cms.InputTag(
"photonIDValueMapProducer:phoPhotonIsolation"),
63 EAFile_PFIso_Chg = cms.FileInPath(
"RecoEgamma/PhotonIdentification/data/Fall17/effAreaPhotons_cone03_pfChargedHadrons_90percentBased_V2.txt"),
64 EAFile_PFIso_Neu = cms.FileInPath(
"RecoEgamma/PhotonIdentification/data/Fall17/effAreaPhotons_cone03_pfNeutralHadrons_90percentBased_V2.txt"),
65 EAFile_PFIso_Pho = cms.FileInPath(
"RecoEgamma/PhotonIdentification/data/Fall17/effAreaPhotons_cone03_pfPhotons_90percentBased_V2.txt"),
67 for modifier
in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:
68 modifier.toModify(isoForPho,
69 EAFile_PFIso_Chg = cms.FileInPath(
"RecoEgamma/PhotonIdentification/data/Spring16/effAreaPhotons_cone03_pfChargedHadrons_90percentBased.txt"),
70 EAFile_PFIso_Neu = cms.FileInPath(
"RecoEgamma/PhotonIdentification/data/Spring16/effAreaPhotons_cone03_pfNeutralHadrons_90percentBased.txt"),
71 EAFile_PFIso_Pho = cms.FileInPath(
"RecoEgamma/PhotonIdentification/data/Spring16/effAreaPhotons_cone03_pfPhotons_90percentBased.txt"),
74 seedGainPho = cms.EDProducer(
"PhotonSeedGainProducer", src = cms.InputTag(
"slimmedPhotons"))
76 import RecoEgamma.EgammaTools.calibratedEgammas_cff
78 calibratedPatPhotonsNano = RecoEgamma.EgammaTools.calibratedEgammas_cff.calibratedPatPhotons.clone(
79 produceCalibratedObjs =
False,
80 correctionFile = cms.string(
"EgammaAnalysis/ElectronTools/data/ScalesSmearings/Run2016_UltraLegacy_preVFP_RunFineEtaR9Gain"),
83 (run2_egamma_2016 & tracker_apv_vfp30_2016).toModify(calibratedPatPhotonsNano,
84 correctionFile = cms.string(
"EgammaAnalysis/ElectronTools/data/ScalesSmearings/Run2016_UltraLegacy_preVFP_RunFineEtaR9Gain")
87 (run2_egamma_2016 & ~tracker_apv_vfp30_2016).toModify(calibratedPatPhotonsNano,
88 correctionFile = cms.string(
"EgammaAnalysis/ElectronTools/data/ScalesSmearings/Run2016_UltraLegacy_postVFP_RunFineEtaR9Gain"),
91 run2_egamma_2017.toModify(calibratedPatPhotonsNano,
92 correctionFile = cms.string(
"EgammaAnalysis/ElectronTools/data/ScalesSmearings/Run2017_24Feb2020_runEtaR9Gain_v2")
95 run2_egamma_2018.toModify(calibratedPatPhotonsNano,
96 correctionFile = cms.string(
"EgammaAnalysis/ElectronTools/data/ScalesSmearings/Run2018_29Sep2020_RunFineEtaR9Gain")
99 run2_nanoAOD_102Xv1.toModify(calibratedPatPhotonsNano,
100 correctionFile = cms.string(
"EgammaAnalysis/ElectronTools/data/ScalesSmearings/Run2018_Step2Closure_CoarseEtaR9Gain_v2")
103 run2_nanoAOD_94XMiniAODv1.toModify(calibratedPatPhotonsNano,
104 correctionFile = cms.string(
"EgammaAnalysis/ElectronTools/data/ScalesSmearings/Run2017_17Nov2017_v1_ele_unc")
107 run2_nanoAOD_94XMiniAODv2.toModify(calibratedPatPhotonsNano,
108 correctionFile = cms.string(
"EgammaAnalysis/ElectronTools/data/ScalesSmearings/Run2017_17Nov2017_v1_ele_unc")
112 run2_miniAOD_80XLegacy.toModify(calibratedPatPhotonsNano,
113 correctionFile = cms.string(
"EgammaAnalysis/ElectronTools/data/ScalesSmearings/Legacy2016_07Aug2017_FineEtaR9_v3_ele_unc")
116 slimmedPhotonsWithUserData = cms.EDProducer(
"PATPhotonUserDataEmbedder",
117 src = cms.InputTag(
"slimmedPhotons"),
118 userFloats = cms.PSet(
119 mvaID = cms.InputTag(
"photonMVAValueMapProducer:PhotonMVAEstimatorRunIIFall17v2Values"),
120 mvaID_Fall17V1p1 = cms.InputTag(
"photonMVAValueMapProducer:PhotonMVAEstimatorRunIIFall17v1p1Values"),
121 mvaID_Spring16nonTrigV1 = cms.InputTag(
"photonMVAValueMapProducer:PhotonMVAEstimatorRun2Spring16NonTrigV1Values"),
122 PFIsoChg = cms.InputTag(
"isoForPho:PFIsoChg"),
123 PFIsoAll = cms.InputTag(
"isoForPho:PFIsoAll"),
125 userIntFromBools = cms.PSet(
126 cutbasedID_loose = cms.InputTag(
"egmPhotonIDs:cutBasedPhotonID-Fall17-94X-V2-loose"),
127 cutbasedID_medium = cms.InputTag(
"egmPhotonIDs:cutBasedPhotonID-Fall17-94X-V2-medium"),
128 cutbasedID_tight = cms.InputTag(
"egmPhotonIDs:cutBasedPhotonID-Fall17-94X-V2-tight"),
129 mvaID_WP90 = cms.InputTag(
"egmPhotonIDs:mvaPhoID-RunIIFall17-v2-wp90"),
130 mvaID_WP80 = cms.InputTag(
"egmPhotonIDs:mvaPhoID-RunIIFall17-v2-wp80"),
131 cutbasedIDV1_loose = cms.InputTag(
"egmPhotonIDs:cutBasedPhotonID-Fall17-94X-V1-loose"),
132 cutbasedIDV1_medium = cms.InputTag(
"egmPhotonIDs:cutBasedPhotonID-Fall17-94X-V1-medium"),
133 cutbasedIDV1_tight = cms.InputTag(
"egmPhotonIDs:cutBasedPhotonID-Fall17-94X-V1-tight"),
134 cutID_Spring16_loose = cms.InputTag(
"egmPhotonIDs:cutBasedPhotonID-Spring16-V2p2-loose"),
135 cutID_Spring16_medium = cms.InputTag(
"egmPhotonIDs:cutBasedPhotonID-Spring16-V2p2-medium"),
136 cutID_Spring16_tight = cms.InputTag(
"egmPhotonIDs:cutBasedPhotonID-Spring16-V2p2-tight"),
137 mvaID_Spring16nonTrigV1_WP90 = cms.InputTag(
"egmPhotonIDs:mvaPhoID-Spring16-nonTrig-V1-wp90"),
138 mvaID_Spring16nonTrigV1_WP80 = cms.InputTag(
"egmPhotonIDs:mvaPhoID-Spring16-nonTrig-V1-wp80"),
141 VIDNestedWPBitmap = cms.InputTag(
"bitmapVIDForPho"),
142 VIDNestedWPBitmap_Spring16V2p2 = cms.InputTag(
"bitmapVIDForPhoSpring16V2p2"),
143 seedGain = cms.InputTag(
"seedGainPho"),
147 for modifier
in run2_egamma_2016, run2_egamma_2017, run2_egamma_2018, run2_miniAOD_80XLegacy, run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2, run2_nanoAOD_102Xv1:
148 modifier.toModify(slimmedPhotonsWithUserData.userFloats,
149 ecalEnergyErrPostCorrNew = cms.InputTag(
"calibratedPatPhotonsNano",
"ecalEnergyErrPostCorr"),
150 ecalEnergyPreCorrNew = cms.InputTag(
"calibratedPatPhotonsNano",
"ecalEnergyPreCorr"),
151 ecalEnergyPostCorrNew = cms.InputTag(
"calibratedPatPhotonsNano",
"ecalEnergyPostCorr"),
152 energyScaleUpNew = cms.InputTag(
"calibratedPatPhotonsNano",
"energyScaleUp"),
153 energyScaleDownNew = cms.InputTag(
"calibratedPatPhotonsNano",
"energyScaleDown"),
154 energySigmaUpNew = cms.InputTag(
"calibratedPatPhotonsNano",
"energySigmaUp"),
155 energySigmaDownNew = cms.InputTag(
"calibratedPatPhotonsNano",
"energySigmaDown"),
159 run2_nanoAOD_94X2016.toModify(slimmedPhotonsWithUserData.userFloats,
160 ecalEnergyErrPostCorrNew =
None,
161 ecalEnergyPreCorrNew =
None,
162 ecalEnergyPostCorrNew =
None,
163 energyScaleUpNew =
None,
164 energyScaleDownNew =
None,
165 energySigmaUpNew =
None,
166 energySigmaDownNew =
None
170 finalPhotons = cms.EDFilter(
"PATPhotonRefSelector",
171 src = cms.InputTag(
"slimmedPhotonsWithUserData"),
172 cut = cms.string(
"pt > 5 ")
175 photonTable = cms.EDProducer(
"SimpleCandidateFlatTableProducer",
176 src = cms.InputTag(
"linkedObjects",
"photons"),
177 cut = cms.string(
""),
178 name= cms.string(
"Photon"),
179 doc = cms.string(
"slimmedPhotons after basic selection (" + finalPhotons.cut.value()+
")"),
180 singleton = cms.bool(
False),
181 extension = cms.bool(
False),
182 variables = cms.PSet(CandVars,
183 jetIdx =
Var(
"?hasUserCand('jet')?userCand('jet').key():-1", int, doc=
"index of the associated jet (-1 if none)"),
184 electronIdx =
Var(
"?hasUserCand('electron')?userCand('electron').key():-1", int, doc=
"index of the associated electron (-1 if none)"),
185 energyErr =
Var(
"getCorrectedEnergyError('regression2')",float,doc=
"energy error of the cluster from regression",precision=6),
186 r9 =
Var(
"full5x5_r9()",float,doc=
"R9 of the supercluster, calculated with full 5x5 region",precision=10),
187 sieie =
Var(
"full5x5_sigmaIetaIeta()",float,doc=
"sigma_IetaIeta of the supercluster, calculated with full 5x5 region",precision=10),
189 "userInt('cutbasedID_loose')+userInt('cutbasedID_medium')+userInt('cutbasedID_tight')",
191 doc=
"cut-based ID bitmap, Fall17V2, (0:fail, 1:loose, 2:medium, 3:tight)"
193 cutBased_Fall17V1Bitmap =
Var(
194 "userInt('cutbasedIDV1_loose')+2*userInt('cutbasedIDV1_medium')+4*userInt('cutbasedIDV1_tight')",
196 doc=
"cut-based ID bitmap, Fall17V1, 2^(0:loose, 1:medium, 2:tight).",
199 "userInt('VIDNestedWPBitmap')",
203 electronVeto =
Var(
"passElectronVeto()",bool,doc=
"pass electron veto"),
204 pixelSeed =
Var(
"hasPixelSeed()",bool,doc=
"has pixel seed"),
205 mvaID =
Var(
"userFloat('mvaID')",float,doc=
"MVA ID score, Fall17V2",precision=10),
206 mvaID_Fall17V1p1 =
Var(
"userFloat('mvaID_Fall17V1p1')",float,doc=
"MVA ID score, Fall17V1p1",precision=10),
207 mvaID_WP90 =
Var(
"userInt('mvaID_WP90')",bool,doc=
"MVA ID WP90, Fall17V2"),
208 mvaID_WP80 =
Var(
"userInt('mvaID_WP80')",bool,doc=
"MVA ID WP80, Fall17V2"),
209 cutBased_Spring16V2p2 =
Var(
210 "userInt('cutID_Spring16_loose')+userInt('cutID_Spring16_medium')+userInt('cutID_Spring16_tight')",
212 doc=
"cut-based ID bitmap, Spring16V2p2, (0:fail, 1:loose, 2:medium, 3:tight)"
214 mvaID_Spring16nonTrigV1 =
Var(
215 "userFloat('mvaID_Spring16nonTrigV1')",
217 doc=
"MVA ID score, Spring16nonTrigV1",
220 vidNestedWPBitmap_Spring16V2p2 =
Var(
221 "userInt('VIDNestedWPBitmap_Spring16V2p2')",
225 pfRelIso03_chg =
Var(
"userFloat('PFIsoChg')/pt",float,doc=
"PF relative isolation dR=0.3, charged component (with rho*EA PU corrections)"),
226 pfRelIso03_all =
Var(
"userFloat('PFIsoAll')/pt",float,doc=
"PF relative isolation dR=0.3, total (with rho*EA PU corrections)"),
227 hoe =
Var(
"hadronicOverEm()",float,doc=
"H over E",precision=8),
228 isScEtaEB =
Var(
"abs(superCluster().eta()) < 1.4442",bool,doc=
"is supercluster eta within barrel acceptance"),
229 isScEtaEE =
Var(
"abs(superCluster().eta()) > 1.566 && abs(superCluster().eta()) < 2.5",bool,doc=
"is supercluster eta within endcap acceptance"),
230 seedGain =
Var(
"userInt('seedGain')",
"uint8",doc=
"Gain of the seed crystal"),
236 for modifier
in run2_egamma_2016,run2_egamma_2017,run2_egamma_2018,run2_nanoAOD_94XMiniAODv1, run2_miniAOD_80XLegacy, run2_nanoAOD_102Xv1,run2_nanoAOD_94XMiniAODv2:
237 modifier.toModify(photonTable.variables,
238 pt =
Var(
"pt*userFloat('ecalEnergyPostCorrNew')/userFloat('ecalEnergyPreCorrNew')", float, precision=-1, doc=
"p_{T}"),
239 energyErr =
Var(
"userFloat('ecalEnergyErrPostCorrNew')",float,doc=
"energy error of the cluster from regression",precision=6),
240 eCorr =
Var(
"userFloat('ecalEnergyPostCorrNew')/userFloat('ecalEnergyPreCorrNew')",float,doc=
"ratio of the calibrated energy/miniaod energy"),
244 for modifier
in run2_nanoAOD_94X2016,:
245 modifier.toModify(photonTable.variables,
246 pt =
Var(
"pt*userFloat('ecalEnergyPostCorr')/userFloat('ecalEnergyPreCorr')", float, precision=-1, doc=
"p_{T}"),
247 energyErr =
Var(
"userFloat('ecalEnergyErrPostCorr')",float,doc=
"energy error of the cluster from regression",precision=6),
248 eCorr =
Var(
"userFloat('ecalEnergyPostCorr')/userFloat('ecalEnergyPreCorr')",float,doc=
"ratio of the calibrated energy/miniaod energy"),
253 (~(run2_nanoAOD_94X2016 | run2_miniAOD_80XLegacy)).toModify(photonTable.variables,
254 cutBased_Spring16V2p2 =
None,
255 mvaID_Spring16nonTrigV1 =
None,
256 vidNestedWPBitmap_Spring16V2p2 =
None,
260 photonsMCMatchForTable = cms.EDProducer(
"MCMatcher",
261 src = photonTable.src,
262 matched = cms.InputTag(
"finalGenParticles"),
263 mcPdgId = cms.vint32(11,22),
264 checkCharge = cms.bool(
False),
265 mcStatus = cms.vint32(1),
266 maxDeltaR = cms.double(0.3),
267 maxDPtRel = cms.double(0.5),
268 resolveAmbiguities = cms.bool(
True),
269 resolveByMatchQuality = cms.bool(
True),
272 photonMCTable = cms.EDProducer(
"CandMCMatchTableProducer",
273 src = photonTable.src,
274 mcMap = cms.InputTag(
"photonsMCMatchForTable"),
275 objName = photonTable.name,
276 objType = photonTable.name,
277 branchName = cms.string(
"genPart"),
278 docString = cms.string(
"MC matching to status==1 photons or electrons"),
281 from RecoEgamma.EgammaTools.egammaObjectModificationsInMiniAOD_cff
import egamma8XObjectUpdateModifier,egamma9X105XUpdateModifier,prependEgamma8XObjectUpdateModifier
283 slimmedPhotonsTo106X = cms.EDProducer(
"ModifiedPhotonProducer",
284 src = cms.InputTag(
"slimmedPhotons"),
285 modifierConfig = cms.PSet( modifications = cms.VPSet(egamma9X105XUpdateModifier) )
288 run2_miniAOD_80XLegacy.toModify( slimmedPhotonsTo106X.modifierConfig.modifications, prependEgamma8XObjectUpdateModifier )
290 for modifier
in run2_miniAOD_80XLegacy,run2_nanoAOD_94XMiniAODv1,run2_nanoAOD_94XMiniAODv2,run2_nanoAOD_94X2016 ,run2_nanoAOD_102Xv1:
291 modifier.toModify(bitmapVIDForPho, src =
"slimmedPhotonsTo106X")
292 modifier.toModify(bitmapVIDForPhoSpring16V2p2, src =
"slimmedPhotonsTo106X")
293 modifier.toModify(isoForPho, src =
"slimmedPhotonsTo106X")
294 modifier.toModify(calibratedPatPhotonsNano, src =
"slimmedPhotonsTo106X")
295 modifier.toModify(slimmedPhotonsWithUserData, src =
"slimmedPhotonsTo106X")
296 modifier.toModify(seedGainPho, src =
"slimmedPhotonsTo106X")
300 for modifier
in run2_nanoAOD_106Xv1,run2_nanoAOD_106Xv2,run2_egamma_2016,run2_egamma_2017,run2_egamma_2018,run2_miniAOD_80XLegacy, run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2,run2_nanoAOD_102Xv1:
301 modifier.toModify(photonTable.variables,
302 dEscaleUp=
Var(
"userFloat('ecalEnergyPostCorrNew') - userFloat('energyScaleUpNew')", float, doc=
"ecal energy scale shifted 1 sigma up (adding gain/stat/syst in quadrature)", precision=8),
303 dEscaleDown=
Var(
"userFloat('ecalEnergyPostCorrNew') - userFloat('energyScaleDownNew')", float, doc=
"ecal energy scale shifted 1 sigma down (adding gain/stat/syst in quadrature)", precision=8),
304 dEsigmaUp=
Var(
"userFloat('ecalEnergyPostCorrNew') - userFloat('energySigmaUpNew')", float, doc=
"ecal energy smearing value shifted 1 sigma up", precision=8),
305 dEsigmaDown=
Var(
"userFloat('ecalEnergyPostCorrNew') - userFloat('energySigmaDownNew')", float, doc=
"ecal energy smearing value shifted 1 sigma up", precision=8),
308 for modifier
in run2_nanoAOD_94X2016,:
309 modifier.toModify(photonTable.variables,
310 dEscaleUp=
Var(
"userFloat('ecalEnergyPostCorr') - userFloat('energyScaleUp')", float, doc=
"ecal energy scale shifted 1 sigma up (adding gain/stat/syst in quadrature)", precision=8),
311 dEscaleDown=
Var(
"userFloat('ecalEnergyPostCorr') - userFloat('energyScaleDown')", float, doc=
"ecal energy scale shifted 1 sigma down (adding gain/stat/syst in quadrature)", precision=8),
312 dEsigmaUp=
Var(
"userFloat('ecalEnergyPostCorr') - userFloat('energySigmaUp')", float, doc=
"ecal energy smearing value shifted 1 sigma up", precision=8),
313 dEsigmaDown=
Var(
"userFloat('ecalEnergyPostCorr') - userFloat('energySigmaDown')", float, doc=
"ecal energy smearing value shifted 1 sigma up", precision=8),
316 photonSequence = cms.Sequence(
318 bitmapVIDForPhoSpring16V2p2 + \
321 slimmedPhotonsWithUserData + \
325 photonTables = cms.Sequence ( photonTable)
326 photonMC = cms.Sequence(photonsMCMatchForTable + photonMCTable)
328 from RecoEgamma.EgammaIsolationAlgos.egmPhotonIsolationMiniAOD_cff
import egmPhotonIsolation
329 from RecoEgamma.PhotonIdentification.photonIDValueMapProducer_cff
import photonIDValueMapProducer
331 _withUpdatePho_sequence = photonSequence.copy()
335 _withUL16preVFPScale_sequence = photonSequence.copy()
336 _withUL16preVFPScale_sequence.replace(slimmedPhotonsWithUserData, calibratedPatPhotonsNano + slimmedPhotonsWithUserData)
337 (run2_egamma_2016 & tracker_apv_vfp30_2016).toReplaceWith(photonSequence, _withUL16preVFPScale_sequence)
339 _withUL16postVFPScale_sequence = photonSequence.copy()
340 _withUL16postVFPScale_sequence.replace(slimmedPhotonsWithUserData, calibratedPatPhotonsNano + slimmedPhotonsWithUserData)
341 (run2_egamma_2016 & ~tracker_apv_vfp30_2016).toReplaceWith(photonSequence, _withUL16postVFPScale_sequence)
343 _withUL17Scale_sequence = photonSequence.copy()
344 _withUL17Scale_sequence.replace(slimmedPhotonsWithUserData, calibratedPatPhotonsNano + slimmedPhotonsWithUserData)
345 run2_egamma_2017.toReplaceWith(photonSequence, _withUL17Scale_sequence)
347 _withUL18Scale_sequence = photonSequence.copy()
348 _withUL18Scale_sequence.replace(slimmedPhotonsWithUserData, calibratedPatPhotonsNano + slimmedPhotonsWithUserData)
349 run2_egamma_2018.toReplaceWith(photonSequence, _withUL18Scale_sequence)
352 _updatePhoTo106X_sequence =cms.Sequence(egmPhotonIsolation + photonIDValueMapProducer + slimmedPhotonsTo106X)
353 _withUpdatePho_sequence.insert(0,_updatePhoTo106X_sequence)
354 for modifier
in run2_nanoAOD_94XMiniAODv2,run2_nanoAOD_94X2016 ,run2_nanoAOD_102Xv1,run2_nanoAOD_94XMiniAODv1:
355 modifier.toReplaceWith(photonSequence, _withUpdatePho_sequence)
358 _with80XScale_sequence = _withUpdatePho_sequence.copy()
359 _with80XScale_sequence.replace(slimmedPhotonsWithUserData, calibratedPatPhotonsNano + slimmedPhotonsWithUserData)
360 run2_miniAOD_80XLegacy.toReplaceWith(photonSequence, _with80XScale_sequence)
362 _with94Xv1Scale_sequence = _withUpdatePho_sequence.copy()
363 _with94Xv1Scale_sequence.replace(slimmedPhotonsWithUserData, calibratedPatPhotonsNano + slimmedPhotonsWithUserData)
364 run2_nanoAOD_94XMiniAODv1.toReplaceWith(photonSequence, _with94Xv1Scale_sequence)
366 _with94Xv2Scale_sequence = _withUpdatePho_sequence.copy()
367 _with94Xv2Scale_sequence.replace(slimmedPhotonsWithUserData, calibratedPatPhotonsNano + slimmedPhotonsWithUserData)
368 run2_nanoAOD_94XMiniAODv2.toReplaceWith(photonSequence, _with94Xv2Scale_sequence)
370 _with102Xv1Scale_sequence = photonSequence.copy()
371 _with102Xv1Scale_sequence.replace(slimmedPhotonsWithUserData, calibratedPatPhotonsNano + slimmedPhotonsWithUserData)
372 run2_nanoAOD_102Xv1.toReplaceWith(photonSequence, _with102Xv1Scale_sequence)