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 # Common functions and classes for ID definition are imported here:
0004 from RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_tools import *
0005 
0006 #
0007 # This is the first round of Spring15 25ns cuts, optimized on  Spring15 25ns samples. 
0008 #
0009 # The ID cuts below are optimized IDs for Spring15 Scenario with 25ns bunch spacing
0010 # The cut values are taken from the twiki:
0011 #       https://twiki.cern.ch/twiki/bin/view/CMS/CutBasedElectronIdentificationRun2
0012 #       (where they may not stay, if a newer version of cuts becomes available for these
0013 #        conditions)
0014 # See also the presentation explaining these working points (this will not change):
0015 #        https://indico.cern.ch/event/370507/contribution/1/attachments/1140657/1633761/Rami_eleCB_ID_25ns.pdf
0016 #
0017 # First, define cut values
0018 #
0019 
0020 # Veto working point Barrel and Endcap
0021 idName = "cutBasedElectronID-Spring15-25ns-V1-standalone-veto"
0022 WP_Veto_EB = EleWorkingPoint_V2(
0023     idName   , # idName
0024     0.0152  , # dEtaInCut
0025     0.216   , # dPhiInCut
0026     0.0114  , # full5x5_sigmaIEtaIEtaCut
0027     0.181   , # hOverECut
0028     0.0564  , # dxyCut
0029     0.472   , # dzCut
0030     0.207   , # absEInverseMinusPInverseCut
0031     0.126   , # relCombIsolationWithEALowPtCut
0032     0.126   , # relCombIsolationWithEAHighPtCut
0033     # conversion veto cut needs no parameters, so not mentioned
0034     2          # missingHitsCut
0035     )
0036 
0037 WP_Veto_EE = EleWorkingPoint_V2(
0038     idName   , # idName
0039     0.0113  , # dEtaInCut
0040     0.237   , # dPhiInCut
0041     0.0352  , # full5x5_sigmaIEtaIEtaCut
0042     0.116   , # hOverECut
0043     0.222   , # dxyCut
0044     0.921   , # dzCut
0045     0.174   , # absEInverseMinusPInverseCut
0046     0.144   , # relCombIsolationWithEALowPtCut
0047     0.144   , # relCombIsolationWithEAHighPtCut
0048     # conversion veto cut needs no parameters, so not mentioned
0049     3          # missingHitsCut
0050     )
0051 
0052 # Loose working point Barrel and Endcap
0053 idName = "cutBasedElectronID-Spring15-25ns-V1-standalone-loose"
0054 WP_Loose_EB = EleWorkingPoint_V2(
0055     idName   , # idName
0056     0.0105  , # dEtaInCut
0057     0.115   , # dPhiInCut
0058     0.0103  , # full5x5_sigmaIEtaIEtaCut
0059     0.104   , # hOverECut
0060     0.0261  , # dxyCut
0061     0.41    , # dzCut
0062     0.102   , # absEInverseMinusPInverseCut
0063     0.0893  , # relCombIsolationWithEALowPtCut
0064     0.0893  , # relCombIsolationWithEAHighPtCut
0065     # conversion veto cut needs no parameters, so not mentioned
0066     2          # missingHitsCut
0067     )
0068 
0069 WP_Loose_EE = EleWorkingPoint_V2(
0070     idName   , # idName
0071     0.00814 , # dEtaInCut
0072     0.182   , # dPhiInCut
0073     0.0301  , # full5x5_sigmaIEtaIEtaCut
0074     0.0897  , # hOverECut
0075     0.118   , # dxyCut
0076     0.822   , # dzCut
0077     0.126   , # absEInverseMinusPInverseCut
0078     0.121   , # relCombIsolationWithEALowPtCut
0079     0.121   , # relCombIsolationWithEAHighPtCut
0080     # conversion veto cut needs no parameters, so not mentioned
0081     1          # missingHitsCut
0082     )
0083 
0084 # Medium working point Barrel and Endcap
0085 idName = "cutBasedElectronID-Spring15-25ns-V1-standalone-medium"
0086 WP_Medium_EB = EleWorkingPoint_V2(
0087     idName   , # idName
0088     0.0103 , # dEtaInCut
0089     0.0336 , # dPhiInCut
0090     0.0101 , # full5x5_sigmaIEtaIEtaCut
0091     0.0876 , # hOverECut
0092     0.0118 , # dxyCut
0093     0.373  , # dzCut
0094     0.0174 , # absEInverseMinusPInverseCut
0095     0.0766 , # relCombIsolationWithEALowPtCut
0096     0.0766 , # relCombIsolationWithEAHighPtCut
0097     # conversion veto cut needs no parameters, so not mentioned
0098     2          # missingHitsCut
0099     )
0100 
0101 WP_Medium_EE = EleWorkingPoint_V2(
0102     idName   , # idName
0103     0.00733 , # dEtaInCut
0104     0.114   , # dPhiInCut
0105     0.0283  , # full5x5_sigmaIEtaIEtaCut
0106     0.0678  , # hOverECut
0107     0.0739  , # dxyCut
0108     0.602   , # dzCut
0109     0.0898  , # absEInverseMinusPInverseCut
0110     0.0678  , # relCombIsolationWithEALowPtCut
0111     0.0678  , # relCombIsolationWithEAHighPtCut
0112     # conversion veto cut needs no parameters, so not mentioned
0113     1          # missingHitsCut
0114     )
0115 
0116 # Tight working point Barrel and Endcap
0117 idName = "cutBasedElectronID-Spring15-25ns-V1-standalone-tight"
0118 WP_Tight_EB = EleWorkingPoint_V2(
0119     idName   , # idName
0120     0.00926   , # dEtaInCut
0121     0.0336    , # dPhiInCut
0122     0.0101    , # full5x5_sigmaIEtaIEtaCut
0123     0.0597    , # hOverECut
0124     0.0111    , # dxyCut
0125     0.0466    , # dzCut
0126     0.012     , # absEInverseMinusPInverseCut
0127     0.0354    , # relCombIsolationWithEALowPtCut
0128     0.0354    , # relCombIsolationWithEAHighPtCut
0129     # conversion veto cut needs no parameters, so not mentioned
0130     2          # missingHitsCut
0131     )
0132 
0133 WP_Tight_EE = EleWorkingPoint_V2(
0134     idName   , # idName
0135     0.00724 , # dEtaInCut
0136     0.0918  , # dPhiInCut
0137     0.0279  , # full5x5_sigmaIEtaIEtaCut
0138     0.0615  , # hOverECut
0139     0.0351  , # dxyCut
0140     0.417   , # dzCut
0141     0.00999 , # absEInverseMinusPInverseCut
0142     0.0646  , # relCombIsolationWithEALowPtCut
0143     0.0646  , # relCombIsolationWithEAHighPtCut
0144     # conversion veto cut needs no parameters, so not mentioned
0145     1          # missingHitsCut
0146     )
0147 
0148 # Second, define what effective areas to use for pile-up correction
0149 isoEffAreas = "RecoEgamma/ElectronIdentification/data/Spring15/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_25ns.txt"
0150 
0151 
0152 #
0153 # Set up VID configuration for all cuts and working points
0154 #
0155 
0156 cutBasedElectronID_Spring15_25ns_V1_standalone_veto = configureVIDCutBasedEleID_V2(WP_Veto_EB, WP_Veto_EE, isoEffAreas)
0157 cutBasedElectronID_Spring15_25ns_V1_standalone_loose = configureVIDCutBasedEleID_V2(WP_Loose_EB, WP_Loose_EE, isoEffAreas)
0158 cutBasedElectronID_Spring15_25ns_V1_standalone_medium = configureVIDCutBasedEleID_V2(WP_Medium_EB, WP_Medium_EE, isoEffAreas)
0159 cutBasedElectronID_Spring15_25ns_V1_standalone_tight = configureVIDCutBasedEleID_V2(WP_Tight_EB, WP_Tight_EE, isoEffAreas)
0160 
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, 
0165 # 2) run "calculateMD5 <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_Spring15_25ns_V1_standalone_veto.idName,
0170                              '202030579ee3eec90fdc2d236ba3de7e')
0171 central_id_registry.register(cutBasedElectronID_Spring15_25ns_V1_standalone_loose.idName,
0172                              '4fab9e4d09a2c1a36cbbd2279deb3627')
0173 central_id_registry.register(cutBasedElectronID_Spring15_25ns_V1_standalone_medium.idName,
0174                              'aa291aba714c148fcba156544907c440')
0175 central_id_registry.register(cutBasedElectronID_Spring15_25ns_V1_standalone_tight.idName,
0176                              '4e13b87c0573d3c8ebf91d446fa1d90f')
0177 
0178 
0179 ### for now until we have a database...
0180 cutBasedElectronID_Spring15_25ns_V1_standalone_veto.isPOGApproved = cms.untracked.bool(True)
0181 cutBasedElectronID_Spring15_25ns_V1_standalone_loose.isPOGApproved = cms.untracked.bool(True)
0182 cutBasedElectronID_Spring15_25ns_V1_standalone_medium.isPOGApproved = cms.untracked.bool(True)
0183 cutBasedElectronID_Spring15_25ns_V1_standalone_tight.isPOGApproved = cms.untracked.bool(True)