2 import FWCore.ParameterSet.Config
as cms
13 A container class that holds the name of the file with the effective
14 area constants for pile-up corrections
24 This is a container class to hold numerical cut values for either
25 the barrel or endcap set of cuts for electron cut-based ID
31 full5x5_sigmaIEtaIEtaCut,
35 absEInverseMinusPInverseCut,
36 relCombIsolationWithDBetaLowPtCut,
37 relCombIsolationWithDBetaHighPtCut,
56 This is a container class to hold numerical cut values for either
57 the barrel or endcap set of cuts for electron cut-based ID
63 full5x5_sigmaIEtaIEtaCut,
67 absEInverseMinusPInverseCut,
68 relCombIsolationWithEALowPtCut,
69 relCombIsolationWithEAHighPtCut,
88 This is a container class to hold numerical cut values for either
89 the barrel or endcap set of cuts for electron cut-based ID
90 With resepect to V2, the impact parameter cuts on dxy and dz are removed.
96 full5x5_sigmaIEtaIEtaCut,
98 absEInverseMinusPInverseCut,
99 relCombIsolationWithEALowPtCut,
100 relCombIsolationWithEAHighPtCut,
117 This is a container class to hold numerical cut values for either
118 the barrel or endcap set of cuts for electron cut-based HLT-safe preselection
122 full5x5_sigmaIEtaIEtaCut,
126 absEInverseMinusPInverseCut,
128 ecalPFClusterIsoLowPtCut,
129 ecalPFClusterIsoHighPtCut,
130 hcalPFClusterIsoLowPtCut,
131 hcalPFClusterIsoHighPtCut,
163 cutName = cms.string(
"MinPtCut"),
164 minPt = cms.double(5.0),
165 needsAdditionalProducts = cms.bool(
False),
166 isIgnored = cms.bool(
False)
172 cutName = cms.string(
"GsfEleSCEtaMultiRangeCut"),
173 useAbsEta = cms.bool(
True),
174 allowedEtaRanges = cms.VPSet(
175 cms.PSet( minEta = cms.double(0.0),
176 maxEta = cms.double(ebCutOff) ),
177 cms.PSet( minEta = cms.double(ebCutOff),
178 maxEta = cms.double(2.5) )
180 needsAdditionalProducts = cms.bool(
False),
181 isIgnored = cms.bool(
False)
187 cutName = cms.string(
'GsfEleFull5x5SigmaIEtaIEtaCut'),
188 full5x5SigmaIEtaIEtaCutValueEB = cms.double( wpEB.full5x5_sigmaIEtaIEtaCut ),
189 full5x5SigmaIEtaIEtaCutValueEE = cms.double( wpEE.full5x5_sigmaIEtaIEtaCut ),
190 barrelCutOff = cms.double(ebCutOff),
191 needsAdditionalProducts = cms.bool(
False),
192 isIgnored = cms.bool(
False)
198 cutName = cms.string(
'GsfEleDEtaInSeedCut'),
199 dEtaInSeedCutValueEB = cms.double( wpEB.dEtaInSeedCut ),
200 dEtaInSeedCutValueEE = cms.double( wpEE.dEtaInSeedCut ),
201 barrelCutOff = cms.double(ebCutOff),
202 needsAdditionalProducts = cms.bool(
False),
203 isIgnored = cms.bool(
False)
209 cutName = cms.string(
'GsfEleDPhiInCut'),
210 dPhiInCutValueEB = cms.double( wpEB.dPhiInCut ),
211 dPhiInCutValueEE = cms.double( wpEE.dPhiInCut ),
212 barrelCutOff = cms.double(ebCutOff),
213 needsAdditionalProducts = cms.bool(
False),
214 isIgnored = cms.bool(
False)
220 cutName = cms.string(
'GsfEleHadronicOverEMCut'),
221 hadronicOverEMCutValueEB = cms.double( wpEB.hOverECut ),
222 hadronicOverEMCutValueEE = cms.double( wpEE.hOverECut ),
223 barrelCutOff = cms.double(ebCutOff),
224 needsAdditionalProducts = cms.bool(
False),
225 isIgnored = cms.bool(
False)
231 cutName = cms.string(
'GsfEleEInverseMinusPInverseCut'),
232 eInverseMinusPInverseCutValueEB = cms.double( wpEB.absEInverseMinusPInverseCut ),
233 eInverseMinusPInverseCutValueEE = cms.double( wpEE.absEInverseMinusPInverseCut ),
234 barrelCutOff = cms.double(ebCutOff),
235 needsAdditionalProducts = cms.bool(
False),
236 isIgnored = cms.bool(
False)
243 cutName = cms.string(
'GsfEleCalPFClusterIsoCut'),
244 isoType = cms.int32( 0 ),
245 isoCutEBLowPt = cms.double( wpEB.ecalPFClusterIsoLowPtCut ),
246 isoCutEBHighPt = cms.double( wpEB.ecalPFClusterIsoHighPtCut ),
247 isoCutEELowPt = cms.double( wpEE.ecalPFClusterIsoLowPtCut ),
248 isoCutEEHighPt = cms.double( wpEE.ecalPFClusterIsoHighPtCut ),
249 isRelativeIso = cms.bool(
True),
250 ptCutOff = cms.double(20.0),
251 barrelCutOff = cms.double(ebCutOff),
252 rho = cms.InputTag(
"fixedGridRhoFastjetCentralCalo"),
254 effAreasConfigFile = cms.FileInPath( ecalIsoInputs.isoEffAreas ),
255 needsAdditionalProducts = cms.bool(
True),
256 isIgnored = cms.bool(
False)
263 cutName = cms.string(
'GsfEleCalPFClusterIsoCut'),
264 isoType = cms.int32( 1 ),
265 isoCutEBLowPt = cms.double( wpEB.hcalPFClusterIsoLowPtCut ),
266 isoCutEBHighPt = cms.double( wpEB.hcalPFClusterIsoHighPtCut ),
267 isoCutEELowPt = cms.double( wpEE.hcalPFClusterIsoLowPtCut ),
268 isoCutEEHighPt = cms.double( wpEE.hcalPFClusterIsoHighPtCut ),
269 isRelativeIso = cms.bool(
True),
270 ptCutOff = cms.double(20.0),
271 barrelCutOff = cms.double(ebCutOff),
272 rho = cms.InputTag(
"fixedGridRhoFastjetCentralCalo"),
274 effAreasConfigFile = cms.FileInPath( hcalIsoInputs.isoEffAreas ),
275 needsAdditionalProducts = cms.bool(
True),
276 isIgnored = cms.bool(
False)
282 cutName = cms.string(
'GsfEleTrkPtIsoCut'),
286 slopeTermEB = cms.double( wpEB.trkIsoSlopeTerm ),
287 slopeTermEE = cms.double( wpEE.trkIsoSlopeTerm ),
288 slopeStartEB = cms.double( wpEB.trkIsoSlopeStart ),
289 slopeStartEE = cms.double( wpEE.trkIsoSlopeStart ),
290 constTermEB = cms.double( wpEB.trkIsoConstTerm ),
291 constTermEE = cms.double( wpEE.trkIsoConstTerm ),
292 needsAdditionalProducts = cms.bool(
False),
293 isIgnored = cms.bool(
False)
299 cutName = cms.string(
'GsfEleNormalizedGsfChi2Cut'),
300 normalizedGsfChi2CutValueEB = cms.double( wpEB.normalizedGsfChi2Cut ),
301 normalizedGsfChi2CutValueEE = cms.double( wpEE.normalizedGsfChi2Cut ),
302 barrelCutOff = cms.double(ebCutOff),
303 needsAdditionalProducts = cms.bool(
False),
304 isIgnored = cms.bool(
False)
309 cutName = cms.string(
'GsfEleEffAreaPFIsoCut'),
310 isoCutEBLowPt = cms.double( wpEB.relCombIsolationWithEALowPtCut ),
311 isoCutEBHighPt = cms.double( wpEB.relCombIsolationWithEAHighPtCut ),
312 isoCutEELowPt = cms.double( wpEE.relCombIsolationWithEALowPtCut ),
313 isoCutEEHighPt = cms.double( wpEE.relCombIsolationWithEAHighPtCut ),
314 isRelativeIso = cms.bool(
True),
315 ptCutOff = cms.double(20.0),
316 barrelCutOff = cms.double(ebCutOff),
317 rho = cms.InputTag(
"fixedGridRhoFastjetAll"),
318 effAreasConfigFile = cms.FileInPath( isoInputs.isoEffAreas ),
319 needsAdditionalProducts = cms.bool(
True),
320 isIgnored = cms.bool(
False)
325 cutName = cms.string(
'GsfEleConversionVetoCut'),
326 conversionSrc = cms.InputTag(
'allConversions'),
327 conversionSrcMiniAOD = cms.InputTag(
'reducedEgamma:reducedConversions'),
328 beamspotSrc = cms.InputTag(
'offlineBeamSpot'),
329 needsAdditionalProducts = cms.bool(
True),
330 isIgnored = cms.bool(
False)
335 cutName = cms.string(
'GsfEleMissingHitsCut'),
336 maxMissingHitsEB = cms.uint32( wpEB.missingHitsCut ),
337 maxMissingHitsEE = cms.uint32( wpEE.missingHitsCut ),
338 barrelCutOff = cms.double(ebCutOff),
339 needsAdditionalProducts = cms.bool(
False),
340 isIgnored = cms.bool(
False)
353 This function configures the full cms.PSet for a VID ID and returns it.
354 The inputs: two objects of the type WorkingPoint_V1, one
355 containing the cuts for the Barrel (EB) and the other one for the Endcap (EE).
358 parameterSet = cms.PSet(
360 idName = cms.string( wpEB.idName ),
362 cms.PSet( cutName = cms.string(
"MinPtCut"),
363 minPt = cms.double(5.0),
364 needsAdditionalProducts = cms.bool(
False),
365 isIgnored = cms.bool(
False) ),
366 cms.PSet( cutName = cms.string(
"GsfEleSCEtaMultiRangeCut"),
367 useAbsEta = cms.bool(
True),
368 allowedEtaRanges = cms.VPSet(
369 cms.PSet( minEta = cms.double(0.0),
370 maxEta = cms.double(ebCutOff) ),
371 cms.PSet( minEta = cms.double(ebCutOff),
372 maxEta = cms.double(2.5) )
374 needsAdditionalProducts = cms.bool(
False),
375 isIgnored = cms.bool(
False)),
376 cms.PSet( cutName = cms.string(
'GsfEleDEtaInCut'),
377 dEtaInCutValueEB = cms.double( wpEB.dEtaInCut ),
378 dEtaInCutValueEE = cms.double( wpEE.dEtaInCut ),
379 barrelCutOff = cms.double(ebCutOff),
380 needsAdditionalProducts = cms.bool(
False),
381 isIgnored = cms.bool(
False)),
382 cms.PSet( cutName = cms.string(
'GsfEleDPhiInCut'),
383 dPhiInCutValueEB = cms.double( wpEB.dPhiInCut ),
384 dPhiInCutValueEE = cms.double( wpEE.dPhiInCut ),
385 barrelCutOff = cms.double(ebCutOff),
386 needsAdditionalProducts = cms.bool(
False),
387 isIgnored = cms.bool(
False)),
388 cms.PSet( cutName = cms.string(
'GsfEleFull5x5SigmaIEtaIEtaCut'),
389 full5x5SigmaIEtaIEtaCutValueEB = cms.double( wpEB.full5x5_sigmaIEtaIEtaCut ),
390 full5x5SigmaIEtaIEtaCutValueEE = cms.double( wpEE.full5x5_sigmaIEtaIEtaCut ),
391 barrelCutOff = cms.double(ebCutOff),
392 needsAdditionalProducts = cms.bool(
False),
393 isIgnored = cms.bool(
False)),
394 cms.PSet( cutName = cms.string(
'GsfEleHadronicOverEMCut'),
395 hadronicOverEMCutValueEB = cms.double( wpEB.hOverECut ),
396 hadronicOverEMCutValueEE = cms.double( wpEE.hOverECut ),
397 barrelCutOff = cms.double(ebCutOff),
398 needsAdditionalProducts = cms.bool(
False),
399 isIgnored = cms.bool(
False)),
400 cms.PSet( cutName = cms.string(
'GsfEleDxyCut'),
401 dxyCutValueEB = cms.double( wpEB.dxyCut ),
402 dxyCutValueEE = cms.double( wpEE.dxyCut ),
403 vertexSrc = cms.InputTag(
"offlinePrimaryVertices"),
404 vertexSrcMiniAOD = cms.InputTag(
"offlineSlimmedPrimaryVertices"),
405 barrelCutOff = cms.double(ebCutOff),
406 needsAdditionalProducts = cms.bool(
True),
407 isIgnored = cms.bool(
False)),
408 cms.PSet( cutName = cms.string(
'GsfEleDzCut'),
409 dzCutValueEB = cms.double( wpEB.dzCut ),
410 dzCutValueEE = cms.double( wpEE.dzCut ),
411 vertexSrc = cms.InputTag(
"offlinePrimaryVertices"),
412 vertexSrcMiniAOD = cms.InputTag(
"offlineSlimmedPrimaryVertices"),
413 barrelCutOff = cms.double(ebCutOff),
414 needsAdditionalProducts = cms.bool(
True),
415 isIgnored = cms.bool(
False)),
416 cms.PSet( cutName = cms.string(
'GsfEleEInverseMinusPInverseCut'),
417 eInverseMinusPInverseCutValueEB = cms.double( wpEB.absEInverseMinusPInverseCut ),
418 eInverseMinusPInverseCutValueEE = cms.double( wpEE.absEInverseMinusPInverseCut ),
419 barrelCutOff = cms.double(ebCutOff),
420 needsAdditionalProducts = cms.bool(
False),
421 isIgnored = cms.bool(
False)),
422 cms.PSet( cutName = cms.string(
'GsfEleDeltaBetaIsoCutStandalone'),
423 isoCutEBLowPt = cms.double( wpEB.relCombIsolationWithDBetaLowPtCut ),
424 isoCutEBHighPt = cms.double( wpEB.relCombIsolationWithDBetaHighPtCut ),
425 isoCutEELowPt = cms.double( wpEE.relCombIsolationWithDBetaLowPtCut ),
426 isoCutEEHighPt = cms.double( wpEE.relCombIsolationWithDBetaHighPtCut ),
427 isRelativeIso = cms.bool(
True),
428 deltaBetaConstant = cms.double(0.5),
429 ptCutOff = cms.double(20.0),
430 barrelCutOff = cms.double(ebCutOff),
431 needsAdditionalProducts = cms.bool(
False),
432 isIgnored = cms.bool(
False)),
433 cms.PSet( cutName = cms.string(
'GsfEleConversionVetoCut'),
434 conversionSrc = cms.InputTag(
'allConversions'),
435 conversionSrcMiniAOD = cms.InputTag(
'reducedEgamma:reducedConversions'),
436 beamspotSrc = cms.InputTag(
'offlineBeamSpot'),
437 needsAdditionalProducts = cms.bool(
True),
438 isIgnored = cms.bool(
False)),
439 cms.PSet( cutName = cms.string(
'GsfEleMissingHitsCut'),
440 maxMissingHitsEB = cms.uint32( wpEB.missingHitsCut ),
441 maxMissingHitsEE = cms.uint32( wpEE.missingHitsCut ),
442 barrelCutOff = cms.double(ebCutOff),
443 needsAdditionalProducts = cms.bool(
False),
444 isIgnored = cms.bool(
False) ),
459 This function configures the full cms.PSet for a VID ID and returns it.
460 The inputs: two objects of the type WorkingPoint_V2, one
461 containing the cuts for the Barrel (EB) and the other one for the Endcap (EE).
462 The third argument is an object that contains information necessary
463 for isolation calculations.
466 parameterSet = cms.PSet(
468 idName = cms.string( wpEB.idName ),
470 cms.PSet( cutName = cms.string(
"MinPtCut"),
471 minPt = cms.double(5.0),
472 needsAdditionalProducts = cms.bool(
False),
473 isIgnored = cms.bool(
False) ),
474 cms.PSet( cutName = cms.string(
"GsfEleSCEtaMultiRangeCut"),
475 useAbsEta = cms.bool(
True),
476 allowedEtaRanges = cms.VPSet(
477 cms.PSet( minEta = cms.double(0.0),
478 maxEta = cms.double(ebCutOff) ),
479 cms.PSet( minEta = cms.double(ebCutOff),
480 maxEta = cms.double(2.5) )
482 needsAdditionalProducts = cms.bool(
False),
483 isIgnored = cms.bool(
False)),
484 cms.PSet( cutName = cms.string(
'GsfEleDEtaInCut'),
485 dEtaInCutValueEB = cms.double( wpEB.dEtaInCut ),
486 dEtaInCutValueEE = cms.double( wpEE.dEtaInCut ),
487 barrelCutOff = cms.double(ebCutOff),
488 needsAdditionalProducts = cms.bool(
False),
489 isIgnored = cms.bool(
False)),
490 cms.PSet( cutName = cms.string(
'GsfEleDPhiInCut'),
491 dPhiInCutValueEB = cms.double( wpEB.dPhiInCut ),
492 dPhiInCutValueEE = cms.double( wpEE.dPhiInCut ),
493 barrelCutOff = cms.double(ebCutOff),
494 needsAdditionalProducts = cms.bool(
False),
495 isIgnored = cms.bool(
False)),
496 cms.PSet( cutName = cms.string(
'GsfEleFull5x5SigmaIEtaIEtaCut'),
497 full5x5SigmaIEtaIEtaCutValueEB = cms.double( wpEB.full5x5_sigmaIEtaIEtaCut ),
498 full5x5SigmaIEtaIEtaCutValueEE = cms.double( wpEE.full5x5_sigmaIEtaIEtaCut ),
499 barrelCutOff = cms.double(ebCutOff),
500 needsAdditionalProducts = cms.bool(
False),
501 isIgnored = cms.bool(
False)),
502 cms.PSet( cutName = cms.string(
'GsfEleHadronicOverEMCut'),
503 hadronicOverEMCutValueEB = cms.double( wpEB.hOverECut ),
504 hadronicOverEMCutValueEE = cms.double( wpEE.hOverECut ),
505 barrelCutOff = cms.double(ebCutOff),
506 needsAdditionalProducts = cms.bool(
False),
507 isIgnored = cms.bool(
False)),
508 cms.PSet( cutName = cms.string(
'GsfEleDxyCut'),
509 dxyCutValueEB = cms.double( wpEB.dxyCut ),
510 dxyCutValueEE = cms.double( wpEE.dxyCut ),
511 vertexSrc = cms.InputTag(
"offlinePrimaryVertices"),
512 vertexSrcMiniAOD = cms.InputTag(
"offlineSlimmedPrimaryVertices"),
513 barrelCutOff = cms.double(ebCutOff),
514 needsAdditionalProducts = cms.bool(
True),
515 isIgnored = cms.bool(
False)),
516 cms.PSet( cutName = cms.string(
'GsfEleDzCut'),
517 dzCutValueEB = cms.double( wpEB.dzCut ),
518 dzCutValueEE = cms.double( wpEE.dzCut ),
519 vertexSrc = cms.InputTag(
"offlinePrimaryVertices"),
520 vertexSrcMiniAOD = cms.InputTag(
"offlineSlimmedPrimaryVertices"),
521 barrelCutOff = cms.double(ebCutOff),
522 needsAdditionalProducts = cms.bool(
True),
523 isIgnored = cms.bool(
False)),
524 cms.PSet( cutName = cms.string(
'GsfEleEInverseMinusPInverseCut'),
525 eInverseMinusPInverseCutValueEB = cms.double( wpEB.absEInverseMinusPInverseCut ),
526 eInverseMinusPInverseCutValueEE = cms.double( wpEE.absEInverseMinusPInverseCut ),
527 barrelCutOff = cms.double(ebCutOff),
528 needsAdditionalProducts = cms.bool(
False),
529 isIgnored = cms.bool(
False)),
530 cms.PSet( cutName = cms.string(
'GsfEleEffAreaPFIsoCut'),
531 isoCutEBLowPt = cms.double( wpEB.relCombIsolationWithEALowPtCut ),
532 isoCutEBHighPt = cms.double( wpEB.relCombIsolationWithEAHighPtCut ),
533 isoCutEELowPt = cms.double( wpEE.relCombIsolationWithEALowPtCut ),
534 isoCutEEHighPt = cms.double( wpEE.relCombIsolationWithEAHighPtCut ),
535 isRelativeIso = cms.bool(
True),
536 ptCutOff = cms.double(20.0),
537 barrelCutOff = cms.double(ebCutOff),
538 rho = cms.InputTag(
"fixedGridRhoFastjetAll"),
539 effAreasConfigFile = cms.FileInPath( isoInputs.isoEffAreas ),
540 needsAdditionalProducts = cms.bool(
True),
541 isIgnored = cms.bool(
False) ),
542 cms.PSet( cutName = cms.string(
'GsfEleConversionVetoCut'),
543 conversionSrc = cms.InputTag(
'allConversions'),
544 conversionSrcMiniAOD = cms.InputTag(
'reducedEgamma:reducedConversions'),
545 beamspotSrc = cms.InputTag(
'offlineBeamSpot'),
546 needsAdditionalProducts = cms.bool(
True),
547 isIgnored = cms.bool(
False)),
548 cms.PSet( cutName = cms.string(
'GsfEleMissingHitsCut'),
549 maxMissingHitsEB = cms.uint32( wpEB.missingHitsCut ),
550 maxMissingHitsEE = cms.uint32( wpEE.missingHitsCut ),
551 barrelCutOff = cms.double(ebCutOff),
552 needsAdditionalProducts = cms.bool(
False),
553 isIgnored = cms.bool(
False) ),
566 This function configures the full cms.PSet for a VID ID and returns it.
567 The inputs: two objects of the type WorkingPoint_V3, one
568 containing the cuts for the Barrel (EB) and the other one for the Endcap (EE).
569 The third argument is an object that contains information necessary
570 for isolation calculations.
571 In this version, the impact parameter cuts dxy and dz are not present
574 parameterSet = cms.PSet(
576 idName = cms.string( wpEB.idName ),
601 This function configures the full cms.PSet for a VID ID and returns it.
602 The inputs: two objects of the type EleHLTSelection_V1, one
603 containing the cuts for the Barrel (EB) and the other one for the Endcap (EE).
604 The third and fourth arguments are objects that contain information necessary
605 for isolation calculations for ECAL and HCAL.
608 parameterSet = cms.PSet(
609 idName = cms.string( wpEB.idName ),