CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
cutBasedPhotonID_PHYS14_PU20bx25_V1_cff.py
Go to the documentation of this file.
1 
2 from PhysicsTools.SelectorUtils.centralIDRegistry import central_id_registry
3 
4 # Common functions and classes for ID definition are imported here:
6 
7 #
8 # This is the first version of PHYS14 cuts, optimized on PHYS14 samples.
9 #
10 # The ID cuts below are optimized IDs for PHYS14 Scenario PU 20, bx 25ns
11 # The cut values are taken from the twiki:
12 # https://twiki.cern.ch/twiki/bin/viewauth/CMS/CutBasedPhotonIdentificationRun2#PHYS14_selections_PU20_bunch_cro
13 # (where they may not stay, if a newer version of cuts becomes available for these
14 # conditions)
15 # See also the presentation explaining these working points (this will not change):
16 # https://indico.cern.ch/event/367863/contribution/0/material/slides/0.pdf
17 
18 #
19 # First, define cut values
20 #
21 
22 # Loose working point Barrel and Endcap
23 idName = "cutBasedPhotonID-PHYS14-PU20bx25-V1-standalone-loose"
24 WP_Loose_EB = WorkingPoint_V1(
25  idName , # idName
26  0.048 , # hOverECut
27  0.0106 , # full5x5_SigmaIEtaIEtaCut
28  # Isolation cuts are generally absIso < C1 + pt*C2
29  2.56 , # absPFChaHadIsoWithEACut_C1
30  0 , # absPFChaHadIsoWithEACut_C2
31  3.74 , # absPFNeuHadIsoWithEACut_C1
32  0.0025 , # absPFNeuHadIsoWithEACut_C2
33  2.68 , # absPFPhoIsoWithEACut_C1
34  0.001 # absPFPhoIsoWithEACut_C2
35  )
36 
37 WP_Loose_EE = WorkingPoint_V1(
38  idName , #idName
39  0.069 , # hOverECut
40  0.0266 , # full5x5_SigmaIEtaIEtaCut
41  # Isolation cuts are generally absIso < C1 + pt*C2
42  3.12 , # absPFChaHadIsoWithEACut_C1
43  0.00 , # absPFChaHadIsoWithEACut_C2
44  17.11 , # absPFNeuHadIsoWithEACut_C1
45  0.0118 , # absPFNeuHadIsoWithEACut_C2
46  2.70 , # absPFPhoIsoWithEACut_C1
47  0.0059 # absPFPhoIsoWithEACut_C2
48  )
49 
50 # Medium working point Barrel and Endcap
51 idName = "cutBasedPhotonID-PHYS14-PU20bx25-V1-standalone-medium"
52 WP_Medium_EB = WorkingPoint_V1(
53  idName , # idName
54  0.032 , # hOverECut
55  0.0101 , # full5x5_SigmaIEtaIEtaCut
56  # Isolation cuts are generally absIso < C1 + pt*C2
57  1.90 , # absPFChaHadIsoWithEACut_C1
58  0.00 , # absPFChaHadIsoWithEACut_C2
59  2.96 , # absPFNeuHadIsoWithEACut_C1
60  0.0025 , # absPFNeuHadIsoWithEACut_C2
61  1.39 , # absPFPhoIsoWithEACut_C1
62  0.001 # absPFPhoIsoWithEACut_C2
63  )
64 
65 WP_Medium_EE = WorkingPoint_V1(
66  idName , #idName
67  0.0166 , # hOverECut
68  0.0264 , # full5x5_SigmaIEtaIEtaCut
69  # Isolation cuts are generally absIso < C1 + pt*C2
70  1.95 , # absPFChaHadIsoWithEACut_C1
71  0.00 , # absPFChaHadIsoWithEACut_C2
72  4.42 , # absPFNeuHadIsoWithEACut_C1
73  0.0118 , # absPFNeuHadIsoWithEACut_C2
74  1.89 , # absPFPhoIsoWithEACut_C1
75  0.0059 # absPFPhoIsoWithEACut_C2
76  )
77 
78 # Tight working point Barrel and Endcap
79 idName = "cutBasedPhotonID-PHYS14-PU20bx25-V1-standalone-tight"
80 WP_Tight_EB = WorkingPoint_V1(
81  idName , # idName
82  0.011 , # hOverECut
83  0.0099 , # full5x5_SigmaIEtaIEtaCut
84  # Isolation cuts are generally absIso < C1 + pt*C2
85  1.86 , # absPFChaHadIsoWithEACut_C1
86  0.00 , # absPFChaHadIsoWithEACut_C2
87  2.64 , # absPFNeuHadIsoWithEACut_C1
88  0.0025 , # absPFNeuHadIsoWithEACut_C2
89  1.20 , # absPFPhoIsoWithEACut_C1
90  0.001 # absPFPhoIsoWithEACut_C2
91  )
92 
93 WP_Tight_EE = WorkingPoint_V1(
94  idName , #idName
95  0.015 , # hOverECut
96  0.0263 , # full5x5_SigmaIEtaIEtaCut
97  # Isolation cuts are generally absIso < C1 + pt*C2
98  1.68 , # absPFChaHadIsoWithEACut_C1
99  0.00 , # absPFChaHadIsoWithEACut_C2
100  4.42 , # absPFNeuHadIsoWithEACut_C1
101  0.0118 , # absPFNeuHadIsoWithEACut_C2
102  1.03 , # absPFPhoIsoWithEACut_C1
103  0.0059 # absPFPhoIsoWithEACut_C2
104  )
105 
106 
107 # Second, define where to find the precomputed isolations and what effective
108 # areas to use for pile-up correction
109 isoInputs = IsolationCutInputs(
110  # chHadIsolationMapName
111  'photonIDValueMapProducer:phoChargedIsolation' ,
112  # chHadIsolationEffAreas
113  "EgammaAnalysis/PhotonTools/data/PHYS14/effAreaPhotons_cone03_pfChargedHadrons.txt" ,
114  # neuHadIsolationMapName
115  'photonIDValueMapProducer:phoNeutralHadronIsolation' ,
116  # neuHadIsolationEffAreas
117  "EgammaAnalysis/PhotonTools/data/PHYS14/effAreaPhotons_cone03_pfNeutralHadrons.txt" ,
118  # phoIsolationMapName
119  "photonIDValueMapProducer:phoPhotonIsolation" ,
120  # phoIsolationEffAreas
121  "EgammaAnalysis/PhotonTools/data/PHYS14/effAreaPhotons_cone03_pfPhotons.txt"
122 )
123 
124 #
125 # Finally, set up VID configuration for all cuts
126 #
127 cutBasedPhotonID_PHYS14_PU20bx25_V1_standalone_loose = configureVIDCutBasedPhoID_V1 ( WP_Loose_EB, WP_Loose_EE, isoInputs)
128 cutBasedPhotonID_PHYS14_PU20bx25_V1_standalone_medium = configureVIDCutBasedPhoID_V1 ( WP_Medium_EB, WP_Medium_EE, isoInputs)
129 cutBasedPhotonID_PHYS14_PU20bx25_V1_standalone_tight = configureVIDCutBasedPhoID_V1 ( WP_Tight_EB, WP_Tight_EE, isoInputs)
130 
131 #
132 # The MD5 sum numbers below reflect the exact set of cut variables
133 # and values above. If anything changes, one has to
134 # 1) comment out the lines below about the registry,
135 # 2) run "calculateMD5 <this file name> <one of the VID config names just above>
136 # 3) update the MD5 sum strings below and uncomment the lines again.
137 #
138 
139 central_id_registry.register(cutBasedPhotonID_PHYS14_PU20bx25_V1_standalone_loose.idName,
140  '28dabb0be297b7a5eb26df8ffeef22b9')
141 central_id_registry.register(cutBasedPhotonID_PHYS14_PU20bx25_V1_standalone_medium.idName,
142  'd3d464d7b45f94f3944de95a1c0f498e')
143 central_id_registry.register(cutBasedPhotonID_PHYS14_PU20bx25_V1_standalone_tight.idName,
144  'c61288dd4defe947df67dafc2e868d15')