From 64c6a69ecfc8abefac4fee4637ecf652f01f5289 Mon Sep 17 00:00:00 2001 From: dbhowmik Date: Sun, 16 Oct 2022 10:58:30 +0200 Subject: [PATCH 1/8] Adding Run3 electron cut-based ID --- ...ons_cone03_pfNeuHadronsAndPhotons_122X.txt | 18 ++ .../cutBasedElectronID_Fall22_122X_V1_cff.py | 182 ++++++++++++++++++ 2 files changed, 200 insertions(+) create mode 100644 RecoEgamma/ElectronIdentification/data/Run3_Fall22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt create mode 100644 RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Fall22_122X_V1_cff.py diff --git a/RecoEgamma/ElectronIdentification/data/Run3_Fall22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt b/RecoEgamma/ElectronIdentification/data/Run3_Fall22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt new file mode 100644 index 0000000000000..0a166511d2acf --- /dev/null +++ b/RecoEgamma/ElectronIdentification/data/Run3_Fall22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt @@ -0,0 +1,18 @@ +# This file contains Effective Area constants for +# computing pile-up corrections for the neutral hadron and photon +# isolation for an electron object. +# Documentation: +# +#https://indico.cern.ch/event/1204274/contributions/5064338/attachments/2525303/4343179/Electron_cutbasedID_20221010.pdf +# (slides 4 to 6) +# +# The effective areas are based on 90% efficient contours +# +# |eta| min |eta| max effective area +0.000 1.000 0.1243 +1.000 1.479 0.1458 +1.479 2.000 0.0992 +2.000 2.200 0.0794 +2.200 2.300 0.0762 +2.300 2.400 0.0766 +2.400 2.500 0.1003 diff --git a/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Fall22_122X_V1_cff.py b/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Fall22_122X_V1_cff.py new file mode 100644 index 0000000000000..44334901c707f --- /dev/null +++ b/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Fall22_122X_V1_cff.py @@ -0,0 +1,182 @@ +from PhysicsTools.SelectorUtils.centralIDRegistry import central_id_registry + +import FWCore.ParameterSet.Config as cms + +# Common functions and classes for ID definition are imported here: +from RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_tools \ + import ( EleWorkingPoint_V5, + configureVIDCutBasedEleID_V5 ) + +# +# The ID cuts below are optimized IDs on Fall17 simulation with 94X-based production +# The cut values are taken from the twiki: +# https://twiki.cern.ch/twiki/bin/view/CMS/CutBasedElectronIdentificationRun2 +# (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): +# https://indico.cern.ch/event/697079/ +# +# + +# Veto working point Barrel and Endcap +#122X V1 IDs for Run3(first set of IDs for Run3) +idName = "cutBasedElectronID-Fall22-122X-V1-veto" +WP_Veto_EB = EleWorkingPoint_V5( + idName = idName , # idName + full5x5_sigmaIEtaIEtaCut = 0.0117 , # full5x5_sigmaIEtaIEtaCut + dEtaInSeedCut = 0.0071 , # dEtaInSeedCut + dPhiInCut = 0.208 , # dPhiInCut + hOverECut_C0 = 0.05 , # hOverECut + hOverECut_CE = 1.28 , + hOverECut_Cr = 0.0422 , + relCombIsolationWithEACut_C0 = 0.406 , # relCombIsolationWithEACut + relCombIsolationWithEACut_Cpt = 0.535 , + absEInverseMinusPInverseCut = 0.178 , # absEInverseMinusPInverseCut + # conversion veto cut needs no parameters, so not mentioned + missingHitsCut = 2 # missingHitsCut + ) + +WP_Veto_EE = EleWorkingPoint_V5( + idName = idName , # idName + full5x5_sigmaIEtaIEtaCut = 0.0298 , # full5x5_sigmaIEtaIEtaCut + dEtaInSeedCut = 0.0173 , # dEtaInSeedCut + dPhiInCut = 0.234 , # dPhiInCut + hOverECut_C0 = 0.05 , # hOverECut + hOverECut_CE = 2.3 , + hOverECut_Cr = 0.262 , + relCombIsolationWithEACut_C0 = 0.342 , # relCombIsolationWithEACut + relCombIsolationWithEACut_Cpt = 0.519 , + absEInverseMinusPInverseCut = 0.137 , # absEInverseMinusPInverseCut + # conversion veto cut needs no parameters, so not mentioned + missingHitsCut = 3 # missingHitsCut + ) + +# Loose working point Barrel and Endcap +idName = "cutBasedElectronID-Fall22-122X-V1-loose" +WP_Loose_EB = EleWorkingPoint_V5( + idName = idName , # idName + full5x5_sigmaIEtaIEtaCut = 0.0107 , # full5x5_sigmaIEtaIEtaCut + dEtaInSeedCut = 0.00691 , # dEtaInSeedCut + dPhiInCut = 0.175 , # dPhiInCut + hOverECut_C0 = 0.05 , # hOverECut + hOverECut_CE = 1.28 , + hOverECut_Cr = 0.0422 , + relCombIsolationWithEACut_C0 = 0.194 , # relCombIsolationWithEACut + relCombIsolationWithEACut_Cpt = 0.535 , + absEInverseMinusPInverseCut = 0.138 , # absEInverseMinusPInverseCut + # conversion veto cut needs no parameters, so not mentioned + missingHitsCut = 1 # missingHitsCut + ) + +WP_Loose_EE = EleWorkingPoint_V5( + idName = idName , # idName + full5x5_sigmaIEtaIEtaCut = 0.0275 , # full5x5_sigmaIEtaIEtaCut + dEtaInSeedCut = 0.0121 , # dEtaInSeedCut + dPhiInCut = 0.228 , # dPhiInCut + hOverECut_C0 = 0.05 , # hOverECut + hOverECut_CE = 2.3 , + hOverECut_Cr = 0.262 , + relCombIsolationWithEACut_C0 = 0.184 , # relCombIsolationWithEACut + relCombIsolationWithEACut_Cpt = 0.519 , + absEInverseMinusPInverseCut = 0.127 , # absEInverseMinusPInverseCut + # conversion veto cut needs no parameters, so not mentioned + missingHitsCut = 1 # missingHitsCut + ) + +# Medium working point Barrel and Endcap +idName = "cutBasedElectronID-Fall22-122X-V1-medium" +WP_Medium_EB = EleWorkingPoint_V5( + idName = idName , # idName + full5x5_sigmaIEtaIEtaCut = 0.0103 , # full5x5_sigmaIEtaIEtaCut + dEtaInSeedCut = 0.00481 , # dEtaInSeedCut + dPhiInCut = 0.127 , # dPhiInCut + hOverECut_C0 = 0.0241 , # hOverECut + hOverECut_CE = 1.28 , + hOverECut_Cr = 0.0422 , + relCombIsolationWithEACut_C0 = 0.0837 , # relCombIsolationWithEACut + relCombIsolationWithEACut_Cpt = 0.535 , + absEInverseMinusPInverseCut = 0.0966 , # absEInverseMinusPInverseCut + # conversion veto cut needs no parameters, so not mentioned + missingHitsCut = 1 # missingHitsCut + ) + +WP_Medium_EE = EleWorkingPoint_V5( + idName = idName , # idName + full5x5_sigmaIEtaIEtaCut = 0.0272 , # full5x5_sigmaIEtaIEtaCut + dEtaInSeedCut = 0.00951 , # dEtaInSeedCut + dPhiInCut = 0.221 , # dPhiInCut + hOverECut_C0 = 0.05 , # hOverECut + hOverECut_CE = 2.3 , + hOverECut_Cr = 0.262 , + relCombIsolationWithEACut_C0 = 0.0741 , # relCombIsolationWithEACut + relCombIsolationWithEACut_Cpt = 0.519 , + absEInverseMinusPInverseCut = 0.111 , # absEInverseMinusPInverseCut + # conversion veto cut needs no parameters, so not mentioned + missingHitsCut = 1 # missingHitsCut + ) + +# Tight working point Barrel and Endcap +idName = "cutBasedElectronID-Fall22-122X-V1-tight" +WP_Tight_EB = EleWorkingPoint_V5( + idName = idName , # idName + full5x5_sigmaIEtaIEtaCut = 0.0101 , # full5x5_sigmaIEtaIEtaCut + dEtaInSeedCut = 0.00411 , # dEtaInSeedCut + dPhiInCut = 0.116 , # dPhiInCut + hOverECut_C0 = 0.02 , # hOverECut + hOverECut_CE = 1.16 , + hOverECut_Cr = 0.0422 , + relCombIsolationWithEACut_C0 = 0.0388 , # relCombIsolationWithEACut + relCombIsolationWithEACut_Cpt = 0.535 , + absEInverseMinusPInverseCut = 0.023 , # absEInverseMinusPInverseCut + # conversion veto cut needs no parameters, so not mentioned + missingHitsCut = 1 # missingHitsCut + ) + +WP_Tight_EE = EleWorkingPoint_V5( + idName = idName , # idName + full5x5_sigmaIEtaIEtaCut = 0.027 , # full5x5_sigmaIEtaIEtaCut + dEtaInSeedCut = 0.00938 , # dEtaInSeedCut + dPhiInCut = 0.164 , # dPhiInCut + hOverECut_C0 = 0.02 , # hOverECut + hOverECut_CE = 0.5 , + hOverECut_Cr = 0.262 , + relCombIsolationWithEACut_C0 = 0.0544 , # relCombIsolationWithEACut + relCombIsolationWithEACut_Cpt = 0.519 , + absEInverseMinusPInverseCut = 0.018 , # absEInverseMinusPInverseCut + # conversion veto cut needs no parameters, so not mentioned + missingHitsCut = 1 # missingHitsCut + ) + +# Second, define what effective areas to use for pile-up correction +#isoEffAreas = "RecoEgamma/ElectronIdentification/data/Fall17/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_94X.txt" +isoEffAreas = "RecoEgamma/ElectronIdentification/data/Run3_Fall22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt" +# +# Set up VID configuration for all cuts and working points +# +cutBasedElectronID_Fall22_122X_V1_veto = configureVIDCutBasedEleID_V5(WP_Veto_EB, WP_Veto_EE, isoEffAreas) +cutBasedElectronID_Fall22_122X_V1_loose = configureVIDCutBasedEleID_V5(WP_Loose_EB, WP_Loose_EE, isoEffAreas) +cutBasedElectronID_Fall22_122X_V1_medium = configureVIDCutBasedEleID_V5(WP_Medium_EB, WP_Medium_EE, isoEffAreas) +cutBasedElectronID_Fall22_122X_V1_tight = configureVIDCutBasedEleID_V5(WP_Tight_EB, WP_Tight_EE, isoEffAreas) + +# 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 and the isPOGApproved lines, +# 2) run "calculateIdMD5 +# 3) update the MD5 sum strings below and uncomment the lines again. +# +central_id_registry.register(cutBasedElectronID_Fall22_122X_V1_veto.idName, 'f2bdd2bd67779f62ee94df103c8632efa0e4e9e3') +central_id_registry.register(cutBasedElectronID_Fall22_122X_V1_loose.idName, '002bb55c0a6176fa07ffce0672a5e82843e83738') +central_id_registry.register(cutBasedElectronID_Fall22_122X_V1_medium.idName, '6eeb1197bf3a564d089c6a8213c895292f97de02') +central_id_registry.register(cutBasedElectronID_Fall22_122X_V1_tight.idName, '715df1da203dff03f39a347f658b2471472120d9') + +### for now until we have a database... +cutBasedElectronID_Fall17_94X_V2_veto.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_Fall17_94X_V2_loose.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_Fall17_94X_V2_medium.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_Fall17_94X_V2_tight.isPOGApproved = cms.untracked.bool(True) + +### 94X_v2 registry values +#central_id_registry.register(cutBasedElectronID_Fall17_94X_V2_veto.idName, '74e217e3ece16b49bd337026a29fc3e9') +#central_id_registry.register(cutBasedElectronID_Fall17_94X_V2_loose.idName, '5547e2c8b5c222192519c41bff05bc2e') +#central_id_registry.register(cutBasedElectronID_Fall17_94X_V2_medium.idName, '48702f025a8df2c527f53927af8b66d0') +#central_id_registry.register(cutBasedElectronID_Fall17_94X_V2_tight.idName, 'c06761e199f084f5b0f7868ac48a3e19') From fbabfb3b624b6b22128d15b24e0c6316e9ed51a4 Mon Sep 17 00:00:00 2001 From: dbhowmik Date: Sun, 16 Oct 2022 23:47:00 +0200 Subject: [PATCH 2/8] Adding Run3 electron cut-based ID and modifying for miniAOD --- PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py | 1 + RecoEgamma/ElectronIdentification/test/runtests.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py b/PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py index c7d3af3e20857..74b9eb0a9a982 100644 --- a/PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py +++ b/PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py @@ -295,6 +295,7 @@ def _add_deepFlavour(process): 'RecoEgamma.ElectronIdentification.Identification.heepElectronID_HEEPV71_cff', 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V1_cff', 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V2_cff', + 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall22_122X_V1_cff', 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V1_cff', 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_iso_V1_cff', 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V2_cff', diff --git a/RecoEgamma/ElectronIdentification/test/runtests.sh b/RecoEgamma/ElectronIdentification/test/runtests.sh index 5728e70434bbb..5ec9038b1d45e 100755 --- a/RecoEgamma/ElectronIdentification/test/runtests.sh +++ b/RecoEgamma/ElectronIdentification/test/runtests.sh @@ -9,6 +9,7 @@ ids_to_test=( 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Summer16_80X_V1_cff' 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V1_cff' 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V2_cff' + 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall22_122X_V1_cff' 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_GeneralPurpose_V1_cff' 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_HZZ_V1_cff' 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V1_cff' From 7fdaba7ab871444b551dc19c7ef8c0c5d58e0d01 Mon Sep 17 00:00:00 2001 From: dbhowmik Date: Mon, 17 Oct 2022 02:03:53 +0200 Subject: [PATCH 3/8] Run3 electron cut-based ID modification and correcting for miniAOD --- .../cutBasedElectronID_Fall22_122X_V1_cff.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Fall22_122X_V1_cff.py b/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Fall22_122X_V1_cff.py index 44334901c707f..834a17b5d5a9f 100644 --- a/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Fall22_122X_V1_cff.py +++ b/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Fall22_122X_V1_cff.py @@ -170,10 +170,10 @@ central_id_registry.register(cutBasedElectronID_Fall22_122X_V1_tight.idName, '715df1da203dff03f39a347f658b2471472120d9') ### for now until we have a database... -cutBasedElectronID_Fall17_94X_V2_veto.isPOGApproved = cms.untracked.bool(True) -cutBasedElectronID_Fall17_94X_V2_loose.isPOGApproved = cms.untracked.bool(True) -cutBasedElectronID_Fall17_94X_V2_medium.isPOGApproved = cms.untracked.bool(True) -cutBasedElectronID_Fall17_94X_V2_tight.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_Fall22_122X_V1_veto.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_Fall22_122X_V1_loose.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_Fall22_122X_V1_medium.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_Fall22_122X_V1_tight.isPOGApproved = cms.untracked.bool(True) ### 94X_v2 registry values #central_id_registry.register(cutBasedElectronID_Fall17_94X_V2_veto.idName, '74e217e3ece16b49bd337026a29fc3e9') From 16dc582c45f349f22438c22e77c5e85e4290a93d Mon Sep 17 00:00:00 2001 From: dbhowmik Date: Tue, 18 Oct 2022 18:21:43 +0200 Subject: [PATCH 4/8] Adding Run3 elctron cut-based ID with corrected version name --- .../PatAlgos/python/slimming/miniAOD_tools.py | 2 +- ...ons_cone03_pfNeuHadronsAndPhotons_122X.txt | 4 +- ...utBasedElectronID_Winter22_122X_V1_cff.py} | 49 ++++++++++--------- .../ElectronIdentification/test/runtests.sh | 2 +- 4 files changed, 29 insertions(+), 28 deletions(-) rename RecoEgamma/ElectronIdentification/data/{Run3_Fall22 => Run3_Winter22}/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt (77%) rename RecoEgamma/ElectronIdentification/python/Identification/{cutBasedElectronID_Fall22_122X_V1_cff.py => cutBasedElectronID_Winter22_122X_V1_cff.py} (76%) diff --git a/PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py b/PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py index 74b9eb0a9a982..edffd4010ef73 100644 --- a/PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py +++ b/PhysicsTools/PatAlgos/python/slimming/miniAOD_tools.py @@ -295,7 +295,7 @@ def _add_deepFlavour(process): 'RecoEgamma.ElectronIdentification.Identification.heepElectronID_HEEPV71_cff', 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V1_cff', 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V2_cff', - 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall22_122X_V1_cff', + 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Winter22_122X_V1_cff', 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V1_cff', 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_iso_V1_cff', 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V2_cff', diff --git a/RecoEgamma/ElectronIdentification/data/Run3_Fall22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt b/RecoEgamma/ElectronIdentification/data/Run3_Winter22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt similarity index 77% rename from RecoEgamma/ElectronIdentification/data/Run3_Fall22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt rename to RecoEgamma/ElectronIdentification/data/Run3_Winter22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt index 0a166511d2acf..961a90bcf59f2 100644 --- a/RecoEgamma/ElectronIdentification/data/Run3_Fall22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt +++ b/RecoEgamma/ElectronIdentification/data/Run3_Winter22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt @@ -3,8 +3,8 @@ # isolation for an electron object. # Documentation: # -#https://indico.cern.ch/event/1204274/contributions/5064338/attachments/2525303/4343179/Electron_cutbasedID_20221010.pdf -# (slides 4 to 6) +#https://indico.cern.ch/event/1204275/contributions/5064343/attachments/2529616/4353987/Electron_cutbasedID_preliminaryID.pdf +# (slides 4 to 7) # # The effective areas are based on 90% efficient contours # diff --git a/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Fall22_122X_V1_cff.py b/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Winter22_122X_V1_cff.py similarity index 76% rename from RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Fall22_122X_V1_cff.py rename to RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Winter22_122X_V1_cff.py index 834a17b5d5a9f..6843dc0b02519 100644 --- a/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Fall22_122X_V1_cff.py +++ b/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Winter22_122X_V1_cff.py @@ -8,19 +8,15 @@ configureVIDCutBasedEleID_V5 ) # -# The ID cuts below are optimized IDs on Fall17 simulation with 94X-based production -# The cut values are taken from the twiki: -# https://twiki.cern.ch/twiki/bin/view/CMS/CutBasedElectronIdentificationRun2 -# (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): -# https://indico.cern.ch/event/697079/ +# The ID cuts below are optimized IDs on Winter22 simulation with 122X-based production +# The cut values and the ID optimization discussions can be found at: +# https://indico.cern.ch/event/1204275/contributions/5064343/attachments/2529616/4353987/Electron_cutbasedID_preliminaryID.pdf # # # Veto working point Barrel and Endcap #122X V1 IDs for Run3(first set of IDs for Run3) -idName = "cutBasedElectronID-Fall22-122X-V1-veto" +idName = "cutBasedElectronID-Winter22-122X-V1-veto" WP_Veto_EB = EleWorkingPoint_V5( idName = idName , # idName full5x5_sigmaIEtaIEtaCut = 0.0117 , # full5x5_sigmaIEtaIEtaCut @@ -52,7 +48,7 @@ ) # Loose working point Barrel and Endcap -idName = "cutBasedElectronID-Fall22-122X-V1-loose" +idName = "cutBasedElectronID-Winter22-122X-V1-loose" WP_Loose_EB = EleWorkingPoint_V5( idName = idName , # idName full5x5_sigmaIEtaIEtaCut = 0.0107 , # full5x5_sigmaIEtaIEtaCut @@ -84,7 +80,7 @@ ) # Medium working point Barrel and Endcap -idName = "cutBasedElectronID-Fall22-122X-V1-medium" +idName = "cutBasedElectronID-Winter22-122X-V1-medium" WP_Medium_EB = EleWorkingPoint_V5( idName = idName , # idName full5x5_sigmaIEtaIEtaCut = 0.0103 , # full5x5_sigmaIEtaIEtaCut @@ -116,7 +112,7 @@ ) # Tight working point Barrel and Endcap -idName = "cutBasedElectronID-Fall22-122X-V1-tight" +idName = "cutBasedElectronID-Winter22-122X-V1-tight" WP_Tight_EB = EleWorkingPoint_V5( idName = idName , # idName full5x5_sigmaIEtaIEtaCut = 0.0101 , # full5x5_sigmaIEtaIEtaCut @@ -149,14 +145,14 @@ # Second, define what effective areas to use for pile-up correction #isoEffAreas = "RecoEgamma/ElectronIdentification/data/Fall17/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_94X.txt" -isoEffAreas = "RecoEgamma/ElectronIdentification/data/Run3_Fall22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt" +isoEffAreas = "RecoEgamma/ElectronIdentification/data/Run3_Winter22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt" # # Set up VID configuration for all cuts and working points # -cutBasedElectronID_Fall22_122X_V1_veto = configureVIDCutBasedEleID_V5(WP_Veto_EB, WP_Veto_EE, isoEffAreas) -cutBasedElectronID_Fall22_122X_V1_loose = configureVIDCutBasedEleID_V5(WP_Loose_EB, WP_Loose_EE, isoEffAreas) -cutBasedElectronID_Fall22_122X_V1_medium = configureVIDCutBasedEleID_V5(WP_Medium_EB, WP_Medium_EE, isoEffAreas) -cutBasedElectronID_Fall22_122X_V1_tight = configureVIDCutBasedEleID_V5(WP_Tight_EB, WP_Tight_EE, isoEffAreas) +cutBasedElectronID_Winter22_122X_V1_veto = configureVIDCutBasedEleID_V5(WP_Veto_EB, WP_Veto_EE, isoEffAreas) +cutBasedElectronID_Winter22_122X_V1_loose = configureVIDCutBasedEleID_V5(WP_Loose_EB, WP_Loose_EE, isoEffAreas) +cutBasedElectronID_Winter22_122X_V1_medium = configureVIDCutBasedEleID_V5(WP_Medium_EB, WP_Medium_EE, isoEffAreas) +cutBasedElectronID_Winter22_122X_V1_tight = configureVIDCutBasedEleID_V5(WP_Tight_EB, WP_Tight_EE, isoEffAreas) # The MD5 sum numbers below reflect the exact set of cut variables # and values above. If anything changes, one has to @@ -164,16 +160,21 @@ # 2) run "calculateIdMD5 # 3) update the MD5 sum strings below and uncomment the lines again. # -central_id_registry.register(cutBasedElectronID_Fall22_122X_V1_veto.idName, 'f2bdd2bd67779f62ee94df103c8632efa0e4e9e3') -central_id_registry.register(cutBasedElectronID_Fall22_122X_V1_loose.idName, '002bb55c0a6176fa07ffce0672a5e82843e83738') -central_id_registry.register(cutBasedElectronID_Fall22_122X_V1_medium.idName, '6eeb1197bf3a564d089c6a8213c895292f97de02') -central_id_registry.register(cutBasedElectronID_Fall22_122X_V1_tight.idName, '715df1da203dff03f39a347f658b2471472120d9') +central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_veto.idName, '4bb256706c8c197a7b2b030467579016d62b7193') +central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_loose.idName, 'cffebbe12b51b8eefd73ee24636a81bb7d16f94f') +central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_medium.idName, '8c7fcc45de0208efb136838e640b64376c01a707') +central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_tight.idName, '7977ea7c97914acdb1905fca688e1fa0d8989553') ### for now until we have a database... -cutBasedElectronID_Fall22_122X_V1_veto.isPOGApproved = cms.untracked.bool(True) -cutBasedElectronID_Fall22_122X_V1_loose.isPOGApproved = cms.untracked.bool(True) -cutBasedElectronID_Fall22_122X_V1_medium.isPOGApproved = cms.untracked.bool(True) -cutBasedElectronID_Fall22_122X_V1_tight.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_Winter22_122X_V1_veto.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_Winter22_122X_V1_loose.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_Winter22_122X_V1_medium.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_Winter22_122X_V1_tight.isPOGApproved = cms.untracked.bool(True) + +#central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_veto.idName, 'f2bdd2bd67779f62ee94df103c8632efa0e4e9e3') +#central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_loose.idName, '002bb55c0a6176fa07ffce0672a5e82843e83738') +#central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_medium.idName, '6eeb1197bf3a564d089c6a8213c895292f97de02') +#central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_tight.idName, '715df1da203dff03f39a347f658b2471472120d9') ### 94X_v2 registry values #central_id_registry.register(cutBasedElectronID_Fall17_94X_V2_veto.idName, '74e217e3ece16b49bd337026a29fc3e9') diff --git a/RecoEgamma/ElectronIdentification/test/runtests.sh b/RecoEgamma/ElectronIdentification/test/runtests.sh index 5ec9038b1d45e..03f762544ce37 100755 --- a/RecoEgamma/ElectronIdentification/test/runtests.sh +++ b/RecoEgamma/ElectronIdentification/test/runtests.sh @@ -9,7 +9,7 @@ ids_to_test=( 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Summer16_80X_V1_cff' 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V1_cff' 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V2_cff' - 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall22_122X_V1_cff' + 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Winter22_122X_V1_cff' 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_GeneralPurpose_V1_cff' 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Spring16_HZZ_V1_cff' 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V1_cff' From 2683101e3d79e88fcd52508fc72f6dd6657ee270 Mon Sep 17 00:00:00 2001 From: dbhowmik Date: Tue, 18 Oct 2022 19:54:50 +0200 Subject: [PATCH 5/8] Adding Run3 electron cut-based ID with identical version name for all EGamma IDs --- ...cutBasedElectronID_Winter22_122X_V1_cff.py | 44 +++++++------------ 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Winter22_122X_V1_cff.py b/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Winter22_122X_V1_cff.py index 6843dc0b02519..019c09508d871 100644 --- a/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Winter22_122X_V1_cff.py +++ b/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Winter22_122X_V1_cff.py @@ -15,8 +15,8 @@ # # Veto working point Barrel and Endcap -#122X V1 IDs for Run3(first set of IDs for Run3) -idName = "cutBasedElectronID-Winter22-122X-V1-veto" +#Winter22_122X V1 IDs for Run3(first set of IDs for Run3) +idName = "cutBasedElectronID-RunIIIWinter22-V1-veto" WP_Veto_EB = EleWorkingPoint_V5( idName = idName , # idName full5x5_sigmaIEtaIEtaCut = 0.0117 , # full5x5_sigmaIEtaIEtaCut @@ -48,7 +48,7 @@ ) # Loose working point Barrel and Endcap -idName = "cutBasedElectronID-Winter22-122X-V1-loose" +idName = "cutBasedElectronID-RunIIIWinter22-V1-loose" WP_Loose_EB = EleWorkingPoint_V5( idName = idName , # idName full5x5_sigmaIEtaIEtaCut = 0.0107 , # full5x5_sigmaIEtaIEtaCut @@ -80,7 +80,7 @@ ) # Medium working point Barrel and Endcap -idName = "cutBasedElectronID-Winter22-122X-V1-medium" +idName = "cutBasedElectronID-RunIIIWinter22-V1-medium" WP_Medium_EB = EleWorkingPoint_V5( idName = idName , # idName full5x5_sigmaIEtaIEtaCut = 0.0103 , # full5x5_sigmaIEtaIEtaCut @@ -112,7 +112,7 @@ ) # Tight working point Barrel and Endcap -idName = "cutBasedElectronID-Winter22-122X-V1-tight" +idName = "cutBasedElectronID-RunIIIWinter22-V1-tight" WP_Tight_EB = EleWorkingPoint_V5( idName = idName , # idName full5x5_sigmaIEtaIEtaCut = 0.0101 , # full5x5_sigmaIEtaIEtaCut @@ -149,10 +149,10 @@ # # Set up VID configuration for all cuts and working points # -cutBasedElectronID_Winter22_122X_V1_veto = configureVIDCutBasedEleID_V5(WP_Veto_EB, WP_Veto_EE, isoEffAreas) -cutBasedElectronID_Winter22_122X_V1_loose = configureVIDCutBasedEleID_V5(WP_Loose_EB, WP_Loose_EE, isoEffAreas) -cutBasedElectronID_Winter22_122X_V1_medium = configureVIDCutBasedEleID_V5(WP_Medium_EB, WP_Medium_EE, isoEffAreas) -cutBasedElectronID_Winter22_122X_V1_tight = configureVIDCutBasedEleID_V5(WP_Tight_EB, WP_Tight_EE, isoEffAreas) +cutBasedElectronID_RunIIIWinter22_V1_veto = configureVIDCutBasedEleID_V5(WP_Veto_EB, WP_Veto_EE, isoEffAreas) +cutBasedElectronID_RunIIIWinter22_V1_loose = configureVIDCutBasedEleID_V5(WP_Loose_EB, WP_Loose_EE, isoEffAreas) +cutBasedElectronID_RunIIIWinter22_V1_medium = configureVIDCutBasedEleID_V5(WP_Medium_EB, WP_Medium_EE, isoEffAreas) +cutBasedElectronID_RunIIIWinter22_V1_tight = configureVIDCutBasedEleID_V5(WP_Tight_EB, WP_Tight_EE, isoEffAreas) # The MD5 sum numbers below reflect the exact set of cut variables # and values above. If anything changes, one has to @@ -160,24 +160,14 @@ # 2) run "calculateIdMD5 # 3) update the MD5 sum strings below and uncomment the lines again. # -central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_veto.idName, '4bb256706c8c197a7b2b030467579016d62b7193') -central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_loose.idName, 'cffebbe12b51b8eefd73ee24636a81bb7d16f94f') -central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_medium.idName, '8c7fcc45de0208efb136838e640b64376c01a707') -central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_tight.idName, '7977ea7c97914acdb1905fca688e1fa0d8989553') +#central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_veto.idName, '04d495d199252c2017d5019ae8b478a7d8aebc79') +#central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_loose.idName, '648b0cc1957047ffe3f027111389dcf5aa941edc') +#central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_medium.idName, '2626edc1ad1dc1673c0713c557df78f3e90a66f5') +#central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_tight.idName, '2331bfa0b099f80090aa1d48df03b7a134cf788e') ### for now until we have a database... -cutBasedElectronID_Winter22_122X_V1_veto.isPOGApproved = cms.untracked.bool(True) -cutBasedElectronID_Winter22_122X_V1_loose.isPOGApproved = cms.untracked.bool(True) -cutBasedElectronID_Winter22_122X_V1_medium.isPOGApproved = cms.untracked.bool(True) -cutBasedElectronID_Winter22_122X_V1_tight.isPOGApproved = cms.untracked.bool(True) +#cutBasedElectronID_RunIIIWinter22_V1_veto.isPOGApproved = cms.untracked.bool(True) +#cutBasedElectronID_RunIIIWinter22_V1_loose.isPOGApproved = cms.untracked.bool(True) +#cutBasedElectronID_RunIIIWinter22_V1_medium.isPOGApproved = cms.untracked.bool(True) +#cutBasedElectronID_RunIIIWinter22_V1_tight.isPOGApproved = cms.untracked.bool(True) -#central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_veto.idName, 'f2bdd2bd67779f62ee94df103c8632efa0e4e9e3') -#central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_loose.idName, '002bb55c0a6176fa07ffce0672a5e82843e83738') -#central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_medium.idName, '6eeb1197bf3a564d089c6a8213c895292f97de02') -#central_id_registry.register(cutBasedElectronID_Winter22_122X_V1_tight.idName, '715df1da203dff03f39a347f658b2471472120d9') - -### 94X_v2 registry values -#central_id_registry.register(cutBasedElectronID_Fall17_94X_V2_veto.idName, '74e217e3ece16b49bd337026a29fc3e9') -#central_id_registry.register(cutBasedElectronID_Fall17_94X_V2_loose.idName, '5547e2c8b5c222192519c41bff05bc2e') -#central_id_registry.register(cutBasedElectronID_Fall17_94X_V2_medium.idName, '48702f025a8df2c527f53927af8b66d0') -#central_id_registry.register(cutBasedElectronID_Fall17_94X_V2_tight.idName, 'c06761e199f084f5b0f7868ac48a3e19') From 2e810de0c02d0e9dd7f9cf34813809ff09c0bf23 Mon Sep 17 00:00:00 2001 From: dbhowmik Date: Tue, 18 Oct 2022 20:01:11 +0200 Subject: [PATCH 6/8] Run3 electron cut-based ID with EGamma approved information --- .../cutBasedElectronID_Winter22_122X_V1_cff.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Winter22_122X_V1_cff.py b/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Winter22_122X_V1_cff.py index 019c09508d871..798ff21ae2926 100644 --- a/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Winter22_122X_V1_cff.py +++ b/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_Winter22_122X_V1_cff.py @@ -160,14 +160,14 @@ # 2) run "calculateIdMD5 # 3) update the MD5 sum strings below and uncomment the lines again. # -#central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_veto.idName, '04d495d199252c2017d5019ae8b478a7d8aebc79') -#central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_loose.idName, '648b0cc1957047ffe3f027111389dcf5aa941edc') -#central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_medium.idName, '2626edc1ad1dc1673c0713c557df78f3e90a66f5') -#central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_tight.idName, '2331bfa0b099f80090aa1d48df03b7a134cf788e') +central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_veto.idName, '04d495d199252c2017d5019ae8b478a7d8aebc79') +central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_loose.idName, '648b0cc1957047ffe3f027111389dcf5aa941edc') +central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_medium.idName, '2626edc1ad1dc1673c0713c557df78f3e90a66f5') +central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_tight.idName, '2331bfa0b099f80090aa1d48df03b7a134cf788e') ### for now until we have a database... -#cutBasedElectronID_RunIIIWinter22_V1_veto.isPOGApproved = cms.untracked.bool(True) -#cutBasedElectronID_RunIIIWinter22_V1_loose.isPOGApproved = cms.untracked.bool(True) -#cutBasedElectronID_RunIIIWinter22_V1_medium.isPOGApproved = cms.untracked.bool(True) -#cutBasedElectronID_RunIIIWinter22_V1_tight.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_RunIIIWinter22_V1_veto.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_RunIIIWinter22_V1_loose.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_RunIIIWinter22_V1_medium.isPOGApproved = cms.untracked.bool(True) +cutBasedElectronID_RunIIIWinter22_V1_tight.isPOGApproved = cms.untracked.bool(True) From ae5a734fef97c99c7d9ca62df87b5a22ab581b4b Mon Sep 17 00:00:00 2001 From: reza goldouzian Date: Tue, 25 Oct 2022 05:31:13 -0400 Subject: [PATCH 7/8] RunIII electron ID is added --- PhysicsTools/NanoAOD/python/electrons_cff.py | 26 +++++++++++++++++--- PhysicsTools/NanoAOD/python/nanoDQM_cfi.py | 2 ++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/PhysicsTools/NanoAOD/python/electrons_cff.py b/PhysicsTools/NanoAOD/python/electrons_cff.py index dacb0f423cf37..5add306c556c3 100644 --- a/PhysicsTools/NanoAOD/python/electrons_cff.py +++ b/PhysicsTools/NanoAOD/python/electrons_cff.py @@ -41,6 +41,7 @@ modules = cms.vstring( 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V1_cff', 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Fall17_94X_V2_cff', + 'RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_Winter22_122X_V1_cff', 'RecoEgamma.ElectronIdentification.Identification.heepElectronID_HEEPV70_cff', 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_iso_V1_cff', 'RecoEgamma.ElectronIdentification.Identification.mvaElectronID_Fall17_noIso_V1_cff', @@ -99,6 +100,16 @@ def _get_bitmapVIDForEle_docstring(modules,WorkingPoints): ) _bitmapVIDForEle_docstring = _get_bitmapVIDForEle_docstring(electron_id_modules_WorkingPoints_nanoAOD.modules,bitmapVIDForEle.WorkingPoints) +bitmapVIDForEleRunIIIWinter22 = bitmapVIDForEle.clone( + WorkingPoints = cms.vstring( + "egmGsfElectronIDs:cutBasedElectronID-RunIIIWinter22-V1-veto", + "egmGsfElectronIDs:cutBasedElectronID-RunIIIWinter22-V1-loose", + "egmGsfElectronIDs:cutBasedElectronID-RunIIIWinter22-V1-medium", + "egmGsfElectronIDs:cutBasedElectronID-RunIIIWinter22-V1-tight" + ) +) +_bitmapVIDForEleRunIIIWinter22_docstring = _get_bitmapVIDForEle_docstring(electron_id_modules_WorkingPoints_nanoAOD.modules,bitmapVIDForEleRunIIIWinter22.WorkingPoints) + bitmapVIDForEleSpring15 = bitmapVIDForEle.clone( WorkingPoints = cms.vstring( "egmGsfElectronIDs:cutBasedElectronID-Spring15-25ns-V1-standalone-veto", @@ -117,6 +128,7 @@ def _get_bitmapVIDForEle_docstring(modules,WorkingPoints): "egmGsfElectronIDs:cutBasedElectronID-Summer16-80X-V1-tight", ) ) + _bitmapVIDForEleSum16_docstring = _get_bitmapVIDForEle_docstring(electron_id_modules_WorkingPoints_nanoAOD.modules,bitmapVIDForEleSum16.WorkingPoints) bitmapVIDForEleHEEP = bitmapVIDForEle.clone( @@ -243,10 +255,15 @@ def _get_bitmapVIDForEle_docstring(modules,WorkingPoints): cutbasedID_Fall17_V2_loose = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-Fall17-94X-V2-loose"), cutbasedID_Fall17_V2_medium = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-Fall17-94X-V2-medium"), cutbasedID_Fall17_V2_tight = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-Fall17-94X-V2-tight"), + cutbasedID_RunIIIWinter22_veto = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-RunIIIWinter22-V1-veto"), + cutbasedID_RunIIIWinter22_loose = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-RunIIIWinter22-V1-loose"), + cutbasedID_RunIIIWinter22_medium = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-RunIIIWinter22-V1-medium"), + cutbasedID_RunIIIWinter22_tight = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-RunIIIWinter22-V1-tight"), cutbasedID_HEEP = cms.InputTag("egmGsfElectronIDs:heepElectronID-HEEPV70"), ), userInts = cms.PSet( VIDNestedWPBitmap = cms.InputTag("bitmapVIDForEle"), + VIDNestedWPBitmapRunIIIWinter22 = cms.InputTag("bitmapVIDForEleRunIIIWinter22"), VIDNestedWPBitmapHEEP = cms.InputTag("bitmapVIDForEleHEEP"), seedGain = cms.InputTag("seedGainEle"), ), @@ -282,8 +299,7 @@ def _get_bitmapVIDForEle_docstring(modules,WorkingPoints): cutbasedID_Fall17_V2_veto = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-Fall17-94X-V2-veto"), cutbasedID_Fall17_V2_loose = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-Fall17-94X-V2-loose"), cutbasedID_Fall17_V2_medium = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-Fall17-94X-V2-medium"), - cutbasedID_Fall17_V2_tight = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-Fall17-94X-V2-tight"), - + cutbasedID_Fall17_V2_tight = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-Fall17-94X-V2-tight"), ) run2_miniAOD_80XLegacy.toModify(slimmedElectronsWithUserData.userFloats, @@ -388,7 +404,9 @@ def _get_bitmapVIDForEle_docstring(modules,WorkingPoints): mvaHZZIso = Var("userFloat('mvaHZZIso')", float,doc="HZZ MVA Iso ID score"), cutBased = Var("userInt('cutbasedID_Fall17_V2_veto')+userInt('cutbasedID_Fall17_V2_loose')+userInt('cutbasedID_Fall17_V2_medium')+userInt('cutbasedID_Fall17_V2_tight')",int,doc="cut-based ID Fall17 V2 (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)"), + cutBasedRunIIIWinter22 = Var("userInt('cutbasedID_RunIIIWinter22_veto')+userInt('cutbasedID_RunIIIWinter22_loose')+userInt('cutbasedID_RunIIIWinter22_medium')+userInt('cutbasedID_RunIIIWinter22_tight')",int,doc="cut-based ID Fall17 V2 (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)"), vidNestedWPBitmap = Var("userInt('VIDNestedWPBitmap')",int,doc=_bitmapVIDForEle_docstring), + vidNestedWPBitmapRunIIIWinter22 = Var("userInt('VIDNestedWPBitmapRunIIIWinter22')",int,doc=_bitmapVIDForEleRunIIIWinter22_docstring), vidNestedWPBitmapHEEP = Var("userInt('VIDNestedWPBitmapHEEP')",int,doc=_bitmapVIDForEleHEEP_docstring), cutBased_HEEP = Var("userInt('cutbasedID_HEEP')",bool,doc="cut-based HEEP ID"), miniPFRelIso_chg = Var("userFloat('miniIsoChg')/pt",float,doc="mini PF relative isolation, charged component"), @@ -450,6 +468,7 @@ def _get_bitmapVIDForEle_docstring(modules,WorkingPoints): #cutBased in 2016 corresponds to Spring16 not Fall17V2, so have to add in V2 ID explicitly #it also doesnt exist in the miniAOD so have to redo it cutBased = Var("userInt('cutbasedID_Fall17_V2_veto')+userInt('cutbasedID_Fall17_V2_loose')+userInt('cutbasedID_Fall17_V2_medium')+userInt('cutbasedID_Fall17_V2_tight')",int,doc="cut-based ID Fall17 V2 (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)"), + cutBasedRunIIIWinter22 = Var("userInt('cutbasedID_RunIIIWinter22_veto')+userInt('cutbasedID_RunIIIWinter22_loose')+userInt('cutbasedID_RunIIIWinter22_medium')+userInt('cutbasedID_RunIIIWinter22_tight')",int,doc="cut-based ID RunIIIWinter22 (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)"), cutBased_HLTPreSel = Var("userInt('cutbasedID_HLT')",int,doc="cut-based HLT pre-selection ID"), cutBased_HEEP = Var("electronID('heepElectronID-HEEPV70')",bool,doc="cut-based HEEP ID"), cutBased_Spring15 = Var("userInt('cutbasedID_Spring15_veto')+userInt('cutbasedID_Spring15_loose')+userInt('cutbasedID_Spring15_medium')+userInt('cutbasedID_Spring15_tight')",int,doc="cut-based Spring15 ID (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)"), @@ -539,7 +558,7 @@ def _get_bitmapVIDForEle_docstring(modules,WorkingPoints): genparticles = cms.InputTag("finalGenParticles"), ) -electronTask = cms.Task(bitmapVIDForEle,bitmapVIDForEleHEEP,isoForEle,ptRatioRelForEle,seedGainEle,calibratedPatElectronsNano,slimmedElectronsWithUserData,finalElectrons) +electronTask = cms.Task(bitmapVIDForEle,bitmapVIDForEleRunIIIWinter22,bitmapVIDForEleHEEP,isoForEle,ptRatioRelForEle,seedGainEle,calibratedPatElectronsNano,slimmedElectronsWithUserData,finalElectrons) electronTablesTask = cms.Task(electronMVATTH, electronTable) electronMCTask = cms.Task(tautaggerForMatching, matchingElecPhoton, electronsMCMatchForTable, electronsMCMatchForTableAlt, electronMCTable) @@ -550,6 +569,7 @@ def _get_bitmapVIDForEle_docstring(modules,WorkingPoints): #for NANO from reminAOD, no need to run slimmedElectronsUpdated, other modules of electron sequence will run on slimmedElectrons for modifier in run2_miniAOD_80XLegacy,run2_nanoAOD_94XMiniAODv1,run2_nanoAOD_94XMiniAODv2,run2_nanoAOD_94X2016,run2_nanoAOD_102Xv1,run2_nanoAOD_106Xv1: modifier.toModify(bitmapVIDForEle, src = "slimmedElectronsUpdated") + modifier.toModify(bitmapVIDForEleRunIIIWinter22, src = "slimmedElectronsUpdated") modifier.toModify(bitmapVIDForEleSpring15, src = "slimmedElectronsUpdated") modifier.toModify(bitmapVIDForEleSum16, src = "slimmedElectronsUpdated") modifier.toModify(bitmapVIDForEleHEEP, src = "slimmedElectronsUpdated") diff --git a/PhysicsTools/NanoAOD/python/nanoDQM_cfi.py b/PhysicsTools/NanoAOD/python/nanoDQM_cfi.py index 68f9fd12f6739..9db52d4d8d692 100644 --- a/PhysicsTools/NanoAOD/python/nanoDQM_cfi.py +++ b/PhysicsTools/NanoAOD/python/nanoDQM_cfi.py @@ -56,6 +56,7 @@ Plot1D('cleanmask', 'cleanmask', 1, 0.5, 1.5, 'simple cleaning mask with priority to leptons'), Plot1D('convVeto', 'convVeto', 2, -0.5, 1.5, 'pass conversion veto'), Plot1D('cutBased', 'cutBased', 5, -0.5, 4.5, 'cut-based ID (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)'), + Plot1D('cutBasedRunIIIWinter22', 'cutBasedRunIIIWinter22', 5, -0.5, 4.5, 'cut-based ID RunIIIWinter22 (0:fail, 1:veto, 2:loose, 3:medium, 4:tight)'), Plot1D('cutBased_HEEP', 'cutBased_HEEP', 2, -0.5, 1.5, 'cut-based HEEP ID'), Plot1D('deltaEtaSC', 'deltaEtaSC', 20, -0.2, 0.2, 'delta eta (SC,ele) with sign'), Plot1D('dr03EcalRecHitSumEt', 'dr03EcalRecHitSumEt', 20, 0, 30, 'Non-PF Ecal isolation within a delta R cone of 0.3 with electron pt > 35 GeV'), @@ -105,6 +106,7 @@ Plot1D('sip3d', 'sip3d', 20, 0, 20, '3D impact parameter significance wrt first PV, in cm'), Plot1D('tightCharge', 'tightCharge', 3, -0.5, 2.5, 'Tight charge criteria (0:none, 1:isGsfScPixChargeConsistent, 2:isGsfCtfScPixChargeConsistent)'), NoPlot('vidNestedWPBitmap'), + NoPlot('vidNestedWPBitmapRunIIIWinter22'), NoPlot('vidNestedWPBitmapHEEP'), Plot1D('dEscaleUp', 'dEscaleUp', 100, -0.01, 0.01, '#Delta E scaleUp'), Plot1D('dEscaleDown', 'dEscaleDown', 100, -0.01, 0.01, '#Delta E scaleDown'), From b6beb5bfed4b0fdf473a5b330c17bd4aee2bc608 Mon Sep 17 00:00:00 2001 From: reza goldouzian Date: Tue, 25 Oct 2022 08:21:54 -0400 Subject: [PATCH 8/8] RunIII electron ID is added + new effArea --- PhysicsTools/NanoAOD/python/electrons_cff.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PhysicsTools/NanoAOD/python/electrons_cff.py b/PhysicsTools/NanoAOD/python/electrons_cff.py index 5add306c556c3..e380721f69ad5 100644 --- a/PhysicsTools/NanoAOD/python/electrons_cff.py +++ b/PhysicsTools/NanoAOD/python/electrons_cff.py @@ -144,8 +144,8 @@ def _get_bitmapVIDForEle_docstring(modules,WorkingPoints): relative = cms.bool(False), rho_MiniIso = cms.InputTag("fixedGridRhoFastjetAll"), rho_PFIso = cms.InputTag("fixedGridRhoFastjetAll"), - EAFile_MiniIso = cms.FileInPath("RecoEgamma/ElectronIdentification/data/Fall17/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_94X.txt"), - EAFile_PFIso = cms.FileInPath("RecoEgamma/ElectronIdentification/data/Fall17/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_94X.txt"), + EAFile_MiniIso = cms.FileInPath("RecoEgamma/ElectronIdentification/data/Run3_Winter22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt"), + EAFile_PFIso = cms.FileInPath("RecoEgamma/ElectronIdentification/data/Run3_Winter22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt"), ) run2_miniAOD_80XLegacy.toModify(isoForEle, EAFile_MiniIso = "RecoEgamma/ElectronIdentification/data/Spring15/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_25ns.txt",