Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:07

0001 from PhysicsTools.SelectorUtils.centralIDRegistry import central_id_registry
0002 
0003 import FWCore.ParameterSet.Config as cms
0004 
0005 # Common functions and classes for ID definition are imported here:
0006 from RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_tools \
0007     import ( EleHLTSelection_V1,
0008              configureVIDCutBasedEleHLTPreselection_V1 )             
0009 
0010 #
0011 # Set of requirements tighter than HLT, meant to keep HLT efficiency high once this
0012 # preselection is applied.
0013 #
0014 # The preselection cuts below are derived for HLT WPLoose beginning summer 2016.
0015 # See documentation of cut values on the twiki:
0016 #        https://twiki.cern.ch/twiki/bin/view/CMS/CutBasedElectronIdentificationRun2
0017 # See presentation with details of tuning here:
0018 #  https://indico.cern.ch/event/491507/contributions/2192817/attachments/1285452/1911768/EGM_HLTsafeCuts_31May16.pdf
0019 #
0020 # First, define cut values
0021 #
0022 
0023 # Veto working point Barrel and Endcap
0024 idName = "cutBasedElectronHLTPreselection-Summer16-V1"
0025 WP_HLTSafe_EB = EleHLTSelection_V1(
0026     idName   , # idName
0027     0.011   , # full5x5_sigmaIEtaIEtaCut
0028     0.004   , # dEtaInSeedCut
0029     0.020   , # dPhiInCut
0030     0.060   , # hOverECut
0031     0.013   , # absEInverseMinusPInverseCut
0032     # Calorimeter isolations: 
0033     0.160   , # ecalPFClusterIsoLowPtCut
0034     0.160   , # ecalPFClusterIsoHighPtCut
0035     0.120   , # hcalPFClusterIsoLowPtCut
0036     0.120   , # hcalPFClusterIsoHighPtCut
0037     # Tracker isolation:
0038     # Three constants for the GsfEleTrkPtIsoCut: 
0039     #     cut = constTerm if Et < slopeStart
0040     #     cut = slopeTerm * (Et - slopeStart) + constTerm if Et >= slopeStart
0041     0.080 ,   # trkIsoSlopeTerm        
0042     0.000,    # trkIsoSlopeStart
0043     0.000,    # trkIsoConstTerm
0044     #
0045     1e30      # normalizedGsfChi2Cut - no cut
0046     )
0047 
0048 WP_HLTSafe_EE = EleHLTSelection_V1(
0049     idName   , # idName
0050     0.031   , # full5x5_sigmaIEtaIEtaCut
0051     1e30    , # dEtaInSeedCut - no cut
0052     1e30    , # dPhiInCut - no cut
0053     0.065   , # hOverECut
0054     0.013   , # absEInverseMinusPInverseCut
0055     # Calorimeter isolations: 
0056     0.120   , # ecalPFClusterIsoLowPtCut
0057     0.120   , # ecalPFClusterIsoHighPtCut
0058     0.120   , # hcalPFClusterIsoLowPtCut
0059     0.120   , # hcalPFClusterIsoHighPtCut
0060     # Tracker isolation:
0061     # Three constants for the GsfEleTrkPtIsoCut: 
0062     #     cut = constTerm if Et < slopeStart
0063     #     cut = slopeTerm * (Et - slopeStart) + constTerm if Et >= slopeStart
0064     0.080 ,   # trkIsoSlopeTerm        
0065     0.000,    # trkIsoSlopeStart
0066     0.000,    # trkIsoConstTerm
0067     #
0068     3.000     # normalizedGsfChi2Cut
0069     )
0070 
0071 
0072 # Second, define what effective areas to use for pile-up correction
0073 isoInputsEcal = "RecoEgamma/ElectronIdentification/data/Summer16/effAreaElectrons_HLT_ecalPFClusterIso.txt"
0074 isoInputsHcal = "RecoEgamma/ElectronIdentification/data/Summer16/effAreaElectrons_HLT_hcalPFClusterIso.txt"
0075 
0076 
0077 #
0078 # Set up VID configuration for all cuts and working points
0079 #
0080 cutBasedElectronHLTPreselection_Summer16_V1 = configureVIDCutBasedEleHLTPreselection_V1(
0081     WP_HLTSafe_EB, WP_HLTSafe_EE, 
0082     isoInputsEcal, isoInputsHcal)
0083 
0084 
0085 # The MD5 sum numbers below reflect the exact set of cut variables
0086 # and values above. If anything changes, one has to 
0087 # 1) comment out the lines below about the registry, 
0088 # 2) run "calculateMD5 <this file name> <one of the VID config names just above>
0089 # 3) update the MD5 sum strings below and uncomment the lines again.
0090 #
0091 
0092 central_id_registry.register(cutBasedElectronHLTPreselection_Summer16_V1.idName,
0093                              'aef5f00cc25a63b44192c6fc449f7dc0')
0094 
0095 
0096 ### for now until we have a database...
0097 cutBasedElectronHLTPreselection_Summer16_V1.isPOGApproved = cms.untracked.bool(True)