|
||||
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)
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |