CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
cutBasedElectronID_Spring15_50ns_V2_cff.py
Go to the documentation of this file.
1 from PhysicsTools.SelectorUtils.centralIDRegistry import central_id_registry
2 
3 # Common functions and classes for ID definition are imported here:
5 
6 #
7 # This is the first round of Spring15 50ns cuts, optimized on Spring15 50ns samples.
8 #
9 # The ID cuts below are optimized IDs for Spring15 Scenario with 50ns bunch spacing
10 # The cut values are taken from the twiki:
11 # https://twiki.cern.ch/twiki/bin/view/CMS/CutBasedElectronIdentificationRun2
12 # (where they may not stay, if a newer version of cuts becomes available for these
13 # conditions)
14 # See also the presentation explaining these working points (this will not change):
15 # https://indico.cern.ch/event/369245/contribution/2/attachments/1153005/1655984/Rami_eleCB_ID_50ns_V2.pdf
16 # NOTE: this V2 version is different from the V1 version for these conditions only
17 # by the cuts of the WP Tight for the barrel. All other WP and endcap are the same as V1.
18 # The changes was needed to make the WP Tight EB tighter than the HLT. For reference, the full V1 talk is here:
19 # https://indico.cern.ch/event/369239/contribution/6/attachments/1134836/1623383/Rami_eleCB_ID_50ns.pdf
20 #
21 # First, define cut values
22 #
23 
24 # Veto working point Barrel and Endcap
25 idName = "cutBasedElectronID-Spring15-50ns-V2-standalone-veto"
26 WP_Veto_EB = EleWorkingPoint_V2(
27  idName , # idName
28  0.0126 , # dEtaInCut
29  0.107 , # dPhiInCut
30  0.012 , # full5x5_sigmaIEtaIEtaCut
31  0.186 , # hOverECut
32  0.0621 , # dxyCut
33  0.613 , # dzCut
34  0.239 , # absEInverseMinusPInverseCut
35  0.161 , # relCombIsolationWithEALowPtCut
36  0.161 , # relCombIsolationWithEAHighPtCut
37  # conversion veto cut needs no parameters, so not mentioned
38  2 # missingHitsCut
39  )
40 
41 WP_Veto_EE = EleWorkingPoint_V2(
42  idName , # idName
43  0.0109 , # dEtaInCut
44  0.219 , # dPhiInCut
45  0.0339 , # full5x5_sigmaIEtaIEtaCut
46  0.0962 , # hOverECut
47  0.279 , # dxyCut
48  0.947 , # dzCut
49  0.141 , # absEInverseMinusPInverseCut
50  0.193 , # relCombIsolationWithEALowPtCut
51  0.193 , # relCombIsolationWithEAHighPtCut
52  # conversion veto cut needs no parameters, so not mentioned
53  3 # missingHitsCut
54  )
55 
56 # Loose working point Barrel and Endcap
57 idName = "cutBasedElectronID-Spring15-50ns-V2-standalone-loose"
58 WP_Loose_EB = EleWorkingPoint_V2(
59  idName , # idName
60  0.0098 , # dEtaInCut
61  0.0929 , # dPhiInCut
62  0.0105 , # full5x5_sigmaIEtaIEtaCut
63  0.0765 , # hOverECut
64  0.0227 , # dxyCut
65  0.379 , # dzCut
66  0.184 , # absEInverseMinusPInverseCut
67  0.118 , # relCombIsolationWithEALowPtCut
68  0.118 , # relCombIsolationWithEAHighPtCut
69  # conversion veto cut needs no parameters, so not mentioned
70  2 # missingHitsCut
71  )
72 
73 WP_Loose_EE = EleWorkingPoint_V2(
74  idName , # idName
75  0.00950 , # dEtaInCut
76  0.181 , # dPhiInCut
77  0.0318 , # full5x5_sigmaIEtaIEtaCut
78  0.0824 , # hOverECut
79  0.242 , # dxyCut
80  0.921 , # dzCut
81  0.125 , # absEInverseMinusPInverseCut
82  0.118 , # relCombIsolationWithEALowPtCut
83  0.118 , # relCombIsolationWithEAHighPtCut
84  # conversion veto cut needs no parameters, so not mentioned
85  1 # missingHitsCut
86  )
87 
88 # Medium working point Barrel and Endcap
89 idName = "cutBasedElectronID-Spring15-50ns-V2-standalone-medium"
90 WP_Medium_EB = EleWorkingPoint_V2(
91  idName , # idName
92  0.00945 , # dEtaInCut
93  0.0296 , # dPhiInCut
94  0.0101 , # full5x5_sigmaIEtaIEtaCut
95  0.0372 , # hOverECut
96  0.0151 , # dxyCut
97  0.238 , # dzCut
98  0.118 , # absEInverseMinusPInverseCut
99  0.0987 , # relCombIsolationWithEALowPtCut
100  0.0987 , # relCombIsolationWithEAHighPtCut
101  # conversion veto cut needs no parameters, so not mentioned
102  2 # missingHitsCut
103  )
104 
105 WP_Medium_EE = EleWorkingPoint_V2(
106  idName , # idName
107  0.00773 , # dEtaInCut
108  0.148 , # dPhiInCut
109  0.0287 , # full5x5_sigmaIEtaIEtaCut
110  0.0546 , # hOverECut
111  0.0535 , # dxyCut
112  0.572 , # dzCut
113  0.104 , # absEInverseMinusPInverseCut
114  0.0902 , # relCombIsolationWithEALowPtCut
115  0.0902 , # relCombIsolationWithEAHighPtCut
116  # conversion veto cut needs no parameters, so not mentioned
117  1 # missingHitsCut
118  )
119 
120 # Tight working point Barrel and Endcap
121 idName = "cutBasedElectronID-Spring15-50ns-V2-standalone-tight"
122 WP_Tight_EB = EleWorkingPoint_V2(
123  idName , # idName
124  0.00864 , # dEtaInCut
125  0.0286 , # dPhiInCut
126  0.0101 , # full5x5_sigmaIEtaIEtaCut
127  0.0342 , # hOverECut
128  0.0103 , # dxyCut
129  0.170 , # dzCut
130  0.0116 , # absEInverseMinusPInverseCut
131  0.0591 , # relCombIsolationWithEALowPtCut
132  0.0591 , # relCombIsolationWithEAHighPtCut
133  # conversion veto cut needs no parameters, so not mentioned
134  2 # missingHitsCut
135  )
136 
137 WP_Tight_EE = EleWorkingPoint_V2(
138  idName , # idName
139  0.00762 , # dEtaInCut
140  0.0439 , # dPhiInCut
141  0.0287 , # full5x5_sigmaIEtaIEtaCut
142  0.0544 , # hOverECut
143  0.0377 , # dxyCut
144  0.571 , # dzCut
145  0.0100 , # absEInverseMinusPInverseCut
146  0.0759 , # relCombIsolationWithEALowPtCut
147  0.0759 , # relCombIsolationWithEAHighPtCut
148  # conversion veto cut needs no parameters, so not mentioned
149  1 # missingHitsCut
150  )
151 
152 # Second, define what effective areas to use for pile-up correction
153 isoInputs = IsolationCutInputs_V2(
154  # phoIsolationEffAreas
155  "RecoEgamma/ElectronIdentification/data/Spring15/effAreaElectrons_cone03_pfNeuHadronsAndPhotons_50ns.txt"
156 )
157 
158 
159 #
160 # Set up VID configuration for all cuts and working points
161 #
162 
163 cutBasedElectronID_Spring15_50ns_V2_standalone_veto = configureVIDCutBasedEleID_V2(WP_Veto_EB, WP_Veto_EE, isoInputs)
164 cutBasedElectronID_Spring15_50ns_V2_standalone_loose = configureVIDCutBasedEleID_V2(WP_Loose_EB, WP_Loose_EE, isoInputs)
165 cutBasedElectronID_Spring15_50ns_V2_standalone_medium = configureVIDCutBasedEleID_V2(WP_Medium_EB, WP_Medium_EE, isoInputs)
166 cutBasedElectronID_Spring15_50ns_V2_standalone_tight = configureVIDCutBasedEleID_V2(WP_Tight_EB, WP_Tight_EE, isoInputs)
167 
168 # The MD5 sum numbers below reflect the exact set of cut variables
169 # and values above. If anything changes, one has to
170 # 1) comment out the lines below about the registry,
171 # 2) run "calculateMD5 <this file name> <one of the VID config names just above>
172 # 3) update the MD5 sum strings below and uncomment the lines again.
173 #
174 
175 central_id_registry.register(cutBasedElectronID_Spring15_50ns_V2_standalone_veto.idName,
176  '3edb92d2aee3dcf1e366a927a5660155')
177 central_id_registry.register(cutBasedElectronID_Spring15_50ns_V2_standalone_loose.idName,
178  '527c1b1ddcf9061dc4093dc95590e2bb')
179 central_id_registry.register(cutBasedElectronID_Spring15_50ns_V2_standalone_medium.idName,
180  '6837f1ac82974f19d2a15041a2e52ebb')
181 central_id_registry.register(cutBasedElectronID_Spring15_50ns_V2_standalone_tight.idName,
182  'ab050ff2bd30d832881bfac03c9d3a8a')
183 
184 
185 # for now until we have a database...
186 cutBasedElectronID_Spring15_50ns_V2_standalone_veto.isPOGApproved = cms.untracked.bool(True)
187 cutBasedElectronID_Spring15_50ns_V2_standalone_loose.isPOGApproved = cms.untracked.bool(True)
188 cutBasedElectronID_Spring15_50ns_V2_standalone_medium.isPOGApproved = cms.untracked.bool(True)
189 cutBasedElectronID_Spring15_50ns_V2_standalone_tight.isPOGApproved = cms.untracked.bool(True)