Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:10

0001 from RecoEgamma.PhotonIdentification.Identification.mvaPhotonID_tools import *
0002 
0003 # In this file we define the locations of the MVA weights, cuts on the MVA values
0004 # for specific working points, and configure those cuts in VID
0005 
0006 # The following MVA is derived for Spring16 MC samples for non-triggering photons.
0007 # See more documentation in these presentations:
0008 #    https://indico.cern.ch/event/491509/contributions/2226579/attachments/1303047/1946168/EGamma_PhoID_Update_IKucher.pdf
0009 #    https://indico.cern.ch/event/578399/contributions/2344916/attachments/1357735/2053119/EGamma_PhoID_Update_19_10_2016.pdf
0010 
0011 mvaTag           = "Run2Spring16NonTrigV1"
0012 mvaVariablesFile = "RecoEgamma/PhotonIdentification/data/PhotonMVAEstimatorRun2VariablesSpring16.txt"
0013 mvaWeightFiles = [
0014     path.join(weightFileBaseDir, "Spring16/EB_V1.weights.xml.gz"),
0015     path.join(weightFileBaseDir, "Spring16/EE_V1.weights.xml.gz"),
0016     ]
0017 effAreasPath_pho = "RecoEgamma/PhotonIdentification/data/Spring16/effAreaPhotons_cone03_pfPhotons_90percentBased_3bins.txt"
0018 
0019 # Set up the VID working point parameters
0020 wpConfig = [
0021             # The working point for this MVA that is expected to have about 90% signal
0022             # efficiency in each category for photons with pt>30 GeV (somewhat lower
0023             # for lower pt photons).
0024             {"idName" : "mvaPhoID-Spring16-nonTrig-V1-wp90",
0025              "cuts"   : { "EB" : 0.2,
0026                           "EE" : 0.2 }},
0027             # The working point for this MVA that is expected to have about 90% signal
0028             # efficiency in each category for photons with pt>30 GeV (somewhat lower
0029             # for lower pt photons).
0030             {"idName" : "mvaPhoID-Spring16-nonTrig-V1-wp80",
0031              "cuts"   : { "EB" : 0.68,
0032                           "EE" : 0.60 }},
0033            ]
0034 
0035 # Create the PSet that will be fed to the MVA value map producer and the
0036 # VPset's for VID cuts
0037 configs = configureFullVIDMVAPhoID(mvaTag=mvaTag,
0038                                    variablesFile=mvaVariablesFile,
0039                                    weightFiles=mvaWeightFiles,
0040                                    wpConfig=wpConfig,
0041     # Category parameters
0042     nCategories         = cms.int32(2),
0043     categoryCuts        = category_cuts,
0044     # In this MVA for endcap the corrected photon isolation is defined as
0045     # iso = max( photon_isolation_raw - rho*effArea - coeff*pt, cutoff)
0046     # as discussed in the indico presentations listed in the beginning of this file.
0047     effAreasConfigFile = cms.FileInPath(effAreasPath_pho),
0048     # The coefficients "coeff" for the formula above for linear pt scaling correction
0049     # the first value is for EB, the second is for EE
0050     # NOTE: even though the EB coefficient is provided, it is not presently used in the MVA.
0051     # For EB, the uncorrected raw photon isolation is used instead.
0052     phoIsoPtScalingCoeff = cms.vdouble(0.0053,0.0034),
0053     # The cutoff for the formula above
0054     phoIsoCutoff = cms.double(2.5))
0055 
0056 mvaPhoID_Spring16_nonTrig_V1_producer_config = configs["producer_config"]
0057 mvaPhoID_Spring16_nonTrig_V1_wp90 = configs["VID_config"]["mvaPhoID-Spring16-nonTrig-V1-wp90"]
0058 mvaPhoID_Spring16_nonTrig_V1_wp80 = configs["VID_config"]["mvaPhoID-Spring16-nonTrig-V1-wp80"]
0059 
0060 # The MD5 sum numbers below reflect the exact set of cut variables
0061 # and values above. If anything changes, one has to
0062 # 1) comment out the lines below about the registry,
0063 # 2) run "calculateIdMD5 <this file name> <one of the VID config names just above>
0064 # 3) update the MD5 sum strings below and uncomment the lines again.
0065 
0066 central_id_registry.register( mvaPhoID_Spring16_nonTrig_V1_wp90.idName,
0067                               '36efe663348f95de0bc1cfa8dc7fa8fe')
0068 central_id_registry.register( mvaPhoID_Spring16_nonTrig_V1_wp80.idName,
0069                               'beb95233f7d1e033ad9e20cf3d804ba0')
0070 
0071 mvaPhoID_Spring16_nonTrig_V1_wp90.isPOGApproved = cms.untracked.bool(True)
0072 mvaPhoID_Spring16_nonTrig_V1_wp80.isPOGApproved = cms.untracked.bool(True)