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 ( EleWorkingPoint_V5,
0008              configureVIDCutBasedEleID_V5 )
0009 
0010 #
0011 # The ID cuts below are optimized IDs on Winter22 simulation with 122X-based production
0012 # The cut values and the ID optimization discussions can be found at:
0013 # https://indico.cern.ch/event/1204275/contributions/5064343/attachments/2529616/4353987/Electron_cutbasedID_preliminaryID.pdf
0014 #
0015 #
0016 
0017 # Veto working point Barrel and Endcap
0018 #Winter22_122X V1 IDs for Run3(first set of IDs for Run3) 
0019 idName = "cutBasedElectronID-RunIIIWinter22-V1-veto"
0020 WP_Veto_EB = EleWorkingPoint_V5(
0021     idName                         = idName  , # idName
0022     full5x5_sigmaIEtaIEtaCut       = 0.0117  , # full5x5_sigmaIEtaIEtaCut
0023     dEtaInSeedCut                  = 0.0071  , # dEtaInSeedCut
0024     dPhiInCut                      = 0.208   , # dPhiInCut
0025     hOverECut_C0                   = 0.05    , # hOverECut
0026     hOverECut_CE                   = 1.28    ,
0027     hOverECut_Cr                   = 0.0422  ,
0028     relCombIsolationWithEACut_C0   = 0.406   , # relCombIsolationWithEACut
0029     relCombIsolationWithEACut_Cpt  = 0.535   ,
0030     absEInverseMinusPInverseCut    = 0.178   , # absEInverseMinusPInverseCut
0031     # conversion veto cut needs no parameters, so not mentioned
0032     missingHitsCut                 = 2          # missingHitsCut
0033     )
0034 
0035 WP_Veto_EE = EleWorkingPoint_V5(
0036     idName                         = idName  , # idName
0037     full5x5_sigmaIEtaIEtaCut       = 0.0298  , # full5x5_sigmaIEtaIEtaCut
0038     dEtaInSeedCut                  = 0.0173  , # dEtaInSeedCut
0039     dPhiInCut                      = 0.234   , # dPhiInCut
0040     hOverECut_C0                   = 0.05    , # hOverECut
0041     hOverECut_CE                   = 2.3     ,
0042     hOverECut_Cr                   = 0.262   ,
0043     relCombIsolationWithEACut_C0   = 0.342   , # relCombIsolationWithEACut
0044     relCombIsolationWithEACut_Cpt  = 0.519   ,
0045     absEInverseMinusPInverseCut    = 0.137   , # absEInverseMinusPInverseCut
0046     # conversion veto cut needs no parameters, so not mentioned
0047     missingHitsCut                 = 3          # missingHitsCut
0048     )
0049 
0050 # Loose working point Barrel and Endcap
0051 idName = "cutBasedElectronID-RunIIIWinter22-V1-loose"
0052 WP_Loose_EB = EleWorkingPoint_V5(
0053     idName                         = idName  , # idName
0054     full5x5_sigmaIEtaIEtaCut       = 0.0107  , # full5x5_sigmaIEtaIEtaCut
0055     dEtaInSeedCut                  = 0.00691 , # dEtaInSeedCut
0056     dPhiInCut                      = 0.175   , # dPhiInCut
0057     hOverECut_C0                   = 0.05    , # hOverECut
0058     hOverECut_CE                   = 1.28    ,
0059     hOverECut_Cr                   = 0.0422  ,
0060     relCombIsolationWithEACut_C0   = 0.194   , # relCombIsolationWithEACut
0061     relCombIsolationWithEACut_Cpt  = 0.535   ,
0062     absEInverseMinusPInverseCut    = 0.138   , # absEInverseMinusPInverseCut
0063     # conversion veto cut needs no parameters, so not mentioned
0064     missingHitsCut                 = 1          # missingHitsCut
0065     )
0066 
0067 WP_Loose_EE = EleWorkingPoint_V5(
0068     idName                         = idName  , # idName
0069     full5x5_sigmaIEtaIEtaCut       = 0.0275  , # full5x5_sigmaIEtaIEtaCut
0070     dEtaInSeedCut                  = 0.0121  , # dEtaInSeedCut
0071     dPhiInCut                      = 0.228   , # dPhiInCut
0072     hOverECut_C0                   = 0.05    , # hOverECut
0073     hOverECut_CE                   = 2.3     ,
0074     hOverECut_Cr                   = 0.262   ,
0075     relCombIsolationWithEACut_C0   = 0.184   , # relCombIsolationWithEACut
0076     relCombIsolationWithEACut_Cpt  = 0.519   ,
0077     absEInverseMinusPInverseCut    = 0.127   , # absEInverseMinusPInverseCut
0078     # conversion veto cut needs no parameters, so not mentioned
0079     missingHitsCut                 = 1         # missingHitsCut
0080     )
0081 
0082 # Medium working point Barrel and Endcap
0083 idName = "cutBasedElectronID-RunIIIWinter22-V1-medium"
0084 WP_Medium_EB = EleWorkingPoint_V5(
0085     idName                         = idName  , # idName
0086     full5x5_sigmaIEtaIEtaCut       = 0.0103  , # full5x5_sigmaIEtaIEtaCut
0087     dEtaInSeedCut                  = 0.00481 , # dEtaInSeedCut
0088     dPhiInCut                      = 0.127   , # dPhiInCut
0089     hOverECut_C0                   = 0.0241  , # hOverECut
0090     hOverECut_CE                   = 1.28    ,
0091     hOverECut_Cr                   = 0.0422  ,
0092     relCombIsolationWithEACut_C0   = 0.0837  , # relCombIsolationWithEACut
0093     relCombIsolationWithEACut_Cpt  = 0.535   ,
0094     absEInverseMinusPInverseCut    = 0.0966  , # absEInverseMinusPInverseCut
0095     # conversion veto cut needs no parameters, so not mentioned
0096     missingHitsCut                 = 1          # missingHitsCut
0097     )
0098 
0099 WP_Medium_EE = EleWorkingPoint_V5(
0100     idName                         = idName  , # idName
0101     full5x5_sigmaIEtaIEtaCut       = 0.0272  , # full5x5_sigmaIEtaIEtaCut
0102     dEtaInSeedCut                  = 0.00951 , # dEtaInSeedCut
0103     dPhiInCut                      = 0.221   , # dPhiInCut
0104     hOverECut_C0                   = 0.05    , # hOverECut
0105     hOverECut_CE                   = 2.3     ,
0106     hOverECut_Cr                   = 0.262   ,
0107     relCombIsolationWithEACut_C0   = 0.0741  , # relCombIsolationWithEACut
0108     relCombIsolationWithEACut_Cpt  = 0.519   ,
0109     absEInverseMinusPInverseCut    = 0.111  , # absEInverseMinusPInverseCut
0110     # conversion veto cut needs no parameters, so not mentioned
0111     missingHitsCut                 = 1          # missingHitsCut
0112     )
0113 
0114 # Tight working point Barrel and Endcap
0115 idName = "cutBasedElectronID-RunIIIWinter22-V1-tight"
0116 WP_Tight_EB = EleWorkingPoint_V5(
0117     idName                         = idName  , # idName
0118     full5x5_sigmaIEtaIEtaCut       = 0.0101  , # full5x5_sigmaIEtaIEtaCut
0119     dEtaInSeedCut                  = 0.00411 , # dEtaInSeedCut
0120     dPhiInCut                      = 0.116   , # dPhiInCut
0121     hOverECut_C0                   = 0.02    , # hOverECut
0122     hOverECut_CE                   = 1.16    ,
0123     hOverECut_Cr                   = 0.0422  ,
0124     relCombIsolationWithEACut_C0   = 0.0388  , # relCombIsolationWithEACut
0125     relCombIsolationWithEACut_Cpt  = 0.535   ,
0126     absEInverseMinusPInverseCut    = 0.023   , # absEInverseMinusPInverseCut
0127     # conversion veto cut needs no parameters, so not mentioned
0128     missingHitsCut                 = 1          # missingHitsCut
0129     )
0130 
0131 WP_Tight_EE = EleWorkingPoint_V5(
0132     idName                         = idName  , # idName
0133     full5x5_sigmaIEtaIEtaCut       = 0.027   , # full5x5_sigmaIEtaIEtaCut
0134     dEtaInSeedCut                  = 0.00938 , # dEtaInSeedCut
0135     dPhiInCut                      = 0.164   , # dPhiInCut
0136     hOverECut_C0                   = 0.02    , # hOverECut
0137     hOverECut_CE                   = 0.5     ,
0138     hOverECut_Cr                   = 0.262   ,
0139     relCombIsolationWithEACut_C0   = 0.0544  , # relCombIsolationWithEACut
0140     relCombIsolationWithEACut_Cpt  = 0.519   ,
0141     absEInverseMinusPInverseCut    = 0.018   , # absEInverseMinusPInverseCut
0142     # conversion veto cut needs no parameters, so not mentioned
0143     missingHitsCut                 = 1          # missingHitsCut
0144     )
0145 
0146 # Second, define what effective areas to use for pile-up correction
0147 #isoEffAreas = "RecoEgamma/ElectronIdentification/data/Fall17/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_94X.txt"
0148 isoEffAreas = "RecoEgamma/ElectronIdentification/data/Run3_Winter22/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_122X.txt"
0149 #
0150 # Set up VID configuration for all cuts and working points
0151 #
0152 cutBasedElectronID_RunIIIWinter22_V1_veto   = configureVIDCutBasedEleID_V5(WP_Veto_EB,   WP_Veto_EE, isoEffAreas)
0153 cutBasedElectronID_RunIIIWinter22_V1_loose  = configureVIDCutBasedEleID_V5(WP_Loose_EB,  WP_Loose_EE, isoEffAreas)
0154 cutBasedElectronID_RunIIIWinter22_V1_medium = configureVIDCutBasedEleID_V5(WP_Medium_EB, WP_Medium_EE, isoEffAreas)
0155 cutBasedElectronID_RunIIIWinter22_V1_tight  = configureVIDCutBasedEleID_V5(WP_Tight_EB,  WP_Tight_EE, isoEffAreas)
0156 
0157 # The MD5 sum numbers below reflect the exact set of cut variables
0158 # and values above. If anything changes, one has to 
0159 # 1) comment out the lines below about the registry and the isPOGApproved lines,
0160 # 2) run "calculateIdMD5 <this file name> <one of the VID config names just above>
0161 # 3) update the MD5 sum strings below and uncomment the lines again.
0162 #
0163 central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_veto.idName,   '04d495d199252c2017d5019ae8b478a7d8aebc79')
0164 central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_loose.idName,  '648b0cc1957047ffe3f027111389dcf5aa941edc')
0165 central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_medium.idName, '2626edc1ad1dc1673c0713c557df78f3e90a66f5')
0166 central_id_registry.register(cutBasedElectronID_RunIIIWinter22_V1_tight.idName,  '2331bfa0b099f80090aa1d48df03b7a134cf788e')
0167 
0168 ### for now until we have a database...
0169 cutBasedElectronID_RunIIIWinter22_V1_veto.isPOGApproved   = cms.untracked.bool(True)
0170 cutBasedElectronID_RunIIIWinter22_V1_loose.isPOGApproved  = cms.untracked.bool(True)
0171 cutBasedElectronID_RunIIIWinter22_V1_medium.isPOGApproved = cms.untracked.bool(True)
0172 cutBasedElectronID_RunIIIWinter22_V1_tight.isPOGApproved  = cms.untracked.bool(True)
0173