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 #############################This ID is for Phase II and hence matters for EB
0011 #
0012 # The ID cuts below are optimized IDs on Summer20 Phase II simulation 
0013 # These are very initial tuning which will improve further as we improve 
0014 ###our understanding on the variables for phase II (e.g noise cleaned sieie is not yet
0015 ###used here. PF cluster isolations may be better but not yet used). We just use the Run II variables on phase II samples for the tuning 
0016 # See also the presentation explaining these working points:
0017 #  https://indico.cern.ch/event/1000891/contributions/4203637/attachments/2183448/3688820/ElectronIDtunning_EgammaMeeting_03Feb2021.pdf
0018 # https://indico.cern.ch/event/879937/contributions/4108369/attachments/2147436/3619904/EgammaID_phaseIIElectrontunning_pyu_2020Nov20.pdf
0019 #
0020 #
0021 
0022 # Veto working point Barrel
0023 idName = "cutBasedElectronID-Summer20-PhaseII-V0-veto"
0024 WP_Veto_EB = EleWorkingPoint_V5(
0025     idName                         = idName  , # idName
0026     full5x5_sigmaIEtaIEtaCut       =  0.0181 , # full5x5_sigmaIEtaIEtaCut
0027     dEtaInSeedCut                  =  0.00548, # dEtaInSeedCut
0028     dPhiInCut                      =  0.197, # dPhiInCut
0029     hOverECut_C0                   =  0.313   , # hOverECut
0030     hOverECut_CE                   =  0.   ,
0031     hOverECut_Cr                   =  0.  ,
0032     relCombIsolationWithEACut_C0   =  0.284  , # relCombIsolationWithEACut
0033     relCombIsolationWithEACut_Cpt  =  0.  ,
0034     absEInverseMinusPInverseCut    =  0.203  , # absEInverseMinusPInverseCut
0035     # conversion veto cut needs no parameters, so not mentioned
0036     missingHitsCut                 =  2         # missingHitsCut
0037     )
0038 
0039 WP_Veto_EE = EleWorkingPoint_V5(
0040     idName                         = idName  , # idName
0041     full5x5_sigmaIEtaIEtaCut       =  0.0181 , # full5x5_sigmaIEtaIEtaCut
0042     dEtaInSeedCut                  =  0.00548, # dEtaInSeedCut
0043     dPhiInCut                      =  0.197, # dPhiInCut
0044     hOverECut_C0                   =  0.313   , # hOverECut
0045     hOverECut_CE                   =  0.   ,
0046     hOverECut_Cr                   =  0.  ,
0047     relCombIsolationWithEACut_C0   =  0.284  , # relCombIsolationWithEACut
0048     relCombIsolationWithEACut_Cpt  =  0.  ,
0049     absEInverseMinusPInverseCut    =  0.203  , # absEInverseMinusPInverseCut
0050     # conversion veto cut needs no parameters, so not mentioned
0051     missingHitsCut                 =  2         # missingHitsCut
0052     )
0053 
0054 # Loose working point Barrel and Endcap
0055 idName = "cutBasedElectronID-Summer20-PhaseII-V0-loose"
0056 WP_Loose_EB = EleWorkingPoint_V5(
0057     idName                         = idName  , # idName
0058     full5x5_sigmaIEtaIEtaCut       = 0.0162  , # full5x5_sigmaIEtaIEtaCut
0059     dEtaInSeedCut                  = 0.00409 , # dEtaInSeedCut
0060     dPhiInCut                      = 0.0679  , # dPhiInCut
0061     hOverECut_C0                   = 0.222    , # hOverECut
0062     hOverECut_CE                   = 0.    ,
0063     hOverECut_Cr                   = 0.  ,
0064     relCombIsolationWithEACut_C0   = 0.223   , # relCombIsolationWithEACut
0065     relCombIsolationWithEACut_Cpt  = 0.   ,
0066     absEInverseMinusPInverseCut    = 0.0747   , # absEInverseMinusPInverseCut
0067     # conversion veto cut needs no parameters, so not mentioned
0068     missingHitsCut                 = 1          # missingHitsCut
0069     )
0070 
0071 WP_Loose_EE = EleWorkingPoint_V5(
0072     idName                         = idName  , # idName
0073     full5x5_sigmaIEtaIEtaCut       = 0.0162  , # full5x5_sigmaIEtaIEtaCut
0074     dEtaInSeedCut                  = 0.00409 , # dEtaInSeedCut
0075     dPhiInCut                      = 0.0679  , # dPhiInCut
0076     hOverECut_C0                   = 0.222    , # hOverECut
0077     hOverECut_CE                   = 0.    ,
0078     hOverECut_Cr                   = 0.  ,
0079     relCombIsolationWithEACut_C0   = 0.223   , # relCombIsolationWithEACut
0080     relCombIsolationWithEACut_Cpt  = 0.   ,
0081     absEInverseMinusPInverseCut    = 0.0747   , # absEInverseMinusPInverseCut
0082     # conversion veto cut needs no parameters, so not mentioned
0083     missingHitsCut                 = 1          # missingHitsCut
0084     )
0085 
0086 # Medium working point Barrel and Endcap
0087 idName = "cutBasedElectronID-Summer20-PhaseII-V0-medium"
0088 WP_Medium_EB = EleWorkingPoint_V5(
0089     idName                         = idName  , # idName
0090     full5x5_sigmaIEtaIEtaCut       = 0.0156 , # full5x5_sigmaIEtaIEtaCut
0091     dEtaInSeedCut                  = 0.00326  , # dEtaInSeedCut
0092     dPhiInCut                      = 0.0434  , # dPhiInCut
0093     hOverECut_C0                   = 0.138   , # hOverECut
0094     hOverECut_CE                   = 0.    ,
0095     hOverECut_Cr                   = 0.  ,
0096     relCombIsolationWithEACut_C0   = 0.159  , # relCombIsolationWithEACut
0097     relCombIsolationWithEACut_Cpt  = 0.   ,
0098     absEInverseMinusPInverseCut    = 0.0735   , # absEInverseMinusPInverseCut
0099     # conversion veto cut needs no parameters, so not mentioned
0100     missingHitsCut                 = 1          # missingHitsCut
0101     )
0102 
0103 WP_Medium_EE = EleWorkingPoint_V5(
0104     idName                         = idName  , # idName
0105     full5x5_sigmaIEtaIEtaCut       = 0.0156 , # full5x5_sigmaIEtaIEtaCut
0106     dEtaInSeedCut                  = 0.00326  , # dEtaInSeedCut
0107     dPhiInCut                      = 0.0434  , # dPhiInCut
0108     hOverECut_C0                   = 0.138   , # hOverECut
0109     hOverECut_CE                   = 0.    ,
0110     hOverECut_Cr                   = 0.  ,
0111     relCombIsolationWithEACut_C0   = 0.159  , # relCombIsolationWithEACut
0112     relCombIsolationWithEACut_Cpt  = 0.   ,
0113     absEInverseMinusPInverseCut    = 0.0735   , # absEInverseMinusPInverseCut
0114     # conversion veto cut needs no parameters, so not mentioned
0115     missingHitsCut                 = 1          # missingHitsCut
0116     )
0117 
0118 
0119 # Tight working point Barrel and Endcap
0120 idName = "cutBasedElectronID-Summer20-PhaseII-V0-tight"
0121 WP_Tight_EB = EleWorkingPoint_V5(
0122     idName                         = idName  , # idName
0123     full5x5_sigmaIEtaIEtaCut       = 0.0137  , # full5x5_sigmaIEtaIEtaCut
0124     dEtaInSeedCut                  = 0.00325 , # dEtaInSeedCut
0125     dPhiInCut                      = 0.0365   , # dPhiInCut
0126     hOverECut_C0                   = 0.103   , # hOverECut
0127     hOverECut_CE                   = 0.    ,
0128     hOverECut_Cr                   = 0.  ,
0129     relCombIsolationWithEACut_C0   = 0.121  , # relCombIsolationWithEACut
0130     relCombIsolationWithEACut_Cpt  = 0.   ,
0131     absEInverseMinusPInverseCut    = 0.0161   , # absEInverseMinusPInverseCut
0132     # conversion veto cut needs no parameters, so not mentioned
0133     missingHitsCut                 = 1          # missingHitsCut
0134     )
0135 
0136 WP_Tight_EE = EleWorkingPoint_V5(
0137     idName                         = idName  , # idName
0138     full5x5_sigmaIEtaIEtaCut       = 0.0137  , # full5x5_sigmaIEtaIEtaCut
0139     dEtaInSeedCut                  = 0.00325 , # dEtaInSeedCut
0140     dPhiInCut                      = 0.0365   , # dPhiInCut
0141     hOverECut_C0                   = 0.103   , # hOverECut
0142     hOverECut_CE                   = 0.    ,
0143     hOverECut_Cr                   = 0.  ,
0144     relCombIsolationWithEACut_C0   = 0.121  , # relCombIsolationWithEACut
0145     relCombIsolationWithEACut_Cpt  = 0.   ,
0146     absEInverseMinusPInverseCut    = 0.0161   , # absEInverseMinusPInverseCut
0147     # conversion veto cut needs no parameters, so not mentioned
0148     missingHitsCut                 = 1          # missingHitsCut
0149     )
0150 # Second, define what effective areas to use for pile-up correction
0151 isoEffAreas = "RecoEgamma/ElectronIdentification/data/PhaseII/EffectiveArea_electrons_barrel_PhaseII.txt"
0152 
0153 #
0154 # Set up VID configuration for all cuts and working points
0155 #
0156 
0157 cutBasedElectronID_Summer20_PhaseII_V0_veto   = configureVIDCutBasedEleID_V5(WP_Veto_EB,   WP_Veto_EE, isoEffAreas)
0158 cutBasedElectronID_Summer20_PhaseII_V0_loose  = configureVIDCutBasedEleID_V5(WP_Loose_EB,  WP_Loose_EE, isoEffAreas)
0159 cutBasedElectronID_Summer20_PhaseII_V0_medium = configureVIDCutBasedEleID_V5(WP_Medium_EB, WP_Medium_EE, isoEffAreas)
0160 cutBasedElectronID_Summer20_PhaseII_V0_tight  = configureVIDCutBasedEleID_V5(WP_Tight_EB,  WP_Tight_EE, isoEffAreas)
0161 
0162 # The MD5 sum numbers below reflect the exact set of cut variables
0163 # and values above. If anything changes, one has to 
0164 # 1) comment out the lines below about the registry and the isPOGApproved lines,
0165 # 2) run "calculateIdMD5 <this file name> <one of the VID config names just above>
0166 # 3) update the MD5 sum strings below and uncomment the lines again.
0167 #
0168 
0169 central_id_registry.register(cutBasedElectronID_Summer20_PhaseII_V0_veto.idName,   '75ed578c1b442ee97b1a2e50263e1aa3')
0170 central_id_registry.register(cutBasedElectronID_Summer20_PhaseII_V0_loose.idName,  'c43597fa43676ea1f444d06c701866dc')
0171 central_id_registry.register(cutBasedElectronID_Summer20_PhaseII_V0_medium.idName, '1ea055b2139ad578dbfbdec1f7c78715')
0172 central_id_registry.register(cutBasedElectronID_Summer20_PhaseII_V0_tight.idName,  '3c85a35b6dfbf25713db70876cb6675b')
0173 
0174 ### for now until we have a database...
0175 cutBasedElectronID_Summer20_PhaseII_V0_veto.isPOGApproved   = cms.bool(False)
0176 cutBasedElectronID_Summer20_PhaseII_V0_loose.isPOGApproved  = cms.bool(False)
0177 cutBasedElectronID_Summer20_PhaseII_V0_medium.isPOGApproved = cms.bool(False)
0178 cutBasedElectronID_Summer20_PhaseII_V0_tight.isPOGApproved  = cms.bool(False)