Skip to content

Commit

Permalink
Merge pull request #15 from ikrav/egm_id_74X_v0
Browse files Browse the repository at this point in the history
updates from ilya
  • Loading branch information
lgray committed May 7, 2015
2 parents cbd84e0 + 4cade6c commit 08d1d17
Show file tree
Hide file tree
Showing 4 changed files with 346 additions and 105 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -163,10 +163,10 @@


central_id_registry.register(cutBasedElectronID_PHYS14_PU20bx25_V2_standalone_veto.idName,
'8850814e57d205ae075ab51963489090')
'2c43cbeaa99c27bdcc01819deac18d13')
central_id_registry.register(cutBasedElectronID_PHYS14_PU20bx25_V2_standalone_loose.idName,
'3136443704ffb72bfd96a711ebaa9f52')
'ef33337667a7163a48657f5d8cdd897c')
central_id_registry.register(cutBasedElectronID_PHYS14_PU20bx25_V2_standalone_medium.idName,
'11a2227750656bef1869abd692e5e944')
'529b4c00e4807b885116f77347e076f4')
central_id_registry.register(cutBasedElectronID_PHYS14_PU20bx25_V2_standalone_tight.idName,
'0c88b3581da6bce380fe7ff051d62161')
'89cd2d6602a0f92c6201332e59fa886b')
Original file line number Diff line number Diff line change
@@ -1,98 +1,98 @@
import FWCore.ParameterSet.Config as cms

from PhysicsTools.SelectorUtils.centralIDRegistry import central_id_registry

# Common functions and classes for ID definition are imported here:
from RecoEgamma.ElectronIdentification.Identification.heepElectronID_tools import *

#
# The HEEP ID cuts V5.1 below are optimized IDs for PHYS14 Scenario PU 20, bx 25ns
# The cut values are taken from the twiki:
# https://twiki.cern.ch/twiki/bin/view/CMS/HEEPElectronIdentificationRun2#Selection_Cuts_HEEP_V5_1
# (where they may not stay, if a newer version of cuts becomes available for these
# conditions)
# See also the presentation explaining these working points (this will not change):
# [ ... none available for this particular version ... ]

ebMax = 1.4442
eeMin = 1.566
ebCutOff=1.479
heepElectronID_HEEPV51 = cms.PSet(
idName = cms.string("heepElectronID-HEEPV51"),
cutFlow = cms.VPSet(
cms.PSet( cutName = cms.string("MinPtCut"), #0
minPt = cms.double(35.0),
needsAdditionalProducts = cms.bool(False),
isIgnored = cms.bool(False) ),
cms.PSet( cutName = cms.string("GsfEleSCEtaMultiRangeCut"),#1
useAbsEta = cms.bool(True),
allowedEtaRanges = cms.VPSet(
cms.PSet( minEta = cms.double(0.0),
maxEta = cms.double(ebMax) ),
cms.PSet( minEta = cms.double(eeMin),
maxEta = cms.double(2.5) )
),
needsAdditionalProducts = cms.bool(False),
isIgnored = cms.bool(False)),
cms.PSet( cutName = cms.string('GsfEleDEtaInSeedCut'),#2
dEtaInSeedCutValueEB = cms.double(0.004),
dEtaInSeedCutValueEE = cms.double(0.006),
barrelCutOff = cms.double(ebCutOff),
needsAdditionalProducts = cms.bool(False),
isIgnored = cms.bool(False)),
cms.PSet( cutName = cms.string('GsfEleDPhiInCut'),#3
dPhiInCutValueEB = cms.double(0.06),
dPhiInCutValueEE = cms.double(0.06),
barrelCutOff = cms.double(ebCutOff),
needsAdditionalProducts = cms.bool(False),
isIgnored = cms.bool(False)),
cms.PSet( cutName = cms.string('GsfEleFull5x5SigmaIEtaIEtaCut'),#4
full5x5SigmaIEtaIEtaCutValueEB = cms.double(9999),
full5x5SigmaIEtaIEtaCutValueEE = cms.double(0.03),
barrelCutOff = cms.double(ebCutOff),
needsAdditionalProducts = cms.bool(False),
isIgnored = cms.bool(False)),
cms.PSet( cutName = cms.string('GsfEleFull5x5E2x5OverE5x5Cut'),#5
minE1x5OverE5x5EB = cms.double(0.83),
minE1x5OverE5x5EE = cms.double(-1),
minE2x5OverE5x5EB = cms.double(0.94),
minE2x5OverE5x5EE = cms.double(-1),
needsAdditionalProducts = cms.bool(False),
isIgnored = cms.bool(False)),
cms.PSet( cutName = cms.string('GsfEleHadronicOverEMLinearCut'),#6
slopeTermEB = cms.double(0.05),
slopeTermEE = cms.double(0.05),
slopeStartEB = cms.double(0),
slopeStartEE = cms.double(0),
constTermEB = cms.double(2),
constTermEE = cms.double(12.5),
needsAdditionalProducts = cms.bool(False),
isIgnored = cms.bool(False)),
cms.PSet( cutName = cms.string('GsfEleTrkPtIsoCut'),#7
slopeTermEB = cms.double(0),
slopeTermEE = cms.double(0),
slopeStartEB = cms.double(0),
slopeStartEE = cms.double(0),
constTermEB = cms.double(5),
constTermEE = cms.double(5),
needsAdditionalProducts = cms.bool(False),
isIgnored = cms.bool(False)),
cms.PSet( cutName = cms.string('GsfEleEmHadD1IsoRhoCut'),#8
slopeTermEB = cms.double(0.03),
slopeTermEE = cms.double(0.03),
slopeStartEB = cms.double(0),
slopeStartEE = cms.double(50),
constTermEB = cms.double(2),
constTermEE = cms.double(2.5),
rhoConstant = cms.double(0.28),
rho = cms.InputTag("fixedGridRhoFastjetAll"),
needsAdditionalProducts = cms.bool(True),
isIgnored = cms.bool(False)),
cms.PSet( cutName = cms.string('GsfEleDxyCut'),#9
dxyCutValueEB = cms.double(0.02),
dxyCutValueEE = cms.double(0.05),
vertexSrc = cms.InputTag("offlinePrimaryVertices"),
vertexSrcMiniAOD = cms.InputTag("offlineSlimmedPrimaryVertices"),
barrelCutOff = cms.double(ebCutOff),
needsAdditionalProducts = cms.bool(True),
isIgnored = cms.bool(False)),
cms.PSet( cutName = cms.string('GsfEleMissingHitsCut'),#10
maxMissingHitsEB = cms.uint32(1),
maxMissingHitsEE = cms.uint32(1),
barrelCutOff = cms.double(ebCutOff),
needsAdditionalProducts = cms.bool(False),
isIgnored = cms.bool(False)),


# The cut values for the Barrel and Endcap
idName = "heepElectronID-HEEPV51"
WP_HEEP51_EB = HEEP_WorkingPoint_V1(
idName=idName,
dEtaInSeedCut=0.004,
dPhiInCut=0.06,
full5x5SigmaIEtaIEtaCut=9999,
# Two constants for the GsfEleFull5x5E2x5OverE5x5Cut
minE1x5OverE5x5Cut=0.83,
minE2x5OverE5x5Cut=0.94,
# Three constants for the GsfEleHadronicOverEMLinearCut
# cut = constTerm if value < slopeStart
# cut = slopeTerm * (value - slopeStart) + constTerm if value >= slopeStart
hOverESlopeTerm=0.05,
hOverESlopeStart=0.00,
hOverEConstTerm=2.00,
# Three constants for the GsfEleTrkPtIsoCut:
# cut = constTerm if value < slopeStart
# cut = slopeTerm * (value - slopeStart) + constTerm if value >= slopeStart
trkIsoSlopeTerm=0.00,
trkIsoSlopeStart=0.00,
trkIsoConstTerm=5.00,
# Three constants for the GsfEleEmHadD1IsoRhoCut:
# cut = constTerm if value < slopeStart
# cut = slopeTerm * (value - slopeStart) + constTerm if value >= slopeStart
# Also for the same cut, the effective area for the rho correction of the isolation
ehIsoSlopeTerm=0.03,
ehIsoSlopeStart=0.00,
ehIsoConstTerm=2.00,
effAreaForEHIso=0.28,
# other cuts
dxyCut=0.02,
maxMissingHitsCut=1
)
)

WP_HEEP51_EE = HEEP_WorkingPoint_V1(
idName=idName,
dEtaInSeedCut=0.006,
dPhiInCut=0.06,
full5x5SigmaIEtaIEtaCut=0.03,
# Two constants for the GsfEleFull5x5E2x5OverE5x5Cut
minE1x5OverE5x5Cut=-1.0,
minE2x5OverE5x5Cut=-1.0,
# Three constants for the GsfEleHadronicOverEMLinearCut
# cut = constTerm if value < slopeStart
# cut = slopeTerm * (value - slopeStart) + constTerm if value >= slopeStart
hOverESlopeTerm=0.05,
hOverESlopeStart=0.00,
hOverEConstTerm=12.5,
# Three constants for the GsfEleTrkPtIsoCut:
# cut = constTerm if value < slopeStart
# cut = slopeTerm * (value - slopeStart) + constTerm if value >= slopeStart
trkIsoSlopeTerm=0.00,
trkIsoSlopeStart=0.00,
trkIsoConstTerm=5.00,
# Three constants for the GsfEleEmHadD1IsoRhoCut:
# cut = constTerm if value < slopeStart
# cut = slopeTerm * (value - slopeStart) + constTerm if value >= slopeStart
# Also for the same cut, the effective area for the rho correction of the isolation
ehIsoSlopeTerm=0.03,
ehIsoSlopeStart=50.0,
ehIsoConstTerm=2.50,
effAreaForEHIso=0.28,
# other cuts
dxyCut=0.05,
maxMissingHitsCut=1

)

#
# Finally, set up VID configuration for all cuts
#
heepElectronID_HEEPV51 = configureHEEPElectronID_V51 ( WP_HEEP51_EB, WP_HEEP51_EE )

#
# The MD5 sum numbers below reflect the exact set of cut variables
# and values above. If anything changes, one has to
# 1) comment out the lines below about the registry,
# 2) run "calculateMD5 <this file name> <one of the VID config names just above>
# 3) update the MD5 sum strings below and uncomment the lines again.
#

central_id_registry.register(heepElectronID_HEEPV51.idName,"d930c34a554f86e6d4e8c247c4737140")
Loading

0 comments on commit 08d1d17

Please sign in to comment.